Compare commits

..

15 Commits

Author SHA1 Message Date
0dae6b3700 Sync modifiche fatte direttamente sul server dev 2025-11-23 19:03:12 +00:00
853047c431 predisposizione gestione utente 2025-11-23 14:52:25 +01:00
62c34a8152 pulito content 2025-11-23 14:47:41 +01:00
549722925c pulisco navbar 2025-11-23 14:45:13 +01:00
bb73e59854 sidebar 2025-11-23 14:40:41 +01:00
4950f4d6b9 pluisco sidebar 2025-11-23 14:38:56 +01:00
ae23591578 ci siamo quasi 2025-11-23 14:37:59 +01:00
53358131ed sempre fonts - main 2025-11-23 14:37:09 +01:00
cdfc9b51aa icons test 2025-11-23 14:35:52 +01:00
9e6e339f9e icone e pulizie varie -main 2025-11-23 14:34:26 +01:00
7affd07508 ignore 2025-11-23 14:24:38 +01:00
bed9bf58a7 title prod 2025-11-23 14:24:12 +01:00
a09c64a4ce Merge branch 'dev' 2025-11-23 13:15:56 +01:00
9fb7432694 minor cheges 2025-11-23 13:09:44 +01:00
9ddfe62a56 conn db ok 2025-11-23 13:07:59 +01:00
123 changed files with 15705 additions and 900 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

9
.gitignore vendored
View File

@@ -1 +1,8 @@
node_modules node_modules
parts/head.php
config/*
.travis.yml
.browserlistrc
package-lock.json
package.json

402
app/UsersManager.class.php Executable file
View File

@@ -0,0 +1,402 @@
<?php
/**
* UserManager - Gestione utenti e autenticazione tramite cookie
* PHP 8+ con MariaDB
*/
class UserManager {
private PDO $db;
private string $cookieName = 'auth_token';
private int $cookieLifetime = 2592000; // 30 giorni in secondi
private int $maxLoginAttempts = 5;
private int $lockoutTime = 900; // 15 minuti in secondi
public function __construct(PDO $db) {
$this->db = $db;
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
/**
* Registra un nuovo utente
*/
public function register(string $username, string $email, string $password, string $fullName = null): bool {
try {
$passwordHash = password_hash($password, PASSWORD_ARGON2ID);
$stmt = $this->db->prepare("
INSERT INTO users (username, email, password_hash, full_name)
VALUES (:username, :email, :password_hash, :full_name)
");
$result = $stmt->execute([
'username' => $username,
'email' => $email,
'password_hash' => $passwordHash,
'full_name' => $fullName
]);
if ($result) {
$userId = $this->db->lastInsertId();
$this->logActivity($userId, $username, 'REGISTER', "Nuovo utente registrato: $username");
}
return $result;
} catch (PDOException $e) {
error_log("Errore registrazione: " . $e->getMessage());
return false;
}
}
/**
* Login utente con username/email e password
*/
public function login(string $identifier, string $password, bool $rememberMe = true): array {
// Verifica blocco per troppi tentativi
if ($this->isAccountLocked($identifier)) {
return [
'success' => false,
'message' => 'Account temporaneamente bloccato per troppi tentativi falliti'
];
}
// Cerca utente per username o email
$stmt = $this->db->prepare("
SELECT id, username, email, password_hash, is_active, full_name
FROM users
WHERE (username = :identifier OR email = :identifier) AND is_active = 1
");
$stmt->execute(['identifier' => $identifier]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$user || !password_verify($password, $user['password_hash'])) {
$this->logFailedAttempt($identifier);
$this->logActivity(null, $identifier, 'LOGIN_FAILED', "Tentativo di login fallito");
return [
'success' => false,
'message' => 'Credenziali non valide'
];
}
// Login riuscito - pulisce tentativi falliti
$this->clearFailedAttempts($identifier);
// Aggiorna last_login
$stmt = $this->db->prepare("UPDATE users SET last_login = NOW() WHERE id = :id");
$stmt->execute(['id' => $user['id']]);
// Crea token di autenticazione se richiesto
if ($rememberMe) {
$this->createAuthToken($user['id']);
}
// Salva in sessione dati base
$_SESSION['user_id'] = $user['id'];
$_SESSION['username'] = $user['username'];
$_SESSION['full_name'] = $user['full_name'];
$this->logActivity($user['id'], $user['username'], 'LOGIN', "Login effettuato");
return [
'success' => true,
'user' => [
'id' => $user['id'],
'username' => $user['username'],
'email' => $user['email'],
'full_name' => $user['full_name']
]
];
}
/**
* Re-autenticazione con solo password (quando cookie è scaduto ma username è memorizzato)
*/
public function reAuthenticate(string $username, string $password): array {
return $this->login($username, $password, true);
}
/**
* Verifica validità sessione/cookie
*/
public function checkAuth(): ?array {
// Prima controlla se esiste sessione attiva
if (isset($_SESSION['user_id'])) {
return $this->getUserById($_SESSION['user_id']);
}
// Altrimenti verifica cookie
if (isset($_COOKIE[$this->cookieName])) {
return $this->validateAuthToken($_COOKIE[$this->cookieName]);
}
return null;
}
/**
* Crea token di autenticazione e imposta cookie
*/
private function createAuthToken(int $userId): bool {
try {
// Genera selector e token casuali
$selector = bin2hex(random_bytes(16));
$token = bin2hex(random_bytes(32));
$tokenHash = hash('sha256', $token);
$expiresAt = date('Y-m-d H:i:s', time() + $this->cookieLifetime);
// Salva nel database
$stmt = $this->db->prepare("
INSERT INTO auth_tokens (user_id, token, selector, expires_at, ip_address, user_agent)
VALUES (:user_id, :token, :selector, :expires_at, :ip, :ua)
");
$stmt->execute([
'user_id' => $userId,
'token' => $tokenHash,
'selector' => $selector,
'expires_at' => $expiresAt,
'ip' => $_SERVER['REMOTE_ADDR'] ?? null,
'ua' => $_SERVER['HTTP_USER_AGENT'] ?? null
]);
// Imposta cookie (selector:token)
$cookieValue = $selector . ':' . $token;
setcookie(
$this->cookieName,
$cookieValue,
time() + $this->cookieLifetime,
'/',
'',
true, // Secure (solo HTTPS in produzione)
true // HttpOnly
);
return true;
} catch (Exception $e) {
error_log("Errore creazione token: " . $e->getMessage());
return false;
}
}
/**
* Valida token di autenticazione dal cookie
*/
private function validateAuthToken(string $cookieValue): ?array {
try {
$parts = explode(':', $cookieValue);
if (count($parts) !== 2) {
return null;
}
[$selector, $token] = $parts;
$tokenHash = hash('sha256', $token);
// Cerca token nel database
$stmt = $this->db->prepare("
SELECT at.*, u.id, u.username, u.email, u.full_name, u.is_active
FROM auth_tokens at
JOIN users u ON at.user_id = u.id
WHERE at.selector = :selector AND at.expires_at > NOW() AND u.is_active = 1
");
$stmt->execute(['selector' => $selector]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$result || !hash_equals($result['token'], $tokenHash)) {
$this->deleteAuthToken($selector);
return null;
}
// Token valido - rigenera sessione
$_SESSION['user_id'] = $result['id'];
$_SESSION['username'] = $result['username'];
$_SESSION['full_name'] = $result['full_name'];
// Aggiorna last_login
$stmt = $this->db->prepare("UPDATE users SET last_login = NOW() WHERE id = :id");
$stmt->execute(['id' => $result['id']]);
$this->logActivity($result['id'], $result['username'], 'AUTO_LOGIN', "Login automatico via cookie");
return [
'id' => $result['id'],
'username' => $result['username'],
'email' => $result['email'],
'full_name' => $result['full_name']
];
} catch (Exception $e) {
error_log("Errore validazione token: " . $e->getMessage());
return null;
}
}
/**
* Logout - elimina sessione e cookie
*/
public function logout(): void {
$userId = $_SESSION['user_id'] ?? null;
$username = $_SESSION['username'] ?? 'unknown';
// Elimina token dal database se presente
if (isset($_COOKIE[$this->cookieName])) {
$parts = explode(':', $_COOKIE[$this->cookieName]);
if (count($parts) === 2) {
$this->deleteAuthToken($parts[0]);
}
}
// Elimina cookie
setcookie($this->cookieName, '', time() - 3600, '/', '', true, true);
// Distrugge sessione
session_unset();
session_destroy();
if ($userId) {
$this->logActivity($userId, $username, 'LOGOUT', "Logout effettuato");
}
}
/**
* Elimina token dal database
*/
private function deleteAuthToken(string $selector): void {
try {
$stmt = $this->db->prepare("DELETE FROM auth_tokens WHERE selector = :selector");
$stmt->execute(['selector' => $selector]);
} catch (Exception $e) {
error_log("Errore eliminazione token: " . $e->getMessage());
}
}
/**
* Ottiene utente per ID
*/
public function getUserById(int $userId): ?array {
$stmt = $this->db->prepare("
SELECT id, username, email, full_name, is_active, created_at, last_login
FROM users WHERE id = :id AND is_active = 1
");
$stmt->execute(['id' => $userId]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
return $user ?: null;
}
/**
* Verifica se account è bloccato per troppi tentativi
*/
private function isAccountLocked(string $identifier): bool {
$stmt = $this->db->prepare("
SELECT COUNT(*) as attempts
FROM failed_login_attempts
WHERE username = :identifier
AND ip_address = :ip
AND attempted_at > DATE_SUB(NOW(), INTERVAL :lockout SECOND)
");
$stmt->execute([
'identifier' => $identifier,
'ip' => $_SERVER['REMOTE_ADDR'] ?? '',
'lockout' => $this->lockoutTime
]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
return $result['attempts'] >= $this->maxLoginAttempts;
}
/**
* Registra tentativo di login fallito
*/
private function logFailedAttempt(string $identifier): void {
try {
$stmt = $this->db->prepare("
INSERT INTO failed_login_attempts (username, ip_address)
VALUES (:username, :ip)
");
$stmt->execute([
'username' => $identifier,
'ip' => $_SERVER['REMOTE_ADDR'] ?? ''
]);
} catch (Exception $e) {
error_log("Errore log tentativo fallito: " . $e->getMessage());
}
}
/**
* Pulisce tentativi falliti dopo login riuscito
*/
private function clearFailedAttempts(string $identifier): void {
try {
$stmt = $this->db->prepare("
DELETE FROM failed_login_attempts
WHERE username = :username AND ip_address = :ip
");
$stmt->execute([
'username' => $identifier,
'ip' => $_SERVER['REMOTE_ADDR'] ?? ''
]);
} catch (Exception $e) {
error_log("Errore pulizia tentativi: " . $e->getMessage());
}
}
/**
* Log attività utente
*/
public function logActivity(?int $userId, string $username, string $action, string $description = null): void {
try {
$stmt = $this->db->prepare("
INSERT INTO user_activity_log (user_id, username, action, description, ip_address, user_agent)
VALUES (:user_id, :username, :action, :description, :ip, :ua)
");
$stmt->execute([
'user_id' => $userId,
'username' => $username,
'action' => $action,
'description' => $description,
'ip' => $_SERVER['REMOTE_ADDR'] ?? null,
'ua' => $_SERVER['HTTP_USER_AGENT'] ?? null
]);
} catch (Exception $e) {
error_log("Errore log attività: " . $e->getMessage());
}
}
/**
* Pulizia token scaduti (da eseguire periodicamente)
*/
public function cleanExpiredTokens(): int {
try {
$stmt = $this->db->prepare("DELETE FROM auth_tokens WHERE expires_at < NOW()");
$stmt->execute();
return $stmt->rowCount();
} catch (Exception $e) {
error_log("Errore pulizia token: " . $e->getMessage());
return 0;
}
}
/**
* Ottiene username da cookie (per form di re-autenticazione)
*/
public function getRememberedUsername(): ?string {
if (!isset($_COOKIE[$this->cookieName])) {
return null;
}
$parts = explode(':', $_COOKIE[$this->cookieName]);
if (count($parts) !== 2) {
return null;
}
try {
$stmt = $this->db->prepare("
SELECT u.username
FROM auth_tokens at
JOIN users u ON at.user_id = u.id
WHERE at.selector = :selector
");
$stmt->execute(['selector' => $parts[0]]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
return $result['username'] ?? null;
} catch (Exception $e) {
return null;
}
}
}

5
composer.json Normal file
View File

@@ -0,0 +1,5 @@
{
"require": {
"vlucas/phpdotenv": "^5.6"
}
}

492
composer.lock generated Normal file
View File

@@ -0,0 +1,492 @@
{
"_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": "108be68e4e2b97fed51d36a10eed0849",
"packages": [
{
"name": "graham-campbell/result-type",
"version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
"reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
"reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.3"
},
"require-dev": {
"phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"type": "library",
"autoload": {
"psr-4": {
"GrahamCampbell\\ResultType\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
}
],
"description": "An Implementation Of The Result Type",
"keywords": [
"Graham Campbell",
"GrahamCampbell",
"Result Type",
"Result-Type",
"result"
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type",
"type": "tidelift"
}
],
"time": "2024-07-20T21:45:45+00:00"
},
{
"name": "phpoption/phpoption",
"version": "1.9.4",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
"reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
"reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34"
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "1.9-dev"
}
},
"autoload": {
"psr-4": {
"PhpOption\\": "src/PhpOption/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Johannes M. Schmitt",
"email": "schmittjoh@gmail.com",
"homepage": "https://github.com/schmittjoh"
},
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
}
],
"description": "Option Type for PHP",
"keywords": [
"language",
"option",
"php",
"type"
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
"source": "https://github.com/schmittjoh/php-option/tree/1.9.4"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
"type": "tidelift"
}
],
"time": "2025-08-21T11:53:16+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
}
},
"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"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "vlucas/phpdotenv",
"version": "v5.6.2",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
"reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
"shasum": ""
},
"require": {
"ext-pcre": "*",
"graham-campbell/result-type": "^1.1.3",
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.3",
"symfony/polyfill-ctype": "^1.24",
"symfony/polyfill-mbstring": "^1.24",
"symfony/polyfill-php80": "^1.24"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-filter": "*",
"phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
},
"suggest": {
"ext-filter": "Required to use the boolean validator."
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "5.6-dev"
}
},
"autoload": {
"psr-4": {
"Dotenv\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{
"name": "Vance Lucas",
"email": "vance@vancelucas.com",
"homepage": "https://github.com/vlucas"
}
],
"description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
"keywords": [
"dotenv",
"env",
"environment"
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
"source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
"type": "tidelift"
}
],
"time": "2025-04-30T23:37:27+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.6.0"
}

View File

@@ -1,15 +1,27 @@
<?php <?php
// Carica variabili .env manualmente require __DIR__ . '/../vendor/autoload.php';
$env = parse_ini_file(__DIR__ . '/../.env');
$DB_HOST = $env['DB_HOST']; $dotenv = Dotenv\Dotenv::createImmutable('/var/www/html/confs/dpmy_dev/');
$DB_NAME = $env['DB_NAME']; $dotenv->load();
$DB_USER = $env['DB_USER'];
$DB_PASS = $env['DB_PASS'];
try { $DB_HOST = $_ENV['DB_HOST'];
$pdo = new PDO("mysql:host=$DB_HOST;dbname=$DB_NAME;charset=utf8mb4", $DB_USER, $DB_PASS); $DB_PORT = $_ENV['DB_PORT'];
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $DB_NAME = $_ENV['DB_DATABASE'];
} catch (PDOException $e) { $DB_USER = $_ENV['DB_USERNAME'];
die("Errore connessione DB: " . $e->getMessage()); $DB_PASS = $_ENV['DB_PASSWORD'];
}
$db = new PDO("mysql:host=$DB_HOST;dbname=$DB_NAME;charset=utf8mb4",$DB_USER,$DB_PASS,[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
// try {
// $pdo = new PDO(
// "mysql:host=$DB_HOST;dbname=$DB_NAME;charset=utf8mb4",
// $DB_USER,
// $DB_PASS,
// [
// PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
// ]
// );
// echo "Connessione al database riuscita!";
// } catch (PDOException $e) {
// echo "Errore connessione DB: " . $e->getMessage();
// }

View File

@@ -1,25 +0,0 @@
<?php
require __DIR__ . '/../vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable('/var/www/html/confs/dpmy_dev/');
$dotenv->load();
$DB_HOST = $_ENV['DB_HOST'];
$DB_PORT = $_ENV['DB_PORT'];
$DB_NAME = $_ENV['DB_DATABASE'];
$DB_USER = $_ENV['DB_USERNAME'];
$DB_PASS = $_ENV['DB_PASSWORD'];
try {
$pdo = new PDO(
"mysql:host=$DB_HOST;dbname=$DB_NAME;charset=utf8mb4",
$DB_USER,
$DB_PASS,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]
);
echo "Connessione al database riuscita!";
} catch (PDOException $e) {
echo "Errore connessione DB: " . $e->getMessage();
}

BIN
img/.DS_Store vendored Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 108.3 108.3" style="enable-background:new 0 0 108.3 108.3;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E6E6E6;}
.st1{fill:#FFB8B8;}
.st2{fill:#575A89;}
.st3{fill:#2F2E41;}
</style>
<g id="Group_45" transform="translate(-191 -152.079)">
<g id="Group_30" transform="translate(282.246 224.353)">
<path id="Path_944" class="st0" d="M17.1-18.1c0,10.5-3,20.8-8.8,29.6c-1.2,1.9-2.5,3.6-4,5.3c-3.4,4-7.3,7.4-11.6,10.3
c-1.2,0.8-2.4,1.5-3.6,2.2c-6.5,3.6-13.7,5.8-21,6.5c-1.7,0.2-3.4,0.2-5.1,0.2c-4.7,0-9.4-0.6-14-1.8c-2.6-0.7-5.1-1.6-7.6-2.6
c-1.3-0.5-2.5-1.1-3.7-1.8c-2.9-1.5-5.6-3.3-8.2-5.3c-1.2-0.9-2.3-1.9-3.4-2.9C-95.8,1.3-97.1-33-76.8-54.9s54.6-23.3,76.5-2.9
C10.8-47.6,17.1-33.2,17.1-18.1L17.1-18.1z"/>
<path id="Path_945" class="st1" d="M-50.2-13.2c0,0,4.9,13.7,1.1,21.4s6,16.4,6,16.4s25.8-13.1,22.5-19.7s-8.8-15.3-7.7-20.8
L-50.2-13.2z"/>
<ellipse id="Ellipse_185" class="st1" cx="-40.6" cy="-25.5" rx="17.5" ry="17.5"/>
<path id="Path_946" class="st2" d="M-51.1,34.2c-2.6-0.7-5.1-1.6-7.6-2.6l0.5-13.3l4.9-11c1.1,0.9,2.3,1.6,3.5,2.3
c0.3,0.2,0.6,0.3,0.9,0.5c4.6,2.2,12.2,4.2,19.5-1.3c2.7-2.1,5-4.7,6.7-7.6L-8.8,9l0.7,8.4l0.8,9.8c-1.2,0.8-2.4,1.5-3.6,2.2
c-6.5,3.6-13.7,5.8-21,6.5c-1.7,0.2-3.4,0.2-5.1,0.2C-41.8,36.1-46.5,35.4-51.1,34.2z"/>
<path id="Path_947" class="st2" d="M-47.7-0.9L-47.7-0.9l-0.7,7.2l-0.4,3.8l-0.5,5.6l-1.8,18.5c-2.6-0.7-5.1-1.6-7.6-2.6
c-1.3-0.5-2.5-1.1-3.7-1.8c-2.9-1.5-5.6-3.3-8.2-5.3l-1.9-9l0.1-0.1L-47.7-0.9z"/>
<path id="Path_948" class="st2" d="M-10.9,29.3c-6.5,3.6-13.7,5.8-21,6.5c0.4-6.7,1-13.1,1.6-18.8c0.3-2.9,0.7-5.7,1.1-8.2
c1.2-8,2.5-13.5,3.4-14.2l6.1,4L4.9,7.3l-0.5,9.5c-3.4,4-7.3,7.4-11.6,10.3C-8.5,27.9-9.7,28.7-10.9,29.3z"/>
<path id="Path_949" class="st2" d="M-70.5,24.6c-1.2-0.9-2.3-1.9-3.4-2.9l0.9-6.1l0.7-0.1l3.1-0.4l6.8,14.8
C-65.2,28.3-67.9,26.6-70.5,24.6L-70.5,24.6z"/>
<path id="Path_950" class="st2" d="M8.3,11.5c-1.2,1.9-2.5,3.6-4,5.3c-3.4,4-7.3,7.4-11.6,10.3c-1.2,0.8-2.4,1.5-3.6,2.2l-0.6-2.8
l3.5-9.1l4.2-11.1l8.8,1.1C6.1,8.7,7.2,10.1,8.3,11.5z"/>
<path id="Path_951" class="st3" d="M-23.9-41.4c-2.7-4.3-6.8-7.5-11.6-8.9l-3.6,2.9l1.4-3.3c-1.2-0.2-2.3-0.2-3.5-0.2l-3.2,4.1
l1.3-4c-5.6,0.7-10.7,3.7-14,8.3c-4.1,5.9-4.8,14.1-0.8,20c1.1-3.4,2.4-6.6,3.5-9.9c0.9,0.1,1.7,0.1,2.6,0l1.3-3.1l0.4,3
c4.2-0.4,10.3-1.2,14.3-1.9l-0.4-2.3l2.3,1.9c1.2-0.3,1.9-0.5,1.9-0.7c2.9,4.7,5.8,7.7,8.8,12.5C-22.1-29.8-20.2-35.3-23.9-41.4z"
/>
<ellipse id="Ellipse_186" class="st1" cx="-24.9" cy="-26.1" rx="1.2" ry="2.4"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x38_8ce59e9-c4b8-4d1d-9d7a-ce0190159aa8"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 231.8 231.8"
style="enable-background:new 0 0 231.8 231.8;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F5F5F5;}
.st3{fill:#333333;}
.st4{fill:#4E73DF;}
.st5{opacity:0.1;enable-background:new ;}
.st6{fill:#BE7C5E;}
</style>
<g class="st0">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="115.89" y1="525.2" x2="115.89" y2="756.98" gradientTransform="matrix(1 0 0 -1 0 756.98)">
<stop offset="0" style="stop-color:#808080;stop-opacity:0.25"/>
<stop offset="0.54" style="stop-color:#808080;stop-opacity:0.12"/>
<stop offset="1" style="stop-color:#808080;stop-opacity:0.1"/>
</linearGradient>
<circle class="st1" cx="115.9" cy="115.9" r="115.9"/>
</g>
<circle class="st2" cx="115.9" cy="115.3" r="113.4"/>
<path class="st3" d="M71.6,116.3c0,0-12.9,63.4-19.9,59.8c0,0,67.7,58.5,127.5,0c0,0-10.5-44.6-25.7-59.8H71.6z"/>
<path class="st4" d="M116.2,229c22.2,0,43.9-6.5,62.4-18.7c-4.2-22.8-20.1-24.1-20.1-24.1H70.8c0,0-15,1.2-19.7,22.2
C70.1,221.9,92.9,229.1,116.2,229z"/>
<circle class="st3" cx="115" cy="112.8" r="50.3"/>
<path class="st5" d="M97.3,158.4h35.1l0,0v28.1c0,9.7-7.8,17.5-17.5,17.5l0,0c-9.7,0-17.5-7.9-17.5-17.5L97.3,158.4L97.3,158.4z"/>
<path class="st6" d="M100.7,157.1h28.4c1.9,0,3.4,1.5,3.4,3.3v0v24.7c0,9.7-7.8,17.5-17.5,17.5l0,0c-9.7,0-17.5-7.9-17.5-17.5v0
v-24.7C97.4,158.6,98.9,157.1,100.7,157.1z"/>
<path class="st5" d="M97.4,171.6c11.3,4.2,23.8,4.3,35.1,0.1v-4.3H97.4V171.6z"/>
<circle class="st6" cx="115" cy="123.7" r="50.3"/>
<path class="st3" d="M66.9,104.6h95.9c0,0-8.2-38.7-44.4-36.2S66.9,104.6,66.9,104.6z"/>
<ellipse class="st6" cx="65.8" cy="121.5" rx="4.7" ry="8.8"/>
<ellipse class="st6" cx="164" cy="121.5" rx="4.7" ry="8.8"/>
<path class="st5" d="M66.9,105.9h95.9c0,0-8.2-38.7-44.4-36.2S66.9,105.9,66.9,105.9z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x38_8ce59e9-c4b8-4d1d-9d7a-ce0190159aa8"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 231.8 231.8"
style="enable-background:new 0 0 231.8 231.8;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F5F5F5;}
.st3{fill:#4E73DF;}
.st4{fill:#72351C;}
.st5{opacity:0.1;enable-background:new ;}
.st6{fill:#FDA57D;}
</style>
<g class="st0">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="115.89" y1="526.22" x2="115.89" y2="758" gradientTransform="matrix(1 0 0 -1 0 758)">
<stop offset="0" style="stop-color:#808080;stop-opacity:0.25"/>
<stop offset="0.54" style="stop-color:#808080;stop-opacity:0.12"/>
<stop offset="1" style="stop-color:#808080;stop-opacity:0.1"/>
</linearGradient>
<circle class="st1" cx="115.9" cy="115.9" r="115.9"/>
</g>
<circle class="st2" cx="116.1" cy="115.1" r="113.4"/>
<path class="st3" d="M116.2,229c22.2,0,43.9-6.5,62.4-18.7c-4.2-22.9-20.1-24.2-20.1-24.2H70.8c0,0-15,1.2-19.7,22.2
C70.1,221.9,92.9,229.1,116.2,229z"/>
<circle class="st4" cx="115" cy="112.8" r="54.8"/>
<path class="st5" d="M97.3,158.4h35.1l0,0v28.1c0,9.7-7.8,17.6-17.5,17.6c0,0,0,0,0,0l0,0c-9.7,0-17.5-7.9-17.5-17.5L97.3,158.4
L97.3,158.4z"/>
<path class="st6" d="M100.7,157.1h28.4c1.9,0,3.3,1.5,3.3,3.4v24.7c0,9.7-7.9,17.5-17.5,17.5l0,0c-9.7,0-17.5-7.9-17.5-17.5v-24.7
C97.3,158.6,98.8,157.1,100.7,157.1L100.7,157.1z"/>
<path class="st5" d="M97.4,171.6c11.3,4.2,23.8,4.3,35.1,0.1v-4.3H97.4V171.6z"/>
<circle class="st6" cx="115" cy="123.7" r="50.3"/>
<path class="st5" d="M79.2,77.9c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.9z"/>
<path class="st4" d="M79.2,77.3c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.3z"/>
<path class="st4" d="M79,74.4c1.4-4.4,3.9-8.4,7.2-11.7c9.9-9.8,26.1-11.8,34.4-23c1.8,3.1,0.7,7.1-2.4,8.9
c-0.2,0.1-0.4,0.2-0.6,0.3c8-0.1,17.2-0.8,21.7-7.3c2.3,5.3,1.3,11.4-2.5,15.7c7.1,0.3,14.6,5.1,15.1,12.2c0.3,4.7-2.6,9.1-6.5,11.9
s-8.5,3.9-13.1,4.9C118.8,89.2,70.3,101.6,79,74.4z"/>
<path class="st4" d="M165.3,124.1H164L138,147.2c-25-11.7-43.3,0-43.3,0l-27.2-22.1l-2.7,0.3c0.8,27.8,23.9,49.6,51.7,48.9
C143.6,173.5,165.3,151.3,165.3,124.1L165.3,124.1z M115,156.1c-9.8,0-17.7-2-17.7-4.4s7.9-4.4,17.7-4.4s17.7,2,17.7,4.4
S124.7,156.1,115,156.1L115,156.1z"/>
<ellipse class="st6" cx="64.7" cy="123.6" rx="4.7" ry="8.8"/>
<ellipse class="st6" cx="165.3" cy="123.6" rx="4.7" ry="8.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x38_8ce59e9-c4b8-4d1d-9d7a-ce0190159aa8"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 231.8 231.8"
style="enable-background:new 0 0 231.8 231.8;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F5F5F5;}
.st3{fill:#4E73DF;}
.st4{fill:#F55F44;}
.st5{opacity:0.1;enable-background:new ;}
.st6{fill:#FDA57D;}
.st7{fill:#333333;}
</style>
<g class="st0">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="115.89" y1="9.36" x2="115.89" y2="241.14" gradientTransform="matrix(1 0 0 -1 0 241.14)">
<stop offset="0" style="stop-color:#808080;stop-opacity:0.25"/>
<stop offset="0.54" style="stop-color:#808080;stop-opacity:0.12"/>
<stop offset="1" style="stop-color:#808080;stop-opacity:0.1"/>
</linearGradient>
<circle class="st1" cx="115.9" cy="115.9" r="115.9"/>
</g>
<circle class="st2" cx="116.1" cy="115.1" r="113.4"/>
<path class="st3" d="M116.2,229c22.2,0,43.8-6.5,62.3-18.7c-4.2-22.8-20.1-24.2-20.1-24.2H70.8c0,0-15,1.2-19.7,22.2
C70.1,221.9,92.9,229.1,116.2,229z"/>
<circle class="st4" cx="115" cy="112.8" r="54.8"/>
<path class="st5" d="M97.3,158.4h35.1l0,0v28.1c0,9.7-7.9,17.5-17.5,17.5l0,0l0,0c-9.7,0-17.5-7.9-17.5-17.5l0,0L97.3,158.4
L97.3,158.4z"/>
<path class="st6" d="M100.7,157.1h28.4c1.9,0,3.4,1.5,3.4,3.4l0,0v24.7c0,9.7-7.9,17.5-17.5,17.5l0,0l0,0c-9.7,0-17.5-7.9-17.5-17.5
l0,0v-24.7C97.4,158.6,98.8,157.1,100.7,157.1L100.7,157.1L100.7,157.1z"/>
<path class="st5" d="M97.4,171.6c11.3,4.2,23.8,4.3,35.1,0.1v-4.3H97.4V171.6z"/>
<circle class="st6" cx="115" cy="123.7" r="50.3"/>
<circle class="st4" cx="114.9" cy="57.1" r="20.2"/>
<circle class="st4" cx="114.9" cy="37.1" r="13.3"/>
<path class="st4" d="M106.2,68.2c-9.9-4.4-14.5-15.8-10.5-25.9c-0.1,0.3-0.3,0.6-0.4,0.9c-4.6,10.2,0,22.2,10.2,26.8
s22.2,0,26.8-10.2c0.1-0.3,0.2-0.6,0.4-0.9C127.6,68.5,116,72.6,106.2,68.2z"/>
<path class="st5" d="M79.2,77.9c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.9z"/>
<path class="st4" d="M79.2,77.3c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.3z"/>
<path class="st7" d="M95.5,61.6c13-1,26.1-1,39.2,0C134.7,61.6,105.8,64.3,95.5,61.6z"/>
<path class="st4" d="M118,23c-1,0-2,0-3,0.2h0.8c7.3,0.2,13.1,6.4,12.8,13.7c-0.2,6.2-4.7,11.5-10.8,12.6
c7.3,0.1,13.3-5.8,13.4-13.2C131.2,29.1,125.3,23.1,118,23L118,23z"/>
<ellipse class="st6" cx="64.7" cy="123.6" rx="4.7" ry="8.8"/>
<ellipse class="st6" cx="165.3" cy="123.6" rx="4.7" ry="8.8"/>
<polygon class="st4" points="76,78.6 85.8,73.5 88,81.6 82,85.7 "/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="b759170a-51c3-4e2f-999d-77dec9fd6d11"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 650.9 610.5"
style="enable-background:new 0 0 650.9 610.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#AFC0E0;}
.st1{opacity:0.2;fill:#FFFFFF;enable-background:new ;}
.st2{opacity:0.1;enable-background:new ;}
.st3{fill:#E3E8F4;}
.st4{fill:#4E73DF;}
</style>
<path class="st0" d="M174,321c-2-1.6-4.2-3-6.6-4.2c-51.8-26.2-157,67.8-157,67.8L0,372.7c0,0,42.1-43.8,92.4-117.3
c45.2-66.1,150.7-51.8,171.4-48.3c2.3,0.4,3.6,0.7,3.6,0.7C298.7,288.3,174,321,174,321z"/>
<path class="st1" d="M269.4,213.9c-0.6-2-1.3-4-2-6c0,0-1.2-0.2-3.6-0.7c-20.7-3.5-126.2-17.8-171.4,48.3C42.1,329,0,372.7,0,372.7
l5.9,6.7c0,0,42.1-43.8,92.4-117.3C143.3,196.3,248,210.2,269.4,213.9z"/>
<path class="st0" d="M337.7,533.4c-79.2,40.8-127.8,77.1-127.8,77.1l-10.5-11.9c0,0,111.1-96.8,85.3-150.9c-0.5-1.2-1.2-2.3-1.9-3.4
c0,0,47.9-119.6,123.9-78.5c0,0,0.1,1,0.2,2.9C407.8,387.8,409.7,496.3,337.7,533.4z"/>
<path class="st2" d="M174,321c-2-1.6-4.2-3-6.6-4.2c29.3-38.9,61.5-75.5,96.3-109.7c2.3,0.4,3.6,0.7,3.6,0.7
C298.7,288.3,174,321,174,321z"/>
<path class="st2" d="M406.9,368.6c-38.6,29.6-79.4,56.1-122.3,79.1c-0.5-1.2-1.2-2.3-1.9-3.4c0,0,47.9-119.6,123.9-78.5
C406.7,365.7,406.8,366.7,406.9,368.6z"/>
<path class="st3" d="M263.6,455.5c-20.3,10.4-41.6,20.5-64,30.2c-33.6,14.6-51.5-2.2-80.7-91.5c0,0,12.5-22.5,37.2-57
c54.3-75.8,167.5-209.1,336.1-286.7C542.7,27.1,596.1,10.1,650.9,0c0,0-9.1,68.8-62,160.1S439.1,365.3,263.6,455.5z"/>
<circle class="st0" cx="435.6" cy="199.7" r="71.6"/>
<path class="st4" d="M469.2,237.9c-21,18.6-53.1,16.6-71.7-4.5c-7.8-8.8-12.2-20-12.7-31.8c-0.2-4.7,0.3-9.4,1.4-14
c0.5-2,1.1-4.1,1.9-6c2.9-7.7,7.7-14.5,13.8-19.9c0.3-0.3,0.6-0.5,0.9-0.8c17.1-14.4,41.5-15.9,60.3-3.8c3.5,2.3,6.7,4.9,9.5,7.9
l1,1.1C492.2,187.2,490.2,219.3,469.2,237.9C469.2,237.8,469.2,237.9,469.2,237.9z"/>
<path class="st0" d="M588.9,160.1c-83-35.2-96.8-109.6-96.8-109.6C542.7,27,596.1,10.1,650.9,0C650.9,0,641.8,68.8,588.9,160.1z"/>
<path class="st0" d="M263.6,455.5c-13.7,7.1-27.9,13.9-42.6,20.7c-7,3.2-14.1,6.4-21.4,9.5c-10.9,4.7-51.5-2.2-80.7-91.5
c0,0,4.1-7.3,12.1-20c6.1-9.6,14.5-22.2,25.1-37c0,0,11,33.2,41.1,67.3C215.8,425.7,238.4,443,263.6,455.5z"/>
<path class="st3" d="M221,476.2c-7,3.2-14.1,6.4-21.4,9.5c-10.9,4.7-51.5-2.2-80.7-91.5c0,0,4.1-7.3,12.1-20
C131,374.2,170.2,456.9,221,476.2z"/>
<path class="st1" d="M463.2,157l-0.1,0l-60.1,3.9c-0.3,0.3-0.6,0.5-0.9,0.8c-6.2,5.4-10.9,12.3-13.8,19.9l84.5-16.6L463.2,157z"/>
<path class="st1" d="M438.8,194.3l-53.9,7.3c-0.2-4.7,0.3-9.4,1.4-14l52.8,1.4L438.8,194.3z"/>
<path class="st1" d="M131.7,408.7c0,0,12.5-22.5,37.2-57C223.2,276,336.4,142.7,504.9,65c45.6-21.1,93.3-36.9,142.5-47.3
C650.1,6.4,650.9,0,650.9,0c-54.8,10.1-108.2,27-158.7,50.5c-168.6,77.7-281.8,211-336.1,286.7c-24.7,34.4-37.2,57-37.2,57
c11.5,35.3,26.6,57,40.5,70.3C149.4,451.4,139.7,433.3,131.7,408.7z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,10 +1,30 @@
<?php <?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
require_once __DIR__ . '/config/init.php';
if (!$currentUser) {
// Controlla se esiste un username memorizzato (cookie scaduto)
$rememberedUsername = $userManager->getRememberedUsername();
if ($rememberedUsername) {
include 'login.php';
} else {
include 'login.php';
}
exit;
}
// Utente autenticato - memorizza in variabile globale per uso nelle pagine
$_SESSION['user'] = $currentUser;
include 'parts/head.php'; include 'parts/head.php';
include 'parts/sidebar.php'; include 'parts/sidebar.php';
include 'parts/content.php'; include 'parts/content.php';
include 'parts/footer.php'; include 'parts/footer.php';
?> ?>

View File

@@ -22,33 +22,31 @@
</head> </head>
<body class="bg-gradient-primary"> <body class="">
<div class="container"> <div class="container">
<!-- Outer Row --> <!-- Outer Row -->
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-xl-10 col-lg-12 col-md-9"> <div class="col-md-6">
<div class="card o-hidden border-0 shadow-lg my-5"> <div class="card o-hidden border-0 shadow-lg my-5">
<div class="card-body p-0"> <div class="card-body p-0">
<!-- Nested Row within Card Body --> <!-- Nested Row within Card Body -->
<div class="row"> <div class="row">
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
<div class="col-lg-6"> <div class="col-lg-12">
<div class="p-5"> <div class="p-5">
<div class="text-center">
<h1 class="h4 text-gray-900 mb-4">Welcome Back!</h1>
</div>
<form class="user"> <form class="user">
<div class="form-group"> <div class="form-group">
<input type="email" class="form-control form-control-user" <input type="email" class="form-control "
id="exampleInputEmail" aria-describedby="emailHelp" id="exampleInputEmail" aria-describedby="emailHelp"
placeholder="Enter Email Address..."> placeholder="Enter Email Address...">
</div> </div>
<div class="form-group"> <div class="form-group">
<input type="password" class="form-control form-control-user" <input type="password" class="form-control "
id="exampleInputPassword" placeholder="Password"> id="exampleInputPassword" placeholder="Password">
</div> </div>
<div class="form-group"> <div class="form-group">
@@ -60,21 +58,14 @@
</div> </div>
<a href="index.html" class="btn btn-primary btn-user btn-block"> <a href="index.html" class="btn btn-primary btn-user btn-block">
Login Login
</a> </a>
<hr>
<a href="index.html" class="btn btn-google btn-user btn-block">
<i class="fab fa-google fa-fw"></i> Login with Google
</a>
<a href="index.html" class="btn btn-facebook btn-user btn-block">
<i class="fab fa-facebook-f fa-fw"></i> Login with Facebook
</a>
</form> </form>
<hr> <hr>
<div class="text-center"> <div class="text-center">
<a class="small" href="forgot-password.html">Forgot Password?</a> <a class="small" href="forgot-password.html">Password Dimenticata?</a>
</div> </div>
<div class="text-center"> <div class="text-center">
<a class="small" href="register.html">Create an Account!</a> <a class="small" href="register.html">Crea un Account!</a>
</div> </div>
</div> </div>
</div> </div>

0
logout.php Normal file
View File

View File

@@ -4,536 +4,20 @@
<!-- Main Content --> <!-- Main Content -->
<div id="content"> <div id="content">
<!-- Topbar --> <?php include 'parts/navbar.php'; ?>
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
<!-- Topbar Search -->
<form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append">
<button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i>
</button>
</div>
</div>
</form>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i>
</a>
<!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group">
<input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append">
<button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i>
</button>
</div>
</div>
</form>
</div>
</li>
<!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span>
</a>
<!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header">
Alerts Center
</h6>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="mr-3">
<div class="icon-circle bg-primary">
<i class="fas fa-file-alt text-white"></i>
</div>
</div>
<div>
<div class="small text-gray-500">December 12, 2019</div>
<span class="font-weight-bold">A new monthly report is ready to download!</span>
</div>
</a>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="mr-3">
<div class="icon-circle bg-success">
<i class="fas fa-donate text-white"></i>
</div>
</div>
<div>
<div class="small text-gray-500">December 7, 2019</div>
$290.29 has been deposited into your account!
</div>
</a>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="mr-3">
<div class="icon-circle bg-warning">
<i class="fas fa-exclamation-triangle text-white"></i>
</div>
</div>
<div>
<div class="small text-gray-500">December 2, 2019</div>
Spending Alert: We've noticed unusually high spending for your account.
</div>
</a>
<a class="dropdown-item text-center small text-gray-500" href="#">Show All Alerts</a>
</div>
</li>
<!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span>
</a>
<!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header">
Message Center
</h6>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div>
</div>
<div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div>
</div>
</a>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div>
</div>
<div>
<div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div>
</div>
</a>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div>
</div>
<div>
<div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div>
</a>
<a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div>
</div>
<div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div>
</div>
</a>
<a class="dropdown-item text-center small text-gray-500" href="#">Read More Messages</a>
</div>
</li>
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a>
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Activity Log
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
</li>
</ul>
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content --> <!-- Begin Page Content -->
<div class="container-fluid"> <div class="container-fluid">
<!-- Page Heading --> <!-- Page Heading -->
<div class="d-sm-flex align-items-center justify-content-between mb-4"> <div class="d-sm-flex align-items-center justify-content-between mb-4">
<h1 class="h3 mb-0 text-gray-800">Dashboard</h1> <h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
<a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i
class="fas fa-download fa-sm text-white-50"></i> Generate Report</a>
</div> </div>
<!-- Content Row --> <!-- Content Row -->
<div class="row"> <div class="row">
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
Earnings (Monthly)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
</div>
<div class="col-auto">
<i class="fas fa-calendar fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Earnings (Annual)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
</div>
<div class="col-auto">
<i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks
</div>
<div class="row no-gutters align-items-center">
<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
</div>
<div class="col">
<div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar"
style="width: 50%" aria-valuenow="50" aria-valuemin="0"
aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<div class="col-auto">
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Pending Requests Card Example -->
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
Pending Requests</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">18</div>
</div>
<div class="col-auto">
<i class="fas fa-comments fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
<div class="row">
<!-- Area Chart -->
<div class="col-xl-8 col-lg-7">
<div class="card shadow mb-4">
<!-- Card Header - Dropdown -->
<div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6>
<div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="chart-area">
<canvas id="myAreaChart"></canvas>
</div>
</div>
</div>
</div>
<!-- Pie Chart -->
<div class="col-xl-4 col-lg-5">
<div class="card shadow mb-4">
<!-- Card Header - Dropdown -->
<div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6>
<div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="chart-pie pt-4 pb-2">
<canvas id="myPieChart"></canvas>
</div>
<div class="mt-4 text-center small">
<span class="mr-2">
<i class="fas fa-circle text-primary"></i> Direct
</span>
<span class="mr-2">
<i class="fas fa-circle text-success"></i> Social
</span>
<span class="mr-2">
<i class="fas fa-circle text-info"></i> Referral
</span>
</div>
</div>
</div>
</div>
</div>
<!-- Content Row -->
<div class="row">
<!-- Content Column -->
<div class="col-lg-6 mb-4">
<!-- Project Card Example -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Projects</h6>
</div>
<div class="card-body">
<h4 class="small font-weight-bold">Server Migration <span
class="float-right">20%</span></h4>
<div class="progress mb-4">
<div class="progress-bar bg-danger" role="progressbar" style="width: 20%"
aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Sales Tracking <span
class="float-right">40%</span></h4>
<div class="progress mb-4">
<div class="progress-bar bg-warning" role="progressbar" style="width: 40%"
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Customer Database <span
class="float-right">60%</span></h4>
<div class="progress mb-4">
<div class="progress-bar" role="progressbar" style="width: 60%"
aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Payout Details <span
class="float-right">80%</span></h4>
<div class="progress mb-4">
<div class="progress-bar bg-info" role="progressbar" style="width: 80%"
aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<h4 class="small font-weight-bold">Account Setup <span
class="float-right">Complete!</span></h4>
<div class="progress">
<div class="progress-bar bg-success" role="progressbar" style="width: 100%"
aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
<!-- Color System -->
<div class="row">
<div class="col-lg-6 mb-4">
<div class="card bg-primary text-white shadow">
<div class="card-body">
Primary
<div class="text-white-50 small">#4e73df</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-success text-white shadow">
<div class="card-body">
Success
<div class="text-white-50 small">#1cc88a</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-info text-white shadow">
<div class="card-body">
Info
<div class="text-white-50 small">#36b9cc</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-warning text-white shadow">
<div class="card-body">
Warning
<div class="text-white-50 small">#f6c23e</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-danger text-white shadow">
<div class="card-body">
Danger
<div class="text-white-50 small">#e74a3b</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-secondary text-white shadow">
<div class="card-body">
Secondary
<div class="text-white-50 small">#858796</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-light text-black shadow">
<div class="card-body">
Light
<div class="text-black-50 small">#f8f9fc</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-dark text-white shadow">
<div class="card-body">
Dark
<div class="text-white-50 small">#5a5c69</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<!-- Illustrations -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Illustrations</h6>
</div>
<div class="card-body">
<div class="text-center">
<img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
src="img/undraw_posting_photo.svg" alt="...">
</div>
<p>Add some quality, svg illustrations to your project courtesy of <a
target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
constantly updated collection of beautiful svg images that you can use
completely free and without attribution!</p>
<a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on
unDraw &rarr;</a>
</div>
</div>
<!-- Approach -->
<div class="card shadow mb-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Development Approach</h6>
</div>
<div class="card-body">
<p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce
CSS bloat and poor page performance. Custom CSS classes are used to create
custom components and custom utility classes.</p>
<p class="mb-0">Before working with this theme, you should become familiar with the
Bootstrap framework, especially the utility classes.</p>
</div>
</div>
</div>
</div> </div>
</div> </div>
@@ -546,7 +30,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2021</span> <span>Copyright &copy; GoGo|DPMY <?= date('Y'); ?></span>
</div> </div>
</div> </div>
</footer> </footer>

View File

@@ -17,10 +17,10 @@
<span aria-hidden="true">×</span> <span aria-hidden="true">×</span>
</button> </button>
</div> </div>
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div> <div class="modal-body">Uscire?</div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button> <button class="btn btn-secondary" type="button" data-dismiss="modal">Annulla</button>
<a class="btn btn-primary" href="login.html">Logout</a> <a class="btn btn-primary" href="logout.php">Logout</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -6,9 +6,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>DEVVV</title>
<title>GOGO DPMY</title>
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="tpl/icons/style.css" rel="stylesheet" type="text/css">
<link <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet"> rel="stylesheet">

88
parts/navbar.php Normal file
View File

@@ -0,0 +1,88 @@
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i>
</a>
</li>
<!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter"></span>
</a>
<!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown">
<a class="dropdown-item text-center small text-gray-500" href="#">Mostra Notifiche</a>
</div>
</li>
<!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages -->
<span class="badge badge-danger badge-counter"></span>
</a>
<!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header">
Messaggi non letti
</h6>
<a class="dropdown-item text-center small text-gray-500" href="#">Vai alla posta</a>
</div>
</li>
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small">{NomeUtente}</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a>
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profilo
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Impostazioni
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Registro Attività
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
</li>
</ul>
</nav>
<!-- End of Topbar -->

View File

@@ -1,124 +1,23 @@
<!-- Sidebar --> <ul class="navbar-nav bg-gradient-dark sidebar sidebar-dark accordion" id="accordionSidebar">
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
<!-- Sidebar - Brand -->
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.html"> <a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.html">
<div class="sidebar-brand-icon rotate-n-15"> <div class="sidebar-brand-icon rotate-n-15">
<i class="fas fa-laugh-wink"></i> <span class="icon-thumbs-up"></span>
</div> </div>
<div class="sidebar-brand-text mx-3">SB Admin <sup>2</sup></div> <div class="sidebar-brand-text mx-3">GOGO.DPMY</div>
</a> </a>
<!-- Divider -->
<hr class="sidebar-divider my-0"> <hr class="sidebar-divider my-0">
<!-- Nav Item - Dashboard -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="index.html"> <a class="nav-link" href="index.php">
<i class="fas fa-fw fa-tachometer-alt"></i> <i class="fas fa-fw fa-tachometer-alt"></i>
<span>Dashboard</span></a> <span>Dashboard</span></a>
</li> </li>
<!-- Divider -->
<hr class="sidebar-divider"> <hr class="sidebar-divider">
<!-- Heading --> </ul>
<div class="sidebar-heading">
Interface
</div>
<!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i>
<span>Components</span>
</a>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Components:</h6>
<a class="collapse-item" href="buttons.html">Buttons</a>
<a class="collapse-item" href="cards.html">Cards</a>
</div>
</div>
</li>
<!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span>
</a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a>
<a class="collapse-item" href="utilities-border.html">Borders</a>
<a class="collapse-item" href="utilities-animation.html">Animations</a>
<a class="collapse-item" href="utilities-other.html">Other</a>
</div>
</div>
</li>
<!-- Divider -->
<hr class="sidebar-divider">
<!-- Heading -->
<div class="sidebar-heading">
Addons
</div>
<!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i>
<span>Pages</span>
</a>
<div id="collapsePages" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Login Screens:</h6>
<a class="collapse-item" href="login.html">Login</a>
<a class="collapse-item" href="register.html">Register</a>
<a class="collapse-item" href="forgot-password.html">Forgot Password</a>
<div class="collapse-divider"></div>
<h6 class="collapse-header">Other Pages:</h6>
<a class="collapse-item" href="404.html">404 Page</a>
<a class="collapse-item" href="blank.html">Blank Page</a>
</div>
</div>
</li>
<!-- Nav Item - Charts -->
<li class="nav-item">
<a class="nav-link" href="charts.html">
<i class="fas fa-fw fa-chart-area"></i>
<span>Charts</span></a>
</li>
<!-- Nav Item - Tables -->
<li class="nav-item">
<a class="nav-link" href="tables.html">
<i class="fas fa-fw fa-table"></i>
<span>Tables</span></a>
</li>
<!-- Divider -->
<hr class="sidebar-divider d-none d-md-block">
<!-- Sidebar Toggler (Sidebar) -->
<div class="text-center d-none d-md-inline">
<button class="rounded-circle border-0" id="sidebarToggle"></button>
</div>
<!-- Sidebar Message -->
<div class="sidebar-card d-none d-lg-flex">
<img class="sidebar-card-illustration mb-2" src="img/undraw_rocket.svg" alt="...">
<p class="text-center mb-2"><strong>SB Admin Pro</strong> is packed with premium features, components, and more!</p>
<a class="btn btn-success btn-sm" href="https://startbootstrap.com/theme/sb-admin-pro">Upgrade to Pro!</a>
</div>
</ul>
<!-- End of Sidebar -->

BIN
tpl/.DS_Store vendored Normal file

Binary file not shown.

BIN
tpl/icons/fonts/icomoon.eot Normal file

Binary file not shown.

657
tpl/icons/fonts/icomoon.svg Normal file
View File

@@ -0,0 +1,657 @@
<?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>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe900;" glyph-name="number" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM474.496 553.312c-18.848-14.656-36.288-24.64-52.32-29.888v-55.744c30.496 10.048 56.992 25.568 79.488 46.56v-227.552h65.504v320h-53.952c-6.976-19.584-19.904-38.688-38.72-53.376z" />
<glyph unicode="&#xe901;" glyph-name="number1" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM562.048 391.136c19.424 17.792 32.864 31.424 40.32 40.896 11.232 14.304 19.424 28 24.64 41.024 5.152 13.056 7.744 26.816 7.744 41.248 0 25.376-9.056 46.624-27.136 63.68s-42.944 25.6-74.592 25.6c-28.864 0-52.928-7.36-72.192-22.080s-30.72-38.976-34.336-72.8l61.248-6.112c1.152 17.92 5.536 30.72 13.12 38.432 7.552 7.712 17.76 11.552 30.592 11.552 12.96 0 23.136-3.68 30.464-11.040 7.36-7.36 11.072-17.92 11.072-31.616 0-12.384-4.256-24.928-12.672-37.632-6.24-9.184-23.264-26.688-50.944-52.48-34.432-31.936-57.472-57.568-69.12-76.896-11.68-19.328-18.688-39.744-20.992-61.344h215.488v56.992h-122.208c3.232 5.536 7.392 11.232 12.608 17.088 5.12 5.856 17.44 17.664 36.896 35.488z" />
<glyph unicode="&#xe902;" glyph-name="number2" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM551.936 472.992c30.816 16.8 46.176 39.296 46.176 67.456 0 19.872-7.488 37.664-22.56 53.44-18.272 19.264-42.56 28.896-72.8 28.896-17.696 0-33.664-3.328-47.904-9.952s-25.344-15.776-33.344-27.36c-7.936-11.584-13.92-27.104-17.888-46.528l56.736-9.664c1.632 14.048 6.176 24.704 13.632 32.032 7.488 7.328 16.512 10.976 27.040 10.976 10.688 0 19.296-3.232 25.728-9.632 6.432-6.432 9.664-15.072 9.664-25.888 0-12.736-4.416-22.912-13.216-30.624-8.736-7.68-21.536-11.296-38.24-10.848l-6.816-50.080c11.008 3.072 20.416 4.608 28.32 4.608 11.968 0 22.112-4.512 30.464-13.536s12.512-21.28 12.512-36.704c0-16.288-4.352-29.248-13.024-38.848-8.704-9.6-19.424-14.4-32.128-14.4-11.84 0-21.952 4-30.24 12-8.352 8-13.44 19.584-15.328 34.752l-59.488-7.232c3.072-26.976 14.144-48.8 33.28-65.504s43.2-25.024 72.256-25.024c30.624 0 56.256 9.888 76.832 29.728 20.608 19.808 30.88 43.776 30.88 71.904 0 19.36-5.504 35.904-16.48 49.6-11.072 13.664-25.728 22.496-44.064 26.432z" />
<glyph unicode="&#xe903;" glyph-name="number3" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM581.632 597.216h-51.616l-139.328-203.968v-53.568h131.488v-64.48h59.456v64.512h39.776v53.76h-39.776v203.744zM522.144 393.44h-73.888l73.888 109.888v-109.888z" />
<glyph unicode="&#xe904;" glyph-name="number4" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM520.288 515.552c-14.304 0-28.352-3.424-42.016-10.272l9.76 54.528h115.904v57.504h-162.496l-31.52-167.008 49.824-7.264c14.016 15.68 29.824 23.488 47.488 23.488 14.144 0 25.632-4.928 34.464-14.784s13.248-24.64 13.248-44.352c0-21.024-4.48-36.736-13.344-47.2-8.896-10.464-19.776-15.648-32.64-15.648-11.232 0-21.152 4.032-29.76 12.128-8.64 8.064-13.792 19.040-15.552 32.864l-61.216-6.336c3.648-26.848 14.784-48.192 33.472-64.096 18.688-15.872 42.816-23.808 72.448-23.808 37.056 0 65.984 14.112 86.88 42.464 15.328 20.704 22.944 44.288 22.944 70.72 0 31.648-9.472 57.408-28.448 77.28-19.040 19.872-42.176 29.792-69.44 29.792z" />
<glyph unicode="&#xe905;" glyph-name="number5" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM528.64 490.080c-22.752 0-41.76-9.024-57.088-27.136 2.336 36.832 7.968 61.056 16.928 72.672s19.904 17.44 32.896 17.44c9.76 0 17.696-2.912 23.808-8.736s9.92-14.816 11.36-27.040l59.488 6.56c-4.384 25.92-14.56 45.664-30.528 59.296-15.968 13.6-36.128 20.416-60.48 20.416-34.72 0-62.944-12.96-84.672-38.944-21.728-25.952-32.576-68.32-32.576-127.104 0-57.312 10.4-98.56 31.296-123.712 20.832-25.152 47.456-37.76 79.872-37.76 30.208 0 54.944 9.952 74.176 29.792 19.296 19.872 28.896 46.24 28.896 79.104 0 30.976-9.184 56.224-27.456 75.776-18.272 19.616-40.256 29.376-65.92 29.376zM550.432 340.48c-7.552-8.896-17.056-13.344-28.416-13.344-11.776 0-22.272 5.44-31.456 16.32s-13.76 26.336-13.76 46.368c0 18.112 4.064 31.84 12.224 41.12s18.144 13.952 29.952 13.952c12.224 0 22.432-4.864 30.592-14.592s12.256-25.024 12.256-45.952c0-20.352-3.808-34.976-11.392-43.872z" />
<glyph unicode="&#xe906;" glyph-name="number6" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM407.808 534.688h139.872c-28.864-36.352-51.936-77.6-69.184-123.744-17.28-46.112-26.432-91.392-27.424-135.776h59.264c-0.16 28.32 4.48 60.448 13.888 96.384 9.376 35.968 23.072 69.92 40.96 101.888 17.92 31.936 35.52 56.448 52.896 73.504v44.736h-210.24v-56.992z" />
<glyph unicode="&#xe907;" glyph-name="number7" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM550.592 467.424c13.984 6.112 24.832 14.976 32.576 26.592s11.584 24.832 11.584 39.712c0 23.936-8.448 43.68-25.248 59.296-16.864 15.584-40.544 23.392-71.008 23.392-30.784 0-54.496-7.808-71.2-23.392-16.704-15.616-25.056-35.36-25.056-59.296 0-14.016 3.616-26.88 10.816-38.624 7.264-11.744 18.784-20.96 34.688-27.68-18.496-7.904-32.032-19.104-40.64-33.632-8.576-14.528-12.864-30.496-12.864-47.872 0-31.552 11.424-56.416 34.304-74.496 19.36-15.328 43.648-23.008 72.8-23.008 31.328 0 56.448 9.28 75.328 27.84 18.88 18.528 28.32 42.624 28.32 72.288 0 17.984-4.64 33.824-13.888 47.552s-22.72 24.16-40.512 31.328zM471.008 557.152c7.008 7.008 16.384 10.496 28.192 10.496 11.36 0 20.512-3.456 27.424-10.4 6.912-6.912 10.368-16.16 10.368-27.68 0-12.256-3.488-21.856-10.496-28.768-7.008-6.944-16.32-10.4-27.968-10.4-11.52 0-20.704 3.424-27.648 10.272-6.912 6.848-10.368 16.416-10.368 28.672 0 11.52 3.488 20.8 10.496 27.808zM531.776 351.584c-8.352-9.12-18.848-13.696-31.52-13.696-12.96 0-23.808 4.704-32.512 14.208-8.672 9.504-12.992 22.752-12.992 39.68 0 12.128 3.68 23.392 11.072 33.792 7.36 10.368 18.56 15.552 33.568 15.552 12.992 0 23.712-4.576 32.192-13.696 8.448-9.152 12.672-21.248 12.672-36.256 0-17.216-4.16-30.432-12.48-39.584z" />
<glyph unicode="&#xe908;" glyph-name="number8" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM499.488 597.216c-29.92 0-54.528-9.952-73.888-29.856-19.328-19.904-28.96-46.144-28.96-78.656 0-31.232 9.152-56.576 27.424-76.032 18.304-19.456 40.096-29.216 65.312-29.216 23.2 0 42.496 8.992 57.984 26.944-2.464-36.768-8.16-60.992-17.024-72.672-8.896-11.648-19.648-17.504-32.352-17.504-10.048 0-18.112 2.944-24.256 8.768s-9.92 14.848-11.36 26.976l-59.456-6.56c4.384-26.656 14.272-46.688 29.728-60.064 15.456-13.408 35.744-20.128 60.8-20.128 34.88 0 63.136 12.992 84.864 39.008 21.728 25.984 32.608 68.32 32.608 126.976 0 57.664-10.432 99.072-31.296 124.256-20.864 25.152-47.584 37.76-80.128 37.76zM529.76 442.464c-8.064-9.344-17.984-14.016-29.792-14.016-12.224 0-22.432 4.832-30.592 14.56s-12.224 24.928-12.224 45.632c0 20.416 3.744 35.136 11.232 44.096 7.52 8.96 16.928 13.44 28.32 13.44 11.936 0 22.432-5.472 31.552-16.416 9.088-10.944 13.664-26.336 13.664-46.176 0-18.080-4.032-31.776-12.16-41.12z" />
<glyph unicode="&#xe909;" glyph-name="number9" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM511.808 616.416c-31.136 0-55.328-10.944-72.704-32.832-21.024-26.56-31.52-70.016-31.52-130.368 0-61.536 9.568-104.32 28.672-128.32s44.32-35.968 75.552-35.968c31.072 0 55.328 10.944 72.672 32.8 21.024 26.528 31.552 70.144 31.552 130.816 0 60.8-10.432 104.352-31.328 130.624-17.504 22.144-41.824 33.248-72.896 33.248zM545.44 372.512c-3.264-12.256-7.776-20.736-13.632-25.504-5.888-4.736-12.576-7.104-20-7.104-7.488 0-14.112 2.336-19.904 7.008s-10.592 14.016-14.4 28.096-5.696 39.936-5.696 77.536 2.112 64.384 6.368 80.256c3.2 12.256 7.744 20.736 13.632 25.472 5.856 4.736 12.512 7.104 20 7.104 7.424 0 14.048-2.368 19.872-7.104 5.792-4.736 10.56-14.144 14.368-28.224s5.76-39.936 5.76-77.536-2.112-64.256-6.368-80z" />
<glyph unicode="&#xe90a;" glyph-name="number10" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM568.224 238.848h-79.008v297.76c-28.832-26.912-62.848-46.816-102.016-59.744v71.488c20.608 6.752 43.008 19.584 67.168 38.464 24.192 18.88 40.736 40.896 49.76 66.048h64.096v-414.016z" />
<glyph unicode="&#xe90b;" glyph-name="number11" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM650.944 306.368v-73.504h-276.992c2.976 27.744 11.968 54.016 26.976 78.88 14.976 24.832 44.576 57.824 88.768 98.88 35.552 33.184 57.376 55.68 65.44 67.488 10.88 16.32 16.32 32.448 16.32 48.384 0 17.632-4.704 31.2-14.112 40.672s-22.4 14.208-39.008 14.208c-16.384 0-29.44-4.992-39.136-14.944s-15.296-26.464-16.736-49.568l-79.008 7.904c4.672 43.488 19.36 74.72 44.096 93.696 24.704 18.944 55.648 28.416 92.736 28.416 40.64 0 72.576-10.976 95.808-32.896 23.232-21.952 34.848-49.216 34.848-81.824 0-18.56-3.328-36.224-9.984-52.992s-17.184-34.368-31.616-52.704c-9.568-12.16-26.848-29.728-51.872-52.608-24.992-22.848-40.832-38.016-47.488-45.504-6.656-7.52-12.032-14.816-16.16-21.952h157.12z" />
<glyph unicode="&#xe90c;" glyph-name="number12" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM607.84 276.576c-26.432-25.504-59.328-38.208-98.752-38.208-37.312 0-68.256 10.72-92.8 32.16-24.608 21.44-38.848 49.44-42.784 84.064l76.512 9.248c2.432-19.424 8.992-34.272 19.712-44.576 10.656-10.272 23.616-15.424 38.816-15.424 16.32 0 30.048 6.208 41.248 18.624 11.136 12.384 16.704 29.088 16.704 50.112 0 19.872-5.344 35.68-16.032 47.328-10.72 11.648-23.744 17.44-39.136 17.44-10.144 0-22.24-1.984-36.352-5.888l8.704 63.904c21.376-0.576 37.696 4.064 48.928 13.888s16.832 22.88 16.832 39.168c0 13.856-4.096 24.864-12.32 33.12-8.256 8.224-19.168 12.352-32.8 12.352-13.472 0-24.928-4.672-34.464-14.016-9.536-9.376-15.328-23.040-17.408-40.992l-72.992 12.352c5.056 25.024 12.704 45.024 22.944 60s24.48 26.72 42.752 35.296 38.784 12.832 61.472 12.832c38.816 0 69.952-12.384 93.376-37.152 19.328-20.256 28.96-43.136 28.96-68.64 0-36.192-19.808-65.088-59.456-86.656 23.648-5.056 42.56-16.416 56.704-34.016 14.176-17.632 21.248-38.88 21.248-63.808 0.032-36.224-13.184-67.040-39.616-92.512z" />
<glyph unicode="&#xe90d;" glyph-name="number13" d="M523.488 397.344v140.96l-95.072-140.96h95.072zM512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM651.008 328.352h-51.008v-83.040h-76.512v83.040h-168.992v68.704l179.136 262.272h66.368v-261.984h51.008v-68.992z" />
<glyph unicode="&#xe90e;" glyph-name="number14" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM625.472 298.24c-26.848-36.384-64.096-54.56-111.744-54.56-38.080 0-69.12 10.208-93.152 30.688-24 20.512-38.368 48.064-43.072 82.624l79.008 8.192c2.24-17.888 8.896-32 19.936-42.368 11.040-10.432 23.744-15.616 38.144-15.616 16.48 0 30.368 6.688 41.824 20.064 11.36 13.376 17.088 33.568 17.088 60.576 0 25.28-5.696 44.256-17.024 56.896-11.36 12.64-26.176 18.976-44.416 18.976-22.72 0-43.136-9.984-61.152-30.016l-63.904 9.248 40.512 214.752h208.992v-73.984h-149.056l-12.704-70.144c17.696 8.736 35.744 13.152 54.176 13.152 35.168 0 64.96-12.768 89.44-38.272 24.448-25.504 36.672-58.624 36.672-99.296-0.032-33.984-9.888-64.288-29.568-90.912z" />
<glyph unicode="&#xe90f;" glyph-name="number15" d="M513.984 446.816c-15.232 0-28.064-5.952-38.56-17.856-10.528-11.904-15.776-29.472-15.776-52.704 0-25.696 5.92-45.504 17.76-59.456 11.808-13.984 25.312-20.96 40.544-20.96 14.624 0 26.848 5.76 36.608 17.184s14.624 30.144 14.624 56.224c0 26.816-5.248 46.432-15.744 58.912s-23.68 18.656-39.456 18.656zM512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM609.504 268.576c-24.736-25.504-56.576-38.208-95.36-38.208-41.664 0-75.904 16.16-102.72 48.512-26.848 32.352-40.256 85.344-40.256 159.040 0 75.552 14.016 130.016 41.984 163.392 27.936 33.376 64.256 50.048 108.928 50.048 31.328 0 57.28-8.8 77.824-26.4 20.576-17.632 33.664-43.168 39.296-76.672l-76.512-8.416c-1.888 15.68-6.784 27.296-14.656 34.752-7.904 7.488-18.144 11.232-30.752 11.232-16.736 0-30.912-7.456-42.464-22.432-11.552-14.944-18.848-46.080-21.856-93.44 19.68 23.232 44.192 34.848 73.504 34.848 33.024 0 61.312-12.544 84.864-37.632s35.328-57.504 35.328-97.216c0-42.176-12.384-75.968-37.152-101.408z" />
<glyph unicode="&#xe910;" glyph-name="number16" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM652.352 581.504c-22.304-21.984-44.96-53.472-68-94.56s-40.608-84.736-52.672-131.008c-12.064-46.24-17.984-87.552-17.824-123.936h-76c1.28 56.992 13.024 115.2 35.232 174.464 22.144 59.296 51.744 112.32 88.8 159.040h-180.032v73.504h270.496v-57.504z" />
<glyph unicode="&#xe911;" glyph-name="number17" d="M518.848 426.816c-19.328 0-33.696-6.688-43.168-20.128-9.472-13.408-14.176-27.936-14.176-43.616 0-21.952 5.568-39.040 16.704-51.328s25.056-18.432 41.76-18.432c16.32 0 29.824 5.952 40.512 17.76s16.032 28.832 16.032 51.168c0 19.456-5.44 35.104-16.32 46.912-10.88 11.776-24.672 17.664-41.344 17.664zM517.728 489.344c14.944 0 26.88 4.48 35.84 13.376 8.928 8.928 13.44 21.28 13.44 37.056 0 14.848-4.448 26.72-13.312 35.648s-20.576 13.376-35.136 13.376c-15.136 0-27.168-4.512-36.128-13.504-8.96-9.024-13.44-20.96-13.44-35.808 0-15.776 4.448-28.096 13.28-36.928 8.896-8.8 20.704-13.216 35.456-13.216zM512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM618.080 265.632c-24.288-23.872-56.576-35.808-96.832-35.808-37.504 0-68.672 9.888-93.632 29.632-29.408 23.328-44.128 55.264-44.128 95.872 0 22.336 5.536 42.88 16.64 61.568 11.072 18.688 28.544 33.12 52.384 43.296-20.448 8.608-35.328 20.448-44.576 35.52-9.312 15.072-13.952 31.552-13.952 49.536 0 30.688 10.72 56.032 32.192 76.064 21.472 20 52 30.016 91.552 30.016 39.2 0 69.632-10.016 91.264-30.016 21.696-20.032 32.512-45.376 32.512-76.064 0-19.104-4.96-36.064-14.912-50.944-9.984-14.848-23.936-26.24-41.952-34.080 22.816-9.216 40.16-22.656 52.032-40.32s17.824-38.048 17.824-61.152c0-38.24-12.16-69.248-36.416-93.12z" />
<glyph unicode="&#xe912;" glyph-name="number18" d="M509.76 593.824c-14.688 0-26.88-5.76-36.576-17.248-9.696-11.52-14.528-30.368-14.528-56.576 0-26.56 5.28-46.048 15.808-58.496 10.528-12.48 23.712-18.688 39.488-18.688 15.264 0 28.096 6.016 38.528 17.984s15.648 29.568 15.648 52.768c0 25.44-5.888 45.184-17.632 59.232s-25.344 21.024-40.736 21.024zM512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM614.816 287.904c-27.872-33.408-64.192-50.080-108.896-50.080-32.224 0-58.208 8.64-78.048 25.824-19.84 17.248-32.576 42.976-38.176 77.216l76.512 8.48c1.888-15.616 6.752-27.2 14.592-34.72 7.808-7.52 18.176-11.296 31.104-11.296 16.256 0 30.080 7.488 41.504 22.56 11.36 15.072 18.656 46.208 21.856 93.536-19.904-23.072-44.768-34.592-74.624-34.592-32.48 0-60.512 12.512-84.064 37.504-23.552 25.024-35.328 57.568-35.328 97.664 0 41.76 12.448 75.424 37.28 100.992 24.864 25.568 56.544 38.336 95.008 38.336 41.824 0 76.16-16.192 103.008-48.544 26.816-32.352 40.224-85.6 40.224-159.68-0.096-75.424-14.048-129.792-41.952-163.2z" />
<glyph unicode="&#xe913;" glyph-name="number19" d="M535.616 592.704c-7.456 6.080-16 9.152-25.632 9.152s-18.208-3.072-25.76-9.152c-7.552-6.112-13.408-17.024-17.568-32.768-5.472-20.448-8.192-54.848-8.192-103.232s2.432-81.632 7.328-99.712 11.104-30.112 18.528-36.16c7.456-6.016 16-8.96 25.632-8.96s18.176 3.040 25.76 9.12 13.376 17.024 17.568 32.768c5.44 20.256 8.192 54.56 8.192 102.944s-2.432 81.632-7.36 99.712c-4.896 18.080-11.040 30.176-18.496 36.288zM512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM603.456 288.544c-22.336-28.128-53.504-42.176-93.472-42.176-40.16 0-72.544 15.392-97.12 46.24s-36.864 85.824-36.864 164.928c0 77.632 13.504 133.504 40.544 167.616 22.336 28.128 53.504 42.176 93.472 42.176s71.232-14.24 93.76-42.752c26.816-33.76 40.256-89.696 40.256-167.904-0.032-77.984-13.568-134.048-40.576-168.128z" />
<glyph unicode="&#xe914;" glyph-name="quote" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM468.864 583.328c-21.568 23.648-47.456 35.456-77.792 35.456-31.040 0-56.64-10.752-76.704-32.288-8.096-8.832-14.56-19.232-19.328-31.232-4.736-12-7.136-24.192-7.136-36.512 0-25.408 7.168-47.040 21.44-64.864 14.304-17.824 32.928-28.48 55.904-32l7.968-0.512 6.88-1.088c10.592-1.408 15.904-5.472 15.904-12.16 0-7.072-7.072-18.176-21.216-33.344-14.848-16.224-38.336-32.672-70.496-49.216-13.44-7.072-20.128-15.872-20.128-26.464 0-6.72 2.272-12.288 6.88-16.672 4.576-4.416 10.4-6.592 17.472-6.592 17.632 0 41.984 10.208 73.024 30.688 36.672 24 65.984 53.184 87.84 87.616 21.888 34.368 32.8 68.352 32.8 101.888 0 15.872-3.008 31.648-8.992 47.36-5.984 15.68-14.112 28.992-24.32 39.936zM720.736 583.328c-21.44 23.648-47.136 35.456-77.056 35.456-31.328 0-56.864-10.752-76.576-32.288-8.128-8.832-14.528-19.328-19.296-31.488-4.768-12.192-7.136-24.256-7.136-36.256 0-25.408 7.040-47.136 21.088-65.12s32.576-28.576 55.424-31.744l8.448-0.512 6.304-1.088c10.56-1.408 15.84-5.472 15.84-12.16 0-7.072-6.88-18.176-20.608-33.344-14.432-15.52-37.856-31.936-70.208-49.216-13.408-7.072-20.096-15.872-20.096-26.464 0-6.72 2.304-12.288 6.88-16.672 4.608-4.416 10.4-6.592 17.44-6.592 17.6 0 41.92 10.208 72.864 30.688 36.64 24 65.792 53.184 87.424 87.616 21.632 34.368 32.48 68.352 32.48 101.888 0 15.872-2.976 31.648-8.96 47.36-5.92 15.68-14.016 28.992-24.256 39.936z" />
<glyph unicode="&#xe915;" glyph-name="quote1" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 96c-194.4 0-352 157.6-352 352s157.6 352 352 352 352-157.6 352-352-157.6-352-352-352zM466.944 570.432c13.408 7.072 20.096 15.904 20.096 26.496 0 6.688-2.272 12.256-6.848 16.672-4.608 4.416-10.4 6.624-17.44 6.624-17.632 0-41.92-10.24-72.896-30.688-36.64-24-65.76-53.184-87.392-87.584s-32.48-68.384-32.48-101.92c0-15.872 3.008-31.648 8.992-47.36 5.984-15.68 14.080-28.992 24.288-39.968 21.472-23.648 47.168-35.456 77.088-35.456 31.328 0 56.864 10.784 76.576 32.32 8.096 8.8 14.496 19.328 19.296 31.488 4.736 12.192 7.136 24.256 7.136 36.256 0 25.408-7.040 47.104-21.088 65.12s-32.576 28.576-55.424 31.744l-8.448 0.512-6.336 1.088c-10.528 1.408-15.84 5.472-15.84 12.16 0 7.072 6.88 18.176 20.64 33.344 14.336 15.456 37.696 31.872 70.080 49.152zM719.68 570.432c13.44 7.072 20.128 15.904 20.128 26.496 0 6.688-2.272 12.256-6.88 16.672-4.576 4.416-10.4 6.624-17.472 6.624-17.632 0-41.984-10.24-73.024-30.688-36.672-24-65.952-53.184-87.808-87.584s-32.8-68.384-32.8-101.92c0-15.872 3.008-31.648 8.992-47.36 6.016-15.68 14.080-28.992 24.32-39.968 21.536-23.648 47.424-35.456 77.76-35.456 31.072 0 56.64 10.784 76.736 32.32 8.096 8.8 14.56 19.232 19.328 31.232 4.736 12.032 7.136 24.192 7.136 36.544 0 25.408-7.168 47.008-21.44 64.832-14.304 17.824-32.928 28.48-55.904 32l-7.968 0.512-6.88 1.088c-10.56 1.408-15.872 5.472-15.872 12.16 0 7.072 7.072 18.176 21.184 33.344 14.816 16.192 38.304 32.576 70.464 49.152z" />
<glyph unicode="&#xe916;" glyph-name="tag" d="M876.64 444.416l-391.2 388.512h-356.512l-0.832-356.064 386.496-394.528c25.408-25.408 66.272-25.76 91.296-0.736l271.488 271.52c24.992 24.992 24.672 65.888-0.736 91.296zM223.424 671.872c0 35.328 28.672 64 64 64s64-28.672 64-64c0-35.36-28.672-64-64-64s-64 28.64-64 64zM571.616 225.536l-248.896 248.896 22.624 22.624 248.896-248.896-22.624-22.624zM639.488 293.408l-248.896 248.896 22.656 22.624 248.864-248.896-22.624-22.624zM707.36 361.312l-248.864 248.896 22.624 22.624 248.864-248.896-22.624-22.624z" />
<glyph unicode="&#xe917;" glyph-name="tag1" d="M925.056 333.568l-297.952-297.952c-25.312-25.312-66.368-25.312-91.68 0l-365.248 365.28-90.24 279.328 65.92 65.92 126.304-126.304c-3.392-24.32 3.968-49.824 22.656-68.512 31.648-31.648 82.944-31.648 114.592 0 31.616 31.648 31.616 82.944 0 114.592-18.688 18.688-44.192 26.016-68.512 22.656l-126.304 126.304 64.448 64.48 280.768-88.8 365.248-365.28c25.312-25.344 25.312-66.368 0-91.712zM363.552 597.152c-6.336-6.336-16.576-6.336-22.912 0l-252.128 252.128c-6.336 6.336-6.336 16.608 0 22.912s16.608 6.336 22.912 0l252.096-252.096c6.368-6.336 6.368-16.608 0.032-22.944z" />
<glyph unicode="&#xe918;" glyph-name="link" d="M810.56 645.12l-112-193.984c-17.696-30.592-56.8-41.088-87.424-23.392l-27.68 16 32 55.392c15.296-8.8 34.88-3.584 43.68 11.712l80 138.56c8.832 15.328 3.584 34.88-11.68 43.712l-110.88 64c-15.328 8.832-34.88 3.584-43.68-11.712l-80-138.56c-8.864-15.328-3.616-34.88 11.68-43.712l-32-55.392-27.68 16c-30.624 17.664-41.12 56.8-23.424 87.392l112 193.984c17.696 30.624 56.8 41.088 87.424 23.424l166.24-96c30.624-17.664 41.12-56.8 23.424-87.424zM432 309.44c-15.328 8.832-20.576 28.416-11.712 43.712l128 221.696c8.832 15.328 28.416 20.576 43.712 11.712s20.576-28.416 11.68-43.712l-128-221.696c-8.8-15.296-28.352-20.512-43.68-11.712zM408.576 396.832v0c-15.328 8.832-34.88 3.584-43.712-11.68l-80-138.56c-8.832-15.328-3.584-34.88 11.712-43.712l110.88-64c15.296-8.832 34.88-3.584 43.68 11.712l80 138.56c8.832 15.296 3.584 34.88-11.68 43.712v0l32 55.392 27.68-16c30.624-17.664 41.12-56.768 23.424-87.392l-112-193.984c-17.696-30.624-56.8-41.088-87.424-23.424l-166.272 96c-30.624 17.696-41.12 56.8-23.424 87.424l112 193.984c17.696 30.624 56.832 41.12 87.456 23.424l27.68-16-32-55.456z" />
<glyph unicode="&#xe919;" glyph-name="link1" d="M451.872 759.84l-240-415.68c-13.248-22.976 31.424-73.568 31.424-73.568l288 498.816c0 0-66.176 13.408-79.424-9.568zM528 475.712c22.944-13.248 52.32-5.376 65.568 17.568l128 221.696c13.248 22.976 5.376 52.32-17.568 65.6-22.944 13.248-52.32 5.376-65.568-17.568l-128-221.696c-13.248-22.976-5.376-52.352 17.568-65.6zM496 420.288c-22.976 13.248-52.32 5.376-65.568-17.568l-128-221.728c-13.248-22.944-5.408-52.32 17.568-65.568 22.944-13.248 52.32-5.376 65.568 17.568l128 221.728c13.248 22.976 5.376 52.32-17.568 65.568zM780.672 625.408l-288-498.816c0 0 66.176-13.408 79.424 9.568l240 415.68c13.28 22.976-31.424 73.568-31.424 73.568z" />
<glyph unicode="&#xe91a;" glyph-name="cabinet" d="M160 0v768l133.344 128h405.344l133.312-128v-768h-672zM800 256v480h-608v-704h608v224zM768 512h-544v192h544v-192zM576 640h-160v-32h160v32zM768 288h-544v192h544v-192zM576 416h-160v-32h160v32zM768 64h-544v192h544v-192zM576 192h-160v-32h160v32z" />
<glyph unicode="&#xe91b;" glyph-name="cabinet1" d="M160-32v800l133.344 128h405.344l133.312-128v-800h-672zM192 0h608v736h-608v-736zM224 352h544v-320h-544v320zM416 224v-32h160v96h-32v-64h-96v64h-32v-64zM224 704h544v-320h-544v320zM416 544h160v96h-32v-64h-96v64h-32v-96z" />
<glyph unicode="&#xe91c;" glyph-name="calendar" d="M864-32h-704c-35.328 0-64 28.672-64 64v704c0 35.36 28.672 64 64 64h64v-32c0-53.024 42.976-96 96-96 52.992 0 96 42.976 96 96v32h192v-32c0-53.024 43.008-96 96-96s96 42.976 96 96v32h64c35.328 0 64-28.64 64-64v-704c0-35.328-28.672-64-64-64zM864 576h-704v-544h704v544zM320 416h-96v96h96v-96zM320 256h-96v96h96v-96zM320 96h-96v96h96v-96zM480 416h-96v96h96v-96zM480 256h-96v96h96v-96zM480 96h-96v96h96v-96zM640 416h-96v96h96v-96zM640 256h-96v96h96v-96zM640 96h-96v96h96v-96zM800 416h-96v96h96v-96zM800 256h-96v96h96v-96zM800 96h-96v96h96v-96zM703.008 704c-34.816 0-63.008 28.224-63.008 63.008v65.984c0 34.816 28.192 63.008 63.008 63.008s63.008-28.192 63.008-63.008v-65.984c0-34.784-28.192-63.008-63.008-63.008zM319.008 704c-34.816 0-63.008 28.224-63.008 63.008v65.984c0 34.816 28.192 63.008 63.008 63.008s63.008-28.192 63.008-63.008v-65.984c0-34.784-28.224-63.008-63.008-63.008z" />
<glyph unicode="&#xe91d;" glyph-name="calendar1" d="M896 0h-768c-35.328 0-64 28.672-64 64v672c0 35.328 28.672 64 64 64h64v-32c0-53.024 42.976-96 96-96s96 42.976 96 96v32h256v-32c0-53.024 43.008-96 96-96s96 42.976 96 96v32h64c35.328 0 64-28.672 64-64v-672c0-35.328-28.672-64-64-64zM896 576h-768v-512h768v512zM418.208 325.472c6.304 10.048 9.472 20.672 9.472 31.776 0 24.736-13.312 37.12-39.936 37.12-23.136 0-45.248-9.184-66.368-27.552v52.128c23.36 15.136 49.76 22.688 79.136 22.688 27.488 0 48.96-6.912 64.416-20.704s23.168-32.48 23.168-55.968c0-31.36-18.816-63.808-56.448-97.312l-55.328-49.12v-1.12h109.12v-49.12h-176.992v46.112l77.056 73.696c15.488 14.848 26.4 27.296 32.704 37.376zM634.784 218.688c8.448 6.496 12.672 15.552 12.672 27.2 0 12-5.216 21.248-15.648 27.744s-24.768 9.76-43.040 9.76h-24.192v45.376h22.304c35.008 0 52.512 11.616 52.512 34.88 0 21.888-13.44 32.8-40.32 32.8-17.984 0-35.488-5.824-52.512-17.44v48.384c18.88 9.504 40.864 14.24 65.984 14.24 27.488 0 48.896-6.176 64.224-18.56s22.976-28.448 22.976-48.192c0-35.136-17.824-57.12-53.44-65.984v-0.928c19.008-2.368 33.984-9.28 44.992-20.704s16.512-25.472 16.512-42.080c0-25.12-9.184-44.992-27.552-59.616s-43.744-21.952-76.128-21.952c-27.744 0-50.304 4.512-67.68 13.504v51.552c17.984-13.12 39.008-19.68 63.008-19.68 15.104-0.064 26.88 3.2 35.328 9.696zM735.008 704c-34.816 0-63.008 28.192-63.008 63.008v65.984c0 34.816 28.192 63.008 63.008 63.008s63.008-28.192 63.008-63.008v-65.984c0-34.816-28.192-63.008-63.008-63.008zM287.008 704c-34.816 0-63.008 28.192-63.008 63.008v65.984c0 34.816 28.192 63.008 63.008 63.008s63.008-28.192 63.008-63.008v-65.984c0-34.816-28.224-63.008-63.008-63.008z" />
<glyph unicode="&#xe91e;" glyph-name="calendar2" d="M352 864h-64v-128h64v128zM704 704h-64v-64h64v64zM352 704h-64v-64h64v64zM734.016 768l1.984-160h-128v160h-224v-160h-128v160h-96v-768h672v768h-97.984zM352 97.984h-96v96h96v-96zM352 225.984h-96v96h96v-96zM352 353.984h-96v96h96v-96zM480 97.984h-96v96h96v-96zM480 225.984h-96v96h96v-96zM480 353.984h-96v96h96v-96zM608 97.984h-96v96h96v-96zM608 225.984h-96v96h96v-96zM608 353.984h-96v96h96v-96zM736 97.984h-96v96h96v-96zM736 225.984h-96v96h96v-96zM736 353.984h-96v96h96v-96zM704 864h-64v-128h64v128z" />
<glyph unicode="&#xe91f;" glyph-name="file" d="M670.016 831.008h-446.016v-766.016h320v64h-256v638.016h320v-96h128v-352h64v385.984l-129.984 126.016zM736 255.008h-64v-64h-64v-64h64v-62.016h64v64h64v62.016h-64v64z" />
<glyph unicode="&#xe920;" glyph-name="file1" d="M670.016 831.008h-446.016v-766.016h320v64h-256v638.016h320v-96h128v-352h64v385.984l-129.984 126.016zM608 159.008l192 1.984v62.016h-192v-64z" />
<glyph unicode="&#xe921;" glyph-name="file2" d="M352 480h32v32h-32v-32zM352 384h32v32h-32v-32zM352 576h32v32h-32v-32zM352 288h32v32h-32v-32zM352 192h32v32h-32v-32zM416 384h256v32h-256v-32zM416 576h256v32h-256v-32zM670.016 832h-446.016v-768h576v640l-129.984 128zM736 129.984h-448v638.016h320v-94.016h128v-544zM416 288h256v32h-256v-32zM416 480h256v32h-256v-32zM416 192h256v32h-256v-32z" />
<glyph unicode="&#xe922;" glyph-name="files" d="M543.488 446.496h-256v-28.992h256v28.992zM543.488 350.496h-256v-31.008h256v31.008zM384.512 831.488v-96.512h-97.024v-96.512h-94.496v-606.016h447.008v96.992h94.496v94.016h96.512v608h-446.496zM608.992 63.488h-384.992v546.016h384.992v-546.016zM703.488 158.496h-63.488v480h-321.504v65.504h384.992v-545.504zM800 254.496h-65.504v480.512h-319.008v65.504h384.512v-546.016zM543.488 159.008h-256v-31.008h256v31.008zM543.488 255.488h-256v-31.008h256v31.008zM543.968 543.488h-256v-32h256v32z" />
<glyph unicode="&#xe923;" glyph-name="phone" d="M703.968 832h-384c-35.328 0-63.968-28.672-63.968-64v-640c0-35.328 28.64-64 63.968-64h384c35.36 0 64.032 28.672 64.032 64v640c0 35.328-28.672 64-64.032 64zM416 800h160l1.984-32h-161.984v32zM511.328 112c-17.664 0-32 14.304-32 32s14.336 32 32 32c17.696 0 32-14.304 32-32s-14.336-32-32-32zM703.968 224h-384l0.672 512h383.328v-512z" />
<glyph unicode="&#xe924;" glyph-name="tablet" d="M736.032 832h-480c-35.36 0-64.032-28.672-64.032-64v-640c0-35.328 28.672-64 64.032-64h480c35.328 0 63.968 28.672 63.968 64v640c0 35.328-28.64 64-63.968 64zM496 96c-17.664 0-31.968 14.304-31.968 32s14.304 32 31.968 32c17.696 0 32.032-14.304 32.032-32s-14.336-32-32.032-32zM735.712 193.984h-480.832v573.184h480.832v-573.184z" />
<glyph unicode="&#xe925;" glyph-name="window" d="M896 832h-768c-35.36 0-64-28.672-64-64v-640c0-35.328 28.64-64 64-64h768c35.328 0 64 28.672 64 64v640c0 35.328-28.672 64-64 64zM369.984 784c17.664 0 31.968-14.336 31.968-32s-14.304-32-31.968-32c-17.696 0-32 14.336-32 32s14.336 32 32 32zM272 784c17.664 0 32-14.336 32-32s-14.336-32-32-32c-17.696 0-32 14.336-32 32s14.304 32 32 32zM175.968 784c17.696 0 32-14.336 32-32s-14.304-32-32-32c-17.664 0-31.968 14.336-31.968 32s14.304 32 31.968 32zM896 128h-768v543.328h768v-543.328zM896 735.328h-448v32h448v-32z" />
<glyph unicode="&#xe926;" glyph-name="monitor" d="M544 161.984h-96v-49.984l-96-16v-32h286.016v30.016l-94.016 17.984v49.984zM864 832h-736c-35.36 0-64-28.64-64-64v-448c0-35.328 28.64-64 64-64h736c35.36 0 64 28.672 64 64v448c0 35.36-28.64 64-64 64zM492 304c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32 17.696 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM864 416h-736v352h736v-352z" />
<glyph unicode="&#xe927;" glyph-name="ipod" d="M704 832h-384c-35.36 0-64-28.672-64-64v-640c0-35.328 28.64-64 64-64h384c35.328 0 64 28.672 64 64v640c0 35.328-28.672 64-64 64zM512 128c-61.888 0-112 50.144-112 112 0 61.888 50.112 112 112 112 61.856 0 112-50.112 112-112 0-61.856-50.144-112-112-112zM704 416h-384l0.672 352h383.328v-352zM512 304c-35.328 0-64-28.672-64-64s28.672-64 64-64 64 28.672 64 64-28.672 64-64 64z" />
<glyph unicode="&#xe928;" glyph-name="tv" d="M896.48 33.792h-65.568v-33.792h-97.376v33.792h-445.056v-33.792h-97.376l0.032 33.792h-63.616c-35.136 0-63.584 28.48-63.584 63.584v605.984c0 35.104 28.48 63.584 63.584 63.584h222.528c0 0 14.016 19.456 39.648 37.184l-81.696 81.728 22.496 22.464 88.16-88.128c16.768 7.2 36.192 12.32 58.56 12.32 23.776 0 43.936-5.856 61.12-13.76l89.568 89.568 22.464-22.464-83.648-83.68c23.328-17.184 35.68-35.264 35.68-35.264h294.048c35.136 0 63.584-28.48 63.584-63.584v-605.984c0.032-35.104-28.448-63.552-63.552-63.552zM669.984 639.776c0 17.568-14.24 31.776-31.808 31.776h-445.056c-17.568 0-31.808-14.208-31.808-31.776v-478.848c0-17.568 14.24-31.776 31.808-31.776h445.024c17.568 0 31.808 14.208 31.808 31.776v478.848zM769.344 129.152h93.344v31.776h-93.344v-31.776zM769.344 192.736h93.344v31.744h-93.344v-31.744zM769.344 258.304h93.344v31.776h-93.344v-31.776zM769.344 321.888h93.344v31.808h-93.344v-31.808zM813.792 670.784c-26.304 0-47.68-21.344-47.68-47.68s21.376-47.68 47.68-47.68c26.336 0 47.68 21.344 47.68 47.68s-21.344 47.68-47.68 47.68zM813.792 544c-26.304 0-47.68-21.312-47.68-47.648s21.376-47.68 47.68-47.68c26.336 0 47.68 21.344 47.68 47.68s-21.344 47.648-47.68 47.648z" />
<glyph unicode="&#xe929;" glyph-name="camera" d="M896 736l-480.128-0.544 0.128 94.56-256 1.984v-96h-64c-35.328 0-64-28.672-64-64v-544c0-35.328 28.672-64 64-64h800c35.328 0 64 28.672 64 64v544c0 35.328-28.672 64-64 64zM224 768h128v-96h-128v96zM384 161.344c-123.712 0-224 100.288-224 224s100.288 224 224 224c123.68 0 224-100.288 224-224s-100.32-224-224-224zM816 527.328c-35.36 0-64 28.64-64 64 0 35.328 28.64 64 64 64 35.328 0 64-28.672 64-64s-28.672-64-64-64zM384 524c-79.52 0-144-64.48-144-144s64.48-144 144-144 144 64.48 144 144-64.48 144-144 144z" />
<glyph unicode="&#xe92a;" glyph-name="camera1" d="M896 704h-190.016c0 0-1.984 3.808-1.984 48s-35.808 80-80 80h-256c-44.192 0-80-35.808-80-80s1.984-48 1.984-48h-193.984c-35.328 0-64-28.672-64-64v-512c0-35.328 28.672-64 64-64h800c35.328 0 64 28.672 64 64v512c0 35.328-28.672 64-64 64zM497.44 192.864c-106.048 0-192 85.952-192 192 0 106.016 85.952 192 192 192 106.016 0 192-85.952 192-192s-85.984-192-192-192z" />
<glyph unicode="&#xe92b;" glyph-name="camera2" d="M864 414.496l-160 64.096v128.256l160 64.128c17.696 0 32-14.368 32-32.064v-192.384c0-17.696-14.304-32.032-32-32.032zM560 638.944c-79.52 0-144 64.608-144 144.288s64.48 144.288 144 144.288 144-64.608 144-144.288c0-79.712-64.48-144.288-144-144.288zM272 638.944c-79.52 0-144 64.608-144 144.288s64.48 144.288 144 144.288 144-64.608 144-144.288c0-79.712-64.48-144.288-144-144.288zM672 638.944v-288.576h-178.624c-1.664-26.624-13.312-49.568-30.624-62.56h18.048l127.648-287.872h-31.808l-42.56 96h-85.12v-159.936h-31.904v159.936h-86.464l-43.232-96h-31.84l129.664 287.872h12.064c-17.312 12.992-28.96 35.936-30.624 62.56h-206.624v288.576h512zM417.024 277.888c-1.312 0.32-2.528 0.992-3.808 1.44l-68.224-151.424h72.032v149.984zM448.928 280.192v-152.32h70.944l-68.032 153.44c-0.928-0.448-1.888-0.736-2.912-1.12z" />
<glyph unicode="&#xe92c;" glyph-name="film" d="M970.72 113.76c-4.096 7.072-17.216 9.248-39.392 6.464-40.8-5.28-70.432 8.032-88.896 40.032-13.984 24.192-17.6 48.512-10.848 72.96s26.752 59.328 59.968 104.704l20.768 28.928c61.696 85.216 74.336 159.328 37.952 222.4-37.024 64.192-144 58.784-220.896 25.792-62.208 128.288-193.28 216.96-345.376 216.96-212.096 0-384-171.936-384-384s171.904-384 384-384c212.064 0 384 171.936 384 384 0 47.008-8.864 91.872-24.32 133.472 25.952 9.312 56.992 16.064 86.272 17.152 38.464 1.408 73.28-6.656 87.104-30.592 30.816-53.408 15.936-116.512-44.64-189.216l-12.416-14.912c-70.848-85.024-87.776-159.488-50.912-223.424 14.912-25.792 38.624-44.192 71.2-55.264 32.576-11.040 60.128-9.984 82.72 3.072 11.2 6.464 13.792 14.976 7.712 25.472zM208 366.016c-44.192 0-80 35.808-80 80 0 44.16 35.808 80 80 80s80-35.808 80-80c0-44.192-35.808-80-80-80zM384 190.016c-44.192 0-80 35.808-80 80s35.808 80 80 80 80-35.808 80-80-35.808-80-80-80zM352.64 446.016c0 17.664 14.368 32 32.032 32s32-14.304 32-32c0-17.696-14.336-32-32-32s-32.032 14.304-32.032 32zM384 542.016c-44.192 0-80 35.808-80 80 0 44.16 35.808 80 80 80s80-35.808 80-80c0-44.192-35.808-80-80-80zM560 366.016c-44.192 0-80 35.808-80 80 0 44.16 35.808 80 80 80s80-35.808 80-80c0-44.192-35.808-80-80-80z" />
<glyph unicode="&#xe92d;" glyph-name="film1" d="M128 768v-704h704v704h-704zM256 128h-64v64h64v-64zM256 224h-64v64h64v-64zM256 320h-64v64h64v-64zM256 448h-64v64h64v-64zM256 544h-64v64h64v-64zM256 640h-64v64h64v-64zM640 128h-320v256h320v-256zM640 448h-320v256h320v-256zM768 128h-64v64h64v-64zM768 224h-64v64h64v-64zM768 320h-64v64h64v-64zM768 448h-64v64h64v-64zM768 544h-64v64h64v-64zM768 640h-64v64h64v-64z" />
<glyph unicode="&#xe92e;" glyph-name="film2" d="M768 416c-35.36 0-64-28.64-64-64v-128h-160v448h352v-256h-128zM608 640h-32v-64h32v64zM608 320h-32v-64h32v64zM672 640h-32v-64h32v64zM672 320h-32v-64h32v64zM736 640h-32v-64h32v64zM800 640h-32v-64h32v64zM864 640h-32v-64h32v64zM128 768h416v-64h-416v64zM512 672v-448h-352v448h352zM544 128h-416v64h416v-64z" />
<glyph unicode="&#xe92f;" glyph-name="microphone" d="M736 366.848v47.776h-31.872v-47.776c0-114.368-94.688-207.104-209.056-207.136h-0.128c-114.368 0.032-207.072 92.736-207.072 207.136v47.776h-31.872v-47.776c0-120.416 89.312-219.008 205.12-235.584v-96.672c-90.752-6.848-159.328-37.568-159.328-66.048 0-0.736 393.024-0.736 393.024 0 0 29.568-74.112 61.312-169.952 66.496v95.84c117.728 14.816 211.136 114.176 211.136 235.968zM494.976 193.568c96.8 0 177.28 78.496 177.28 175.296v45.792h-352.576v-45.792c0-96.8 78.496-175.296 175.296-175.296zM672.256 720.8c0 96.8-80.48 175.264-177.28 175.264-96.768 0-175.296-78.464-175.296-175.264v-274.304h352.576v274.304zM560 831.616c8.8 0 16-7.168 16-16s-7.2-16-16-16c-8.832 0-16 7.168-16 16s7.168 16 16 16zM496 831.616c8.8 0 16-7.168 16-16s-7.2-16-16-16c-8.832 0-16 7.168-16 16s7.168 16 16 16zM432 831.616c8.8 0 16-7.168 16-16s-7.2-16-16-16c-8.832 0-16 7.168-16 16s7.168 16 16 16zM368 479.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM368 543.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM368 607.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM368 671.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM400 735.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM432 479.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM432 543.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM432 607.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM432 671.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM464 735.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM496 479.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM496 543.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM496 607.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM496 671.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM528 735.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM560 479.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM560 543.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM560 607.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM560 671.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM592 735.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM624 479.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM624 543.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM624 607.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16zM624 671.616c-8.832 0-16 7.168-16 16s7.168 16 16 16c8.8 0 16-7.168 16-16s-7.2-16-16-16z" />
<glyph unicode="&#xe930;" glyph-name="microphone1" d="M524.832 130.848v-95.84c95.84-5.184 169.984-36.928 169.984-66.496 0-0.736-393.024-0.736-393.024 0 0 28.512 68.608 59.232 159.328 66.048v96.672c-115.808 16.608-205.12 115.2-205.12 235.616v47.776h31.872v-47.776c0-114.368 92.704-207.104 207.072-207.136h0.128c114.368 0.032 209.056 92.736 209.056 207.136v47.776h31.872v-47.776c0-121.792-93.408-221.152-211.168-236zM494.976 193.568c-96.768 0-175.296 78.496-175.296 175.296v45.792h352.576v-45.792c0-96.8-80.512-175.296-177.28-175.296zM319.68 720.8c0 96.8 78.496 175.264 175.296 175.264s177.28-78.464 177.28-175.264v-274.304h-352.576v274.304z" />
<glyph unicode="&#xe931;" glyph-name="microphone2" d="M524.8 130.048v-95.776c95.744-5.152 169.76-36.832 169.76-66.4 0-0.736-392.576-0.736-392.576 0 0 28.448 68.544 59.168 159.136 65.984v96.576c-115.648 16.576-204.864 115.104-204.864 235.328v49.76h31.84v-49.76c0-114.24 92.608-206.88 206.848-206.912h0.128c114.24 0.032 206.848 92.672 206.848 206.912v49.76h33.856v-49.76c-0.032-121.632-93.344-220.896-210.976-235.712zM496 193.44c-97.12 0-175.808 78.688-175.808 175.808v79.264h143.84v31.968h-143.84v31.968h143.84v31.936h-143.84v31.968h143.84v31.968h-143.84v31.968h143.84v31.968h-143.84v50.624c0 97.088 78.688 173.824 175.808 173.824 97.088 0 175.808-76.704 175.808-173.824v-50.624h-143.872v-31.968h143.872v-31.968h-143.872v-31.968h143.872v-31.968h-143.872v-31.936h143.872v-31.968h-143.872v-31.968h143.872v-79.264c0-97.12-78.72-175.808-175.808-175.808z" />
<glyph unicode="&#xe932;" glyph-name="drink" d="M737.76 675.008c17.824 0 32.256-14.432 32.256-32.256l-58.464-642.976c0-17.824-14.432-32.256-32.256-32.256h-334.624c-17.824 0-32.256 14.432-32.256 32.256l-58.4 642.976c0 17.824 14.432 32.256 32.256 32.256h288.32l34.112 173.952 154.848 79.52-11.136-41.536-114.944-57.632-30.016-154.304h130.304zM560.448 449.248h128.928l-36.288-417.216h-282.176l-36.288 417.216h192.928l40.288 193.504h-281.6l58.432-642.976h334.592l58.464 642.976h-137.024l-40.256-193.504z" />
<glyph unicode="&#xe933;" glyph-name="drink1" d="M782.784 672.608h-575.008l0.576 61.888h45.952l97.248 95.84h291.488l95.264-95.84h45.952l-1.472-61.888zM545.184 766.432h-95.84v-31.936h95.84v31.936zM731.424 415.040h-108.064c-23.84 46.432-71.648 78.528-127.424 78.528s-103.584-32.096-127.392-78.528h-106.176l-20.672 223.616h511.136l-21.408-223.616zM417.408 351.168c0 44.096 35.744 79.872 79.872 79.872 44.096 0 79.84-35.776 79.84-79.872s-35.744-79.872-79.84-79.872c-44.128 0-79.872 35.776-79.872 79.872zM495.936 206.048c57.408 0 106.56 33.888 129.6 82.528h93.792l-24.384-254.912h-397.312l-23.552 254.912h92.288c23.040-48.64 72.16-82.528 129.568-82.528z" />
<glyph unicode="&#xe934;" glyph-name="drink2" d="M800 674.624h-577.44l0.576 62.144h46.112l97.664 96.224h292.736l95.648-96.224h46.112l-1.408-62.144zM561.408 768.832h-96.256v-32.064h96.256v32.064zM756.992 512.192h-487.872l-12.48 128.32h513.28l-12.928-128.32zM743.84 225.504h-463.168l-24.032 254.624h513.28l-26.080-254.624zM711.776 63.072c0-17.696-14.368-32.064-32.096-32.064h-334.816c-17.728 0-32.096 14.368-32.096 32.064l-12.672 130.336h424.768l-13.088-130.336z" />
<glyph unicode="&#xe935;" glyph-name="drink3" d="M849.984 703.328l-335.872-294.816v-382.048l186.912-90.464h-438.048l186.944 90.432v382.080l-339.904 294.816h518.464l103.776 179.808 27.904-16.096-94.496-163.68h184.32zM771.552 673.12l-123.616-0.48-38.080-65.984h87.84l73.856 66.464zM514.112 477.792c18.912 0 34.208 15.328 34.208 34.24s-15.328 34.24-34.208 34.24-34.24-15.328-34.24-34.24c0-18.944 15.36-34.24 34.24-34.24zM188.48 673.12l74.464-66.464h309.728l38.016 65.824-422.208 0.64z" />
<glyph unicode="&#xe936;" glyph-name="coffee" d="M959.488 462.464c-12.096 116.448-130.016 115.776-191.264 113.696 0.288 17.696 0.48 31.968 0.48 31.968l-704.864 0.224c0 0 0-96.448 0-98.848 0-136.992 78.24-255.488 192.352-313.888v-34.176h320.608v34.176c32 16.384 60.704 37.888 86.112 62.752 157.28 37.632 322.24 91.936 296.576 204.096zM712 317.888c35.936 55.2 57.152 120.8 57.152 191.616 0-0.544 0.032 0.928 0.064 3.712 57.12 1.888 120.16 7.584 134.432-49.28 14.336-62.56-90.144-113.504-191.648-146.048zM282.56 736.32c0-32-52.48-66.080-52.48-66.080s102.848 18.368 102.848 66.368-101.984 16-101.984 52 50.464 70.080 50.464 70.080-96.8-20.384-96.8-70.368 97.952-20 97.952-52zM442.56 704.32c0-32-52.48-66.080-52.48-66.080s102.848 18.368 102.848 66.368-101.984 16-101.984 52 50.464 70.080 50.464 70.080-96.832-20.384-96.832-70.368 97.984-20 97.984-52zM570.56 736.32c0-32-52.48-66.080-52.48-66.080s102.848 18.368 102.848 66.368-101.984 16-101.984 52 50.464 70.080 50.464 70.080-96.832-20.384-96.832-70.368 97.984-20 97.984-52zM61.856 130.304c0-44.192 157.6-80 352-80s352 35.808 352 80c0-0.928-704-0.928-704 0z" />
<glyph unicode="&#xe937;" glyph-name="mug" d="M824.352 159.84h-87.168v-69.248c0-49.472-44.096-89.536-93.568-89.536h-329.856c-49.472 0-89.568 40.064-89.568 89.536v483.2h95.936v-476.96h63.616l0.064 476.96c17.088-12.32 42.688-21.472 64.256-26.336v-450.656h63.616v448.8c23.84 3.936 45.696 12.896 64.512 25.824v-474.624h63.616v476.992h184.512c39.552 0 71.648-32.064 71.648-71.648v-270.624c0.032-39.584-32.064-71.68-71.616-71.68zM831.712 511.68h-94.56v-287.52h94.56v287.52zM679.104 603.456c-31.328 0-59.616 12.512-80.544 32.672-25.984-36.704-68.544-60.864-116.896-60.864-46.624 0-87.616 22.624-113.824 57.088-20.736-19.168-48.256-31.136-78.72-31.136-56.16 0-103.008 39.776-113.984 92.672-17.088 11.2-28.384 30.464-28.384 52.384 0 34.624 28.064 62.688 62.688 62.688 2.56 0 5.024-0.448 7.488-0.736 19.36 15.392 43.488 25.12 70.048 25.632 11.936 35.392 45.056 61.088 84.512 61.088 30.368 0 57.088-15.2 73.312-38.304 11.776 3.2 24.032 5.184 36.832 5.184 13.376 0 26.112-2.24 38.368-5.728 16.16 23.424 43.136 38.848 73.728 38.848 38.624 0 71.232-24.576 83.808-58.816 0.544 0 0.992 0.16 1.536 0.16 64.32 0 116.448-52.128 116.448-116.416s-52.128-116.416-116.416-116.416z" />
<glyph unicode="&#xe938;" glyph-name="icecream" d="M665.728 616.256c46.336 115.84-57.248 134.944-57.248 133.568 32.704 81.792-32.704 136.32-92.672 136.32s-57.248-27.296-57.248-27.296 32.704 6.816 32.704-19.072c0-25.92-30.016-24.544-59.968-54.528-30.016-29.984-15.68-25.92-17.728-25.92 62.336 4.096 98.816-60.32 167.648-36.768-68.16-34.080-84.512 20.096-158.112 22.816-9.536 0-64.064 10.56-64.064-93.696 79.744-9.216 114.496-64.064 222.176-51.808-121.312-44.96-273.28 141.088-294.4-62.688 0-43.616 32.672-65.536 32.672-65.536s377.568 0 376.224 0c74.944 32.704 38.176 151.424-29.984 144.608zM514.304-32l170.496 482.208h-344.736l174.24-482.208z" />
<glyph unicode="&#xe939;" glyph-name="cake" d="M816 672c-9.44 0-18.56-1.184-27.424-3.104-3.936 58.272-51.968 104.448-111.232 104.448-13.28 0-25.856-2.72-37.664-6.976-36.8 58.496-101.504 97.632-175.68 97.632-112.704 0-203.936-89.824-207.36-201.696-15.008 6.176-31.392 9.696-48.64 9.696-70.688 0-128-57.312-128-128 0-68.864 54.496-124.608 122.656-127.424l51.328 51.328 51.904-51.904h24.256l51.872 51.904 51.872-51.904h24.256l51.872 51.904 51.872-51.904h24.256l51.872 51.904 51.872-51.904h24.256l51.872 51.904 51.712-51.712c69.856 0.928 126.272 57.696 126.272 127.808 0 70.688-57.312 128-128 128zM768 429.888l-45.888-45.888h-40.256l-43.872 43.872-43.872-43.872h-40.256l-43.872 43.872-43.872-43.872h-40.256l-43.872 43.872-43.872-43.872h-40.224l-43.872 43.872-43.904-43.872h-2.112l84.8-352h436l87.2 352h-2.112l-45.888 45.888zM368 64l-66.656 288h32l66.656-288h-32zM432 64l-33.984 288h32l33.984-288h-32zM528 64h-32v288h32v-288zM560 64l33.984 288h32l-33.984-288h-32zM656 64h-32l65.984 288h32l-65.984-288z" />
<glyph unicode="&#xe93a;" glyph-name="inbox" d="M691.2 704h-352l-211.2-288v-160c0-35.328 28.672-64 64-64h640c35.328 0 64 28.672 64 64v160l-204.8 288zM718.88 415.264l-65.664-96.064-274.816 0.64-70.464 95.808-130.752 0.768 181.216 255.168h313.6l179.2-255.2-132.32-1.12z" />
<glyph unicode="&#xe93b;" glyph-name="download" d="M691.2 704h-352l-211.2-288v-160c0-35.328 28.672-64 64-64h640c35.328 0 64 28.672 64 64v160l-204.8 288zM718.88 415.264l-65.664-96.064-274.816 0.64-70.464 95.808-130.752 0.768 181.184 255.2h313.632l179.2-255.2-132.32-1.152zM556 608c0 17.664-10.336 32-28 32-17.696 0-30.016-14.336-30.016-32v-126.016l-77.984-1.984 108-121.984 105.984 121.984-78.016 1.984v126.016z" />
<glyph unicode="&#xe93c;" glyph-name="upload" d="M691.2 704h-352l-211.2-288v-160c0-35.328 28.672-64 64-64h640c35.328 0 64 28.672 64 64v160l-204.8 288zM718.88 415.296l-65.664-96.096-274.848 0.64-70.432 95.84-130.752 0.736 181.184 255.2h313.632l179.2-255.2-132.32-1.12zM420 512l78.016-1.984v-126.016c0-17.696 12.32-32 30.016-32 17.664 0 28 14.304 28 32v126.016l77.952 1.984-105.984 121.984-108-121.984z" />
<glyph unicode="&#xe93d;" glyph-name="inbox1" d="M691.2 704h-352l-211.2-320v-160c0-35.328 28.672-64 64-64h640c35.328 0 64 28.672 64 64v160l-204.8 320zM718.88 383.264l-65.664-128.064-274.848 0.64-70.432 127.84-130.752 0.736 181.184 287.2h313.632l179.2-287.2-132.32-1.152zM384 288h256v32h-256v-32zM378.656 640.096l-141.312-224.096h557.312l-144 224.096h-272zM352 352h320v32h-320v-32z" />
<glyph unicode="&#xe93e;" glyph-name="checkmark" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM744.256 566.176l-303.552-303.52c-7.616-7.584-19.936-7.584-27.552 0l-6.112 6.112-0.032-0.032-167.008 168.192c-7.616 7.616-7.616 19.968 0 27.584l41.408 41.376c7.616 7.616 19.968 7.616 27.584 0l118.048-118.912 248.192 248.192c7.616 7.616 19.968 7.616 27.584 0l41.408-41.408c7.648-7.584 7.648-19.936 0.032-27.584z" />
<glyph unicode="&#xe93f;" glyph-name="checkmark1" d="M698.24 543.040l-32.064 32.064c-5.92 5.92-15.488 5.92-21.376 0l-192.448-192.416-91.488 92.224c-5.952 5.92-15.488 5.92-21.44 0l-32.064-32.096c-5.92-5.92-5.92-15.488 0-21.376l134.176-135.136c5.92-5.888 15.488-5.888 21.376 0l235.328 235.328c5.952 5.92 5.952 15.488 0 21.408zM512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 128c-176.704 0-320 143.296-320 320 0 176.736 143.296 320 320 320 176.736 0 320-143.264 320-320 0-176.704-143.264-320-320-320z" />
<glyph unicode="&#xe940;" glyph-name="cancel" d="M512 32c-229.76 0-416 186.24-416 416s186.24 416 416 416 416-186.24 416-416-186.24-416-416-416zM702.752 569.312c7.808 7.808 7.808 20.512 0 28.32l-42.496 42.464c-7.808 7.808-20.512 7.808-28.32 0l-120.352-120.352-120.352 120.352c-7.808 7.808-20.512 7.808-28.32 0l-42.496-42.464c-7.808-7.808-7.808-20.512 0-28.32l120.384-120.384-120.384-120.32c-7.808-7.808-7.808-20.512 0-28.32l42.496-42.496c7.808-7.808 20.512-7.808 28.32 0l120.352 120.384 120.352-120.384c7.808-7.808 20.512-7.808 28.32 0l42.496 42.496c7.808 7.808 7.808 20.512 0 28.32l-120.384 120.32 120.384 120.384z" />
<glyph unicode="&#xe941;" glyph-name="cancel1" d="M512 32c-229.76 0-416 186.24-416 416s186.24 416 416 416 416-186.24 416-416-186.24-416-416-416zM512 768c-176.704 0-320-143.296-320-320s143.296-320 320-320c176.736 0 320 143.296 320 320s-143.264 320-320 320zM657.184 334.88l-32.448-32.448c-5.952-5.952-15.616-5.952-21.6 0l-91.84 91.84-91.84-91.84c-5.984-5.952-15.616-5.952-21.6 0l-32.448 32.448c-5.952 5.952-5.952 15.616 0 21.6l91.872 91.808-91.872 91.84c-5.952 5.984-5.952 15.648 0 21.632l32.448 32.416c5.984 5.984 15.616 5.984 21.6 0l91.84-91.84 91.84 91.84c5.984 5.984 15.648 5.984 21.6 0l32.448-32.416c5.952-5.984 5.952-15.648 0-21.632l-91.872-91.84 91.872-91.808c5.952-5.984 5.952-15.68 0-21.6z" />
<glyph unicode="&#xe942;" glyph-name="plus" d="M496 16c-229.76 0-416 186.24-416 416s186.24 416 416 416 416-186.24 416-416-186.24-416-416-416zM702.016 449.984c0 17.664-14.336 32-32 32h-128v128c0 17.664-14.304 32-32 32h-32c-17.696 0-32-14.336-32-32v-128h-128c-17.696 0-32-14.336-32-32v-32c0-17.696 14.304-32 32-32h128v-128c0-17.696 14.304-32 32-32h32c17.696 0 32 14.304 32 32v128h128c17.664 0 32 14.304 32 32v32z" />
<glyph unicode="&#xe943;" glyph-name="plus1" d="M512 32c-229.76 0-416 186.24-416 416s186.24 416 416 416 416-186.24 416-416-186.24-416-416-416zM512 768c-176.704 0-320-143.264-320-320 0-176.704 143.296-320 320-320 176.736 0 320 143.296 320 320 0 176.736-143.264 320-320 320zM639.616 416h-96v-96c0-17.696-14.336-32-32-32-17.696 0-32 14.304-32 32v96h-96c-17.696 0-32 14.336-32 32s14.304 32 32 32h96v96c0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32v-96h96c17.664 0 32-14.336 32-32s-14.336-32-32-32z" />
<glyph unicode="&#xe944;" glyph-name="minus" d="M496 848c-229.76 0-416-186.24-416-416s186.24-416 416-416c229.76 0 416 186.24 416 416s-186.24 416-416 416zM704 420c0-17.696-14.336-32-32-32h-352c-17.696 0-32 14.304-32 32v32c0 17.664 14.304 32 32 32h352c17.664 0 32-14.336 32-32v-32z" />
<glyph unicode="&#xe945;" glyph-name="minus1" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM512 128c-176.704 0-320 143.296-320 320 0 176.736 143.296 320 320 320 176.736 0 320-143.264 320-320 0-176.704-143.264-320-320-320zM631.616 480h-256c-17.696 0-32-14.336-32-32 0-17.696 14.304-32 32-32h256c17.696 0 32 14.304 32 32 0 17.664-14.304 32-32 32z" />
<glyph unicode="&#xe946;" glyph-name="notice" d="M496 848c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM496 196c-26.528 0-48 21.504-48 48s21.472 48 48 48c26.496 0 48-21.504 48-48s-21.504-48-48-48zM544 404c0-26.496-21.504-48-48-48-26.528 0-48 21.504-48 48v224c0 26.528 21.472 48 48 48 26.496 0 48-21.472 48-48v-224z" />
<glyph unicode="&#xe947;" glyph-name="notice1" d="M496 864c-238.592 0-432-193.408-432-432s193.408-432 432-432 432 193.408 432 432-193.408 432-432 432zM496 96c-185.568 0-336 150.432-336 336s150.432 336 336 336 336-150.432 336-336-150.432-336-336-336zM496 640c-26.496 0-48-21.472-48-48v-161.984c0-26.496 21.504-48 48-48s48 21.504 48 48v161.984c0 26.528-21.504 48-48 48zM496 320c-26.496 0-48-21.504-48-48s21.504-48 48-48 48 21.504 48 48-21.504 48-48 48z" />
<glyph unicode="&#xe948;" glyph-name="cog" d="M831.84 349.824h-42.368c-6.88-24.928-16.736-48.576-29.376-70.496l39.168-39.136c25.056-25.056 25.056-65.696 0-90.752l-22.688-22.688c-25.056-25.056-65.696-25.056-90.752 0l-39.424 39.392c-21.856-12.448-45.408-22.144-70.208-28.896v-41.088c0-35.424-28.704-64.16-64.16-64.16h-32.064c-35.424 0-64.192 28.704-64.192 64.16v41.088c-24.768 6.752-48.352 16.48-70.208 28.896l-39.392-39.392c-25.024-25.056-65.664-25.056-90.72 0l-22.72 22.688c-25.056 25.056-25.056 65.696 0 90.752l39.168 39.136c-12.64 21.952-22.496 45.568-29.408 70.496h-42.336c-35.456 0-64.16 28.704-64.16 64.128v32.096c0 35.424 28.704 64.16 64.16 64.16h41.856c6.624 24.672 16.096 48.16 28.384 69.952l-37.664 37.632c-25.056 25.056-25.056 65.696 0 90.752l22.688 22.656c25.056 25.056 65.696 25.056 90.72 0l36.896-36.896c22.592 13.152 46.976 23.392 72.704 30.4v43.136c0.032 35.456 28.8 64.16 64.224 64.16h32.064c35.424 0 64.16-28.704 64.16-64.16v-43.104c25.792-7.040 50.144-17.28 72.704-30.432l36.896 36.896c25.056 25.056 65.696 25.056 90.752 0l22.688-22.656c25.056-25.056 25.056-65.696 0-90.752l-37.632-37.632c12.288-21.792 21.76-45.28 28.416-69.984h41.856c35.424 0 64.16-28.736 64.16-64.16v-32.096c-0.032-35.392-28.736-64.096-64.192-64.096zM496 605.44c-97.44 0-176.448-79.008-176.448-176.448s79.008-176.448 176.448-176.448 176.448 79.008 176.448 176.448-79.008 176.448-176.448 176.448zM496 350.816c-44.288 0-80.224 35.872-80.224 80.192 0 44.288 35.936 80.192 80.224 80.192s80.192-35.904 80.192-80.192c0-44.32-35.904-80.192-80.192-80.192z" />
<glyph unicode="&#xe949;" glyph-name="cogs" d="M680.576 254.752l22.688 22.688c25.056 25.056 25.056 65.696 0 90.752l-39.168 39.136c12.608 21.952 22.496 45.568 29.376 70.496h42.368c35.424 0 64.16 28.736 64.16 64.16v32.064c0 35.424-28.704 64.16-64.16 64.16h-41.856c-6.656 24.672-16.096 48.16-28.384 69.952l37.664 37.632c25.056 25.056 25.056 65.696 0 90.752l-22.688 22.656c-25.056 25.056-65.696 25.056-90.752 0l-36.896-36.896c-22.56 13.152-46.944 23.392-72.704 30.432v43.104c-0.032 35.456-28.768 64.16-64.192 64.16h-32.064c-35.424 0-64.192-28.704-64.192-64.16v-43.104c-25.76-7.040-50.112-17.28-72.704-30.432l-36.928 36.928c-25.024 25.056-65.664 25.056-90.72 0l-22.688-22.656c-25.056-25.056-25.056-65.696 0-90.752l37.632-37.664c-12.256-21.792-21.76-45.28-28.384-69.984h-41.824c-35.456 0.032-64.16-28.704-64.16-64.16v-32.064c0-35.424 28.704-64.16 64.16-64.16h42.336c6.912-24.928 16.768-48.544 29.408-70.496l-39.168-39.136c-25.056-25.056-25.056-65.696 0-90.752l22.688-22.688c25.056-25.056 65.696-25.056 90.72 0l39.392 39.392c21.888-12.448 45.408-22.144 70.208-28.896v-41.088c0-35.392 28.736-64.16 64.192-64.16h32.064c35.424 0 64.16 28.736 64.16 64.16v41.088c24.8 6.752 48.384 16.48 70.208 28.896l39.392-39.392c25.12-25.024 65.728-25.024 90.816 0.032zM400 380.576c-97.44 0-176.448 78.976-176.448 176.448 0 97.44 79.008 176.448 176.448 176.448s176.448-79.008 176.448-176.448c0-97.472-79.008-176.448-176.448-176.448zM400 639.2c-44.32 0-80.224-35.904-80.224-80.192s35.904-80.192 80.224-80.192c44.288 0 80.192 35.904 80.192 80.192s-35.904 80.192-80.192 80.192zM801.984 36.416c-21.504 0-38.912-17.408-38.912-38.912 0-21.472 17.408-38.88 38.912-38.88 21.472 0 38.912 17.408 38.912 38.88 0 21.504-17.44 38.912-38.912 38.912zM964.864 35.936h-20.288c-3.232 11.968-7.84 23.36-13.792 33.952l18.24 18.24c12.16 12.16 12.16 31.872 0 44l-11.008 11.008c-12.16 12.16-31.84 12.16-44 0l-17.92-17.888c-10.944 6.368-22.784 11.328-35.264 14.752v20.864c0 17.184-13.952 31.136-31.136 31.136h-15.552c-17.184 0-31.136-13.952-31.136-31.136v-20.864c-12.512-3.424-24.32-8.384-35.264-14.752l-17.92 17.888c-12.16 12.16-31.872 12.16-44 0l-11.008-11.008c-12.16-12.128-12.16-31.84 0-44l18.24-18.24c-5.984-10.56-10.56-21.984-13.792-33.952h-20.288c-17.184 0-31.136-13.952-31.136-31.136v-15.552c0-17.184 13.952-31.136 31.136-31.136h20.544c3.328-12.064 8.128-23.52 14.24-34.176l-18.976-18.976c-12.16-12.16-12.16-31.84 0-44.032l11.008-11.008c12.128-12.128 31.84-12.128 44 0l19.104 19.136c10.624-6.016 22.016-10.752 34.048-14.016v-19.936c0-17.184 13.952-31.136 31.136-31.136h15.552c17.184 0 31.136 13.952 31.136 31.136v19.936c12.032 3.264 23.424 7.968 34.016 14.016l19.136-19.136c12.16-12.128 31.84-12.128 44 0l11.008 11.008c12.16 12.192 12.16 31.872 0 44.032l-18.976 18.976c6.080 10.656 10.912 22.112 14.24 34.176h20.544c17.184 0 31.136 13.952 31.136 31.136v15.552c0.128 17.216-13.824 31.136-31.008 31.136zM801.984-89.024c-47.264 0-85.568 38.304-85.568 85.6 0 47.264 38.304 85.568 85.568 85.568s85.568-38.304 85.568-85.568c0-47.296-38.304-85.6-85.568-85.6z" />
<glyph unicode="&#xe94a;" glyph-name="cog1" d="M850.336 496h61.664v-96h-61.664c-4.192-30.592-11.968-60.032-23.488-87.584l53.408-30.848-48-83.136-54.336 31.36c-18.656-23.552-40.32-44.544-64.352-62.656l32-55.392-83.136-48-32.672 56.544c-27.168-10.592-55.84-17.984-85.792-21.536v-66.752h-96v68.576c-29.184 4.512-57.312 12.192-83.648 23.392l-34.784-60.224-83.136 48 35.616 61.696c-22.304 17.888-42.208 38.496-59.584 61.216l-62.752-36.224-48 83.136 63.328 36.576c-10.272 25.952-17.472 53.376-21.376 81.888h-73.632v96h73.664c3.904 28.544 11.104 55.968 21.376 81.888l-63.328 36.576 48 83.136 62.752-36.224c17.376 22.72 37.28 43.328 59.584 61.248l-35.616 61.6 83.136 48 34.784-60.224c26.336 11.2 54.464 18.912 83.648 23.392v68.576h96v-66.72c29.952-3.552 58.624-10.944 85.792-21.536l32.672 56.544 83.136-48-32-55.424c24.032-18.112 45.696-39.104 64.352-62.656l54.336 31.36 48-83.136-53.408-30.848c11.488-27.552 19.264-56.992 23.456-87.584zM495.712 656.288c-114.88 0-208-93.12-208-208s93.12-208 208-208 208 93.12 208 208-93.12 208-208 208zM496 368c-44.192 0-80 35.808-80 80s35.808 80 80 80 80-35.808 80-80-35.808-80-80-80z" />
<glyph unicode="&#xe94b;" glyph-name="warning" d="M977.76 152.992l-400.608 685.952c-33.408 33.408-87.616 33.408-121.024 0l-400.64-685.952c-33.408-33.376-33.408-87.552 0-120.992h922.24c33.472 33.44 33.472 87.616 0.032 120.992zM479.744 592.704c0 26.528 21.504 48 48 48s48-21.472 48-48v-224c0-26.496-21.504-48-48-48s-48 21.504-48 48v224zM528.032 160.448c-26.496 0-48 21.44-48 48 0 26.496 21.504 48 48 48s48-21.504 48-48c0-26.56-21.504-48-48-48z" />
<glyph unicode="&#xe94c;" glyph-name="health" d="M864 63.008h-64v-62.016h-128v62.016h-352v-62.016h-128v62.016h-64c-35.36 0-64 28.672-64 64v544c0 35.36 28.64 64 64 64h736c35.328 0 64-28.672 64-64v-544c0-35.36-28.672-64-64-64zM671.968 447.008h-127.968v128h-96v-128h-128v-96h128v-128h96v128h127.968v96zM608 831.68h-192v-64.672h-64v31.328h32v96.672h254.656v-96h33.344v-32h-64v64.672z" />
<glyph unicode="&#xe94d;" glyph-name="suitcase" d="M864 32h-128v672h128c35.328 0 64-28.672 64-64v-544c0-35.328-28.672-64-64-64zM320 704v0 64c0 35.36 28.672 64 64 64h224c35.328 0 64-28.64 64-64v-736h-352v672zM384 704h224c0 0 0 14.336 0 32 0 17.696-14.336 32-32 32h-160c-17.696 0-32-14.304-32-32 0-17.664 0-32 0-32zM64 96v544c0 35.328 28.672 64 64 64h128v-672h-128c-35.328 0-64 28.672-64 64z" />
<glyph unicode="&#xe94e;" glyph-name="suitcase1" d="M864 32h-736c-35.36 0-64 28.672-64 64v384c0 0 167.072-85.92 320-121.088v-38.912c0-17.696 14.304-32 32-32h160c17.664 0 32 14.304 32 32v38.912c152.896 35.168 320 121.088 320 121.088v-384c0-35.328-28.672-64-64-64zM544 416c17.664 0 32-14.304 32-32v-32c0-17.696-14.336-32-32-32h-96c-17.696 0-32 14.304-32 32v32c0 17.696 14.304 32 32 32h96zM608 416c0 17.696-14.336 32-32 32h-160c-17.696 0-32-14.304-32-32v-28.672c-152.928 36.224-320 124.672-320 124.672v128c0 35.328 28.64 64 64 64h192v64c0 35.328 28.672 64 64 64h224c35.328 0 64-28.672 64-64v-64h192c35.328 0 64-28.672 64-64v-128c0 0-167.104-88.448-320-124.672v28.672zM608 736c0 17.696-14.336 32-32 32h-160c-17.696 0-32-14.304-32-32 0-17.664 0-32 0-32h224c0 0 0 14.336 0 32z" />
<glyph unicode="&#xe94f;" glyph-name="suitcase2" d="M896 32h-768c-35.328 0-64 28.672-64 64v288h128v-96h128v96h384v-96h128v96h128v-288c0-35.328-28.672-64-64-64zM736 320v128h64v-128h-64zM224 320v128h64v-128h-64zM832 480h-128v-64h-384v64h-128v-64h-128v224c0 35.328 28.672 64 64 64h768c35.328 0 64-28.672 64-64v-224h-128v64zM608 800.672h-192v-64.672h-64v31.328h32v96.672h256.672v-96h31.328v-32h-64v64.672z" />
<glyph unicode="&#xe950;" glyph-name="picture" d="M626.272 612.576l-100.608-151.424-73.12 73.696-73.152-118.304-54.848 54.304-59.392-118.848h466.304l-105.184 260.576zM128 800v-736h736v736h-736zM800 288h-608v448h608v-448zM335.712 541.728c26.528 0 48 21.472 48 48s-21.472 48-48 48c-26.496 0-48-21.472-48-48s21.504-48 48-48z" />
<glyph unicode="&#xe951;" glyph-name="pictures" d="M887.456 331.68l-42.112-157.248-1.184-0.32-46.016-171.744-297.472 79.68-3.552-0.928-313.216 83.904-0.544 2.048-83.36 22.368 15.776 58.912 1.024-0.288 154.528 576.704-1.024 0.288 16.288 60.704 547.36-146.688 0.512 1.792 150.752-40.384-98.304-366.72 0.544-2.080zM908.224 656.064l-576.736 154.528-113.856-424.96 576.672-154.496 113.92 424.928zM391.488 531.456l38.208-65.44 99.424 93.6 50.656-88.512 133.92 118.048 33.504-273.888-442.304 118.592 86.592 97.6zM420.064 595.84c-25.12 6.752-40.064 32.608-33.312 57.728 6.72 25.152 32.576 40.096 57.728 33.344 25.12-6.752 40.064-32.608 33.312-57.728-6.72-25.152-32.576-40.096-57.728-33.344zM692.48 816.672l-13.248-3.552-121.44 32.544 179.136 48 27.712-103.392-70.080 18.784-2.080 7.616zM115.744 662.112l39.744-148.32-32.544-121.408-84.16 314.176 181.376 48.608-18.784-70.080-85.632-22.976zM225.856 8.448l-32.576 121.536 243.104-65.152-210.528-56.384z" />
<glyph unicode="&#xe952;" glyph-name="pictures1" horiz-adv-x="1040" d="M851.328 13.216l-83.968 23.040-0.192 232.256 80.32-22.592 115.808 432.288-586.624 157.184-38.656-144.192h-66.176l59.616 222.464 710.176-190.272-190.304-710.176zM737.248-64h-737.248v735.264h737.248v-735.264zM673.312 607.328h-609.376v-447.52h609.376v447.52zM251.168 288.224l73.056 118.144 73.056-73.632 100.448 151.264 105.056-260.288h-465.792l59.36 118.72 54.816-54.208zM207.488 413.248c-26.496 0-47.968 21.44-47.968 47.936s21.472 47.936 47.968 47.936 47.936-21.44 47.936-47.936-21.44-47.936-47.936-47.936z" />
<glyph unicode="&#xe953;" glyph-name="android" d="M736 320c-17.696 0-32 14.336-32 32v192c0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32v-192c0-17.664-14.336-32-32-32zM639.936 729.312c31.936-55.104 32.064-121.312 32.064-121.312h-320c0 0-1.248 67.072 31.008 122.368l-60.256 60.256c-6.24 6.24-6.24 16.384 0 22.624s16.384 6.24 22.624 0l56.512-56.512c23.68 26.208 58.592 45.248 110.112 45.248 50.88 0 85.472-19.552 109.12-46.208l57.504 57.472c6.24 6.24 16.384 6.24 22.624 0s6.24-16.384 0-22.624l-61.312-61.312zM432 704c-8.832 0-16-7.168-16-16s7.168-16 16-16c8.8 0 16 7.168 16 16s-7.2 16-16 16zM592 704c-8.832 0-16-7.168-16-16s7.168-16 16-16c8.8 0 16 7.168 16 16s-7.2 16-16 16zM320 352c0-17.664-14.336-32-32-32-17.696 0-32 14.336-32 32v192c0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32v-192zM672 288c0-41.76-26.816-76.864-64-90.112v-101.888c0-17.664-14.336-32-32-32-17.696 0-32 14.336-32 32v96h-64v-96c0-17.664-14.336-32-32-32-17.696 0-32 14.336-32 32v101.888c-37.216 13.248-64 48.384-64 90.112v288h320v-288z" />
<glyph unicode="&#xe954;" glyph-name="marvin" d="M512 832c-212.064 0-384-171.936-384-384 0-212.096 171.936-384 384-384 212.096 0 384 171.904 384 384 0 212.064-171.904 384-384 384zM754.4 389.888l-75.648-84.16-16.288 118.304c-97.984 30.016-209.984 30.304-313.984 0.32l-10.112-119.776c0 0-82.112 84.512-83.584 84.512-38.432-13.664-80.096-43.744-80.096-43.744l-1.984 25.984c0 0 317.344 221.344 664.032 0l-1.984-25.984c-0.064-0.032-38.336 32.544-80.352 44.544z" />
<glyph unicode="&#xe955;" glyph-name="pacman" d="M555.584 433.984l266.848-271.456c-68-61.056-157.6-98.528-256.192-98.528-212.064 0-384 171.936-384 384s171.936 384 384 384c108.16 0 205.696-44.864 275.488-116.8l-286.144-281.216zM581.568 705.344c-26.496 0-47.968-21.504-47.968-48 0-26.528 21.472-48 47.968-48 26.528 0 48.032 21.472 48.032 48 0 26.496-21.504 48-48.032 48z" />
<glyph unicode="&#xe956;" glyph-name="cassette" d="M896.544 63.488h-66.080l-64.064 192.256h-542.752l-64.096-192.256h-64.096c-53.056 0-96.128 43.072-96.128 96.128v576.768c0 53.088 43.072 96.096 96.128 96.096h801.056c53.088 0 96.128-43.040 96.128-96.096v-576.768c0.032-53.056-43.008-96.128-96.096-96.128zM894.528 736.384h-799.072v-416.544h799.072v416.544zM832.448 383.936h-672.896v288.352h672.864v-288.352zM303.616 608.736c-44.256 0-80.096-35.872-80.096-80.096s35.84-80.096 80.096-80.096 80.128 35.872 80.128 80.096-35.872 80.096-80.128 80.096zM542.048 560.128h-94.112v-64.064h94.112v64.064zM688.416 608.736c-44.256 0-80.096-35.872-80.096-80.096s35.84-80.096 80.096-80.096c44.224 0 80.096 35.872 80.096 80.096s-35.872 80.096-80.096 80.096zM686.24 496.064c-17.696 0-32.032 14.336-32.032 32.032s14.336 32.032 32.032 32.032 32.064-14.336 32.064-32.032c0-17.696-14.368-32.032-32.064-32.032zM305.76 496.064c-17.696 0-32.032 14.336-32.032 32.032s14.336 32.032 32.032 32.032c17.728 0 32.064-14.336 32.064-32.032s-14.368-32.032-32.064-32.032zM744.32 223.712l56.096-158.88h-610.816l54.048 158.88h500.672zM704.288 127.584h32.032v32.032h-32.032v-32.032zM640.192 127.584h32.064v32.032h-32.064v-32.032zM415.904 127.584h158.208v32.032h-158.208v-32.032zM319.776 127.584h32.032v32.032h-32.032v-32.032zM255.68 127.584h32.032v32.032h-32.032v-32.032z" />
<glyph unicode="&#xe957;" glyph-name="watch" d="M224.032 480h32v-32h-32v-96h64v32h-32v32h32v96h-64v-32zM416.064 384h32v32h-32v-32zM320.032 480h32v-32h-32v-32h32v-32h-32v-32h64v160h-64v-32zM416.064 448h32v32h-32v-32zM480.064 352h96v160h-96v-160zM512.064 480h32v-96h-32v96zM640.064 512h-32v-96h64v-64h32v160h-32v-64h-32v64zM896.064 512h-32.032l0.16 128.928-180.16 190.752-43.968 0.032v64.288h-352v-63.936l-44.928 0.032-178.752-188.128-0.448-390.912 178.144-186.752 45.984-0.032v-66.272h352v65.92l42.912-0.032 180.768 188.16 0.128 97.952h32.192c17.696 0 32 14.304 32 32v96c0 17.664-14.304 32-32 32zM798.624 278.592l-144.064-151.52-383.904 0.352-141.536 150.048 0.352 341.92 140.096 149.568 387.904-0.384 141.536-152.064-0.384-337.92z" />
<glyph unicode="&#xe958;" glyph-name="chronometer" d="M897.728 365.728c0-221.856-179.84-401.728-401.728-401.728-221.856 0-401.728 179.872-401.728 401.728 0 215.104 169.152 390.144 381.664 400.672v69.312h-30.112c-17.76 0-32.16 14.4-32.16 32.16s14.4 32.128 32.16 32.128h96.384c17.76 0 32.16-14.368 32.16-32.128s-14.4-32.16-32.16-32.16h-34.112v-68.896c216.224-6.4 389.632-183.328 389.632-401.088zM475.936 642.912v73.312c-99.488-5.632-187.712-52.48-248.512-123.456l52.896-52.896-22.72-22.752-50.080 50.112c-40.768-57.536-65.024-127.584-65.024-203.488 0-3.392 0.48-8.032 0.48-8.032h77.824v-32.16h-75.52c7.808-65.664 33.824-127.584 72.576-177.088l39.776 39.776 22.72-22.72-41.472-41.504c60.128-63.872 143.616-105.504 237.056-110.784v87.328h32.128v-87.744c95.648 3.264 181.44 44.576 243.168 109.12l-45.568 45.568 22.72 22.72 44.064-44.032c39.68 49.92 66.368 112.672 74.304 179.328h-81.6v32.16h83.872c0.096 3.328 0.512 4.64 0.512 8.032 0 78.016-25.6 149.792-68.416 208.16l-52.736-52.736-22.72 22.72 55.232 55.2c-62.304 70.496-152.096 116.192-252.8 119.584v-73.728h-32.16zM510.048 355.68h112.512c8.864 0 16.064-7.232 16.064-16.064 0-8.864-7.2-16.096-16.064-16.096h-128.576c-8.864 0-16.064 7.232-16.064 16.096v222.944c0 8.864 7.2 16.064 16.064 16.064s16.064-7.2 16.064-16.064v-206.88z" />
<glyph unicode="&#xe959;" glyph-name="watch1" d="M896 383.008h-32v-224c0-52.992-43.008-96-96-96h-128v-126.016h-352v126.016h-128c-53.024 0-96 43.008-96 96v544c0 53.024 42.976 96 96 96h128v128h352v-128h128c52.992 0 96-42.976 96-96v-224h32c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32zM800 671.008c0 35.36-28.672 64-64 64h-544c-35.328 0-64-28.672-64-64v-480c0-35.328 28.672-64 64-64h544c35.328 0 64 28.672 64 64v480zM672 415.008h-64v96h32v-64h32v64h32v-160h-32v64zM512 351.008h-32v160h96v-160h-64zM544 479.008h-32v-96h32v96zM416 415.008h32v-32h-32v32zM416 479.008h32v-32h-32v32zM320 351.008v32h32v32h-32v32h32v32h-32v32h64v-160h-64zM224 351.008v96h32v32h-32v32h64v-96h-32v-32h32v-32h-64z" />
<glyph unicode="&#xe95a;" glyph-name="alarmclock" d="M871.328 487.2c-43.968 121.824-151.2 215.328-284.512 245.088 34.144 49.024 90.752 81.248 155.040 81.248 104.448 0 189.088-84.672 189.088-189.12 0-54.208-23.104-102.752-59.616-137.216zM507.648 806.432v-118.912c181.44-7.392 326.368-156.416 326.368-339.648 0-76.544-25.568-146.944-68.16-203.744l78.848-136.608-65.504-37.856-67.488 116.928c-59.072-49.376-135.072-79.168-218.048-79.168-82.528 0-158.176 29.408-217.088 78.24l-69.28-119.904-65.504 37.856 80.512 139.392c-43.136 57.024-68.992 127.84-68.992 204.864 0 182.016 142.976 330.208 322.688 339.456v119.104c-18.336 6.56-31.648 23.68-31.648 44.32 0 26.24 21.28 47.488 47.488 47.488 26.24 0 47.52-21.28 47.52-47.488-0.032-20.64-13.344-37.76-31.712-44.32zM228.896 347.872c0-146.24 118.528-264.736 264.736-264.736 146.176 0 264.736 118.496 264.736 264.736 0 146.176-118.56 264.704-264.736 264.704-146.208 0.032-264.736-118.528-264.736-264.704zM572.992 290.624h-95.008c-17.504 0-31.68 14.176-31.68 31.68v126.688c0 17.504 14.176 31.68 31.68 31.68 17.472 0 31.648-14.176 31.648-31.68v-95.008h63.328c17.504 0 31.68-14.176 31.68-31.68s-14.144-31.68-31.648-31.68zM120.704 487.2c-36.544 34.496-59.648 83.008-59.648 137.216 0 104.448 84.672 189.12 189.12 189.12 64.256 0 120.832-32.224 155.040-81.248-133.312-29.76-240.544-123.264-284.512-245.088z" />
<glyph unicode="&#xe95b;" glyph-name="time" horiz-adv-x="1248" d="M1248 574.336l-64-0.672v65.344c0 53.024-43.008 96-96 96h-992c-53.024 0-96-42.976-96-96v-352c0-52.992 42.976-96 96-96h127.328l-0.672-30.016h737.344l-0.672 30.016h128.672c52.992 0 96 43.008 96 96v65.984h65.312l-1.312 221.344zM1152 287.008c0-35.328-28.672-64-64-64h-992c-35.328 0-64 28.672-64 64v352c0 35.328 28.672 64 64 64h992c35.328 0 64-28.672 64-64v-352zM1088 671.008h-992c-17.696 0-32-14.304-32-32v-352c0-17.696 14.304-32 32-32h992c17.664 0 32 14.304 32 32v352c0 17.664-14.336 32-32 32zM1031.904 575.552l-25.6-24h-77.792l-21.76 24h125.152zM1002.56 475.552l11.2-11.872-13.44-11.872h-83.584l-10.592 11.872 12.8 11.872h83.616zM901.984 571.328l21.728-24-5.408-64-16.32-15.040-8.32 8.96 8.32 94.080zM694.304 571.328l21.728-24-5.408-64-16.32-15.040-8.32 8.96 8.32 94.080zM794.784 475.552l11.232-11.872-13.472-11.872h-83.488l-10.56 11.872 12.768 11.872h83.52zM374.56 571.328l21.728-24-5.6-64-16.16-15.072-8.224 8.96 8.256 94.112zM475.008 475.552l11.232-11.872-13.44-11.872h-83.616l-10.432 11.872 12.768 11.872h83.488zM296.8 575.552l-25.632-24h-77.76l-21.76 24h125.152zM166.88 571.328l21.76-24-5.632-64-16.16-15.072-8.224 8.96 8.256 94.112zM156.224 450.048l9.6 9.248 13.76-15.008-5.376-64.032-26.176-24 8.192 93.792zM152 351.808l26.24 24h77.632l21.408-24h-125.28zM282.080 356.32l-21.504 23.968 5.376 64.032 16.352 15.008 8-9.248-8.224-93.76zM292.672 477.248l-9.376-8.96-13.92 15.072 5.6 64 25.984 24-8.288-94.112zM363.904 450.048l9.6 9.248 13.76-15.008-5.376-64.032-26.176-23.968 8.192 93.76zM359.648 351.808l26.24 24h77.664l21.408-24h-125.312zM489.76 356.288l-21.44 24 5.408 64 16.352 15.040 8.032-9.248-8.352-93.792zM478.88 551.552h-77.76l-21.792 24h125.12l-25.568-24zM594.4 351.808h-24l2.208 24h24l-2.208-24zM608.48 514.304h-24l2.24 24h24l-2.24-24zM679.584 351.808l25.92 24h77.76l21.44-24h-125.12zM809.504 356.32l-21.472 23.968 5.44 64 16.352 15.040 8-9.248-8.32-93.76zM798.624 551.552h-77.76l-21.792 24h125.12l-25.568-24zM887.264 351.808l25.952 24h77.76l21.44-24h-125.152zM1017.184 356.32l-21.504 23.968 5.376 64.032 16.352 15.008 8-9.248-8.224-93.76zM1027.808 477.248l-9.408-8.96-13.92 15.072 5.632 64 25.984 24-8.288-94.112z" />
<glyph unicode="&#xe95c;" glyph-name="time1" d="M512 848c-229.792 0-416-186.24-416-416s186.208-416 416-416c229.728 0 416 186.24 416 416s-186.24 416-416 416zM508.64 95.136c-185.568 0-336 150.432-336 336s150.432 336 336 336c185.536 0 336-150.432 336-336s-150.464-336-336-336zM605.76 411.808h-95.36v161.024c0 17.472-14.176 31.68-31.648 31.68-17.504 0-31.68-14.176-31.68-31.68v-192.672c0-17.504 14.176-31.648 31.68-31.648h127.008c17.504 0 31.68 14.144 31.68 31.648 0 17.472-14.176 31.648-31.68 31.648z" />
<glyph unicode="&#xe95d;" glyph-name="headphones" d="M768 64v64h-0.8c0.288 5.312 0.8 10.592 0.8 16v352c0 150.208-121.792 272-272 272s-272-121.792-272-272v-352c0-5.408 0.512-10.688 0.8-16h-0.8v-64c0 0-160 2.688-160 176 0 98.304 51.424 141.664 96 160.8v95.2c0 185.568 150.432 336 336 336s336-150.432 336-336v-95.2c44.576-19.168 96-62.496 96-160.8 0-173.312-160-176-160-176zM288 64h-32v352h32v-352zM736 64h-32v352h32v-352z" />
<glyph unicode="&#xe95e;" glyph-name="wallet" d="M576 256c-35.328 0-64 28.672-64 64v64c0 35.36 28.672 64 64 64h384v-192h-384zM624 397.344c-26.496 0-48-21.504-48-48 0-26.528 21.504-48 48-48 26.528 0 48 21.472 48 48 0 26.496-21.472 48-48 48zM480 384v-64c0-52.992 43.008-96 96-96h320v-128c0-52.992-42.976-96-96-96h-672c-52.992 0-96 43.008-96 96v608c0 53.024 43.008 96 96 96h308.224l-75.168-31.328h-249.024c-26.496 0-48-21.504-48-48 0-26.528 21.504-48 48-48h783.968v-192.672h-320c-52.992 0-96-42.976-96-96zM160.032 608h-64v-64h32v32h32v32zM160.032 512h-64v-64h33.312l-1.312 32 32-0.672v32.672zM160.032 416h-64v-64h32.672l-0.672 32h32v32zM160.032 320h-64v-64h32.672l-0.672 32 32-0.672v32.672zM160.032 224h-64v-64h32v32h32v32zM160.032 128h-64v-64h32.672l-0.672 31.328h32v32.672zM288.032 705.984l376 158.016 72-158.016h-448zM724.672 800h75.328c28.032 0 52.992-12.192 70.56-31.328h-130.592l-15.296 31.328z" />
<glyph unicode="&#xe95f;" glyph-name="checkmark2" d="M927.936 687.008l-68.288 68.288c-12.608 12.576-32.96 12.576-45.536 0l-409.44-409.44-194.752 196.16c-12.576 12.576-32.928 12.576-45.536 0l-68.288-68.288c-12.576-12.608-12.576-32.96 0-45.536l285.568-287.488c12.576-12.576 32.96-12.576 45.536 0l500.736 500.768c12.576 12.544 12.576 32.96 0 45.536z" />
<glyph unicode="&#xe960;" glyph-name="cancel2" d="M626.784 447.968l195.072-195.072c12.672-12.672 12.672-33.248 0-45.92l-68.832-68.832c-12.672-12.672-33.216-12.672-45.92 0l-195.104 195.072-195.104-195.072c-12.672-12.672-33.216-12.672-45.888 0l-68.864 68.832c-12.672 12.672-12.672 33.216 0 45.92l195.104 195.072-195.104 195.104c-12.672 12.672-12.672 33.248 0 45.92l68.896 68.832c12.672 12.672 33.216 12.672 45.888 0l195.072-195.104 195.104 195.104c12.672 12.672 33.216 12.672 45.92 0l68.832-68.864c12.672-12.672 12.672-33.216 0-45.92l-195.072-195.072z" />
<glyph unicode="&#xe961;" glyph-name="eye" horiz-adv-x="1120" d="M549.184 821.088c-337.984 0-549.184-373.088-549.184-373.088s209.184-373.088 549.184-373.088c318.016 0 559.392 373.088 559.392 373.088s-239.392 373.088-559.392 373.088zM552.192 279.968c-92.608 0-167.616 75.040-167.616 167.616s75.040 167.648 167.616 167.648 167.648-75.072 167.648-167.648-75.072-167.616-167.648-167.616zM553.216 531.392c-46.080 0-83.424-37.376-83.424-83.424 0-46.080 37.344-83.424 83.424-83.424s83.424 37.344 83.424 83.424c0.032 46.048-37.312 83.424-83.424 83.424z" />
<glyph unicode="&#xe962;" glyph-name="position" d="M528 177.696v31.872c107.264-3.168 191.776-37.568 191.776-79.584 0-44.128-92.992-81.92-207.744-81.92s-207.744 37.792-207.744 81.92c0 42.016 84.512 76.448 191.744 79.584v-31.872c-89.568-2.208-159.776-22.72-159.776-47.712 0-26.464 78.688-51.936 175.776-51.936 97.056 0 175.744 25.472 175.744 51.936-0.032 24.992-70.208 45.472-159.776 47.712zM336.512 672.16c0 97.056 80.672 175.776 177.792 175.776 97.088 0 175.776-78.72 175.776-175.776 0-83.424-58.176-153.152-136.192-171.136l-41.888-423.008-42.016 424.192c-75.584 19.68-133.472 88.192-133.472 169.952zM512 719.232c0 26.496-21.472 47.936-47.936 47.936-26.496 0-47.968-21.44-47.968-47.936 0-26.464 21.472-47.936 47.968-47.936s47.936 21.44 47.936 47.936z" />
<glyph unicode="&#xe963;" glyph-name="sitemap" d="M768 96h-96c-17.696 0-32 14.304-32 32v64c0 17.696 14.304 32 32 32h64v192h-224v-192h32c17.664 0 32-14.304 32-32v-64c0-17.696-14.336-32-32-32h-96c-17.696 0-32 14.304-32 32v64c0 17.696 14.304 32 32 32h32v192h-224v-192h64c17.664 0 32-14.304 32-32v-64c0-17.696-14.336-32-32-32h-96c-17.696 0-32 14.304-32 32v64c0 17.696 14.304 32 32 32v224h256v224h-32c-17.696 0-32 14.336-32 32v64c0 17.664 14.304 32 32 32h96c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-32v-224h256v-224c17.664 0 32-14.304 32-32v-64c0-17.696-14.336-32-32-32z" />
<glyph unicode="&#xe964;" glyph-name="sitemap1" d="M767.104 97.12h-95.68c-17.6 0-31.904 14.24-31.904 31.872v63.808c0 17.568 14.304 31.872 31.904 31.872h63.776v159.488h-223.264v-159.488h31.872c17.632 0 31.904-14.304 31.904-31.872v-63.808c0-17.632-14.272-31.872-31.904-31.872h-95.68c-17.6 0-31.872 14.24-31.872 31.872v63.808c0 17.568 14.272 31.872 31.872 31.872h31.936v159.488h-223.296v-159.488h63.776c17.632 0 31.904-14.304 31.904-31.872v-63.808c0-17.632-14.272-31.872-31.904-31.872h-95.648c-17.632 0-31.904 14.24-31.904 31.872v63.808c0 17.568 14.272 31.872 31.904 31.872v191.36h255.168v127.584h-95.68c-17.632 0-31.904 14.272-31.904 31.904v159.488c0 17.6 14.272 31.904 31.904 31.904h223.264c17.632 0 31.872-14.272 31.872-31.904v-159.456c0-17.6-14.24-31.904-31.872-31.904h-95.68v-127.584h255.168v-191.36c17.6 0 31.904-14.304 31.904-31.872v-63.808c-0.032-17.664-14.368-31.904-31.936-31.904zM224.896 192.8v-63.808h95.648v63.808h-95.648zM607.616 575.52v159.488h-223.264v-159.456h223.264zM448.128 192.8v-63.808h95.68v63.808h-95.68zM767.104 192.8h-95.68v-63.808h95.68v63.808z" />
<glyph unicode="&#xe965;" glyph-name="cloud" horiz-adv-x="1120" d="M891.936 64c0 0 176.64-0.192 201.44 172.64 11.808 188.992-170.752 226.24-170.752 226.24s20.768 279.776-235.552 311.68c-219.68 22.432-286.528-181.728-286.528-181.728s-66.176 63.616-155.936 11.648c-80.352-49.6-66.144-140.416-66.144-140.416s-178.464-34.688-178.464-216.576c4-181.664 193.824-183.488 193.824-183.488" />
<glyph unicode="&#xe966;" glyph-name="upload1" horiz-adv-x="1120" d="M941.632 462.88c0 0 20.768 279.776-235.552 311.68-219.68 22.432-286.56-181.728-286.56-181.728s-66.144 63.616-155.904 11.648c-80.352-49.6-66.144-140.416-66.144-140.416s-178.432-34.688-178.432-216.576c3.968-181.664 193.728-183.488 193.728-183.488h299.232v192h-96l160 160 160-160h-96v-192h270.944c0 0 176.64-0.192 201.44 172.64 11.808 188.992-170.752 226.24-170.752 226.24z" />
<glyph unicode="&#xe967;" glyph-name="chart" d="M479.68 418.72c0 0 1.312 416.288 0.32 416.288-216.928 0-384-189.088-384-409.984s179.104-393.984 400-393.984c220.864 0 400 165.088 400 385.984 0 1.856-416.32 1.696-416.32 1.696zM928 451.008c0 220.928-197.088 414.016-417.984 414.016 3.072 0 0-414.016 0-414.016s417.984-1.216 417.984 0z" />
<glyph unicode="&#xe968;" glyph-name="chart1" d="M543.936 481.856c0 0 3.072 383.552 0 383.552 220.672 0 383.552-162.88 383.552-383.552 0-1.216-383.552 0-383.552 0zM895.552 403.136c0-229.472-186.048-415.52-415.52-415.52-229.504 0-415.52 186.048-415.52 415.52 0 229.504 186.016 415.52 415.52 415.52 10.784 0 21.376-0.768 31.968-1.6v-367.168h381.056c1.6-14.72 2.496-31.616 2.496-46.752zM861.6 415.936h-381.568v370.752c-211.84 0-383.552-171.744-383.552-383.584s171.712-383.52 383.552-383.52 383.552 171.68 383.552 383.52c0 41.28-1.984 12.832-1.984 12.832z" />
<glyph unicode="&#xe969;" glyph-name="chart2" d="M127.584 832h-31.584v-768h832v30.816l-799.872 1.6-0.544 735.584zM352 800c0 17.696-14.336 32-32 32h-96c-17.696 0-32-14.304-32-32v-640h160v640zM544 608c0 17.696-14.336 32-32 32h-96c-17.696 0-32-14.304-32-32v-448h160v448zM736 416c0 17.696-14.336 32-32 32h-96c-17.696 0-32-14.304-32-32v-256h160v256zM896 256h-96c-17.696 0-32-14.304-32-32v-64h160v64c0 17.696-14.336 32-32 32z" />
<glyph unicode="&#xe96a;" glyph-name="chart3" d="M127.584 832h-31.584v-768h832v30.816l-799.872 1.6-0.544 735.584zM544 800c0 17.696-14.336 32-32 32h-96c-17.696 0-32-14.304-32-32v-640h160v640zM352 608c0 17.664-14.336 32-32 32h-96c-17.696 0-32-14.336-32-32v-448h160v448zM736 416c0 17.696-14.336 32-32 32h-96c-17.696 0-32-14.304-32-32v-256h160v256zM896 256h-96c-17.696 0-32-14.304-32-32v-64h160v64c0 17.696-14.336 32-32 32z" />
<glyph unicode="&#xe96b;" glyph-name="chart4" d="M864 287.008h-640v-160h640c17.664 0 32 14.304 32 32v96c0 17.664-14.336 32-32 32zM704 351.008v96c0 17.664-14.336 32-32 32h-448v-160h448c17.664 0 32 14.304 32 32zM512 543.008v96c0 17.664-14.336 32-32 32h-256v-160h256c17.664 0 32 14.336 32 32zM320 735.008v96c0 17.696-14.336 32-32 32h-64v-160h64c17.664 0 32 14.336 32 32zM160 863.008h-32v-830.016h768v32h-736v798.016z" />
<glyph unicode="&#xe96c;" glyph-name="chart5" d="M864 479.008h-640v-160h640c17.664 0 32 14.304 32 32v96c0 17.664-14.336 32-32 32zM704 159.008v96c0 17.696-14.336 32-32 32h-448v-160h448c17.664 0 32 14.304 32 32zM512 543.008v96c0 17.664-14.336 32-32 32h-256v-160h256c17.664 0 32 14.336 32 32zM320 735.008v96c0 17.696-14.336 32-32 32h-64v-160h64c17.664 0 32 14.336 32 32zM160 863.008h-32v-830.016h768v32h-736v798.016z" />
<glyph unicode="&#xe96d;" glyph-name="location" d="M357.216 590.272c0 84.96 69.312 153.824 154.784 153.824s154.784-68.864 154.784-153.824-69.312-153.792-154.784-153.792-154.784 68.864-154.784 153.792zM248.864 571.072c0-64.352 78.528-200 78.528-200l184.608-307.648 174.016 307.616c0 0 89.12 136.64 89.12 200 0 144.416-117.824 261.472-263.136 261.472s-263.136-117.024-263.136-261.44z" />
<glyph unicode="&#xe96e;" glyph-name="download1" horiz-adv-x="1120" d="M941.632 462.88c0 0 20.736 279.776-235.552 311.68-219.712 22.432-286.56-181.728-286.56-181.728s-66.144 63.616-155.936 11.648c-80.32-49.6-66.144-140.416-66.144-140.416s-178.432-34.656-178.432-216.576c4-181.664 193.76-183.488 193.76-183.488h363.232l-160 160h96v192h128v-192h96l-160-160h334.944c0 0 176.64-0.192 201.44 172.64 11.808 188.992-170.752 226.24-170.752 226.24z" />
<glyph unicode="&#xe96f;" glyph-name="basket" d="M0 512v96h120l240.992 241.024c-1.6 4.768-2.976 9.632-2.976 14.976 0 26.528 21.472 48 48 48 26.496 0 48-21.472 48-48 0-26.496-21.504-48-48-48-3.552 0-6.688 1.312-9.984 2.016l-210.048-210.016h619.328l-208.8 210.528c-4.128-1.152-8.064-2.528-12.512-2.528-26.496 0-48 21.504-48 48 0 26.528 21.504 48 48 48s48-21.472 48-48c0-4.896-1.44-9.376-2.816-13.856l242.144-242.144h120.672v-96h-992zM795.808 35.136c-9.376-37.504-35.36-35.424-35.36-35.424l-531.040-1.024c-27.072 0-34.336 34.304-34.336 34.304l-140.384 446.56 882.368 0.832-141.248-445.248zM319.968 416h-32v-160h32v160zM319.968 224h-32v-160h32v160zM383.968 416h-31.968v-160h31.968v160zM383.968 224h-31.968v-160h31.968v160zM447.968 416h-32v-160h32v160zM447.968 224h-32v-160h32v160zM512 416h-32v-160h32v160zM512 224h-32v-160h32v160zM576 416h-32v-160h32v160zM576 224h-32v-160h32v160zM640 416h-32v-160h32v160zM640 224h-32v-160h32v160zM704 416h-32v-160h32v160zM704 224h-32v-160h32v160z" />
<glyph unicode="&#xe970;" glyph-name="folder" horiz-adv-x="1118" d="M269.792 667.040h670.656c69.056 0 69.056 71.616 2.688 71.616h-463.552c-26.56 0-39.808 39.808-39.808 39.808s-18.592 58.4-55.776 58.4h-345.248c-50.432 0-37.184-58.4-37.184-58.4s77.024-655.040 82.336-694.88 46.496-51.584 46.496-51.584l90.272 579.296c6.656 42.464 35.84 54.4 49.12 55.744zM1077.056 641.856h-786.016c-23.456 0-42.496-19.008-42.496-42.464l-82.304-524.8c0-23.488 19.040-42.496 42.496-42.496h786.016c23.424 0 42.496 19.008 42.496 42.496l82.304 524.8c0 23.456-18.976 42.464-42.496 42.464z" />
<glyph unicode="&#xe971;" glyph-name="gamepad" horiz-adv-x="1054" d="M736.448 817.312c-45.312 0-133.312-64-208-64-74.656 0-168 64-208 64-274.656 0-432-738.624-226.656-738.624 173.344 0 196.672 216 433.984 216 192 0 304.672-213.376 432.672-213.376 205.312 0 50.688 736-224 736zM304.416 401.312c-79.52 0-144 64.512-144 144 0 79.52 64.48 144 144 144s144-64.48 144-144c0-79.488-64.448-144-144-144zM686.432 481.312c-17.696 0-32 14.304-32 32s14.304 32 32 32 32-14.304 32-32-14.304-32-32-32zM784.448 385.312c-17.696 0-32 14.304-32 32s14.304 32 32 32 32-14.304 32-32-14.336-32-32-32zM784.448 577.312c-17.696 0-32 14.304-32 32s14.304 32 32 32 32-14.304 32-32-14.336-32-32-32zM880.448 481.312c-17.696 0-32 14.304-32 32s14.304 32 32 32 32-14.304 32-32-14.336-32-32-32zM304.416 625.312c-44.16 0-80-35.808-80-80s35.84-80 80-80c44.192 0 80 35.808 80 80s-35.808 80-80 80z" />
<glyph unicode="&#xe972;" glyph-name="alarm" d="M864.416 151.104v-58.4h-704.832v58.4c0 0-15.072 32.288 66.72 109.728 81.728 77.408 70.976 277.504 70.976 413.024s190.336 138.4 190.336 138.4h6.528c0-0.064 0 0.928 0 22.016 0 13.536-45.44 62.56-45.44 62.56l-0.672 29.664h128.32l-0.864-30.784c0 0-49.248-48.992-49.248-63.424 0-13.952 0-18.624 0-20h10.144c0 0 190.336-2.88 190.336-138.4s-10.752-335.648 71.008-413.088 66.688-109.696 66.688-109.696zM592.384 61.76c0-44.32-35.904-92.256-80.192-92.256s-80.192 47.936-80.192 92.256c0-0.992 160.384 1.024 160.384 0z" />
<glyph unicode="&#xe973;" glyph-name="alarm-cancel" d="M889.344 151.104l0.032-58.4h-667.84l529.824 529.856c-0.96-130.528-0.672-293.632 71.296-361.76 81.76-77.44 66.688-109.696 66.688-109.696zM133.568 96.64l680.48 680.448 22.656-22.688-680.448-680.448-22.688 22.688zM251.264 260.8c81.76 77.44 71.008 277.504 71.008 413.056s190.336 138.4 190.336 138.4h6.496c0-0.064 0 0.928 0 22.016 0 13.536-45.44 62.56-45.44 62.56l-0.672 29.664h128.32l-0.896-30.784c0 0-49.216-48.992-49.216-63.424 0-13.952 0-18.624 0-20h10.144c0 0 121.632-2.048 170.336-72.16l-509.088-509.12c7.968 9.12 17.152 18.912 28.672 29.792zM617.344 61.76c0-44.32-35.904-92.256-80.192-92.256-44.32 0-80.224 47.936-80.224 92.256 0-0.992 160.416 1.024 160.416 0z" />
<glyph unicode="&#xe974;" glyph-name="phone1" d="M490.592 327.68c-0.832 0.576-97.088 162.4-97.408 164.48-19.904 43.488-35.968 87.968-2.496 107.712l-138.912 234.24c-36-26.912-137.824-172.96 52.768-503.936 200.768-348.8 391.84-334.304 430.144-310.688l-135.36 228.64c-32-18.816-58.944 12.192-108.736 79.552zM827.584 108.256l0.032 0.192c0 0-105.696 178.112-105.76 178.176-8.384 14.112-26.4 18.56-40.448 10.368l-64.768-38.304 135.744-229.312c0 0 64.768 38.112 64.736 38.24h0.128c14.88 8.832 18.304 27.072 10.336 40.64zM473.152 648.448v0.128c14.88 8.8 18.368 27.040 10.4 40.48l0.064 0.192c0 0-108.736 183.328-108.8 183.36-8.352 14.176-26.432 18.56-40.416 10.368l-64.768-38.304 138.752-234.368c0 0 64.736 38.048 64.768 38.144z" />
<glyph unicode="&#xe975;" glyph-name="phone2" d="M832-64h-672c-35.36 0-64 28.672-64 64v768c0 35.36 28.64 64 64 64v-768c0-35.328 28.672-64 64-64h128c35.36 0 64 28.672 64 64v768h416c35.36 0 64-28.672 64-64v-768c0-35.328-28.64-64-64-64zM672 32h64v64h-64v-64zM672 128h64v64h-64v-64zM672 224h64v64h-64v-64zM672 320h64v64h-64v-64zM576 32h64v64h-64v-64zM576 128h64v64h-64v-64zM576 224h64v64h-64v-64zM576 320h64v64h-64v-64zM832 736c0 17.696-14.304 32-32 32h-288c-17.664 0-32-14.304-32-32v-128c0-17.664 14.336-32 32-32h288c17.696 0 32 14.336 32 32v128zM832 384h-64v-64h64v64zM832 288h-64v-64h64v64zM832 192h-64v-64h64v64zM832 96h-64v-64h64v64zM352 32h-128c-17.664 0-32 14.304-32 32v800c0 17.696 14.336 32 32 32h62.016v64h33.984v-64h32c17.664 0 32-14.304 32-32v-800c0-17.696-14.336-32-32-32z" />
<glyph unicode="&#xe976;" glyph-name="image" d="M896 32v32h-32v32h-32v416h32v32h32v32h32v-544h-32zM864 544h-32v-32h-640v32h-32v32h-32v32h768v-32h-32v-32zM160 544v-32h32v-416h-32v-32h-32v-32h-32v544h32v-32h32zM160 64h32v32h640v-32h32v-32h32v-32h-768v32h32v32zM411.392 224.576l73.152 118.304 73.152-73.728 100.576 151.392 105.152-260.544h-466.304l59.424 118.88 54.848-54.304zM367.712 351.712c-26.528 0-48 21.504-48 48s21.472 48 48 48c26.496 0 48-21.504 48-48s-21.504-48-48-48zM800 608l-234.304 174.4c-11.008-8.864-24.8-14.4-40-14.4-21.152 0-39.808 10.4-51.424 26.272l-250.272-186.272h-32l271.776 208.576c-1.216 4.96-2.048 10.080-2.048 15.424 0 35.328 28.64 64 63.968 64 35.36 0 64-28.672 64-64 0-11.488-3.296-22.144-8.608-31.488l250.912-192.512h-32z" />
<glyph unicode="&#xe977;" glyph-name="open" d="M896-32h-768c-53.024 0-96 43.008-96 96v448c0 53.024 42.976 96 96 96h768c52.992 0 96-42.976 96-96v-448c0-52.992-43.008-96-96-96zM256 382.688c-53.024 0-96-50.144-96-112 0-61.888 42.976-112 96-112 52.992 0 96 50.112 96 112 0 61.856-43.008 112-96 112zM504.96 355.264c-3.68 7.584-8.608 13.504-14.656 17.696-6.080 4.224-13.632 7.072-22.624 8.576-6.4 1.184-15.68 1.76-27.84 1.76h-57.056v-221.248h32.256v64.512h26.944c25.92 0 43.776 11.392 53.728 22.176 9.888 10.816 14.848 57.984 14.848 73.568-0.032 9.024-1.888 25.376-5.6 32.96zM672.768 193.76h-97.856v64.256h94.592v29.76h-94.592v65.76h97.6v29.76h-127.84v-221.248h128.096v31.712zM862.528 383.264h-29.248v-169.92l-96.384 169.92h-32.864v-221.248h31.264v161.952l96.384-161.952h30.88v221.248zM442.336 258.24h-27.296v95.264h26.816c10.976 0 18.496-0.544 22.592-1.632 6.304-1.76 11.424-5.312 15.296-10.752s5.824-12 5.824-19.616c0-10.56-3.296-48.704-9.888-54.528s-17.696-8.736-33.344-8.736zM256 188c-35.328 0-64 35.808-64 80s28.672 80 64 80 64-35.808 64-80-28.672-80-64-80zM800 608l-234.304 174.4c-11.008-8.864-24.8-14.4-40-14.4-21.184 0-39.808 10.4-51.424 26.272l-250.272-186.272h-32l271.776 208.576c-1.216 4.96-2.080 10.080-2.080 15.424 0 35.328 28.672 64 64 64 35.36 0 64-28.672 64-64 0-11.488-3.296-22.144-8.608-31.488l250.912-192.512h-32z" />
<glyph unicode="&#xe978;" glyph-name="sale" d="M896-32h-768c-53.024 0-96 43.008-96 96v448c0 53.024 42.976 96 96 96h64l271.776 208.576c-1.216 4.96-2.048 10.080-2.048 15.424 0 35.328 28.672 64 64 64s63.968-28.672 63.968-64c0-11.488-3.264-22.144-8.608-31.488l250.912-192.512h64c52.992 0 96-42.976 96-96v-448c0-52.992-43.008-96-96-96zM546.272 173.344h128.992v24.256h-101.76v182.016h-27.264v-206.272zM361.696 173.344l22.592 62.496h86.656l23.744-62.496h31.104l-84.096 206.24h-29.568l-79.296-206.24h28.864zM170.944 355.392c-5.888-9.088-8.832-18.848-8.832-29.248 0-9.504 2.4-18.048 7.232-25.728s12.16-14.048 21.984-19.264c7.552-4.032 20.768-8.32 39.648-12.864s31.072-7.904 36.608-10.048c8.608-3.328 14.784-7.328 18.592-12.16s5.728-10.432 5.728-16.896c0-6.336-1.952-12.256-5.824-17.664s-9.792-9.664-17.76-12.768c-7.936-3.136-17.088-4.672-27.456-4.672-11.68 0-22.176 2.016-31.52 6.144-9.376 4.064-16.256 9.44-20.672 16.096s-7.296 15.168-8.512 25.504l-25.76-2.24c0.384-13.792 4.16-26.112 11.328-37.024 7.168-10.944 17.024-19.136 29.6-24.576 12.608-5.44 28.192-8.16 46.816-8.16 14.656 0 27.872 2.688 39.616 8.096 11.744 5.376 20.736 12.864 27.008 22.592 6.272 9.696 9.408 20 9.408 30.976 0 11.040-2.88 20.768-8.608 29.248-5.728 8.512-14.592 15.488-26.624 20.992-8.288 3.744-23.456 8.128-45.536 13.12-22.112 5.024-35.776 9.952-40.992 14.752-5.344 4.736-8 10.848-8 18.24 0 8.576 3.776 15.84 11.296 21.888s19.488 9.088 35.936 9.088c15.808 0 27.744-3.328 35.808-9.92 8.096-6.624 12.8-16.416 14.208-29.344l26.24 1.984c-0.48 12.096-3.84 22.912-10.080 32.448-6.272 9.536-15.232 16.768-26.88 21.696s-25.088 7.36-40.352 7.36c-13.856 0-26.432-2.336-37.76-7.040-11.392-4.672-20-11.52-25.888-20.608zM565.696 782.4c-11.008-8.864-24.768-14.4-39.968-14.4-21.184 0-39.808 10.4-51.456 26.272l-250.272-186.272h576l-234.304 174.4zM861.952 197.6h-126.496v70.24h113.984v24.256h-113.984v63.264h121.76v24.256h-148.992v-206.24h153.76v24.224zM426.048 358.080c3.328-11.296 8.192-25.6 14.624-42.976l21.728-57.024h-70.368l22.88 60.384c4.704 13.024 8.416 26.24 11.136 39.616z" />
<glyph unicode="&#xe979;" glyph-name="direction" d="M575.584 864h-160v-96h160v96zM575.584 480v64h-160v-64h160zM415.584 0h160v256h-160v-256zM799.584 576l-69.984 80 69.984 80h-512l-83.2-80 83.2-80h512zM735.584 448h-512l70.016-80-70.016-80h512l84 80-84 80z" />
<glyph unicode="&#xe97a;" glyph-name="map" d="M639.52 62.4l225.056 102.848v668.352l-225.056-102.816v-668.384zM384.48 165.248l223.36-92.576v668.384l-223.36 92.544v-668.352zM127.392 730.784v-668.384l225.376 92.544v668.384l-225.376-92.544z" />
<glyph unicode="&#xe97b;" glyph-name="trashcan" d="M256 128c0-52.992 42.976-96 96-96h320c52.992 0 96 43.008 96 96l64 512h-640l64-512zM608 544h64v-416h-64v416zM480 544h64v-416h-64v416zM352 544h64v-416h-64v416zM816 768h-208c0 0-14.336 64-32 64h-128c-17.696 0-32-64-32-64h-208c-26.528 0-48-21.472-48-48s0-48 0-48h704c0 0 0 21.472 0 48s-21.504 48-48 48z" />
<glyph unicode="&#xe97c;" glyph-name="vote" d="M31.104 542.176c45.728 220 234.656 385.024 460.992 385.024 226.368 0 415.296-164.992 460.992-384.992h-921.984zM530.208 752.32l-36.544 74.56-37.568-74.56h-73.568l58.528-58.016-15.552-78.4 66.048 32.224 74.496-31.68-22.944 75.168 60.64 60.736h-73.536zM224.288 42.272c-88.128 65.152-159.456 164.896-187.968 276.16h187.968v-276.16zM287.872 383.488h-32.544v128.16h32.544v-128.16zM320.416 511.648h30.528v-128.16h-30.528v128.16zM320.416 352.96h-32.544v30.528h32.544v-30.528zM446.016-46.496c-45.6 4.672-87.264 16.128-128.128 33.184v331.744h128.128v-364.928zM416 352.96v30.528h32.544v-30.528h-32.544zM383.456 383.488v95.616h32.544v-95.616h-32.544zM416 511.648h32.544v-32.544h-32.544v32.544zM479.104 479.136v-95.616h-30.56v95.616h30.56zM607.232 511.648v-32.544h-30.528v-126.144h-32.544v126.144h-32.544v32.544h95.616zM671.776-11.040c-40.8-17.632-82.496-29.664-128.16-34.784v364.256h128.16v-329.472zM639.776 511.648h95.552v-32.544h-63.072v-32.544h63.072v-32.576h-63.072v-30.528h63.072v-30.528h-95.552v158.72zM767.328 46.368v272.064h180.512c-27.936-108.928-95.104-207.008-180.512-272.064z" />
<glyph unicode="&#xe97d;" glyph-name="graduate" horiz-adv-x="1348" d="M1044.448 398.048c0 0-146.944 149.824-349.44 149.824-197.856 0-393.44-149.824-393.44-149.824l-109.856 45.856v-134.528c17.312-5.888 29.984-21.824 29.984-41.12 0-19.488-12.928-35.456-30.496-41.216l32.48-90.592h-95.872l32.768 91.36c-15.744 6.688-26.752 22.24-26.752 40.448 0 17.824 10.688 32.992 25.952 39.904v149.088l-159.776 66.624 703.008 315.552 644.992-319.52-303.552-121.856zM687.008 471.968c203.712 0 303.552-107.84 303.552-107.84v-223.68c0 0-103.84-83.872-319.52-83.872s-287.584 83.872-287.584 83.872v223.68c0 0 99.84 107.84 303.552 107.84zM683.008 104.512c141.184 0 255.648 28.64 255.648 63.904s-114.464 63.904-255.648 63.904-255.616-28.64-255.616-63.904 114.432-63.904 255.616-63.904z" />
<glyph unicode="&#xe97e;" glyph-name="lab" d="M618.624 350.688c0 0-53.248-68-121.28 0-65.984 64-113.984 0-113.984 0l-158.944-313.28c-4.608-17.056 5.536-34.592 22.592-39.168h527.904c17.056 4.576 27.2 22.080 22.624 39.168l-178.912 313.28zM862.048 53.44l-255.328 429.696v0.8l-0.448 251.808h17.632c26.432 0 47.936 21.472 47.936 47.968 0 26.464-21.504 47.936-47.936 47.936h-255.84c-26.464 0-47.936-21.472-47.936-47.936 0-26.496 21.472-47.968 47.936-47.968h15.424l-0.512-251.872-221.056-430.432c-13.696-51.168 16.672-103.744 67.808-117.44h564.512c51.2 13.696 81.568 66.272 67.808 117.44zM785.696-31.936l-547.456 0.608c-34.080 9.152-54.304 44.224-45.184 78.272l222.304 435.712 0.672 285.056h-47.936c-8.8 0-15.968 7.168-15.968 16 0 8.8 7.168 15.968 15.968 15.968h255.84c8.8 0 15.936-7.168 15.936-15.968 0-8.832-7.136-16-15.936-16h-47.936l0.8-284 254.048-437.312c9.152-34.144-11.104-69.216-45.152-78.336zM527.36 879.616c0-17.664 14.336-32 32-32s32 14.336 32 32-14.304 32-32 32-32-14.304-32-32zM559.36 959.616c26.496 0 48 21.472 48 48s-21.504 48-48 48-48-21.472-48-48 21.504-48 48-48zM431.36 879.616c17.696 0 32 14.336 32 32s-14.304 32-32 32-32-14.336-32-32 14.304-32 32-32z" />
<glyph unicode="&#xe97f;" glyph-name="tie" d="M540.864 673.024l39.936 189.568h-203.168l41.504-189.568h121.728zM418.272 637.536l-134.4-428.256 203.2-168.8 187.552 168.8-131.328 428.256h-125.024zM602.688 578.112l93.824-257.92h56.256v57.856l-150.080 200.064z" />
<glyph unicode="&#xe980;" glyph-name="football" horiz-adv-x="1042" d="M713.696 115.424c-267.808-154.624-570.88-131.104-676.928 52.576-106.016 183.68 25.12 457.952 292.96 612.576s570.88 131.136 676.96-52.576c106.048-183.648-25.12-457.92-292.992-612.576zM80.32 408.576c-25.056-75.392-23.392-149.184 11.68-209.984 35.104-60.768 98.144-99.104 176-115.072l-187.68 325.056zM654.688 816.928c-92.8-6.080-195.168-36.672-293.152-93.216-99.68-57.6-178.464-132.544-230.112-211.392l252-436.48c94.112 5.312 198.4 36.032 298.144 93.6 97.952 56.576 175.616 129.952 227.328 207.296l-254.208 440.192zM961.824 481.824c26.048 76.384 24.8 151.232-10.688 212.768-35.552 61.568-99.744 100.032-178.944 115.648l189.632-328.416zM550.56 358.048l-25.952-15.008-31.040 53.696-0.128-0.064-29.312-16.928 31.008-53.696-25.984-15.008-31.008 53.696-0.128-0.064-29.312-16.928 31.008-53.696-25.984-15.008-31.008 53.728-0.128-0.096-55.424-32-16 27.712 55.552 32.096-32.384 56.096 25.984 15.008 32.416-56.096 29.44 16.992-32.416 56.16 25.984 14.976 32.416-56.096 29.44 16.992-32.384 56.128 25.984 14.976 32.416-56.096 29.44 16.992-32.384 56.128 25.984 14.976 32.384-56.096 29.44 16.992-32.384 56.096 25.952 15.008 32.448-56.096 29.44 16.992-32.448 56.128 25.984 14.976 32.384-56.096 57.888 33.376 16-27.712-57.888-33.408 31.008-53.696-25.952-15.008-31.008 53.696-29.44-16.992 31.008-53.696-25.984-15.008-31.008 53.696-0.128-0.064-29.312-16.928 31.008-53.696-25.984-15.008-31.008 53.696-0.128-0.064-29.312-16.928 30.944-53.728z" />
<glyph unicode="&#xe981;" glyph-name="eightball" d="M512 832c-212.096 0-384-171.936-384-384s171.904-384 384-384c212.064 0 384 171.936 384 384s-171.936 384-384 384zM512 238.016c-114.88 0-208 93.12-208 208s93.12 208 208 208 208-93.12 208-208-93.12-208-208-208zM538.656 455.552c9.088 3.392 15.904 8.256 20.384 14.528s6.72 13.664 6.72 22.144c0 13.312-4.864 24.608-14.624 33.856-9.728 9.28-22.56 13.92-38.56 13.92-15.904 0-28.64-4.544-38.176-13.6-9.6-9.056-14.368-20.256-14.368-33.536 0-8.8 2.24-16.352 6.816-22.688 4.512-6.304 11.488-11.2 20.864-14.592-11.264-2.944-19.936-8.416-26.016-16.448-6.080-8.064-9.152-18.048-9.152-29.984 0-16 5.536-29.376 16.64-40.096 11.072-10.688 25.664-16.064 43.744-16.064 18.048 0 32.672 5.344 43.744 16 11.072 10.688 16.64 23.872 16.64 39.52 0 11.328-2.944 21.088-8.832 29.28s-14.528 14.080-25.824 17.76zM483.264 493.632c0 7.616 2.784 14.176 8.384 19.648 5.568 5.472 12.672 8.224 21.248 8.224 8.512 0 15.552-2.784 21.184-8.416 5.632-5.6 8.448-12.512 8.448-20.704 0-7.872-2.752-14.528-8.192-19.968s-12.512-8.16-21.184-8.16c-8.928 0-16.128 2.752-21.632 8.224s-8.256 12.512-8.256 21.152zM539.616 381.888c-6.944-6.944-15.776-10.368-26.56-10.368-6.88 0-13.344 1.632-19.328 4.928-6.016 3.296-10.528 7.936-13.504 13.952s-4.48 12.224-4.48 18.624c0 10.496 3.424 19.264 10.304 26.24s15.616 10.496 26.24 10.496c10.88 0 19.872-3.552 27.008-10.624s10.688-16.064 10.688-26.88c0.032-10.688-3.456-19.488-10.368-26.368z" />
<glyph unicode="&#xe982;" glyph-name="bowling" d="M512 848c-220.928 0-400-179.072-400-400 0-220.896 179.072-400 400-400 220.896 0 400 179.104 400 400 0 220.928-179.104 400-400 400zM453.312 544c-26.496 0-48 21.504-48 48 0 26.528 21.504 48 48 48 26.528 0 48-21.472 48-48 0-26.496-21.472-48-48-48zM533.312 698.656c0 26.528 21.504 48 48 48 26.528 0 48-21.472 48-48s-21.472-48-48-48c-26.496 0-48 21.504-48 48zM624 464c-35.328 0-64 28.672-64 64s28.672 64 64 64 64-28.672 64-64-28.672-64-64-64z" />
<glyph unicode="&#xe983;" glyph-name="bowlingpin" d="M605.056 757.184h-183.936c0 0-122.176-229.312-122.176-426.080 0-104.544 44.416-277.92 44.896-277.92 31.872-126.912 54.56-116.992 175.2-116.992 111.2 0 142.816-10.016 167.904 116.864-0.576-0.544 38.112 171.68 38.112 278.016 0 214.336-120 426.112-120 426.112zM597.504 901.312c0 0 29.504 97.6 29.504 157.568s-30.432 149.504-111.872 149.504c-81.472 0-119.072-88.64-119.072-148.64 0-59.968 32.224-158.432 32.224-158.432h169.216zM590.304 807.328v50.144h-156.64v-50.112h156.64z" />
<glyph unicode="&#xe984;" glyph-name="baseball" d="M638.432 448c0 206.304 106.624 322.208 106.624 322.208s-94.112 76.352-234.656 76.352c-140.544 0-234.688-76.416-234.688-76.416s108.544-88.16 108.544-322.144c0-225.792-109.248-321.664-109.248-321.664s113.568-76.896 235.392-76.896c124.704 0 234.752 76.48 234.752 76.48s-106.72 100-106.72 322.080zM248.928 749.056c0 0-132.576-80.8-132.576-302.4 0-221.568 134.048-294.080 134.048-294.080s97.696 72.544 97.696 294.080c0 221.6-99.168 302.4-99.168 302.4zM771.872 743.072c0 0-99.136-74.816-99.136-296.416 0-221.568 97.632-294.080 97.632-294.080s137.248 72.544 137.248 294.080c0 221.6-135.744 296.416-135.744 296.416z" />
<glyph unicode="&#xe985;" glyph-name="soccer" d="M921.248 635.104c-0.192 0.48-0.448 0.96-0.672 1.472l0.928-0.16-0.256-1.312zM808 249.056l-149.376-6.208-78.016 137.12 80.736 145.792 156.384-5.184 66.752-136.288-76.48-135.232zM406.656 381.92l-78.368 141.792 81.92 136.672 167.072 2.56 82.048-136.096-80.64-145.504-172.032 0.576zM410.112 662.72l-61.76 106.336 82.048 100.096 143.2 4.576 76.32-94.528-73.056-113.92-166.752-2.56zM331.968 248.032l-132.32 12.928-63.744 127.456 55.616 129.216 134.56 5.152 78.4-141.856-72.512-132.896zM793.952 762.912l12.672 25.184c48-41.632 86.944-93.184 113.952-151.52l-47.424 7.552-79.2 118.784zM652.32 780l-76.448 94.624c1.888 2.304 12.064 14.688 12.256 14.88-68.512 11.456-131.008 5.6-172.192-4.064 0.288-0.192 10.208-12.736 12.256-15.328l-82.080-100.096-122.4-20.608-10.912 33.376-1.888-0.576c79.808 71.936 185.152 116.128 301.088 116.128 111.936 0 214.048-41.056 292.8-108.64l-12.928-25.728-139.552 16.032zM148.448 632.896l-51.456-12.128 0.576-2.24 50.56 11.904 41.6-111.104-55.808-129.696c-7.552 0.736-65.952 6.336-65.952 2.784 10.24-85.92 42.848-160.672 99.008-230.592l32.96 96.736 132.096-12.896 83.424-126.592-57.6-93.792c-172.64 63.072-296.192 228.256-296.192 422.72 0 132.672 57.696 251.52 148.96 333.952l11.072-33.984-73.248-115.072zM571.488 114.080l68.672-96.16 1.952 1.376-68.256 95.456 84.8 125.76 149.248 6.176c3.008-6.752 41.248-92.736 40.992-92.736 62.944 73.696 94.56 147.552 105.984 231.744-0.128 0-61.248-0.256-68.448-0.32l-66.816 136.576 53.888 119.712 47.552-7.584 0.128 0.992c26.112-57.024 41.056-120.256 41.056-187.104 0-248.704-201.632-450.336-450.304-450.336-53.408 0-104.384 9.792-151.904 26.848l57.504 93.6 153.952-4zM359.488 23.456l-1.984 1.216 0.384 0.64c0.736-0.288 1.504-0.544 2.24-0.8l-0.64-1.056zM210.592 782.080l0.352 0.128c-0.128-0.096-0.224-0.192-0.288-0.256l-0.064 0.128zM805.248 790.56l2.048-1.024-0.672-1.44c-0.64 0.544-1.184 1.088-1.824 1.632l0.448 0.832z" />
<glyph unicode="&#xe986;" glyph-name="3dglasses" horiz-adv-x="1440" d="M429.696 702.4c54.88 0 68.608-27.424 105.152-22.848 36.576 4.576 4.576 68.576-27.424 114.272s-105.12 22.848-160-9.152c-54.848-32-346.272-209.152-346.272-209.152h254.848c0 0.032 118.848 126.88 173.696 126.88zM0 542.432v-416c0-35.328 28.64-64 64-64 0 0 246.72 0 514.656 0 48.064 0 92 149.344 141.344 149.344 42.848 0 75.072-149.344 117.312-149.344 284.576 0 538.656 0 538.656 0 35.36 0 64.032 28.672 64.032 64v416h-1440zM576 254.4c0-52.992-43.008-96-96-96h-288c-53.024 0-96 43.008-96 96v96c0 53.024 42.976 96 96 96h288c52.992 0 96-42.976 96-96v-96zM1344 254.4c0-52.992-43.008-96-96-96h-288c-53.024 0-96 43.008-96 96v96c0 53.024 42.976 96 96 96h288c52.992 0 96-42.976 96-96v-96zM905.12 679.552c36.576-4.576 50.272 22.848 105.152 22.848 54.848 0 173.728-126.848 173.728-126.848h254.848c0 0-291.424 177.152-346.272 209.152-54.88 32-128 54.848-160 9.152s-64-109.728-27.456-114.304z" />
<glyph unicode="&#xe987;" glyph-name="microwave" horiz-adv-x="1152" d="M1120 64h-255.968v736h255.968c17.696 0 32-14.304 32-32v-672c0-17.664-14.304-32-32-32zM992.032 192h32v32h-32v-32zM992.032 256h32v32h-32v-32zM992.032 320h32v32h-32v-32zM928.032 192h31.968v32h-31.968v-32zM928.032 256h31.968v32h-31.968v-32zM928.032 320h31.968v32h-31.968v-32zM1088.032 672h-160v-96h160v96zM1088.032 352h-32v-32h32v32zM1088.032 288h-32v-32h32v32zM1088.032 224h-32v-32h32v32zM0 96v672c0 17.696 14.336 32 32.032 32h800v-736h-800c-17.696 0-32.032 14.336-32.032 32zM769.248 399.712c17.696 0 32 14.336 32 32 0 17.696-14.304 32-32 32-17.664 0-32-14.304-32-32 0-17.664 14.336-32 32-32zM128 224c0-17.664 14.336-32 32.032-32h511.968c17.696 0 32 14.336 32 32v416c0 17.696-14.304 32-32 32h-511.968c-17.696 0-32.032-14.304-32.032-32v-416z" />
<glyph unicode="&#xe988;" glyph-name="refrigerator" d="M256 96c0-17.696 14.304-32 32-32h32v-32h64v32h256v-32h64v32h32c17.664 0 32 14.304 32 32v256h-512v-256zM288 320h32v-96h-32v96zM736 832h-448c-17.696 0-32-14.336-32-32v-416h512v416c0 17.664-14.304 32-32 32zM320 416h-32v96h32v-96z" />
<glyph unicode="&#xe989;" glyph-name="oven" d="M960 32h-928c-17.696 0-32 14.336-32 32v544h992v-544c0-17.664-14.336-32-32-32zM864 512c0 17.696-14.336 32-32 32h-672c-17.696 0-32-14.304-32-32v-384c0-17.664 14.304-32 32-32h672c17.664 0 32 14.336 32 32v384zM288 480h416v-32h-416v32zM0 768c0 17.696 14.304 32 32 32h64c0 0 7.168 32 15.968 32h256.032c8.8 0 16-32 16-32h224c0 0 7.168 32 16 32h256c8.8 0 16-32 16-32h64c17.664 0 32-14.304 32-32v-128h-992v128zM911.328 671.328c26.528 0 48 21.472 48 48 0 26.496-21.472 48-48 48-26.496 0-48-21.504-48-48 0-26.528 21.472-48 48-48zM785.312 671.328c26.496 0 48 21.472 48 48 0 26.496-21.504 48-48 48s-48-21.504-48-48c0-26.528 21.504-48 48-48zM657.312 671.328c26.528 0 48 21.472 48 48 0 26.496-21.472 48-48 48-26.496 0-48-21.504-48-48 0-26.528 21.504-48 48-48zM529.312 671.328c26.496 0 48 21.472 48 48 0 26.496-21.504 48-48 48s-48-21.504-48-48c0-26.528 21.504-48 48-48z" />
<glyph unicode="&#xe98a;" glyph-name="washingmachine" d="M128 544v-480c0-17.696 14.304-32 32-32h672c17.664 0 32 14.304 32 32v480c0 0-180.576 65.984-368.32 65.984-180.096 0-367.68-65.984-367.68-65.984zM688 316c0-101.632-82.368-184-184-184s-184 82.368-184 184 82.368 184 184 184 184-82.368 184-184zM832 832h-672c-17.696 0-32-14.304-32-32v-224c0 0 185.984 64 367.68 64 186.304 0 368.32-64 368.32-64v224c0 17.696-14.336 32-32 32zM352 704h-160v64h160v-64zM591.968 704c-17.664 0-31.968 14.336-31.968 32s14.304 32 31.968 32c17.696 0 32.032-14.336 32.032-32s-14.336-32-32.032-32zM688 704c-17.696 0-32 14.336-32 32s14.304 32 32 32c17.664 0 32-14.336 32-32s-14.336-32-32-32zM782.016 704c-17.696 0-32 14.336-32 32s14.304 32 32 32c17.664 0 32-14.336 32-32s-14.368-32-32-32zM353.984 316c0-82.848 67.168-150.016 150.016-150.016s150.016 67.168 150.016 150.016c0 0.192-51.328-52.672-150.016 6.016-98.688 58.656-150.016-5.824-150.016-6.016z" />
<glyph unicode="&#xe98b;" glyph-name="mouse" d="M734.592-31.104h-159.488c-105.728 0-191.392 85.696-191.392 191.392v287.104h193.408v-63.808c0-35.232 26.56-63.776 61.824-63.776h31.872c35.264 0 63.808 28.576 63.808 63.776v63.808h193.376v-287.104c0-105.696-87.712-191.392-193.408-191.392zM734.592 511.2c0 35.232-28.576 63.808-63.808 63.808v0 189.408c0 0-41.856 1.984 61.824 1.984s195.392-67.776 195.392-191.392c0-63.456 0-86.336 0-93.696h-193.408v29.888zM641.216 788c0 61.664-29.024 96-87.136 96-61.472 0-108.512-44.288-141.088-132.832l-6.688-18.144c-38.112-103.52-93.984-155.296-167.52-155.296-29.696 0-57.408 11.328-83.168 33.92-25.76 22.624-38.624 46.912-38.624 72.928 0 12.864 6.016 19.328 18.112 19.328 8.16 0 16.576-10.272 25.248-30.784 15.744-37.888 42.048-56.832 78.848-56.832 27.872 0 50.656 8.992 68.416 27.040 17.76 18.016 37.952 52.672 60.544 103.968l14.592 32.352c42.848 95.744 100.576 143.616 173.088 143.616 83.104 0 124.64-47.424 124.64-135.264h-39.264zM702.688 495.264v-95.68c0-26.432-21.408-47.84-47.84-47.84s-47.84 21.408-47.84 47.84v95.68c0 26.432 21.408 47.872 47.84 47.872s47.84-21.44 47.84-47.872zM577.088 766.4c103.648 0 63.776-1.984 63.776-1.984v-189.408c-35.232 0-63.776-28.576-63.776-63.808v-29.92h-193.408c0 7.36 0 30.24 0 93.696 0 123.648 89.728 191.424 193.408 191.424z" />
<glyph unicode="&#xe98c;" glyph-name="smiley" d="M512 832c-212.096 0-384-171.936-384-384s171.904-384 384-384c212.064 0 384 171.936 384 384s-171.936 384-384 384zM640 646.016c26.496 0 48-28.672 48-64s-21.504-64-48-64-48 28.672-48 64 21.504 64 48 64zM381.6 645.6c26.496 0 48-28.672 48-64s-21.504-64-48-64-48 28.672-48 64 21.504 64 48 64zM508 214.016c-131.36 0-219.424 85.984-235.264 228.992h31.008c25.12-110.656 93.12-166.016 204-166.016s178.88 55.328 204 166.016h32c-15.808-143.040-104.384-228.992-235.744-228.992z" />
<glyph unicode="&#xe98d;" glyph-name="sad" d="M512 832c-212.096 0-384-171.904-384-384 0-212.064 171.904-384 384-384 212.064 0 384 171.936 384 384 0 212.096-171.936 384-384 384zM638.016 649.984c26.496 0 48-28.672 48-64s-21.504-64-48-64-48 28.672-48 64 21.472 64 48 64zM382.016 649.984c26.496 0 48-28.672 48-64s-21.504-64-48-64-48 28.672-48 64 21.472 64 48 64zM509.76 311.712c-148 0-193.856-77.408-193.856-77.408s42.656 133.76 194.080 133.76c152.32 0 190.016-138.336 190.016-138.336s-42.24 81.984-190.24 81.984z" />
<glyph unicode="&#xe98e;" glyph-name="mute" d="M512 48.992c-220.384 0-399.008 178.624-399.008 399.008s178.624 399.008 399.008 399.008c220.352 0 399.008-178.624 399.008-399.008s-178.656-399.008-399.008-399.008zM383.904 656.864c-27.552 0-49.888-29.76-49.888-66.496 0-36.704 22.304-66.496 49.888-66.496 27.52 0 49.888 29.792 49.888 66.496 0 36.768-22.368 66.496-49.888 66.496zM379.168 371.488l-16.64-28.8 117.088-67.616-119.2-68.768 16.64-28.768 135.808 78.368 135.808-78.368 16.64 28.768-119.2 68.768 117.088 67.616-16.64 28.8-133.728-77.216-133.664 77.216zM641.504 656.608c-27.488 0-49.856-29.792-49.856-66.496 0-36.736 22.336-66.496 49.856-66.496 27.552 0 49.92 29.76 49.92 66.496-0.032 36.704-22.368 66.496-49.92 66.496z" />
<glyph unicode="&#xe98f;" glyph-name="hand" d="M668.896 191.552l94.688 127.488 111.2 106.24c0 0-37.056 44.192-82.88 44.192-20.576 0-39.424-5.888-56.64-17.664-17.12-11.744-32.736-29.376-46.816-52.96-19.68-6.88-35.008-13.44-46.016-19.68-2.432 24.512-5.376 42.656-8.8 54.4l63.872 247.936c15.136 59.776 18.752 89.984-17.248 105.984s-72.8-28.128-91.744-84.384l-60.576-191.456 1.824 246.208c0 60.448-19.072 90.656-57.216 90.656-38.528 0-57.76-26.784-57.76-80.32v-246.144l-61.952 215.616c-15.36 38.144-42.4 75.712-78.4 63.712s-34.304-71.232-24.32-109.152l55.2-210.208-89.024 147.040c-27.232 47.2-74.208 56.32-84.832 45.312-16.928-17.568-28.256-54.944 2.464-108.608l98.208-170.976 87.68-303.744v-59.040h256v76.128c29.728 20.384 55.424 48.192 93.088 83.424v0z" />
<glyph unicode="&#xe990;" glyph-name="radio" d="M990.944 580.608c-5.728 124.608-55.616 248.928-152.576 344.096-97.12 95.296-224.032 144.288-351.2 149.76l-7.008 70.816c147.104-8.8 290.304-65.952 403.040-176.544 112.96-110.88 171.872-251.168 180.672-395.84l-72.928 7.712zM895.2 565.312l-70.208 9.696c1.152 86.464-31.168 174.016-98.4 240-65.92 64.672-152.928 96.448-239.328 96.64l-12.672 69.472c107.008-2.592 213.92-43.264 295.584-123.36 83.072-81.664 123.84-185.504 125.024-292.448zM725.824 569.472l-62.304 17.248c7.328 44.096-16.192 82.624-50.848 116.672-31.456 30.88-73.728 44.736-114.848 41.664l-24.096 69.12c65.728 4.256 132.864-18.272 183.104-67.584 49.536-48.64 72.544-113.472 68.992-177.12zM593.792 607.712c0-44.832-37.024-81.184-82.72-81.184-15.776 0-30.368 4.576-42.912 12.096l-35.552-34.944 257.28-249.792c-6.304-7.424-12.896-14.88-20.512-22.336-144.256-141.568-378.144-141.568-522.432 0-144.288 141.632-144.288 371.168 0 512.736 6.592 6.528 13.184 12 19.776 17.536l242.336-235.296 34.784 34.144c-9.696 13.28-15.52 29.44-15.52 47.040 0 44.832 37.056 81.184 82.752 81.184s82.72-36.32 82.72-81.184zM278.080 123.264c-3.040 0 84.064-187.264 84.064-187.264h-362.144l124.928 289.312c0 0 37.92-55.264 153.152-102.048z" />
<glyph unicode="&#xe991;" glyph-name="satellite" horiz-adv-x="1064" d="M0 292.384l356.384-356.384c0 0 85.088 201.952-34.656 321.696-118.432 118.432-321.728 34.688-321.728 34.688zM956 264.064l-180.992-180.992 22.624-22.624 180.992 180.992-22.624 22.624zM1046.496 218.816l-203.616 203.68c-24.992 24.928-65.568 24.928-90.496 0l-17.856-17.856-49.92 49.92 89.504 89.504c24.992 24.992 22.176 68.352-2.816 93.344l-110.304 110.304c-24.992 24.992-65.504 24.992-90.496 0l-81.376-78.528-42.88 42.88 2.912 2.88c24.992 24.992 24.992 65.536 0 90.528l-203.648 203.68c-24.992 24.992-65.504 24.992-90.528 0l-135.744-135.776c-24.992-24.992-24.992-65.536 0-90.528l203.648-203.648c24.992-24.992 65.504-24.992 90.528 0l44.512 44.512 44.096-44.48-81.888-81.888c-24.992-24.992-15.552-164.096-15.552-164.096l55.136-55.136c0 0 139.072-9.44 164.064 15.552l70.848 70.816 49.92-49.92-27.968-27.968c-24.992-24.992-24.992-65.504 0-90.496l203.68-203.616c24.992-24.992 65.504-24.992 90.496 0l135.744 135.744c24.992 25.088 24.992 65.6 0 90.592zM41.856 850.752l135.776 135.776c12.48 12.512 32.736 12.512 45.248 0l-181.024-181.024c-12.512 12.48-12.512 32.768 0 45.248zM64.48 782.88l181.024 181.024 22.624-22.624-181.024-181.024-22.624 22.624zM109.728 737.632l181.024 181.024 22.624-22.656-180.992-180.992-22.656 22.624zM155.008 692.352l180.992 181.024 22.656-22.624-181.024-181.024-22.624 22.624zM200.256 647.104l181.024 181.024 22.624-22.624-181.024-181.024-22.624 22.624zM290.752 601.856c-12.48-12.512-32.736-12.512-45.248 0l181.024 181.024c12.512-12.512 12.512-32.768 0-45.248l-135.776-135.776zM381.056 432.064l-16.96 16.992 233.92 233.92 16.992-16.96-233.952-233.952zM639.2 264.064l135.808 135.808c12.512 12.448 32.736 12.448 45.248 0l-181.056-181.056c-12.512 12.512-12.512 32.736 0 45.248zM1023.872 150.944l-135.744-135.744c-12.512-12.512-32.736-12.512-45.248 0l-135.776 135.776 180.992 180.992-22.624 22.624-181.056-180.992-22.624 22.624 181.056 181.056 180.992-181.056c12.544-12.544 12.544-32.8 0.032-45.28zM1001.248 218.816l-180.992-180.992 22.624-22.624 180.992 180.992-22.624 22.624zM910.752 309.312l-180.992-180.992 22.624-22.624 180.992 180.992-22.624 22.624z" />
<glyph unicode="&#xe992;" glyph-name="medal" d="M511.968 527.008c-145.376 0-263.264-117.888-263.264-263.264s117.888-263.264 263.264-263.264c145.408 0 263.264 117.888 263.264 263.264s-117.856 263.264-263.264 263.264zM511.968 38.944c-123.008 0-222.752 99.744-222.752 222.816 0 123.008 99.744 222.72 222.752 222.72 123.072 0 222.752-99.712 222.752-222.72 0-123.072-99.68-222.816-222.752-222.816zM644.352 737.6l90.368 157.92h-445.504l91.744-157.92h263.392zM691.616 468.768l161.344 265.536-108.192 156.608-203.2-357.28c89.152-7.456 150.048-64.864 150.048-64.864zM481.696 535.616l-202.496 355.296-108.16-156.608 156.608-270.208c-0.032 0 56.832 58.624 154.048 71.52zM475.776 322.432c-12.256-9.568-23.552-16-33.984-19.424v-36.192c19.808 6.496 37.024 16.576 51.616 30.24v-150.752h40v209.568h-32.448c-4.544-12.672-12.928-23.872-25.184-33.44z" />
<glyph unicode="&#xe993;" glyph-name="medal1" d="M294.176 318.816c-40 0-45.312 18.688-45.312 18.688l-156-306.56 125.088 14.016 69.184-104c0 0 144 300.576 144 298.56-74.56 1.792-44.96 77.28-136.96 79.296zM645.824 285.92c19.424 32.64 48.128 49.184 86.112 49.696 37.952 0.512 57.184 19.744 57.696 57.728 0.512 37.952 17.056 66.656 49.696 86.048s39.68 45.696 21.12 78.816-18.56 66.272 0 99.392 11.488 59.392-21.12 78.816-49.184 48.096-49.696 86.080c-0.512 37.952-19.744 57.184-57.696 57.696-38.016 0.512-66.688 17.056-86.112 49.696-19.36 32.64-45.696 39.68-78.816 21.12s-66.24-18.56-99.36 0-59.392 11.488-78.816-21.12c-19.424-32.64-48.096-49.184-86.080-49.696-37.952-0.544-57.184-19.776-57.696-57.728-0.512-37.984-17.056-66.656-49.696-86.080s-39.68-45.696-21.12-78.816c18.56-33.12 18.56-66.272 0-99.392s-11.488-59.392 21.12-78.816c32.64-19.424 49.184-48.128 49.696-86.048 0.512-37.984 19.744-57.216 57.696-57.728 37.984-0.512 66.656-17.056 86.080-49.696 19.392-32.64 45.696-39.648 78.816-21.12s66.24 18.528 99.36 0 59.424-11.488 78.816 21.152zM560.576 447.872h-56.992v215.232c-20.832-19.488-45.44-33.888-73.76-43.232v51.744c14.88 4.864 31.072 14.080 48.544 27.68s29.44 29.44 35.936 47.552h46.272v-298.976zM773.12 325.504c-113.984-12-90.816-40.192-116.8-62.176-30.016-32-67.424-25.824-67.424-25.824l176-302.56 43.2 112 123.072-16-158.048 294.56z" />
<glyph unicode="&#xe994;" glyph-name="switch" d="M128 896v-896h736v896h-736zM208 46.688c-17.696 0-32 14.304-32 32 0 17.664 14.304 32 32 32 17.664 0 32-14.336 32-32 0-17.696-14.336-32-32-32zM208.672 784c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32 17.696 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM672 128h-352v640h352v-640zM782.656 49.344c-17.664 0-32 14.336-32 32s14.336 32 32 32 32-14.336 32-32-14.336-32-32-32zM783.328 784c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32 17.696 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM608 704h-224v-320h224v320zM608 352h-224v-160h224v160z" />
<glyph unicode="&#xe995;" glyph-name="key" d="M570.784 398.656l-321.568-321.568c-24.896-24.896-65.376-24.832-90.368 0.16-24.992 24.96-25.056 65.44-0.16 90.336l24.448 24.448-69.28 69.312c-12.512 12.48-12.544 32.704-0.096 45.184 12.48 12.48 32.672 12.416 45.184-0.096l69.312-69.312 22.56 22.56-24.064 24.064c-12.512 12.512-12.544 32.704-0.064 45.184 12.448 12.448 32.672 12.448 45.184-0.064l24.032-24.064 22.56 22.56-69.312 69.312c-12.512 12.512-12.544 32.672-0.064 45.152 12.448 12.48 32.672 12.448 45.184-0.064l69.28-69.312 116.768 116.768c-75.68 105.44-85.088 231.296-15.36 300.992 80.96 80.96 237.792 55.424 350.24-57.056s138.016-269.28 57.024-350.24c-69.792-69.792-195.904-60.224-301.44 15.744zM747.168 665.536c-49.984 49.984-115.776 65.28-146.912 34.112s-15.872-96.896 34.112-146.912c49.984-49.984 115.744-65.248 146.912-34.112s15.84 96.928-34.112 146.912z" />
<glyph unicode="&#xe996;" glyph-name="cord" d="M861.344 367.424l-429.92 429.92c-18.752 18.752-18.752 49.152 0 67.872 18.752 18.752 49.12 18.752 67.872 0l101.824-101.824 124.48 124.448c18.752 18.752 49.12 18.752 67.872 0 18.752-18.72 18.752-49.12 0-67.872l-124.448-124.448 90.496-90.496 124.448 124.448c18.752 18.752 49.152 18.752 67.904 0 18.72-18.752 18.72-49.12 0-67.872l-124.48-124.48 101.856-101.824c18.72-18.752 18.72-49.12 0-67.872-18.752-18.752-49.152-18.752-67.904 0zM669.024 197.728c-41.504-41.472-226.272-45.248-226.272-45.248l-226.272 226.272c0 0 3.776 184.768 45.248 226.272 41.504 41.472 158.4 158.368 158.4 158.368l407.296-407.296c-0.032 0.032-116.928-116.864-158.4-158.368zM216.48 333.504l181.024-181.024c12.512-12.512 12.512-32.736 0-45.248s-32.768-12.512-45.28 0l-180.992 181.024c-12.512 12.512-12.512 32.736 0 45.248s32.736 12.48 45.248 0zM306.976 107.232c0 0-15.2-15.232-33.952-33.952-18.752-18.752-49.12-18.752-67.872 0l-11.328 11.328-90.528-90.496-45.248 45.248 90.528 90.496-11.296 11.296c-18.752 18.752-18.752 49.152 0 67.904s35.808 32.032 35.808 32.032l133.888-133.856z" />
<glyph unicode="&#xe997;" glyph-name="locked" d="M128-32v512h96v160c0 141.376 114.592 256 256 256h32c141.376 0 256-114.624 256-256v-160h96v-512h-736zM471.808 230.816l-23.808-166.816h96l-23.84 166.816c23.328 9.536 39.84 32.416 39.84 59.2 0 35.328-28.672 64-64 64-35.36 0-64-28.672-64-64 0-26.784 16.48-49.664 39.808-59.2zM672 624c0 97.216-78.816 176-176 176-97.216 0-176-78.784-176-176v-144h352v144z" />
<glyph unicode="&#xe998;" glyph-name="unlocked" d="M928 480v144c0 97.216-78.816 176-176 176-97.216 0-176-78.784-176-176v-146.272h160v-509.728h-736v512h480v160c0 141.376 114.592 256 256 256h32c141.376 0 256-114.624 256-256v-160h-96zM368 353.984c-35.36 0-64-28.672-64-64 0-26.784 16.48-49.664 39.808-59.2l-23.808-166.784h96l-23.84 166.816c23.328 9.536 39.84 32.416 39.84 59.2 0 35.328-28.672 63.968-64 63.968z" />
<glyph unicode="&#xe999;" glyph-name="locked1" d="M512-32c-167.904 0-304 136.128-304 304 0 109.12 57.664 204.512 144 258.144v189.856c0 97.216 78.816 176 176 176s176-78.784 176-176v-212.384c68.32-55.744 112-140.544 112-235.616 0-167.872-136.096-304-304-304zM640 720c0 61.856-50.112 112-112 112-61.856 0-112-50.144-112-112v-159.712c30.208 10.048 62.4 15.712 96 15.712 45.824 0 89.056-10.4 128-28.544v172.544zM512 528c-141.376 0-256-114.624-256-256s114.624-256 256-256 256 114.624 256 256-114.624 256-256 256zM512 32c-132.576 0-240 107.424-240 240s107.424 240 240 240c132.576 0 240-107.424 240-240s-107.424-240-240-240zM560 336c0 26.496-21.504 48-48 48s-48-21.504-48-48c0-22.752 16.128-40.864 37.344-45.888l-37.344-146.112h97.984l-42.048 145.632c22.56 3.872 40.064 22.688 40.064 46.368z" />
<glyph unicode="&#xe99a;" glyph-name="unlocked1" d="M896 512v208c0 61.856-50.144 112-112 112s-112-50.144-112-112v-189.856c86.304-53.632 144-149.024 144-258.144 0-167.904-136.096-304-304-304s-304 136.096-304 303.968c0 167.904 136.096 304 304 304 33.6 0 65.792-5.664 96-15.712v159.744c0 97.184 78.816 176 176 176s176-78.816 176-176v-208h-64zM512 528c-141.376 0-256-114.624-256-256s114.624-255.968 256-255.968 256 114.592 256 255.968c0 141.376-114.624 256-256 256zM512 32c-132.576 0-240 107.424-240 239.968 0 132.608 107.424 240.032 240 240.032s240-107.424 240-240.032c0-132.544-107.424-239.968-240-239.968zM560 335.968c0 26.528-21.504 48-48 48s-48-21.472-48-48c0-22.688 16.128-40.864 37.344-45.824l-37.344-146.144h97.984l-42.048 145.6c22.56 3.936 40.064 22.688 40.064 46.368z" />
<glyph unicode="&#xe99b;" glyph-name="magnifier" d="M932.992 1.248l-22.688-22.688c-25.12-25.088-65.76-25.088-90.816 0l-181.632 181.568c-20.992 21.056-23.328 52.608-8.992 77.184l-99.328 99.264c-53.408-39.616-119.296-63.328-190.88-63.328-177.28 0-320.992 143.712-320.992 320.992 0 177.312 143.712 321.024 320.992 321.024 177.312 0 320.992-143.712 320.992-321.024 0-82.528-31.36-157.536-82.56-214.4l97.12-97.12c24.576 14.304 56.128 12 77.12-9.056l181.632-181.568c25.088-25.12 25.088-65.792 0.032-90.848zM578.816 595.552c0 132.96-107.808 240.736-240.768 240.736s-240.768-107.744-240.768-240.736 107.776-240.736 240.736-240.736 240.8 107.776 240.8 240.736z" />
<glyph unicode="&#xe99c;" glyph-name="zoomin" d="M932.992 1.248l-22.688-22.688c-25.12-25.088-65.76-25.088-90.816 0l-181.632 181.568c-20.992 21.056-23.328 52.608-8.992 77.184l-99.328 99.264c-53.408-39.616-119.296-63.328-190.88-63.328-177.28 0-320.992 143.712-320.992 320.992 0 177.312 143.712 321.024 320.992 321.024 177.312 0 320.992-143.712 320.992-321.024 0-82.528-31.36-157.536-82.56-214.4l97.12-97.12c24.576 14.304 56.128 12 77.12-9.056l181.632-181.568c25.088-25.12 25.088-65.792 0.032-90.848zM578.816 595.552c0 132.96-107.808 240.736-240.768 240.736s-240.768-107.744-240.768-240.736 107.776-240.736 240.736-240.736 240.8 107.776 240.8 240.736zM352.064 513.312h-32.096v62.176h-64.192v32.096h64.192v64.224h32.096v-64.224h64.224v-32.096h-64.224v-62.176z" />
<glyph unicode="&#xe99d;" glyph-name="zoomout" d="M255.776 607.584h160.512v-32.096h-160.512zM932.992 92.064l-181.632 181.568c-20.992 21.056-52.576 23.36-77.12 9.056l-97.12 97.12c51.2 56.864 82.56 131.872 82.56 214.4 0 177.312-143.68 321.024-320.992 321.024-177.28 0-320.992-143.712-320.992-321.024 0-177.28 143.712-320.992 320.992-320.992 71.584 0 137.472 23.712 190.88 63.328l99.328-99.264c-14.304-24.608-12-56.128 8.992-77.184l181.632-181.568c25.056-25.088 65.696-25.088 90.816 0l22.688 22.688c25.024 25.088 25.024 65.76-0.032 90.848zM338.016 354.816c-132.96 0-240.736 107.776-240.736 240.736s107.776 240.736 240.736 240.736 240.768-107.776 240.768-240.736-107.776-240.736-240.768-240.736z" />
<glyph unicode="&#xe99e;" glyph-name="stack" d="M287.488 670.496v96.512h608v-446.496h-96.512l1.984-96.992h-98.496v-94.496h-605.952v446.976h95.008v96.512l95.968-2.016zM862.496 736h-544v-65.504l482.496 1.984-1.984-320.992h63.488v384.512zM768 639.488h-545.504v-63.488h480v-319.488h65.504v382.976zM127.488 544.992v-384.992h544v384.992h-544z" />
<glyph unicode="&#xe99f;" glyph-name="stack1" d="M96 128h608v448h-608v-448zM190.016 608h545.984v-384h64v448h-608l-1.984-64zM288 768l-1.984-64h545.984v-384h64v448h-608z" />
<glyph unicode="&#xe9a0;" glyph-name="stack2" d="M915.456 600.128l-403.456 276.224-403.456-276.224 403.456-276.192 403.456 276.192zM512 262.304l-356.128 234.816-47.328-49.12 403.456-276.192 403.456 276.192-47.968 50.176-355.488-235.872zM512 110.112l-356.128 234.816-47.328-49.12 403.456-276.192 403.456 276.192-47.968 50.176-355.488-235.872z" />
<glyph unicode="&#xe9a1;" glyph-name="davidstar" d="M512 737.28l59.936-97.28h-119.84l59.904 97.28zM793.568 279.552h-119.2l59.296 96.576 59.904-96.576zM230.464 279.552l59.904 96.576 59.296-96.576h-119.2zM383.808 224l128.192-208 128.224 208h255.776l-128.192 207.68 128.192 208.32h-255.776l-128.224 208-128.192-208h-255.808l128.224-208.32-128.224-207.68h255.808zM793.568 584.448l-59.904-97.12-59.296 97.12h119.2zM512 126.752l-59.904 97.248h119.84l-59.936-97.248zM324.512 431.68l93.44 152.768h188.128l93.472-152.768-94.048-152.128h-187.52l-93.472 152.128zM230.464 584.448h119.2l-59.296-97.12-59.904 97.12z" />
<glyph unicode="&#xe9a2;" glyph-name="cross" d="M191.328 608.832v-160.672h225.312v-383.68h161.344v383.68h222.656v160.672h-222.656v222.656h-161.344v-222.656h-225.312z" />
<glyph unicode="&#xe9a3;" glyph-name="moonandstar" d="M613.824 117.504c-180.32 0-328.32 148.992-328.32 330.496 0 182.88 145.248 330.496 331.936 330.496 64 0 128-25.792 128-25.792-72.864 51.2-148.64 76.768-227.328 76.768-106.944 0-197.76-37.024-272.512-111.104s-112.096-164.192-112.096-270.368c0-105.504 37.216-195.456 111.616-269.888s164.352-111.616 269.888-111.616c136.384 0 219.904 70.432 230.432 77.312 0 0-67.616-26.304-131.616-26.304zM689.696 426.88l-34.048-105.728 89.824 64.96 89.312-64.96-34.048 105.728 89.824 64.64h-111.040l-34.080 105.536-34.56-105.536h-111.008l89.824-64.64z" />
<glyph unicode="&#xe9a4;" glyph-name="transformers" d="M803.68 791.52l1.44 46.56c-86.208 43.136-181.952 68.96-287.136 68.96s-212.896-25.824-299.104-68.96l1.44-46.56 291.68-191.392 291.68 191.392zM512 814.208c60 0 110.336-19.232 110.336-19.232l-110.336-74.144-110.336 74.144c0 0 50.336 19.232 110.336 19.232zM578.336 192.736v224.64l14.976 193.12-81.312-53.472-79.328 53.472 16.96-193.12v-224.64h128.704zM396.48 631.168l-217.248 144.832-1.44 56.352h-127.872l18.976-273.6 155.2-110.912h189.664l-17.28 183.328zM149.92 619.104l205.184-96.576 3.424-31.648-203.424 92-5.184 36.224zM141.28 717.376l203.456-98.272 5.152-34.208-205.152 94.56-3.456 37.92zM137.856 110.432l151.52-77.568v301.184l-89.472 55.68v34.496l-87.936 60.352 25.888-374.144zM417.728 160.256v224.384l-98.272-49.984v-325.952l44.288-27.552 60.352 147.136h175.872l60.352-147.136 46.272 27.552v325.92l-98.272 49.984v-224.384h-190.592zM453.376 93.76l-44.832-125.824h206.912l-44.8 125.824h-117.28zM610.272 447.872h189.664l155.2 110.912 18.976 273.6h-127.872l-1.472-56.384-217.28-144.832-17.216-183.296zM868.896 582.88l-205.472-96 5.472 35.648 205.184 96.576-5.184-36.224zM879.264 679.456l-205.184-96.576 5.184 36.224 203.456 98.272-3.456-37.92zM912 484.608l-87.904-60.352v-34.496l-88.16-55.68v-301.184l150.208 77.568 25.856 374.144z" />
<glyph unicode="&#xe9a5;" glyph-name="batman" horiz-adv-x="1248" d="M624 824c-344.64 0-624-168.352-624-376s279.36-376 624-376 624 168.352 624 376-279.36 376-624 376zM977.76 207.040c0-1.984 62.432 75.424 12.48 127.392-59.968 67.968-163.712-33.792-163.712-33.792-81.984 161.888-205.568-100.64-205.568-100.64s-107.136 247.392-199.072 97.504c1.984 0-76.256 89.376-154.208 47.392-55.968-55.968 0-130.912 0-130.912-291.808 101.952-310.784 399.744 94.464 521.152-114.432-143.392 210.88-340.768 186.88 11.008l68.96-60.48c0 0 69.472 57.472 69.472 61.472-8-351.776 299.808-145.408 195.872-15.488 365.728-105.856 428.192-358.72 94.432-524.608z" />
<glyph unicode="&#xe9a6;" glyph-name="spaceinvaders" horiz-adv-x="1056" d="M958.816 160.576v190.304h-93.12v-191.008h-97.184v-94.496h-225.536v95.2h225.536v95.104h-479.712v-95.136l192.96-0.672v-95.136h-193.632v94.432h-97.152v192.32h-93.152v-190.304h-97.824v288.128h95.84v92.512h95.136v97.824h97.824v95.808h95.808v-96.096l287.456-0.768v96.864h95.808v-97.152h97.824v-95.168h94.496v-95.136h96.448v-287.424h-97.824zM384.608 543.84h-95.808v-95.84h95.808v95.84zM767.872 543.84h-95.808v-95.84h95.808v95.84zM190.976 831.264h97.824v-95.808h-97.824v95.808zM865.696 831.264v-95.808h-97.824v95.808h97.824z" />
<glyph unicode="&#xe9a7;" glyph-name="skeletor" d="M639.072 492.736c18.496 2.816 53.312 15.104 65.568 24.672 13.376 7.808 20.32 17.088 20.736 27.904 1.312 16.48 0.576 32.48-2.24 48.032-2.816 15.584-5.984 33.312-9.44 53.216-37.632-59.296-88.672-99.296-153.152-120.064l-7.168-15.552c30.304-19.488 58.88-25.536 85.696-18.208v0zM429.44 526.496c-64.896 20.768-116.192 60.768-153.824 120.064-3.040-19.904-6.048-37.632-9.088-53.216-3.040-15.552-3.68-31.552-1.952-48.032 0.864-11.264 7.776-20.544 20.768-27.904 9.792-8.064 48.352-23.136 64.896-24.672 26.816-7.328 55.36-1.28 85.696 18.176l-6.496 15.584zM448.576 415.52c-4.96-12.992-4-33.184 2.944-50.496h30.112v95.296c-12.576-16.896-28.096-31.808-33.056-44.8zM513.696 365.024h29.056c1.728 4.736 3.040 14.016 3.904 17.728s1.312 7.68 1.312 12c0 11.68-2.528 22.272-7.52 31.808-4.992 9.504-18.048 20.736-26.752 33.76v-95.296zM850.176 683.072c6.496-25.536 8.672-51.488 6.496-77.888-4.32-52.8-26.816-105.792-67.488-147.328l35.712-68.16-52.608-59.712c-74.432 35.52-98.016-1.408-98.016-53.216v-212.768h-33.504v190.848h-30.272v-190.848h-34.816v190.848h-30.016v-190.848h-33.088v190.848h-30.016v-190.848h-33.056v190.272l-30.048 0.576v-190.848h-34.88v190.848h-30.176v-190.848h-33.12v212.768c0 52-27.744 91.36-102.336 53.216l-53.856 59.712 37.632 68.16c-40.672 41.536-62.432 94.432-67.2 147.616-2.4 26.656-0.448 52.704 5.824 78.24 31.904 129.792 143.872 150.336 165.824 153.824 124.96 17.312 250.176 17.312 375.584 0 21.408-3.68 134.816-26.208 167.424-154.464z" />
<glyph unicode="&#xe9a8;" glyph-name="lamp" d="M546.336 480.096v-128.192c17.696 0 32.032-14.336 32.032-32.064v-32.032c0 0 98.144-40.064 98.144-126.176s-70.784-162.24-70.784-162.24h-183.584c0 0-68.096 76.128-70.080 162.24 0 88.128 98.112 126.176 98.112 126.176v32.032c0 17.728 14.336 32.064 32.032 32.064v128.192h-200.256v-213.952c13.728-3.616 24.064-15.552 24.064-30.432 0-17.696-14.368-32.032-32.064-32.032s-32.032 14.336-32.032 32.032c0 14.88 10.304 26.816 24.032 30.432v213.952h-104.16l244.32 384.544h219.072l237.024-384.544h-315.872z" />
<glyph unicode="&#xe9a9;" glyph-name="lamp1" d="M562.24 380.224c-51.136 41.792-83.776 105.344-83.776 176.544 0 35.776 8.96 69.184 23.648 99.328l-35.136 35.104-213.44-213.472c39.68-31.232 35.68-61.76-10.752-91.52l285.152-285.12h139.744c17.984 0 32.576-14.592 32.576-32.576v-32.576h-152.576l-0.352-0.352-0.352 0.352h-237.376v32.544c0 17.984 14.592 32.576 32.576 32.576h139.744l-268.992 268.96c-53.152-22.784-79.392-0.768-78.272 66.88 1.216 71.968 31.712 91.168 90.848 58.784l218.528 218.528-21.632 21.6c-12.704 12.672-12.704 33.312 0 46.016l69.056 69.056c12.704 12.704 33.344 12.704 46.048 0l83.2-83.264c26.496 10.784 55.328 16.96 85.696 16.96 74.944 0 141.504-32.16 183.008-88.064 1.408-0.352-325.984-316.8-327.168-316.288zM814.176 583.872c0 0 54.944-69.152 0-124.096s-123.424 0.672-123.424 0.672l123.424 123.424z" />
<glyph unicode="&#xe9aa;" glyph-name="umbrella" d="M858.88 421.632c0 0-35.808 58.656-75.616 58.656-39.744 0-81.504-60.64-81.504-60.64s-43.744 60.576-79.552 60.576c-30.304 0-65.984-41.664-76.32-54.528v-231.68c0-23.2-2.368-42.816-7.136-59.008-4.736-16.128-11.776-29.248-21.088-39.36-9.28-10.112-20.864-17.504-34.752-22.048-13.856-4.576-29.92-6.816-48.16-6.816-16.608 0-31.456 2.496-44.608 7.488-13.152 5.056-24.224 12.192-33.248 21.504s-15.968 20.512-20.8 33.696c-4.8 13.12-7.264 27.808-7.264 44v22.368h63.36c0-20.992-0.16-48.512 7.488-59.2 7.648-10.624 19.328-16 35.040-16 10.592 0 25.728 5.248 25.728 5.248s11.584 8.32 15.072 14.624c3.456 6.24 6.976 22.688 6.976 22.688s1.792 18.56 1.792 29.184v236.992c-14.176 16.032-48.96 51.904-76.832 51.904-35.776 0-85.504-59.648-85.504-59.648s-47.712 59.648-79.552 59.648c-31.808 0-77.536-59.648-77.536-59.648s-13.952 312.192 302.24 344l45.76 63.616 43.776-63.616c326.048-19.872 302.24-344 302.24-344z" />
<glyph unicode="&#xe9ab;" glyph-name="streetlight" d="M672.992 320.608v128l94.016 94.016h-94.016v129.984l94.016 94.016h-94.016v53.984c0 0-106.144 44.8-179.232 44.8-70.912 0-172.768-44.8-172.768-44.8v-54.016h-96l96-96v-129.984l-96 1.984 96-96v-128h-97.984l97.984-97.984v-158.016h126.016l1.984-64 96 1.984v62.016h128v161.984l96 96h-96zM498.304 127.296c-52.992 0-96 42.976-96 96 0 52.992 43.008 95.968 96 95.968 53.024 0 96-42.976 96-95.968 0-53.056-42.976-96-96-96zM498.304 349.28c-52.992 0-96 42.976-96 96 0 52.992 43.008 96 96 96 53.024 0 96-43.008 96-96 0-53.024-42.976-96-96-96zM498.304 575.264c-52.992 0-96 43.008-96 96.032 0 52.992 43.008 96 96 96 53.024 0 96-43.008 96-96 0-53.056-42.976-96.032-96-96.032z" />
<glyph unicode="&#xe9ac;" glyph-name="bomb" horiz-adv-x="1168" d="M1063.296 706.304l105.088-14.848-93.44-49.472 67.744-61.888-98.080 12.384 60.704-126.24-121.44 91.584-100.448-121.28 46.72 150.944-147.168-79.2 102.752 111.36-7.040 27.392c-27.744-13.824-67.040-27.936-108.128-26.304-54.496 0-122.176 38.016-203.040 105.984 0 0-91.552 96.832-168.512 96.832-79.168 0-71.424-119.104-71.328-120.288h89.664v-81.024c113.984-43.904 191.008-154.176 191.008-283.68 0-168-136.192-304.192-304.192-304.192s-304.16 136.256-304.16 304.256c0 129.472 79.008 239.776 192.992 283.68v81.024h80.128c-0.096 0.608-9.216 87.808 36.8 136.192 24.544 25.792 54.528 38.688 90.016 38.688 106.784 0 202.624-112.384 202.624-112.384 70.24-60.288 127.52-90.4 171.84-90.4 17.984 0 54.592 11.328 73.408 17.568l-57.824 45.504 100.448-7.392-77.056 118.784 126.112-89.088 14.016 84.16 23.328-76.736 93.44 111.36-21.024-123.744 107.424 24.736-93.376-74.272z" />
<glyph unicode="&#xe9ad;" glyph-name="archive" d="M418.24 793.536l-185.472 49.696c-17.056 4.576-34.592-5.568-39.168-22.624l-190.496-710.912c-4.576-17.088 5.568-34.624 22.656-39.232l185.44-49.696c17.056-4.576 34.624 5.568 39.2 22.624l190.496 710.944c4.544 17.056-5.568 34.624-22.656 39.2zM248.96 161.824c-13.728-51.232-66.336-81.6-117.568-67.872s-81.6 66.336-67.872 117.568 66.336 81.632 117.568 67.872c51.232-13.728 81.6-66.368 67.872-117.568zM285.728 298.976l-185.44 49.696 99.36 370.912 185.472-49.728-99.392-370.88zM606.016 224c-26.528 0-48-21.504-48-48s21.472-48 48-48c26.496 0 48 21.504 48 48s-21.504 48-48 48zM345.952 647.264l-123.68 33.12-8.256-30.912 123.648-33.12 8.288 30.912zM321.056 554.528l8.32 30.912-123.648 33.12-8.288-30.912 123.616-33.12zM168.16 231.104c-25.6 6.88-51.936-8.352-58.784-33.952-6.88-25.632 8.32-51.936 33.952-58.784 25.6-6.88 51.936 8.32 58.784 33.952 6.848 25.6-8.352 51.904-33.952 58.784zM958.016 672h-128v-32h128v32zM958.016 544h-128v-32h128v32zM958.016 608h-128v-32h128v32zM894.016 224c-26.528 0-48-21.504-48-48s21.472-48 48-48c26.496 0 48 21.504 48 48s-21.504 48-48 48zM990.016 832h-192c-17.696 0-32-14.304-32-32v-736c0-17.664 14.304-32 32-32h192c17.664 0 32 14.336 32 32v736c0 17.696-14.368 32-32 32zM894.016 80c-53.024 0-96 43.008-96 96 0 53.024 42.976 96 96 96 52.992 0 96-42.976 96-96 0-52.992-43.008-96-96-96zM990.016 320h-192v384h192v-384zM670.016 672h-128v-32h128v32zM670.016 544h-128v-32h128v32zM702.016 832h-192c-17.696 0-32-14.304-32-32v-736c0-17.664 14.304-32 32-32h192c17.664 0 32 14.336 32 32v736c0 17.696-14.368 32-32 32zM606.016 81.984c-53.024 0-96 43.008-96 96 0 53.024 42.976 96 96 96 52.992 0 96-42.976 96-96 0-52.992-43.008-96-96-96zM702.016 320h-192v384h192v-384zM670.016 608h-128v-32h128v32zM180.864 525.856l123.616-33.12 8.32 30.912-123.648 33.12-8.288-30.912z" />
<glyph unicode="&#xe9ae;" glyph-name="battery" d="M896 512c-17.696 0-32 0-32 0v32c0 35.328-28.672 64-64 64h-640c-35.328 0-64-28.672-64-64v-224c0-35.328 28.672-64 64-64h640c35.328 0 64 28.672 64 64v32c0 0 14.304 0 32 0 17.664 0 32 14.336 32 32v96c0 17.696-14.336 32-32 32zM832 320c0-17.664-14.336-32-32-32h-640c-17.696 0-32 14.336-32 32v224c0 17.696 14.304 32 32 32h640c17.664 0 32-14.304 32-32v-224zM160 320h192v224h-192v-224zM384 320h192v224h-192v-224zM608 320h192v224h-192v-224z" />
<glyph unicode="&#xe9af;" glyph-name="battery1" d="M896 512c-17.696 0-32 0-32 0v32c0 35.328-28.672 64-64 64h-640c-35.36 0-64-28.672-64-64v-224c0-35.328 28.64-64 64-64h640c35.328 0 64 28.672 64 64v32c0 0 14.304 0 32 0 17.664 0 32 14.336 32 32v96c0 17.696-14.336 32-32 32zM832 320c0-17.664-14.336-32-32-32h-640c-17.696 0-32 14.336-32 32v224c0 17.696 14.304 32 32 32h640c17.664 0 32-14.304 32-32v-224zM160 320h192v224h-192v-224zM384 320h192v224h-192v-224z" />
<glyph unicode="&#xe9b0;" glyph-name="battery2" d="M896 512c-17.696 0-32 0-32 0v32c0 35.328-28.672 64-64 64h-640c-35.36 0-64-28.672-64-64v-224c0-35.328 28.64-64 64-64h640c35.328 0 64 28.672 64 64v32c0 0 14.304 0 32 0 17.664 0 32 14.336 32 32v96c0 17.696-14.336 32-32 32zM832 320c0-17.664-14.336-32-32-32h-640c-17.696 0-32 14.336-32 32v224c0 17.696 14.304 32 32 32h640c17.664 0 32-14.304 32-32v-224zM160 320h192v224h-192v-224z" />
<glyph unicode="&#xe9b1;" glyph-name="battery3" d="M896 352c-17.696 0-32 0-32 0v-32c0-35.328-28.64-64-64-64h-640c-35.36 0-64 28.672-64 64v224c0 35.328 28.64 64 64 64h640c35.36 0 64-28.672 64-64v-32c0 0 14.304 0 32 0s32-14.304 32-32v-96c0-17.664-14.304-32-32-32zM832 544c0 17.696-14.304 32-32 32h-640c-17.696 0-32-14.304-32-32v-224c0-17.664 14.304-32 32-32h640c17.696 0 32 14.336 32 32v224z" />
<glyph unicode="&#xe9b2;" glyph-name="battery4" d="M608.352 32.352h-224.672c-35.168 0-63.616 28.48-63.616 63.616v608.448c0 35.136 28.48 63.616 63.616 63.616h33.824c0 0 0-1.664 0 15.904s12.256 47.712 29.824 47.712h95.424c17.568 0 31.808-30.144 31.808-47.712s0-15.904 0-15.904h33.824c35.168 0 63.616-28.512 63.616-63.616v-608.448c-0.032-35.168-28.512-63.616-63.648-63.616zM542.72 670.592h-31.808v31.808h-29.824v-31.808h-31.808v-31.808h31.808v-31.808h29.824v31.808h31.808v31.808zM640.16 545.344h-288.32v-449.376c0-17.6 14.24-31.808 31.808-31.808h224.672c17.568 0 31.808 14.208 31.808 31.808v449.376zM447.296 161.6h97.44v-33.824h-97.44v33.824z" />
<glyph unicode="&#xe9b3;" glyph-name="megaphone" d="M898.4 380.128v-252.672c0-17.664-9.984-31.968-31.936-31.968-5.312 0-18.464 11.328-34.624 28.384v678.208c16.16 17.056 29.312 28.384 34.624 28.384 23.936 0 31.936-14.304 31.936-31.936v-259.072c43.296-1.216 83.616-36.32 83.616-79.648 0-43.36-40.32-78.464-83.616-79.68zM384.48 318.528c1.984 0 0 288.928 0 288.928 219.424 0 349.504 96.32 418.048 162.368v-613.664c-68.544 66.016-198.624 162.368-418.048 162.368zM256.672 65.536l-63.904 253.664h-63.936c0 0-19.008 43.136-27.648 95.872-16.288 0-30.528 0-36.288 0-17.632 0-31.936 14.304-31.936 31.968v31.936c0 17.664 14.304 31.968 31.936 31.968 5.76 0 20 0 36.288 0 8.672 52.736 27.648 95.84 27.648 95.84h223.68v-287.584h-63.904l8.064-31.936h31.904l15.968-63.936h-31.808l39.776-157.792h-95.84z" />
<glyph unicode="&#xe9b4;" glyph-name="megaphone1" d="M912 96c-26.496 0-48 21.504-48 48v576c0 26.496 21.504 48 48 48s48-21.504 48-48v-576c0-26.496-21.504-48-48-48zM672 160c0-35.328-28.672-64-64-64h-288c-35.328 0-64 28.672-64 64v126.688l-127.712 28.416v231.328l704.768 155.296v-543.488l-161.056 35.808v-34.048zM640 201.184l-352 78.368v-119.552c0-17.664 14.336-32 32-32h288c17.696 0 32 14.336 32 32v41.184zM64 288c-17.664 0-32 14.336-32 32v224c0 17.696 14.336 32 32 32s32-14.304 32-32v-224c0-17.664-14.336-32-32-32z" />
<glyph unicode="&#xe9b5;" glyph-name="patch" d="M88.672 273.632c-37.504-37.504-37.504-98.272 0-135.776l113.152-113.12c37.472-37.504 98.24-37.504 135.744 0l158.4 158.368-248.864 248.896-158.432-158.368zM269.728 454.624l248.896-248.896 203.616 203.648-248.864 248.896-203.648-203.648zM384 416h-32v32h32v-32zM448 352h-32v32h32v-32zM448 416h-32v32h32v-32zM448 480h-32v32h32v-32zM608 448h32v-32h-32v32zM544 512h32v-32h-32v32zM544 448h32v-32h-32v32zM544 384h32v-32h-32v32zM480 576h32v-32h-32v32zM480 512h32v-32h-32v32zM480 448h32v-32h-32v32zM480 384h32v-32h-32v32zM480 320h32v-32h-32v32zM903.328 726.144l-113.152 113.12c-37.504 37.504-98.272 37.504-135.776 0l-158.4-158.368 248.864-248.896 158.432 158.4c37.472 37.472 37.472 98.272 0.032 135.744z" />
<glyph unicode="&#xe9b6;" glyph-name="pil" d="M179.232 364.128c-62.464-62.496-62.464-163.808 0-226.304l22.656-22.624c62.464-62.432 163.776-62.432 226.272 0l180.992 181.056-248.896 248.896-181.024-181.024zM405.504 137.824c-49.984-49.984-131.040-49.984-180.992 0l-22.624 22.624c-49.984 49.984-49.984 131.072 0 181.056l158.368 158.368 203.648-203.616-158.4-158.432zM812.8 726.144l-22.624 22.624c-62.464 62.496-163.776 62.496-226.272 0l-181.024-180.992 248.896-248.896 181.024 180.992c62.496 62.496 62.496 163.808 0 226.272z" />
<glyph unicode="&#xe9b7;" glyph-name="injection" d="M773.12 665.376c12.096-12.064 12.096-31.648 0-43.744-12.096-12.064-21.92-21.888-21.92-21.888l21.92-21.888c24.16-24.16 24.16-63.328 0-87.52l-328.16-328.096c-24.192-24.192-63.36-24.192-87.52 0l-21.888 21.888-87.488-87.552 43.744-43.744c12.096-12.064 12.096-31.616 0-43.744-12.096-12.064-31.68-12.064-43.744 0l-175.040 175.072c-12.064 12.064-12.064 31.616 0 43.744 12.096 12.064 31.68 12.064 43.744 0l43.744-43.744 87.52 87.488-21.888 21.888c-24.192 24.128-24.192 63.328 0 87.488l328.192 328.128c24.192 24.192 63.328 24.192 87.488 0l21.888-21.888c0 0 9.824 9.824 21.888 21.888 12.096 12.096 31.68 12.096 43.744 0l10.944-10.944 175.040 175.040v-43.744l-153.152-153.152 10.944-10.976zM619.968 687.264c-12.064 12.096-31.648 12.096-43.744 0l-65.632-65.632 43.744-43.744-21.888-21.888-43.744 43.744-65.632-65.632 43.744-43.776-21.888-21.888-43.776 43.776-21.888-21.888 87.52-87.488-21.888-21.888-87.52 87.488-65.568-65.568 87.488-87.488-21.888-21.888-87.488 87.488-21.888-21.888c-12.096-12.064-12.096-31.68 0-43.744l131.264-131.264c12.096-12.128 31.68-12.128 43.776 0l328.128 328.128c12.128 12.064 12.128 31.648 0 43.744l-131.232 131.296zM532.48 643.52l21.888 21.888 87.488-87.488-21.888-21.888-87.488 87.488zM532.48 468.512l-87.488 87.52 21.888 21.888 87.488-87.52-21.888-21.888zM313.696 424.736l21.888 21.888 43.744-43.744-21.888-21.888-43.744 43.744zM958.144 659.648c0-23.2-18.816-41.984-41.984-41.984-23.232 0-42.016 18.816-42.016 41.984 0 23.232 42.016 86.656 42.016 86.656s41.984-63.456 41.984-86.656z" />
<glyph unicode="&#xe9b8;" glyph-name="thermometer" d="M606.688 386.784v29.344h98.016v-29.344h-98.016zM606.688 480.8h98.016v-31.328h-98.016v31.328zM606.688 543.52h98.016v-31.36h-98.016v31.36zM606.688 608.224h98.016v-31.328l-98.016 1.984v29.344zM606.688 674.912h98.016v-33.344h-98.016v33.344zM606.688 737.6h98.016v-31.36h-98.016v31.36zM663.456 187.104c0-103.872-84.224-188.096-188.096-188.096s-188.096 84.224-188.096 188.096c0 71.232 37.6 133.152 95.968 165.088v418.784c0 51.936 44.096 94.016 96.032 94.016s94.048-42.080 94.048-94.016v-423.52c54.016-33.088 90.144-92.416 90.144-160.352zM541.984 328.48v442.496c0 34.624-28.064 62.688-62.688 62.688s-62.688-28.064-62.688-62.688v-438.752c-57.408-23.296-97.984-79.36-97.984-145.12 0-86.56 70.176-156.736 156.736-156.736s156.704 70.176 156.704 156.736c0.032 62.656-36.96 116.256-90.080 141.376zM475.36 61.696c-69.28 0-125.408 56.16-125.408 125.408 0 59.808 41.952 109.632 97.984 122.176v298.944h62.72v-301.376c51.936-15.328 90.112-62.848 90.112-119.744 0-69.248-56.128-125.408-125.408-125.408z" />
<glyph unicode="&#xe9b9;" glyph-name="lamp2" d="M516.16 903.008c-171.872 0-262.080-135.552-262.080-258.88 0-138.368 128.768-225.376 128.768-451.648h130.4c0 0 122.464-0.576 126.176-0.576 3.712 227.936 130.496 317.6 130.496 453.312 0.032 115.808-81.888 257.792-253.76 257.792zM623.168 159.008h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM623.168 95.008h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM415.168 31.008c0 0 0-14.304 0-32 0-17.664 14.304-32 32-32h128.448c17.696 0 32 14.336 32 32 0 17.696 0 32 0 32h-192.448z" />
<glyph unicode="&#xe9ba;" glyph-name="lamp3" d="M681.76 659.040c17.056 4.608 27.2 22.112 22.624 39.2s-22.112 27.232-39.2 22.624l-322.912-99.36c-17.088-4.576-27.2-22.112-22.656-39.2 4.576-17.056 22.112-27.232 39.2-22.624l26.656 8.192 30.528-55.616h-32c-35.328 0-64-28.672-64-64v-133.344l64-90.656h256l64 90.656v133.344c0 35.328-28.672 64-64 64h-32l64.48 143.936 9.28 2.848zM544 512.256h-64l-39.776 72.448 158.016 48.64-54.24-121.088zM665.184 816.832l-322.912-99.36c-17.088-4.576-27.2-22.112-22.656-39.2 4.576-17.056 22.112-27.232 39.2-22.624l322.912 99.36c17.056 4.608 27.2 22.112 22.624 39.2s-22.112 27.232-39.168 22.624zM358.816 751.648l322.912 99.36c17.056 4.608 27.2 22.112 22.624 39.2s-22.112 27.232-39.2 22.624l-322.88-99.36c-17.088-4.576-27.2-22.112-22.656-39.2 4.576-17.056 22.144-27.2 39.2-22.624zM624 192.256h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM624 128.256h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM624 64.256h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM464 0.256c-3.232-26.304 21.504-48 48-48s48 21.504 48 48c0-1.376-96-3.392-96 0zM360.672 846.208l213.76 66.976c16.864 5.28 26.24 23.264 20.96 40.096-5.28 16.864-23.232 26.272-40.096 20.992l-213.76-66.976c-16.864-5.28-26.24-23.264-20.96-40.128 5.28-16.832 23.232-26.24 40.096-20.96z" />
<glyph unicode="&#xe9bb;" glyph-name="lamp4" d="M567.904 511.456c-40-17.984-128.704 26.080-128.704 26.080-103.936 62.304 39.040-194.336 39.040-194.336s2.976-80.096 20.96-90.080c149.984 210.016 108.704 276.352 68.704 258.336zM513.92 312.32c-12.128 0-63.104 152.928-57.088 184.928 40.032-4 77.088-19.104 99.104-7.104 61.984 28.096-28.032-177.824-42.016-177.824zM638.464 193.696c3.68 233.76 129.472 323.712 129.472 462.912 0 118.784-81.28 270.4-251.84 270.4-170.528 0-260.032-145.056-260.032-271.488 0-141.952 127.776-231.168 127.776-463.296h129.376c0 0 121.536 1.472 125.248 1.472zM409.888 223.36c0 216.672-123.776 299.936-123.776 432.416 0 118.016 80.32 241.792 229.536 241.792s222.336-129.92 222.336-240.768c0-129.92-122.048-215.744-125.312-433.92-3.264 0-99.552 0.512-99.552 0.512h-103.232zM624.16 159.552h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM624.16 95.552h-224c-8.832 0-16-7.168-16-16s7.168-16 16-16h224c8.8 0 16 7.168 16 16s-7.2 16-16 16zM415.904 30.624c0 0 0-10.688 0-28.8s14.208-32.8 31.744-32.8h128.992c17.568 0 31.744 14.688 31.744 32.8s-1.984 28.8-1.984 28.8h-190.496z" />
<glyph unicode="&#xe9bc;" glyph-name="cube" d="M494.464 863.808l-427.584-184.224 428-182.784 432.416 183.2-432.832 183.808zM512 473.792v-441.6l415.84 197.408v420.832l-415.84-176.64zM64.16 229.6l417.248-197.408v441.6l-417.248 176.64v-420.832z" />
<glyph unicode="&#xe9bd;" glyph-name="box" d="M55.52 389.376l385.728-194.592 68.864 194.592-385.696 184.256-68.896-184.256zM518.752 389.376l65.44-192.864 399.488 194.592-77.504 182.528-387.424-184.256zM-7.904 729.216l132.608-154.976 385.696 196.288-125.696 160.16-392.608-201.472zM1031.904 725.792l-384.032 204.896-130.88-160.16 389.184-196.288 125.728 151.552zM101.6 340.704l-1.312-186.848 406.816-188.576v351.36l-58.112-151.552-347.392 175.616zM521.312 316.64v-351.328l405.568 188.576v185.568l-351.68-174.72-53.888 151.904z" />
<glyph unicode="&#xe9be;" glyph-name="box1" d="M64.16 229.6l417.248-197.408v441.6l-417.248 176.64v-420.832zM192.192 486.688l160.832-74.784-0.928-58.944-160.8 74.752 0.896 58.976zM512 473.792v-441.6l415.808 197.408v420.832l-415.808-176.64zM494.496 863.808l-427.616-184.224 428-182.784 432.448 183.2-432.832 183.808z" />
<glyph unicode="&#xe9bf;" glyph-name="diamond" d="M67.296 574.336l428.736-532.128-171.936 532.128h-256.8zM370.688 574.336l151.84-533.216 130.656 533.216h-282.496zM545.632 42.208l412.736 532.128h-254.816l-157.92-532.128zM959.328 609.152l-123.744 211.584-123.808-211.584h247.552zM796.672 832.864h-247.552l123.744-218.848 123.808 218.848zM634.816 609.152l-123.744 211.584-123.776-211.584h247.52zM474.848 832.864h-247.52l123.776-218.848 123.744 218.848zM188.448 820.736l-123.744-211.584h247.52l-123.776 211.584z" />
<glyph unicode="&#xe9c0;" glyph-name="bag" d="M572.512 646.24h-121.28c0 0-197.44-154.592-197.44-387.456s207.552-235.104 207.552-235.104 54.016-4 100 0c0-1.984 208.8 27.68 208.8 235.296 0.032 207.552-197.632 387.264-197.632 387.264zM451.232 661.44h121.504v45.568h-121.504v-45.568zM570.88 722.176l61.696 151.904c0 0-38.944-32.288-61.696-32.288-22.816 0-58.88 31.328-58.88 31.328s-38.912-31.328-61.696-31.328-59.808 30.368-59.808 30.368l62.656-150.016h117.728z" />
<glyph unicode="&#xe9c1;" glyph-name="moneybag" d="M448.544 662.336h125.888v47.232h-125.888v-47.232zM573.504 646.624h-124.96c0 0-205.6-202.656-205.6-401.344 0-210.528 215.424-227.264 215.424-227.264s64.256-10.656 104.224 0c0 0 218.432 25.6 218.432 226.24 0.032 200.704-207.52 402.368-207.52 402.368zM582.752 220.064c-5.056-10.24-11.872-18.816-20.576-25.664-8.672-6.88-18.816-12.032-30.368-15.488-1.472-0.448-3.072-0.608-4.576-0.992v-34.944h-31.456v30.848c-0.384-0.032-0.768-0.096-1.152-0.096-8.928 0-17.216 0.704-24.896 2.144-7.648 1.472-14.4 3.232-20.288 5.248-5.888 2.048-10.784 4.192-14.688 6.432-3.936 2.24-6.784 4.224-8.512 5.952-1.76 1.728-2.976 4.224-3.712 7.488-0.704 3.296-1.088 7.968-1.088 14.112 0 4.128 0.128 7.584 0.416 10.4s0.672 5.056 1.312 6.816c0.608 1.76 1.376 2.976 2.368 3.712 0.992 0.704 2.176 1.088 3.488 1.088 1.888 0 4.512-1.088 7.904-3.296s7.744-4.64 13.088-7.296c5.344-2.688 11.68-5.088 19.104-7.328 7.392-2.176 15.968-3.296 25.696-3.296 6.4 0 12.128 0.768 17.184 2.304s9.376 3.68 12.896 6.496c3.552 2.816 6.24 6.272 8.096 10.4 1.888 4.16 2.816 8.736 2.816 13.856 0 5.856-1.632 10.88-4.8 15.104-3.2 4.192-7.392 7.904-12.512 11.2-5.12 3.264-10.944 6.304-17.472 9.184s-13.28 5.92-20.192 9.088c-6.944 3.2-13.664 6.816-20.192 10.912-6.528 4.064-12.384 8.896-17.504 14.56s-9.28 12.384-12.512 20.096c-3.2 7.712-4.768 16.992-4.768 27.776 0 12.416 2.304 23.296 6.88 32.672 4.608 9.376 10.816 17.184 18.592 23.36 7.808 6.176 16.992 10.816 27.584 13.888 5.44 1.568 11.072 2.72 16.832 3.456v33.12h31.456v-33.088c1.28-0.16 2.528-0.096 3.776-0.288 6.112-0.928 11.872-2.176 17.184-3.776 5.312-1.568 10.048-3.36 14.176-5.344s6.88-3.616 8.192-4.96c1.376-1.312 2.24-2.432 2.752-3.36 0.448-0.928 0.8-2.176 1.184-3.712 0.32-1.536 0.576-3.456 0.672-5.824 0.128-2.304 0.192-5.216 0.192-8.672 0-3.872-0.128-7.168-0.32-9.856-0.192-2.656-0.512-4.864-0.992-6.592-0.448-1.76-1.12-3.008-1.984-3.808s-1.984-1.184-3.488-1.184c-1.44 0-3.808 0.896-7.008 2.752-3.2 1.888-7.136 3.872-11.744 6.048-4.672 2.176-10.048 4.16-16.192 5.984-6.176 1.792-12.896 2.656-20.192 2.656-5.76 0-10.752-0.672-15.008-2.080-4.288-1.376-7.84-3.328-10.72-5.76-2.848-2.464-4.992-5.44-6.368-8.864-1.408-3.424-2.080-7.104-2.080-10.944 0-5.76 1.568-10.72 4.672-14.912s7.328-7.936 12.608-11.2c5.248-3.296 11.232-6.336 17.92-9.184 6.656-2.88 13.44-5.92 20.384-9.088 6.944-3.232 13.696-6.848 20.384-10.912s12.64-8.928 17.824-14.592 9.376-12.32 12.576-19.968c3.2-7.68 4.8-16.672 4.8-27.104-0.032-13.504-2.592-25.408-7.648-35.68zM572.512 725.312l63.936 157.408c0 0-40.32-33.472-63.936-33.472s-61.024 32.48-61.024 32.48-40.32-32.48-63.936-32.48c-23.584 0-61.984 31.488-61.984 31.488l64.928-155.424h122.016z" />
<glyph unicode="&#xe9c2;" glyph-name="grid" d="M256 576h128v128h-128v-128zM448 576h128v128h-128v-128zM640 704v-128h128v128h-128zM256 384h128v128h-128v-128zM448 384h128v128h-128v-128zM640 384h128v128h-128v-128zM256 192h128v128h-128v-128zM448 192h128v128h-128v-128zM640 192h128v128h-128v-128z" />
<glyph unicode="&#xe9c3;" glyph-name="grid1" d="M256 480h224v224h-224v-224zM544 704v-224h224v224h-224zM544 192h224v224h-224v-224zM256 192h224v224h-224v-224z" />
<glyph unicode="&#xe9c4;" glyph-name="list" d="M256 704v-128h512v128h-512zM256 384h512v128h-512v-128zM256 192h512v128h-512v-128z" />
<glyph unicode="&#xe9c5;" glyph-name="list1" d="M256 576h128v128h-128v-128zM256 384h128v128h-128v-128zM256 192h128v128h-128v-128zM448 704v-128h320v128h-320zM448 384h320v128h-320v-128zM448 192h320v128h-320v-128z" />
<glyph unicode="&#xe9c6;" glyph-name="ruler" d="M0 224.352v415.296h63.648v-191.072h63.040v191.072h66.336v-63.68h62.336v63.68h64.384v-127.36h63.68v127.36h64.992v-62.336h62.368v62.336h66.336v-127.36h62.336v127.36h65.024v-191.072h60.992v191.072h67.040v-62.336h63.040v62.336h65.696v-127.36h60.352v127.36h67.040v-62.336h61.664v62.336h65.696v-127.36h63.040v127.36h65.024v-415.328h-1344.064z" />
<glyph unicode="&#xe9c7;" glyph-name="ruler1" d="M736.736 31.808v64.928h-32.416v-64.928h-32.448v64.928h-32.512v-64.928h-30.432v97.376h-32.448v-97.376h-32.448v64.928h-32.448v-64.928h-30.432v64.928h-32.448v-64.928h-32.48v97.376h-32.448v-97.376h-32.448v64.928h-30.368v-64.928h-32.448v64.928h-32.48v-64.928h-32.416v97.376h-30.432v-97.376h-97.344v800.352l800.352-800.352h-159.456zM223.616 525.312v-363.68h363.648l-363.648 363.68z" />
<glyph unicode="&#xe9c8;" glyph-name="layout" d="M96 832v-800h800v800h-800zM352 64h-224v736h224v-736zM864 64h-480v736h480v-736z" />
<glyph unicode="&#xe9c9;" glyph-name="layout1" d="M96 832v-800h800v800h-800zM608 64h-480v736h480v-736zM864 64h-224v736h224v-736z" />
<glyph unicode="&#xe9ca;" glyph-name="layout2" d="M96 832v-800h800v800h-800zM480 64h-352v736h352v-736zM864 64h-352v736h352v-736z" />
<glyph unicode="&#xe9cb;" glyph-name="layout3" d="M96 832v-800h800v800h-800zM352 64h-224v736h224v-736zM608 64h-224v736h224v-736zM864 64h-224v736h224v-736z" />
<glyph unicode="&#xe9cc;" glyph-name="layout4" d="M96 832v-800h800v800h-800zM864 64h-736v224h736v-224zM864 320h-736v224h736v-224zM864 576h-736v224h736v-224z" />
<glyph unicode="&#xe9cd;" glyph-name="layout5" d="M96 832v-800h800v800h-800zM480 64h-352v352h352v-352zM480 448h-352v352h352v-352zM864 64h-352v352h352v-352zM864 448h-352v352h352v-352z" />
<glyph unicode="&#xe9ce;" glyph-name="layout6" d="M96 832v-800h800v800h-800zM352 64h-224v224h224v-224zM352 320h-224v224h224v-224zM352 576h-224v224h224v-224zM608 64h-224v224h224v-224zM608 320h-224v224h224v-224zM608 576h-224v224h224v-224zM864 64h-224v224h224v-224zM864 320h-224v224h224v-224zM864 576h-224v224h224v-224z" />
<glyph unicode="&#xe9cf;" glyph-name="layout7" d="M96 832v-800h800v800h-800zM864 64h-736v544h736v-544zM864 640h-736v160h736v-160z" />
<glyph unicode="&#xe9d0;" glyph-name="layout8" d="M96 832v-800h800v800h-800zM352 64h-224v544h224v-544zM864 64h-480v544h480v-544zM864 640h-736v160h736v-160z" />
<glyph unicode="&#xe9d1;" glyph-name="layout9" d="M96 832v-800h800v800h-800zM608 64h-480v544h480v-544zM864 64h-224v544h224v-544zM864 640h-736v160h736v-160z" />
<glyph unicode="&#xe9d2;" glyph-name="layout10" d="M96 832v-800h800v800h-800zM352 64h-224v736h224v-736zM864 64h-480v352h480v-352zM864 448h-480v352h480v-352z" />
<glyph unicode="&#xe9d3;" glyph-name="layout11" d="M96 832v-800h800v800h-800zM352 64h-224v544h224v-544zM864 64h-480v256h480v-256zM864 352h-480v256h480v-256zM864 640h-736v160h736v-160z" />
<glyph unicode="&#xe9d4;" glyph-name="layout12" d="M96 832v-800h800v800h-800zM480 64h-352v544h352v-544zM864 64h-352v544h352v-544zM864 640h-736v160h736v-160z" />
<glyph unicode="&#xe9d5;" glyph-name="layout13" d="M96 832v-800h800v800h-800zM254.016 64h-126.016v544h126.016v-544zM704 64h-416v544h416v-544zM864 64h-128v544h128v-544zM864 640h-736v160h736v-160z" />
<glyph unicode="&#xe9d6;" glyph-name="tools" d="M889.056 706.048c30.688-74.016 16.064-162.368-44.128-222.56-66.272-66.272-166.432-76.64-244.288-32.704l-56.288-61.472 40.16-40.32 24 24c12.256 12.288 32.16 12.288 44.416 0l194.624-196.608c12.288-12.256 12.288-32.16 0-44.416l-88.832-88.832c-12.256-12.288-32.16-12.288-44.416 0l-194.624 196.608c-12.288 12.256-12.288 32.16 0 44.416l21.92 21.92-38.272 38.368-269.152-294.048c-24.544-24.544-64.32-24.544-88.832 0l-22.208 22.208c-24.544 24.544-24.544 64.32 0 88.832l306.624 256.8-203.648 204.192-64.32 0.032-74.432 119.68 59.904 60 122.4-74.912 0.8-62.976 206.016-206.816 59.936 50.176c-58.592 79.872-52.48 192.384 19.712 264.576 59.904 59.904 147.776 74.784 221.6 44.672l-131.968-130.144 111.072-111.072 132.224 130.4zM196.8 130.112c-12.256 12.256-32.128 12.256-44.416 0-12.288-12.288-12.288-32.16 0-44.448 12.288-12.256 32.16-12.256 44.416 0 12.288 12.32 12.288 32.192 0 44.448z" />
<glyph unicode="&#xe9d7;" glyph-name="screwdriver" d="M876.576 874.752l-116.672-70.976-0.832-64.16-257.536-256.896-35.296 35.296c-12.512 12.512-32.768 12.512-45.28 0-12.48-12.48-24.032-21.184-24.032-21.184l13.12-13.12c-0.128 0.128-0.288 0.256-0.416 0.384-63.616-63.584-104.64-81.984-104.64-81.984l-199.616-202.272c-12.512-12.544-12.512-32.704 0-45.248l113.152-113.152c12.48-12.512 32.736-12.512 45.248 0l199.584 202.272c0 0 18.368 40.96 82.048 104.672l11.328-11.328c0 0 10.080 10.112 22.624 22.624 12.512 12.512 12.512 32.736 0 45.248l-34.304 34.304 256.576 257.824 65.504 0.032 70.496 116.608-61.056 61.056zM127.328 179.136l203.136 203.136 22.624-22.592-203.136-203.168-22.624 22.624zM172.576 132.448l203.136 203.2 22.624-22.688-203.136-203.136-22.624 22.624zM240.448 64.576l-22.624 22.624 203.136 203.168 22.656-22.624-203.168-203.168z" />
<glyph unicode="&#xe9d8;" glyph-name="paint" d="M832 544h-320v-64h-64v96h384v192h-32v-96c0-17.664-14.336-32-32-32h-576c-17.696 0-32 14.336-32 32v128c0 17.696 14.304 32 32 32h576c17.664 0 32-14.304 32-32h64v-256h-32zM736 800h-512v-32h512v32zM544 128c0-35.328-28.672-64-64-64s-64 28.672-64 64v320h128v-320zM480 173.344c-17.696 0-32-14.336-32-32 0-17.696 14.304-32 32-32 17.664 0 32 14.304 32 32 0 17.664-14.336 32-32 32z" />
<glyph unicode="&#xe9d9;" glyph-name="hammer" d="M393.984 639.52l-108.128 80.448 108.128 77.6h340.992v-158.016h-340.992zM513.024 863.904h93.696v-31.904h-93.696v31.904zM606.176 604.832l35.328-563.328c0-22.88-18.496-41.376-41.376-41.376h-80.736c-22.88 0-41.376 18.496-41.376 41.376l33.44 563.328h94.72zM560.864 44.736c17.6 0 31.872 14.24 31.872 31.872s-14.272 31.872-31.872 31.872c-17.632 0-31.904-14.24-31.904-31.872s14.304-31.872 31.904-31.872z" />
<glyph unicode="&#xe9da;" glyph-name="brush" d="M881.76 690.56c-43.36-52.704-162.24-198.24-256.672-313.92l-119.904 121.728c108.448 96.512 242.688 215.808 291.2 258.528 86.304 76.064 161.984 121.312 178.432 102.816 10.304-10.24-17.056-76.672-93.056-169.152zM604.128 351.040c-36.576-44.768-68.064-83.328-87.328-106.976l-141.952 138.336c23.008 20.48 61.312 54.56 105.728 94.048l123.552-125.408zM495.648 218.144v0.384c-82.4-316.16-448.576-134.4-448.576-134.4s153.632-19.36 153.632 123.936c0 138.912 141.184 151.456 149.856 152.096l145.376-141.664c0-0.032-0.288-0.352-0.288-0.352z" />
<glyph unicode="&#xe9db;" glyph-name="pen" d="M212 382.592l-104.416-317.952 139.552 140.064c-9.6 24.224-7.232 65.6 12.384 85.184 26.272 26.304 69.536 25.696 95.808-0.608 26.304-26.304 27.712-70.336 1.44-96.64-20-20-63.936-21.152-88.448-10.784l-138.336-138.72 310.432 109.056 113.056 203.648-137.728 135.872-203.744-109.12zM735.392 852.832c0 0-192.352-192.32-222.016-222.016-29.728-29.696-45.248-141.408-45.248-141.408l86.24-86.272c0 0 108.896 15.552 140 46.688 31.136 31.104 222.016 222.016 222.016 222.016l-180.992 180.992z" />
<glyph unicode="&#xe9dc;" glyph-name="chat" d="M801.344 362.496v399.584c0 39.488-32 71.552-71.552 71.552h-626.272c-39.52 0.032-71.552-32.032-71.552-71.552v-399.584c0-39.52 32.032-71.552 71.552-71.552h119.328v-164.384l182.528 164.384h324.384c39.584 0 71.584 32.032 71.584 71.552zM920.48 676.544h-89.536c0 0 0-319.104 0-349.088s-38.912-68.544-68.896-68.544-350.24-1.76-350.24-1.76c0-39.52 32.032-63.552 71.552-63.552h137.888l179.904-163.264-0.224 163.264h119.552c39.552 0 71.552 24.032 71.552 63.552v349.824c0 39.488-32 69.568-71.552 69.568z" />
<glyph unicode="&#xe9dd;" glyph-name="comments" horiz-adv-x="1100" d="M804.224 538.72c0 165.28-180.064 299.264-402.112 299.264-222.080 0-402.112-133.984-402.112-299.264 0-99.328 65.024-187.328 165.12-241.76-0.288-0.864-79.744-145.44-79.744-145.44s242.624 92.544 243.296 92.928c23.808-3.296 48.352-4.96 73.44-4.96 222.048 0 402.112 133.984 402.112 299.232zM1100.32 445.216c0 165.248-169.504 298.048-352.992 299.232 263.040-262.016-46.752-541.184-299.232-541.184 0 0 28.064-57.28 250.112-57.28 25.056 0 49.632 1.728 73.44 4.992 0.672-0.448 243.328-92.928 243.328-92.928s-79.488 144.544-79.744 145.408c100.064 54.432 165.088 142.464 165.088 241.76z" />
<glyph unicode="&#xe9de;" glyph-name="chat1" d="M825.12 801.536h-626.24c-39.52 0-71.552-32.064-71.552-71.552v-399.616c0-39.488 32.032-71.552 71.552-71.552h119.328l0.032-164.384 182.528 164.384h324.384c39.552 0 71.552 32.064 71.552 71.552v399.616c-0.032 39.488-32.032 71.552-71.584 71.552zM320 512.992c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM448 514.336c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM576.64 513.664c-17.664 0-32 14.304-32 32 0 17.664 14.336 32 32 32 17.696 0 32-14.336 32-32s-14.336-32-32-32zM704 512.992c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32 0-17.664-14.336-32-32-32z" />
<glyph unicode="&#xe9df;" glyph-name="chat2" d="M512 791.232c-222.048 0-402.080-133.984-402.080-299.264 0-99.328 65.024-187.328 165.12-241.76-0.288-0.864-79.744-145.44-79.744-145.44s242.656 92.544 243.328 92.928c23.808-3.296 48.352-4.96 73.408-4.96 222.048 0 402.080 133.984 402.080 299.232-0.032 165.28-180.064 299.264-402.112 299.264zM318.976 460c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32s32-14.304 32-32c0-17.664-14.304-32-32-32zM446.304 458.656c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32 17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM575.616 458.656c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32 17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM703.616 458.656c-17.664 0-32 14.336-32 32 0 17.696 14.336 32 32 32 17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32z" />
<glyph unicode="&#xe9e0;" glyph-name="volume" d="M746.4 34.112l-268.16 186.88v424.032l268.16 184.864c35.36 0 86.048-26.752 86.048-59.744v-676.256c0.032-33.024-50.656-59.776-86.048-59.776zM448.416 227.264h-192.864c-35.36 0-64 42.304-64 75.328v258.88c0 32.96 28.672 79.84 64 79.84h192.864v-414.048z" />
<glyph unicode="&#xe9e1;" glyph-name="volume1" horiz-adv-x="1144" d="M757.44 621.344l-31.68-64.608c30.304-25.984 49.504-64.544 49.504-107.552 0-47.424-10.752-90.304-46.496-116.032l30.624-54.624c46.752 41.952 76.192 102.816 76.192 170.592-0.032 68.64-30.272 130.272-78.144 172.224zM992.576 847.584l-44.576-54.080c83.136-90.752 135.744-211.68 135.744-344.448 0-132.544-52.512-253.312-135.36-344.032l44.512-55.2c94.816 106.752 152.256 244.736 152.256 399.232-0.032 154.080-58.208 291.84-152.576 398.528zM874.304 737.088l-39.68-57.056c58.944-59.2 96.32-140.8 96.32-230.944 0-91.968-38.88-175.008-99.936-234.528l41.248-54.752c73.76 75.328 118.176 175.488 118.176 289.248 0 111.648-44.736 213.056-116.128 288.032zM0 575.776v-258.88c0-32.992 28.672-75.328 64-75.328h192.864v414.048h-192.864c-35.328 0-64-46.88-64-79.84zM554.912 844.192l-268.192-184.864v-424l268.192-186.88c35.328 0 86.016 26.752 86.016 59.744v676.256c0 32.992-50.688 59.744-86.016 59.744z" />
<glyph unicode="&#xe9e2;" glyph-name="volume2" d="M918.88 450.048l71.68-71.744c4.672-4.64 4.672-12.192 0-16.864l-25.312-25.312c-4.64-4.64-12.192-4.64-16.864 0l-71.68 71.744-71.744-71.744c-4.672-4.64-12.192-4.64-16.864 0l-25.312 25.312c-4.64 4.672-4.64 12.256 0 16.864l71.744 71.744-71.744 71.744c-4.64 4.672-4.64 12.192 0 16.864l25.312 25.312c4.672 4.672 12.224 4.672 16.864 0l71.744-71.712 71.68 71.712c4.672 4.672 12.256 4.672 16.864 0l25.312-25.312c4.672-4.672 4.672-12.224 0-16.864l-71.68-71.744zM584.8 50.112l-268.128 186.88v424.032l268.128 184.864c35.36 0 86.048-26.752 86.048-59.744v-676.256c0.032-33.024-50.656-59.776-86.048-59.776zM29.952 316.576v260.896c0 32.96 28.672 79.84 64 79.84h192.864v-416.032h-192.864c-35.36-0.032-64 42.272-64 75.296z" />
<glyph unicode="&#xe9e3;" glyph-name="equalizer" d="M192 64h96v288h-96v-288zM576 384h-160c-17.696 0-32-14.304-32-32v-96c0-17.664 14.304-32 32-32h160c17.664 0 32 14.336 32 32v96c0 17.696-14.336 32-32 32zM448.992 256.992h-32v94.016h32v-94.016zM511.008 256.992h-32v94.016h32v-94.016zM576.992 256.992h-32v94.016h32v-94.016zM544 832h-96v-416h96v416zM800 832h-96v-160h96v160zM288 832h-96v-256h96v256zM704 64h96v384h-96v-384zM448 64h96v128h-96v-128zM320 544h-160c-17.696 0-32-14.304-32-32v-96c0-17.664 14.304-32 32-32h160c17.664 0 32 14.336 32 32v96c0 17.696-14.336 32-32 32zM192.992 416.992h-32v94.016h32v-94.016zM256.992 416.992h-32v94.016h32v-94.016zM320.992 416.992h-32v94.016h32v-94.016zM832 640h-160c-17.696 0-32-14.304-32-32v-96c0-17.664 14.304-32 32-32h160c17.664 0 32 14.336 32 32v96c0 17.696-14.336 32-32 32zM704.992 512.992h-32v94.016h32v-94.016zM767.008 512.992h-32v94.016h32v-94.016zM832.992 512.992h-32v94.016h32v-94.016z" />
<glyph unicode="&#xe9e4;" glyph-name="resize" d="M831.68 766.656l-0.128-311.52-119.424 119.456-142.528-142.56-85.28 85.28 142.528 142.528-108.288 108.256 313.12-1.44zM367.808 230.24l103.616-101.824-311.104-0.544 0.128 309.76 122.080-122.080 157.6 157.568 85.28-85.28-157.6-157.6z" />
<glyph unicode="&#xe9e5;" glyph-name="resize1" d="M877.024 707.776l-85.28 85.28-157.6-157.6-122.080 122.080-0.128-309.76 311.136 0.544-103.616 101.856 157.568 157.6zM274.464 307.744l-142.496-142.496 85.28-85.312 142.496 142.56 119.424-119.424 0.128 311.488-313.088 1.44 108.256-108.256z" />
<glyph unicode="&#xe9e6;" glyph-name="stretch" d="M921.408 433.504l-153.12 154.944v-108.672h-223.296v352.224h-96v-352.224h-223.296v108.672l-155.104-154.944 154.336-155.616 0.768 107.264h223.296v-353.152h96v353.152h223.296l-1.248-107.264z" />
<glyph unicode="&#xe9e7;" glyph-name="narrow" d="M736.672 479.776v108.672l-155.104-154.944 154.336-155.616 0.736 107.296h222.88v94.624h-222.848zM448 32h96v800h-96v-800zM257.28 479.776h-224.832v-94.624h224.832l-1.248-107.296 154.368 155.616-153.12 154.976v-108.672z" />
<glyph unicode="&#xe9e8;" glyph-name="resize2" d="M767.264 33.12v61.824h127.616v127.616h65.824v-189.44h-193.44zM894.88 769.056h-127.616v61.824h193.44v-189.44h-65.824v127.616zM97.12 641.44h-65.792v189.44h193.44v-61.824h-127.648v-127.616zM158.944 703.264h674.112v-542.496h-674.112v542.496zM224.736 222.56h542.496v418.88h-542.496v-418.88zM288.576 575.616h416.864v-287.264h-416.864v287.264zM97.12 94.944h127.616v-61.824h-193.408v189.44h65.824v-127.616z" />
<glyph unicode="&#xe9e9;" glyph-name="download2" d="M883.968 289.44l-30.656-162.304h-682.624l-30.656 162.304h-76.32v-257.984h896.576v257.984h-76.32zM864.64 577.728h-224.704v93.76h-255.808v-93.76h-222.56l349.248-365.184 353.824 365.184zM639.904 832.576h-255.808v-34.112h255.808v34.112zM639.904 768.864h-255.808v-65.216h255.808v65.216z" />
<glyph unicode="&#xe9ea;" glyph-name="calculator" d="M768 800h-512c-17.696 0-32-14.304-32-32v-672c0-17.664 14.304-32 32-32h512c17.664 0 32 14.336 32 32v672c0 17.696-14.336 32-32 32zM288 480h64v-64h-64v64zM288 384h64v-64h-64v64zM288 288h64v-64h-64v64zM448 128h-160v64h160v-64zM448 224h-64v64h64v-64zM448 320h-64v64h64v-64zM448 416h-64v64h64v-64zM544 128h-64v64h64v-64zM544 224h-64v64h64v-64zM544 320h-64v64h64v-64zM544 416h-64v64h64v-64zM640 128h-64v64h64v-64zM640 224h-64v64h64v-64zM640 320h-64v64h64v-64zM640 416h-64v64h64v-64zM736 128h-64v160h64v-160zM736 320h-64v64h64v-64zM736 416h-64v64h64v-64zM736 544h-448v192h448v-192z" />
<glyph unicode="&#xe9eb;" glyph-name="library" d="M109.6 513.504c0 0 772.384 0 773.536 0 18.656 8.16 17.824 25.664 0.352 37.28-17.504 11.68-387.808 278.976-387.808 278.976s-367.424-267.296-386.080-278.976c-18.624-11.616-19.808-29.12 0-37.28zM495.68 697.76c30.88 0 55.936-25.024 55.936-55.904s-25.056-55.936-55.936-55.936-55.904 25.056-55.904 55.936 25.024 55.904 55.904 55.904zM128.864 98.176h734.976v31.264h-734.976v-31.264zM288 162.048v284.896h31.296v35.296h-159.776v-32.096h31.296v-288.064h97.184zM544.96 162.048v286.912h31.296v31.296h-159.744v-30.080h31.264v-288.064h97.184zM96.96 34.24h798.816v29.248h-798.816v-29.248zM799.936 162.048v286.912h31.296v31.296h-159.776v-30.080h31.328v-288.064h97.152z" />
<glyph unicode="&#xe9ec;" glyph-name="auction" d="M371.936 716.704l193.984-112c15.328-8.832 34.88-3.584 43.68 11.712 8.864 15.296 3.616 34.88-11.68 43.68l-193.984 112c-15.328 8.832-34.88 3.584-43.712-11.68-8.864-15.296-3.584-34.848 11.712-43.712zM549.952 576.992l-193.984 112-112-193.984 193.984-112 112 193.984zM195.936 411.872l193.984-112c15.296-8.832 34.88-3.584 43.68 11.712 8.832 15.296 3.584 34.88-11.68 43.68l-193.984 112c-15.328 8.832-34.88 3.584-43.712-11.68-8.864-15.296-3.584-34.88 11.712-43.712zM864.384 321.568l-354.432 186.144-32-55.424 338.432-213.856c22.944-13.248 52.32-5.408 65.568 17.568s5.376 52.32-17.568 65.568zM513.056 160c0 17.696-14.336 32-32 32h-288c-17.696 0-32-14.304-32-32 0-17.664 0-32 0-32l-33.056 0.672 1.056-32.672h416l1.504 30.656-31.488 1.344c0 0-2.016 14.336-2.016 32z" />
<glyph unicode="&#xe9ed;" glyph-name="justice" d="M770.048 749.344l-120.736-268h-35.136l128.768 285.312h-198.816v-664.672c40.96-1.504 250.016-69.344 250.016-69.344v-32.64h-561.92v34.848c0 0 213.696 67.168 245.888 67.168v664.64h-192.48l128.8-285.312h-35.136l-120.736 268-120.736-268h-35.136l129.536 286.912v33.088h216.128c0 43.296 29.024 78.656 62.88 78.656 35.808 0 62.88-37.376 62.88-78.656h220.096v-28.384l131.712-291.616h-35.136l-120.736 268zM416.64 448.672c0-86.176-59.776-169.024-158.048-169.024-96.064 0-158.048 82.848-158.048 169.024-0.032-0.128 316.096-0.128 316.096 0zM616.384 448.672c0-0.16 316.128-0.16 316.128 0 0-86.176-59.776-169.024-158.048-169.024-96.096 0-158.080 82.848-158.080 169.024z" />
<glyph unicode="&#xe9ee;" glyph-name="stats" d="M191.936 800h-31.584v-736h640v30.816l-607.872 1.568-0.544 703.616zM256.352 160h160v348l-160-160v-188zM448.352 160h160v316l-64-64-96 96v-348zM640.352 160h160v485.984l-160-160v-325.984zM428.384 605.856l115.84-115.2 228.736 227.584 58.688-59.008-1.408 140.768-141.28-0.736 54.944-55.104-199.744-200.32-118.048 118.496-179.936-179.328 30.048-29.184 152.16 152.032z" />
<glyph unicode="&#xe9ef;" glyph-name="stats1" d="M223.584 800h-31.584v-736h640v30.816l-607.872 1.6-0.544 703.584zM448 518.016l-160 160v-518.016h160v358.016zM480 540v-380h160v412l-64 64-96-96zM672 448v-288h160v288h-160zM579.808 724.128l167.744-168.288-46.944-44.48 131.296-1.408-0.608 126.752-56.672-55.008-194.752 197.6-119.84-121.184-138.144 138.048-28.064-29.152 163.936-165.376 122.048 122.496z" />
<glyph unicode="&#xe9f0;" glyph-name="attachment" d="M737.952 529.888c0 0 37.504 28.512 8.992 57.024-28.576 28.512-56.32-8.288-56.32-8.288l-223.008-223.040c0 0-67.296-86.752-118.272-34.24s34.24 118.272 34.24 118.272l312.288 312.32c0 0 87.808 96.736 170.304 14.24 82.496-82.528-14.496-170.528-14.496-170.528l-422.816-422.848c0 0-135.296-156.288-260.576-31.008s32.512 259.040 32.512 259.040l321.088 321.088c0 0 36 30.016 8.992 57.024s-56.992-8.992-56.992-8.992l-368.32-368.352c0 0-139.040-152.544 16.256-307.776 155.296-155.296 307.808-16.288 307.808-16.288l506.304 506.336c0 0 101.248 111.776-19.488 232.576s-232.576 19.488-232.576 19.488l-371.52-371.552c0 0-111.68-90.688-10.4-191.936 101.28-101.28 190.432 11.904 190.432 11.904l245.568 245.536z" />
<glyph unicode="&#xe9f1;" glyph-name="hourglass" d="M784 64c8.8 0 16-7.168 16-16s0-48 0-48h-608c0 0 0 39.168 0 48s7.168 16 16 16h53.44c2.656 213.056 141.824 281.728 141.824 367.84 0 86.56-141.728 92.32-143.072 368.16h-52.192c-8.832 0-16 7.168-16 16s0 48 0 48h608c0 0 0-39.168 0-48s-7.2-16-16-16h-48.96c-1.344-275.84-143.072-281.6-143.072-368.16 0-86.112 139.2-154.784 141.856-367.84h50.176zM547.552 431.84c0 86.912 141.76 92.32 143.072 368.16h-386.016c1.312-275.84 143.072-281.248 143.072-368.16 0-83.552-139.232-153.984-141.856-367.84h24.256c5.696 18.976 24.608 41.792 57.28 58.688l42.464 21.664c26.688 13.792 42.688 23.104 48 27.904s11.328 15.552 18.048 32.256c7.072-16.672 13.12-27.424 18.24-32.256s20.928-14.112 47.488-27.904l42.24-21.664c32.48-16.896 51.328-39.712 56.928-58.688h28.608c-2.624 213.856-141.824 284.288-141.824 367.84zM514.24 478.816c-3.84-7.552-7.072-21.92-9.632-43.104-0.64-6.4-2.048-16.032-4.32-28.864-2.24 12.832-3.68 22.464-4.32 28.864-2.592 21.184-5.824 35.52-9.696 43.104-3.872 7.52-14.784 21.056-32.8 40.672l-40.032 43.776c-27.36 29.504-44.896 50.688-52.608 63.488 47.488-30.24 93.856-45.376 139.104-45.376s91.776 15.136 139.584 45.376c-8-12.8-25.6-33.984-52.768-63.488l-39.872-43.776c-17.92-19.616-28.832-33.152-32.64-40.672z" />
<glyph unicode="&#xe9f2;" glyph-name="abacus" d="M96 32v800h800v-800h-800zM832 768h-672v-192h64.544c4.768 35.84 23.872 62.688 46.784 62.688 22.944 0 42.048-26.848 46.784-62.688h34.272c4.608 36.192 23.84 63.328 46.912 63.328s42.304-27.168 46.912-63.328h226.144c4.608 36.192 23.84 63.328 46.912 63.328 23.104 0 42.304-27.168 46.944-63.328h65.792v192zM832 544h-65.6c-4.288-36.832-23.712-64.672-47.104-64.672-23.328 0-42.752 27.808-47.072 64.672h-225.824c-4.288-36.832-23.712-64.672-47.072-64.672s-42.784 27.84-47.072 64.672h-33.824c-4.128-37.152-23.616-65.312-47.104-65.312s-42.976 28.16-47.104 65.312h-64.224v-224h255.744c4.608 36.192 23.872 63.328 46.912 63.328 23.072 0 42.336-27.168 46.944-63.328h31.968c4.128 37.152 23.616 65.344 47.136 65.344 23.456 0 42.944-28.192 47.104-65.344h35.84c4.448 36.544 23.808 64 47.040 64s42.592-27.456 47.040-64h66.272v224zM832 288h-66.304c-4.448-36.512-23.808-64-47.040-64s-42.592 27.488-47.040 64h-36.16c-4.768-35.808-23.872-62.656-46.784-62.656-22.944 0-42.048 26.848-46.816 62.656h-32.128c-4.288-36.832-23.712-64.672-47.072-64.672-23.328 0-42.752 27.808-47.072 64.672h-255.584v-192h672v192z" />
<glyph unicode="&#xe9f3;" glyph-name="pencil" d="M178.624 318.272l476.352 476.352 203.808-203.808-476.352-476.352-203.808 203.808zM676.896 679.744l-22.336 22.304-383.392-383.36 22.336-22.336 383.392 383.392zM721.568 635.072l-22.336 22.336-383.392-383.424 22.304-22.304 383.424 383.392zM766.24 590.4l-22.336 22.336-383.392-383.392 22.336-22.336 383.392 383.392zM746.208 884.608c24.992 25.056 65.44 25.216 90.24 0.416l112.384-112.384c24.8-24.8 24.64-65.216-0.384-90.24l-69.44-69.44-202.24 202.24 69.44 69.408zM162.944 291.744l192.96-192.96-169.088-60.064-83.936 83.936 60.064 169.088zM154.784 28.256l-98.112-35.744 35.744 98.112 62.368-62.368z" />
<glyph unicode="&#xe9f4;" glyph-name="pen1" d="M928.768 752.032l-78.944-78.944-112.736 112.736 78.944 78.944c31.136 31.136 81.632 31.136 112.736 0s31.136-81.6 0-112.736zM883.648 661.856c6.24 6.208 16.352 6.208 22.56 0 6.24-6.24 6.24-16.352 0-22.56l-293.12-293.152c-6.24-6.208-16.352-6.208-22.56 0s-6.208 16.32 0 22.528l191.68 191.68-157.888 157.888 67.648 67.616 157.856-157.856 33.824 33.856zM624.352 673.088l112.736-112.736-451.008-451.008-112.736 112.736 451.008 451.008zM71.872 7.872l78.912 191.648 112.736-112.736-191.648-78.912z" />
<glyph unicode="&#xe9f5;" glyph-name="pin" d="M656 480h-288c-35.328 0-64-28.672-64-64s28.672-64 64-64h288c35.328 0 64 28.672 64 64s-28.672 64-64 64zM434.656 704l-34.656-192h224l-34.688 192h-154.656zM512 32l48 288h-96l48-288zM416 736h192c26.496 0 48 21.504 48 48s-21.504 48-48 48h-192c-26.528 0-48-21.504-48-48s21.472-48 48-48z" />
<glyph unicode="&#xe9f6;" glyph-name="pin1" d="M607.136 390.336l-249.408 144c-30.592 17.696-69.76 7.2-87.424-23.392-17.664-30.624-7.168-69.76 23.424-87.424l249.376-144c30.624-17.696 69.76-7.2 87.424 23.424 17.728 30.592 7.232 69.728-23.392 87.392zM401.44 546.048l193.984-112 65.984 183.616-133.952 77.312-126.016-148.928zM258.432 74.368l185.568 225.408-83.136 48-102.432-273.408zM741.568 719.2l-166.24 96c-22.976 13.248-52.32 5.408-65.568-17.568-13.28-22.976-5.376-52.32 17.568-65.568l166.272-96c22.976-13.248 52.32-5.408 65.568 17.568s5.376 52.32-17.6 65.568z" />
<glyph unicode="&#xe9f7;" glyph-name="discout" d="M993.984 448c0-68-39.264-125.664-97.6-148.544v-74.56c0-17.6-14.272-31.872-31.84-31.872h-737.056c-17.632 0-31.872 14.272-31.872 31.872v74.56c-58.368 22.88-97.6 80.544-97.6 148.544s39.264 125.664 97.632 148.544v74.56c0 17.632 14.24 31.872 31.872 31.872h737.056c17.568 0 31.84-14.24 31.84-31.872v-74.56c58.336-22.88 97.568-80.544 97.568-148.544zM382.464 448h-127.488v-31.872h127.488v31.872zM533.824 556.672c-8.992 9.888-21.344 14.816-37.024 14.816-15.584 0-27.872-4.928-36.832-14.816-8.992-9.856-13.504-25.024-13.504-45.504 0-20.576 4.512-35.776 13.504-45.664 8.96-9.856 15.392-14.784 31.328-14.784 15.36 0 33.568 4.928 42.56 14.784 8.96 9.888 13.472 25.088 13.472 45.664-0.032 20.48-4.544 35.68-13.504 45.504zM642.24 576.48l-163.52-256.704h32.384l162.72 256.704h-31.584zM693.152 429.216c-8.96 9.856-21.344 14.784-37.024 14.784-15.552 0-27.872-4.928-36.864-14.784-8.96-9.888-13.44-25.024-13.44-45.504 0-20.576 4.48-35.808 13.44-45.664 8.992-9.888 21.44-14.816 37.376-14.816 15.36 0 27.552 4.928 36.544 14.816 8.96 9.856 13.472 25.088 13.472 45.664-0.032 20.48-4.544 35.616-13.504 45.504zM655.84 347.904c-4.608 0-8.192 1.952-10.784 5.792-3.424 5.024-5.152 15.008-5.152 29.952s1.728 24.96 5.152 30.080c2.496 3.744 6.080 5.664 10.784 5.664s8.352-1.92 10.944-5.664c3.328-5.12 4.992-15.168 4.992-30.080s-1.728-24.96-5.152-30.080c-2.496-3.776-6.080-5.664-10.784-5.664zM496.512 475.36c-4.608 0-8.192 1.952-10.784 5.824-3.424 5.024-5.152 15.008-5.152 29.952s1.728 24.96 5.152 30.080c2.496 3.744 6.080 5.632 10.784 5.632s8.32-1.888 10.944-5.632c3.328-5.12 4.992-15.168 4.992-30.080s-1.728-24.96-5.152-30.080c-2.528-3.776-6.112-5.696-10.784-5.696z" />
<glyph unicode="&#xe9f8;" glyph-name="edit" d="M341.792 377.376l-70.688-181.44 178.304 73.824-107.616 107.616zM859.36 764.896l-22.624 22.624c-24.96 24.992-65.504 24.992-90.496 0l-45.248-45.248 113.12-113.152 45.248 45.248c25.024 24.992 25.024 65.536 0 90.528zM345.376 386.624l16.192 16.192 113.12-113.12 316.8 316.8-113.12 113.12 22.624 22.656-355.616-355.648zM736.128 127.872l-544.832-0.192 0.096 544.832 381.472 0.128 59.776 63.36h-473.76c-17.664 0-32-14.304-32-32v-608c0-17.696 14.336-32 32-32h608c17.696 0 32 14.304 32 32v449.856l-64.48-63.264 1.728-354.72z" />
<glyph unicode="&#xe9f9;" glyph-name="scissors" d="M688 288.384c61.888 0 112-64.512 112-144 0-79.552-50.112-144-112-144s-112 64.448-112 144c0 47.936 18.432 90.112 46.464 116.32l-110.464 158.56-110.496-158.56c28.064-26.208 46.496-68.384 46.496-116.32 0-79.552-50.144-144-112-144s-112 64.448-112 144c0 79.488 50.144 144 112 144 6.368 0 12.544-1.12 18.624-2.432l111.2 199.616-116.192 166.784c-94.752 164.128-19.84 243.328-19.84 243.328l182.208-327.2 182.208 327.168c0 0 74.912-79.2-19.84-243.328l-116.192-166.784 111.2-199.616c6.048 1.344 12.256 2.464 18.624 2.464zM336 224.992c-35.328 0-64-35.808-64-80s28.672-80 64-80 64 35.808 64 80-28.672 80-64 80zM512 509.664c-17.664 0-32-14.304-32-32 0-17.664 14.336-32 32-32 17.696 0 32 14.336 32 32 0 17.696-14.304 32-32 32zM624 144.992c0-44.192 28.672-80 64-80s64 35.808 64 80-28.672 80-64 80-64-35.808-64-80z" />
<glyph unicode="&#xe9fa;" glyph-name="profile" d="M896 672h-62.656v94.016l-129.344 1.984 0.672-96h-388.672l2.656 96-126.656-1.984v-96l-64 1.984c-35.328 0-64-28.672-64-64v-448c0-35.328 28.672-64 64-64h768c35.328 0 64 28.672 64 64v448c0 35.328-28.672 64-64 64zM736 736h64v-128h-64v128zM320 518.016c38.656 0 70.016-41.184 70.016-92s-31.36-92-70.016-92-70.016 41.184-70.016 92 31.36 92 70.016 92zM224 736h64v-128h-64v128zM181.344 225.664c0 0 7.584 60.864 24.832 72.352 17.216 11.488 66.88 19.136 66.88 19.136s32.192-34.4 45.888-34.4c13.664 0 45.856 34.4 45.856 34.4s49.664-7.616 66.912-19.136c20.256-13.504 25.312-72.352 25.312-72.352h-275.68zM832 256h-288v32h288v-32zM832 320h-288v32h288v-32zM832 384h-288v32h288v-32zM832 448h-288v32h288v-32z" />
<glyph unicode="&#xe9fb;" glyph-name="profile1" d="M736 607.008c0 17.696-14.336 32-32 32h-96c0 0 1.056 38.528 1.056 94.528 0 52-43.072 99.456-97.056 99.456s-95.616-45.152-95.616-99.168c0-52-0.384-94.848-0.384-94.848h-96c-17.696 0-32-14.304-32-32 0-17.664 0-62.016 0-62.016h448c0 0.032 0 44.384 0 62.048zM512 672.992c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM896 607.008l-128 1.984 0.672-99.328h-512.672v95.328l-128 1.984c-35.328 0-64-28.672-64-64v-448c0-35.328 28.672-64 64-64h768c35.328 0 64 28.672 64 64v448c0 35.36-28.672 64.032-64 64.032zM320 420.992c38.656 0 70.016-41.184 70.016-92s-31.36-92-70.016-92-70.016 41.184-70.016 92 31.36 92 70.016 92zM181.344 128.672c0 0 7.584 60.864 24.832 72.352 17.216 11.488 66.88 19.136 66.88 19.136s32.192-34.4 45.888-34.4c13.664 0 45.856 34.4 45.856 34.4s49.664-7.616 66.912-19.136c20.256-13.504 25.312-72.352 25.312-72.352h-275.68zM832 159.008h-288v32h288v-32zM832 223.008h-288v32h288v-32zM832 287.008h-288v32h288v-32zM832 351.008h-288v32h288v-32z" />
<glyph unicode="&#xe9fc;" glyph-name="profile2" d="M896 160h-96v32c17.696 0 32 14.336 32 32 0 17.696-14.304 32-32 32h-64c-17.696 0-32-14.304-32-32 0-17.664 14.304-32 32-32v-32h-416v32c17.696 0 32 14.336 32 32 0 17.696-14.304 32-32 32h-64c-17.696 0-32-14.304-32-32 0-17.664 14.304-32 32-32v-32h-128c-35.328 0-64 28.672-64 64v448c0 35.328 28.672 64 64 64h768c35.328 0 64-28.672 64-64v-448c0-35.328-28.672-64-64-64zM320 646.016c-38.656 0-70.016-41.184-70.016-92s31.36-92 70.016-92 70.016 41.184 70.016 92-31.36 92-70.016 92zM431.68 425.984c-17.248 11.488-66.912 19.136-66.912 19.136s-32.192-34.4-45.856-34.4c-13.696 0-45.888 34.4-45.888 34.4s-49.664-7.616-66.88-19.136c-17.248-11.456-24.864-72.352-24.864-72.352h275.68c0.032 0.032-5.024 58.88-25.28 72.352zM832 608h-288v-32h288v32zM832 544h-288v-32h288v32zM832 480h-288v-32h288v32zM832 416h-288v-32h288v32z" />
<glyph unicode="&#xe9fd;" glyph-name="rotate" d="M190.912 423.456l130.88 130.88h-76.704c0.704 1.92 1.44 3.808 2.144 5.696 45.504 115.264 157.888 196.8 289.28 196.8 171.712 0 310.912-139.2 310.912-310.88 0-171.712-139.2-310.912-310.912-310.912-126.272 0-234.976 75.328-283.616 183.456-0.48 0.992-0.768 2.112-1.248 3.168l-83.36-82.848c0.576-0.96 0.96-2.048 1.536-3.072 0.128-0.224 0.256-0.448 0.384-0.64 73.568-127.104 211.008-212.576 368.416-212.576 234.944 0 425.408 190.464 425.408 425.408s-190.496 425.472-425.44 425.472c-196.416 0-361.696-133.056-410.656-313.984-0.48-1.664-0.64-3.424-1.024-5.088h-66.912l130.912-130.88z" />
<glyph unicode="&#xe9fe;" glyph-name="rotate1" d="M833.088 423.456l-130.88 130.88h76.672c-0.704 1.92-1.44 3.808-2.176 5.696-45.472 115.264-157.856 196.8-289.28 196.8-171.68 0-310.88-139.2-310.88-310.88 0-171.712 139.2-310.912 310.88-310.912 126.304 0 235.008 75.328 283.648 183.456 0.48 0.992 0.768 2.112 1.216 3.168l83.36-82.848c-0.544-0.96-0.928-2.048-1.504-3.072-0.128-0.224-0.256-0.448-0.384-0.64-73.568-127.104-211.008-212.576-368.416-212.576-234.88 0.064-425.344 190.528-425.344 425.472s190.464 425.408 425.408 425.408c196.416 0 361.696-133.056 410.656-313.984 0.48-1.664 0.608-3.424 1.024-5.088h66.912l-130.912-130.88z" />
<glyph unicode="&#xe9ff;" glyph-name="reply" d="M149.984 604.192l297.184-285.856v173.184c90.016 0 319.136-1.984 319.136-237.632 0-123.36-87.488-226.304-203.808-250.112 186.944 25.344 331.488 183.904 331.488 377.792 0 360.192-384.832 363.264-446.816 363.264v147.392l-297.184-288.032z" />
<glyph unicode="&#xea00;" glyph-name="forward" d="M873.504 604.192l-297.184-285.856v173.184c-89.984 0-319.168-1.984-319.168-237.632 0-123.36 87.52-226.304 203.872-250.112-186.944 25.344-331.52 183.904-331.52 377.792 0 360.192 384.8 363.232 446.816 363.232v147.424l297.184-288.032z" />
<glyph unicode="&#xea01;" glyph-name="retweet" d="M256.416 254.944v255.104h125.824l-188.864 220.544-192.832-220.576h126.304v-380.672h558.976l-125.536 125.568h-303.872zM897.152 351.968v382.656h-560.992l127.552-127.52h303.872v-255.136h-125.824l188.832-220.576 192.832 220.576h-126.272z" />
<glyph unicode="&#xea02;" glyph-name="shuffle" d="M735.008 576v-94.016l225.984 145.984-224 140-1.984-96h-188l-230.016-349.984h-252v-97.984h300l224 352h146.016zM384.992 473.984l49.984 88-69.984 110.016h-300l-1.984-96h254.016l67.968-102.016zM735.008 320h-145.984l-64 102.016-52.032-86.016 73.984-112h188l1.984-96 224 140-225.984 145.984v-93.984z" />
<glyph unicode="&#xea03;" glyph-name="loop" d="M800 318.016c0-21.344-10.656-30.016-32-30.016h-512v102.016l-150.016-150.016 148-148 2.016 100h576c35.328 0 64 28.672 64 64v275.328l-96-96v-117.312zM224 577.984c0 21.344 10.656 30.016 32 30.016h512v-102.016l150.016 150.016-148 148-2.016-100h-576c-35.328 0-64-28.672-64-64v-275.328l96 96v117.312z" />
<glyph unicode="&#xea04;" glyph-name="crop" d="M800.064 691.392v-401.056h129.248v-129.248h-705.888v701.888h129.248v-127.264h397.728l148.448 148.448 44.96-44.992-143.744-147.776zM352.672 608.48v-272.48l270.464 272.48h-270.464zM670.816 564.16l-275.808-273.824h275.808v273.824zM96.192 735.712h97.44v-127.264h-97.44v127.264zM800.064 33.856h-129.248v95.424h129.248v-95.424z" />
<glyph unicode="&#xea05;" glyph-name="square" d="M896 192v-128h-128v32h-512v-32h-128v128h32v512h-32v128h128v-32h512v32h128v-128h-32v-512h32zM160 96h64v64h-64v-64zM224 800h-64v-64h64v64zM768 736h-512v-32h-32v-512h32v-32h512v32h32v512h-32v32zM864 800h-64v-64h64v64zM800 160v-64h64v64h-64z" />
<glyph unicode="&#xea06;" glyph-name="square1" d="M896 192v-128h-128v32h-192v-32h-128v32h-192v-32h-128v128h32v192h-32v128h32v192h-32v128h128v-32h192v32h128v-32h192v32h128v-128h-32v-192h32v-128h-32v-192h32zM480 96h64v64h-64v-64zM160 96h64v64h-64v-64zM160 416h64v64h-64v-64zM224 800h-64v-64h64v64zM544 800h-64v-64h64v64zM768 736h-192v-32h-128v32h-192v-32h-32v-192h32v-128h-32v-192h32v-32h192v32h128v-32h192v32h32v192h-32v128h32v192h-32v32zM864 800h-64v-64h64v64zM864 480h-64v-64h64v64zM800 160v-64h64v64h-64z" />
<glyph unicode="&#xea07;" glyph-name="circle" d="M923.424 384c-25.6-180.8-167.264-324-347.424-351.904v-32.096h-128v32.096c-180.16 27.872-321.824 171.104-347.456 351.904h-36.544v128h38.016c29.568 175.776 169.376 313.92 345.984 341.248v42.752h128v-42.752c176.64-27.328 316.384-165.472 345.984-341.248h38.016v-128h-36.576zM480 32h64v64h-64v-64zM96 480v-64h64v64h-64zM544 864h-64v-64h64v64zM576 804.736v-36.736h-128v36.736c-150.080-26.368-268.832-143.456-297.344-292.736h41.344v-128h-43.072c24.8-154.304 145.44-276.416 299.072-303.392v47.392h128v-47.392c153.632 27.008 274.272 149.088 299.072 303.392h-43.072v128h41.344c-28.544 149.28-147.264 266.368-297.344 292.736zM928 480h-64v-64h64v64z" />
<glyph unicode="&#xea08;" glyph-name="dollar" d="M0 160v576h1024v-576h-1024zM64 673.984v-449.984h896v449.984h-896zM672 448c0 106.016-71.616 192-160 192h416v-384h-416c88.384 0 160 85.984 160 192zM800 384c26.496 0 48 28.672 48 64s-21.504 64-48 64-48-28.672-48-64 21.504-64 48-64zM579.776 528.704c-0.48-1.76-1.152-3.008-1.984-3.808-0.864-0.8-2.016-1.184-3.488-1.184s-3.776 0.896-7.008 2.752c-3.2 1.888-7.136 3.872-11.776 6.048-4.672 2.176-10.048 4.16-16.192 5.984-6.144 1.792-12.864 2.656-20.192 2.656-5.76 0-10.752-0.672-15.008-2.080-4.256-1.376-7.84-3.328-10.688-5.76-2.88-2.464-4.992-5.44-6.4-8.864-1.376-3.424-2.080-7.104-2.080-10.944 0-5.76 1.568-10.72 4.704-14.912s7.328-7.936 12.608-11.2c5.28-3.296 11.232-6.336 17.92-9.184 6.624-2.88 13.44-5.92 20.384-9.088 6.944-3.232 13.728-6.848 20.384-10.912 6.688-4.064 12.64-8.928 17.824-14.592s9.376-12.32 12.608-19.968c3.2-7.68 4.768-16.672 4.768-27.104 0-13.6-2.496-25.504-7.552-35.776-5.088-10.24-11.936-18.816-20.64-25.664-8.672-6.88-18.784-12.032-30.368-15.488-1.472-0.448-3.072-0.64-4.576-0.992v-34.944h-31.456v30.816c-0.416 0-0.768-0.064-1.152-0.064-8.928 0-17.248 0.704-24.896 2.144-7.68 1.472-14.432 3.232-20.288 5.248-5.888 2.048-10.752 4.192-14.688 6.432s-6.752 4.224-8.48 5.952c-1.728 1.728-2.976 4.224-3.712 7.488-0.736 3.296-1.12 7.968-1.12 14.112 0 4.128 0.128 7.584 0.416 10.4s0.704 5.056 1.312 6.816 1.376 2.976 2.4 3.712c0.992 0.704 2.144 1.088 3.488 1.088 1.856 0 4.48-1.088 7.904-3.296 3.392-2.208 7.776-4.64 13.088-7.296 5.344-2.688 11.68-5.088 19.104-7.328 7.392-2.176 15.968-3.296 25.696-3.296 6.4 0 12.128 0.768 17.184 2.304s9.376 3.68 12.896 6.496 6.208 6.272 8.096 10.4c1.888 4.16 2.816 8.736 2.816 13.856 0 5.856-1.632 10.88-4.8 15.104-3.2 4.192-7.36 7.904-12.512 11.2-5.12 3.264-10.944 6.304-17.472 9.184s-13.248 5.92-20.192 9.088c-6.912 3.2-13.664 6.816-20.192 10.912-6.528 4.064-12.352 8.896-17.472 14.56s-9.312 12.384-12.48 20.096c-3.2 7.712-4.8 16.992-4.8 27.776 0 12.416 2.304 23.296 6.88 32.672 4.608 9.376 10.784 17.184 18.592 23.36s16.992 10.816 27.584 13.888c5.44 1.6 11.072 2.72 16.832 3.488v33.088h31.456v-33.088c1.248-0.16 2.496-0.096 3.744-0.288 6.112-0.928 11.872-2.176 17.184-3.776 5.344-1.568 10.048-3.328 14.208-5.344 4.128-1.984 6.848-3.616 8.192-4.96 1.344-1.312 2.208-2.432 2.72-3.36 0.448-0.928 0.832-2.176 1.184-3.712 0.32-1.536 0.576-3.456 0.672-5.824 0.128-2.304 0.192-5.216 0.192-8.672 0-3.872-0.096-7.168-0.288-9.856-0.288-2.528-0.608-4.768-1.088-6.496zM352 448c0-106.016 71.616-192 160-192h-416v384h416c-88.384 0-160-85.984-160-192zM224 512c-26.528 0-48-28.672-48-64s21.472-64 48-64c26.496 0 48 28.672 48 64s-21.504 64-48 64z" />
<glyph unicode="&#xea09;" glyph-name="dollar1" horiz-adv-x="1216" d="M1152.064 223.68l1.824 546.848-993.6-0.608-0.032 62.72h1055.744v-608.992l-63.936 0.032zM1119.84 127.456l-63.904 0.064 1.824 546.848-993.6-0.64-0.032 62.72h1055.744v-608.992zM1025.696 63.36h-1025.696v576.96h1025.696v-576.96zM961.568 578.208h-897.472v-450.752h897.44v450.752zM865.44 175.52c0-5.664 1.408-10.944 3.232-16h-355.84c88.512 0 160.288 86.080 160.288 192.32s-71.776 192.32-160.288 192.32h355.808c-1.824-5.056-3.232-10.336-3.232-16.032 0-26.56 21.504-48.064 48.064-48.064 5.696 0 10.976 1.408 16.032 3.232v-262.88c-5.056 1.792-10.336 3.232-16.032 3.232-26.528-0.032-48.032-21.568-48.032-48.128zM801.312 418.592c-26.56 0-48.064-28.672-48.064-64.096s21.504-64.096 48.064-64.096 48.064 28.672 48.064 64.096-21.504 64.096-48.064 64.096zM579.936 467.392c0.48-0.928 0.864-2.176 1.184-3.712 0.352-1.536 0.576-3.488 0.672-5.824 0.16-2.336 0.224-5.248 0.224-8.736 0-3.872-0.096-7.168-0.288-9.824-0.224-2.688-0.576-4.896-0.992-6.624-0.512-1.76-1.152-3.040-1.984-3.808-0.864-0.8-2.048-1.216-3.52-1.216s-3.776 0.928-7.008 2.784c-3.232 1.888-7.168 3.872-11.808 6.048s-10.080 4.192-16.224 5.984-12.864 2.688-20.224 2.688c-5.76 0-10.752-0.672-15.008-2.080-4.288-1.408-7.872-3.328-10.72-5.792-2.88-2.464-5.024-5.44-6.4-8.864-1.408-3.456-2.112-7.136-2.112-10.976 0-5.76 1.568-10.72 4.704-14.944 3.136-4.192 7.328-7.936 12.64-11.2 5.28-3.296 11.264-6.336 17.92-9.216s13.472-5.92 20.416-9.088c6.944-3.232 13.76-6.848 20.448-10.944 6.688-4.064 12.64-8.928 17.824-14.592 5.216-5.696 9.44-12.352 12.64-20.032s4.8-16.704 4.8-27.136c0-13.6-2.56-25.568-7.616-35.808-5.056-10.272-11.936-18.88-20.64-25.76s-18.816-12.032-30.432-15.488c-1.472-0.448-3.072-0.64-4.576-0.992v-35.008h-31.52v30.88c-0.416 0-0.768-0.096-1.184-0.096-8.928 0-17.248 0.736-24.928 2.176-7.68 1.472-14.464 3.232-20.32 5.248-5.888 2.048-10.784 4.224-14.72 6.464-3.968 2.24-6.784 4.224-8.512 5.952s-2.976 4.224-3.712 7.488-1.12 8-1.12 14.144c0 4.128 0.128 7.616 0.416 10.4 0.256 2.816 0.704 5.088 1.312 6.848 0.608 1.728 1.408 2.976 2.4 3.712 0.992 0.704 2.176 1.088 3.488 1.088 1.888 0 4.512-1.088 7.936-3.328 3.392-2.176 7.776-4.64 13.12-7.296s11.712-5.088 19.136-7.296c7.392-2.208 16-3.328 25.728-3.328 6.4 0 12.16 0.768 17.216 2.304 5.088 1.536 9.376 3.712 12.928 6.496 3.52 2.816 6.208 6.304 8.096 10.432 1.888 4.16 2.816 8.768 2.816 13.856 0 5.888-1.632 10.944-4.8 15.136-3.2 4.224-7.36 7.936-12.512 11.232-5.152 3.264-10.976 6.336-17.504 9.184-6.56 2.88-13.28 5.92-20.224 9.12s-13.696 6.848-20.224 10.912c-6.528 4.064-12.384 8.928-17.504 14.624-5.12 5.664-9.312 12.384-12.512 20.096-3.2 7.744-4.8 17.024-4.8 27.84 0 12.416 2.304 23.328 6.912 32.704 4.608 9.408 10.816 17.216 18.624 23.424 7.808 6.176 17.024 10.848 27.616 13.92 5.44 1.568 11.072 2.72 16.864 3.488v33.12h31.52v-33.12c1.248-0.16 2.496-0.096 3.744-0.288 6.144-0.928 11.904-2.176 17.248-3.776 5.312-1.6 10.048-3.36 14.176-5.376 4.16-1.984 6.88-3.616 8.256-4.96 1.248-1.184 2.144-2.304 2.624-3.264zM352.576 351.84c0-106.208 71.744-192.32 160.256-192.32h-355.808c1.792 5.056 3.232 10.336 3.232 16 0 26.56-21.536 48.096-48.064 48.096-5.696 0-10.976-1.44-16.032-3.232v262.88c5.056-1.824 10.336-3.232 16.032-3.232 26.56 0 48.064 21.504 48.064 48.064 0 5.696-1.44 10.976-3.232 16.032h355.808c-88.512 0.032-160.256-86.080-160.256-192.288zM224.352 418.592c-26.56 0-48.064-28.672-48.064-64.096s21.536-64.096 48.064-64.096c26.56 0 48.064 28.672 48.064 64.096s-21.504 64.096-48.064 64.096z" />
<glyph unicode="&#xea0a;" glyph-name="coins" d="M912 224h-391.872c11.488 19.808 20.288 41.28 26.112 64h365.76c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM912 320h-359.552c1.312 10.496 2.208 21.152 2.208 32 0 10.88-0.896 21.504-2.208 32h359.552c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM912 416h-365.76c-5.856 22.72-14.624 44.192-26.112 64h391.872c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM912 512h-413.696c-20.8 25.952-46.496 47.776-75.808 64h489.504c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM912 608h-512c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32h512c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM912 704h-512c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32h512c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32zM528 352c0-123.712-100.32-224-224-224-123.712 0-224 100.288-224 224s100.288 224 224 224c123.68 0 224-100.288 224-224zM383.296 327.648c-3.232 7.648-7.392 14.304-12.608 19.968s-11.136 10.528-17.792 14.592c-6.656 4.064-13.44 7.68-20.384 10.912-6.944 3.2-13.728 6.208-20.384 9.088-6.656 2.848-12.64 5.92-17.888 9.184-5.28 3.264-9.472 7.008-12.608 11.2s-4.704 9.152-4.704 14.912c0 3.84 0.704 7.488 2.080 10.944 1.408 3.424 3.52 6.4 6.4 8.864 2.848 2.432 6.432 4.384 10.688 5.76 4.256 1.408 9.28 2.080 15.008 2.080 7.328 0 14.048-0.864 20.192-2.656 6.112-1.824 11.52-3.776 16.192-5.984 4.672-2.176 8.608-4.192 11.808-6.048s5.536-2.752 7.008-2.752 2.624 0.384 3.488 1.184c0.832 0.8 1.536 2.048 1.984 3.808 0.48 1.728 0.768 3.936 0.992 6.592 0.192 2.688 0.288 5.984 0.288 9.856 0 3.456-0.064 6.368-0.192 8.672-0.128 2.336-0.384 4.288-0.672 5.824-0.352 1.536-0.736 2.784-1.184 3.712-0.512 0.928-1.376 2.048-2.72 3.36-1.344 1.344-4.064 3.008-8.192 4.96-4.128 1.984-8.864 3.776-14.176 5.344-5.344 1.6-11.072 2.848-17.184 3.776-1.248 0.192-2.528 0.128-3.776 0.288v33.088h-31.488v-33.088c-5.792-0.768-11.392-1.92-16.832-3.488-10.592-3.072-19.776-7.68-27.584-13.888s-14.016-14.016-18.592-23.36c-4.608-9.408-6.88-20.288-6.88-32.672 0-10.784 1.6-20.064 4.768-27.776 3.2-7.712 7.36-14.432 12.512-20.096s10.944-10.496 17.472-14.56c6.528-4.096 13.28-7.712 20.192-10.912 6.944-3.2 13.664-6.208 20.192-9.088s12.352-5.952 17.472-9.184c5.152-3.296 9.312-7.008 12.512-11.2 3.2-4.224 4.8-9.248 4.8-15.104 0-5.088-0.928-9.696-2.784-13.856-1.888-4.128-4.576-7.584-8.096-10.4s-7.808-4.96-12.864-6.496c-5.088-1.536-10.784-2.304-17.216-2.304-9.728 0-18.304 1.088-25.696 3.296s-13.76 4.64-19.104 7.328c-5.344 2.656-9.696 5.056-13.088 7.296-3.392 2.176-6.016 3.296-7.904 3.296-1.344 0-2.528-0.384-3.488-1.088-1.024-0.736-1.824-1.984-2.4-3.712-0.608-1.76-1.024-4-1.312-6.816s-0.416-6.272-0.416-10.4c0-6.144 0.384-10.848 1.088-14.112 0.736-3.296 1.984-5.792 3.712-7.488 1.728-1.728 4.544-3.68 8.48-5.952s8.832-4.384 14.688-6.432c5.856-2.016 12.64-3.776 20.288-5.248 7.648-1.44 15.968-2.144 24.896-2.144 0.384 0 0.736 0.064 1.152 0.064v-30.816h31.456v34.944c1.504 0.384 3.104 0.576 4.576 0.992 11.584 3.456 21.728 8.64 30.4 15.488s15.52 15.392 20.608 25.664c5.056 10.272 7.552 22.176 7.552 35.776 0.032 10.336-1.568 19.328-4.736 27.008zM498.304 192h413.696c17.696 0 32-14.304 32-32 0-17.664-14.304-32-32-32h-489.504c29.312 16.224 55.008 38.048 75.808 64z" />
<glyph unicode="&#xea0b;" glyph-name="pig" d="M789.568 258.912c0 0 106.56 72.896 106.56 216.672 0 214.016-226.816 293.152-348.768 291.040-121.984-2.144-158.336-34.24-158.336-34.24s-41.504 30.176-85.504 55.456c-33.664 13.12-41.472 15.008-64.864 7.488-18.72 0-6.944-31.168 0.576-42.4 7.456-11.232 43.712-73.28 43.712-73.28s-76.096-78.368-81.728-129.888c0 0.928-35.84 0.288-55.488 0.288s-17.792-21.408-17.792-21.408l0.544-150.848c0 0-1.216-21.408 16.608-21.408 17.792 0 55.616-0.416 55.616-0.416s53.216-77.28 86.944-91.328c0-0.928-29.152-80.096-29.152-80.096s-14.048-24.352 11.232-33.728c25.28-9.344 91.232-37.024 119.328-45.472 28.064-8.416 32.096 10.688 32.096 10.688l27.808 60.064 181.92-0.288 27.808-61.92c0 0 5.344-28.736 42.784-12.832 37.472 15.904 78.368 34.784 109.28 50.688 30.88 15.904 10.56 45.632 10.56 45.632l-31.744 61.536zM298.304 519.552c-17.056 0-30.88 13.856-30.88 30.912s13.824 30.88 30.88 30.88 30.912-13.824 30.912-30.88-13.856-30.912-30.912-30.912zM733.6 615.808c-9.856-11.68-16.288-3.072-24.224-0.736 0 0-33.632 31.2-83.040 45.76-51.168 15.040-105.024 7.776-105.024 7.776-7.936 2.336-17.568 2.592-17.632 14.848 0.416 15.136 18.784 15.264 18.56 15.776 0 0 60.608 5.6 111.328-9.312 49.888-14.656 88-46.528 88-46.528s20.384-14.048 12.032-27.584z" />
<glyph unicode="&#xea0c;" glyph-name="bookmark" d="M495.232 337.248l-270.432-272.032v733.568h542.432v-733.568l-272 272.032z" />
<glyph unicode="&#xea0d;" glyph-name="bookmark1" d="M800 32h-512v704h224v-292l113.312 86.016 110.688-86.016v292h128v-640c0-35.328-28.672-64-64-64zM625.312 572l-81.312-64v260h160v-260l-78.688 64zM192 800v-32c0-17.664 14.336-32 32-32h32v-704h-32c-35.328 0-64 28.672-64 64v704c0 35.328 28.672 64 64 64h576c23.616 0 44.032-12.928 55.136-32h-631.136c-17.664 0-32-14.304-32-32z" />
<glyph unicode="&#xea0e;" glyph-name="addressbook" d="M864 385.984v96h64v-96h-64zM864 608h64v-96h-64v96zM864 736h64v-96h-64v96zM768 32h-576c-35.328 0-64 28.672-64 64h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v96c0 35.328 28.672 64 64 64h576c23.616 0 44.032-12.928 55.136-32h-631.136c-17.696 0-32-14.304-32-32 0-17.664 14.304-32 32-32h640v-672c0-35.328-28.672-64-64-64zM496 654.016c-38.656 0-70.016-41.184-70.016-92s31.328-92 70.016-92 70.016 41.184 70.016 92-31.36 92-70.016 92zM607.68 425.984c-17.248 11.488-66.912 19.136-66.912 19.136s-32.192-34.4-45.856-34.4c-13.696 0-45.888 34.4-45.888 34.4s-49.664-7.616-66.88-19.136c-17.248-11.456-24.864-72.352-24.864-72.352h275.68c0.032 0.032-5.024 58.88-25.28 72.352zM160 656c0-8.832-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16h32c8.832 0 16-7.168 16-16zM112 544h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM112 416h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM112 288h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM112 160h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16z" />
<glyph unicode="&#xea0f;" glyph-name="addressbook1" d="M192 832c-17.696 0-32-14.304-32-32 0-17.664 14.304-32 32-32h640v-672c0-35.328-28.672-64-64-64h-576c-35.328 0-64 28.672-64 64h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v32h16c26.496 0 48 21.504 48 48s-21.504 48-48 48h-16v96c0 35.328 28.672 64 64 64h576c23.616 0 44.032-12.928 55.136-32h-631.136zM335.68 335.2c7.648-17.056 19.072-32.16 34.176-45.28 15.136-13.088 33.44-22.912 54.912-29.44 21.504-6.528 44.928-9.824 70.368-9.824 27.616 0 51.232 3.648 70.816 10.912 19.584 7.296 36.512 17.152 50.72 29.632 14.176 12.48 24.224 24.704 30.048 36.704h-31.008c-10.080-14.368-25.28-26.592-45.568-36.672s-45.44-15.104-75.424-15.104c-28.096 0-53.664 4.832-76.736 14.528s-40.736 24.672-52.928 44.896c-12.224 20.288-18.304 44.448-18.304 72.512 0 26.816 6.080 51.904 18.272 75.328s29.376 41.408 51.52 53.952c22.112 12.576 46.624 18.816 73.408 18.816 23.456 0 44.896-4.96 64.32-14.944s33.984-23.296 43.776-39.872c9.792-16.64 14.688-34.496 14.688-53.632 0-16.384-3.808-32.288-11.424-47.68-7.648-15.424-17.984-27.712-31.104-36.864-9.888-7.008-17.856-10.496-23.904-10.496-3.328 0-6.176 1.12-8.544 3.36-2.336 2.208-3.52 4.896-3.52 8 0 1.728 1.728 10.592 5.152 26.656l24.832 115.456h-30.752l-5.952-26.624c-6.528 10.656-14.304 18.592-23.36 23.808-9.024 5.216-18.56 7.808-28.512 7.808-13.056 0-26.528-4.576-40.416-13.76-13.856-9.184-25.44-22.912-34.784-41.184-9.344-18.304-14.016-36.576-14.016-54.816 0-14.784 3.008-28.384 9.024-40.768s13.856-21.568 23.456-27.488c9.632-5.984 19.52-8.928 29.728-8.928 9.28 0 18.528 2.592 27.744 7.808 9.248 5.216 17.6 12.128 25.024 20.704 0.672-7.008 1.792-11.936 3.296-14.848 2.272-4.48 5.856-7.904 10.72-10.336 4.864-2.4 11.296-3.584 19.2-3.584 24.768 0 47.584 11.552 68.48 34.688 23.392 25.792 35.104 55.296 35.104 88.512 0 23.264-5.568 44.8-16.672 64.64-13.024 23.040-30.88 40.352-53.504 51.968s-48.128 17.44-76.576 17.44c-36.672 0-67.808-8.224-93.536-24.704s-45.568-40.256-59.52-71.296c-11.456-25.312-17.184-51.936-17.184-79.872 0.032-25.12 4.832-48.512 14.464-70.112zM495.648 372.576c-6.464-7.552-13.248-13.28-20.352-17.12-7.136-3.84-13.888-5.792-20.288-5.792-9.632 0-18.144 4.384-25.632 13.088-7.424 8.704-11.168 20.928-11.168 36.672 0 9.888 1.856 20.704 5.504 32.576 3.648 11.808 8.544 21.856 14.592 30.112 6.080 8.256 12.352 14.24 18.816 17.984s13.376 5.6 20.704 5.6c11.136 0 20.544-4.288 28.288-12.896 7.712-8.608 11.584-20.704 11.584-36.32 0-11.712-2.048-23.392-6.176-35.040-4.096-11.68-9.408-21.312-15.872-28.864zM160 656c0-8.832-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16h32c8.832 0 16-7.168 16-16zM112 544h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM112 416h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM112 288h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM112 160h32c8.832 0 16-7.168 16-16s-7.168-16-16-16h-32c-8.832 0-16 7.168-16 16s7.168 16 16 16zM928 641.984h-64v96h64v-96zM928 512h-64v96h64v-96zM928 385.984h-64v96h64v-96z" />
<glyph unicode="&#xea10;" glyph-name="safe" d="M864 32l-63.968 1.984v-65.984h-96v64h-382.016l-1.984-64h-96v62.016l-64.032 1.984c-35.328 0-64 28.672-64 64v768c0 35.328 28.672 64 64 64h704c35.328 0 64-28.672 64-64v-768c0-35.328-28.672-64-64-64zM832 832h-640v-126.656l-31.328 0.64v-98.656h31.328v-253.344h-32v-97.984h32v-128h640v704zM800 160h-576v96h32v97.984h-32v254.016h32l0.672 97.344h-32.672v94.656h576v-640zM465.984 622.016c-70.688 0-128-57.312-128-128s57.312-128 128-128c70.72 0 128 57.312 128 128s-57.28 128-128 128zM752 591.424c0 17.696-14.304 32-32 32-17.664 0-32-14.304-32-32 0-11.712 6.624-21.536 16-27.104v-169.248c-9.376-5.568-16-15.36-16-27.104 0-17.664 14.336-32 32-32 17.696 0 32 14.336 32 32 0 12.608-7.424 23.232-17.984 28.448v166.56c10.56 5.248 17.984 15.872 17.984 28.448zM464 440c-26.496 0-48 21.504-48 48 0 26.528 21.504 48 48 48 26.528 0 48-21.472 48-48 0-26.496-21.472-48-48-48z" />
<glyph unicode="&#xea11;" glyph-name="envelope" d="M512.48 356.448l-130.304 106.976-283.584-334.816h828.032l-283.616 338.144-130.528-110.304zM957.632 767.392h-890.080l445.056-374.336 445.024 374.336zM662.56 483.616l297.312-354.688v606.464l-297.312-251.776zM64.128 735.392v-606.464l297.312 354.688-297.312 251.776z" />
<glyph unicode="&#xea12;" glyph-name="envelope1" d="M644.448 354.112l313.184 255.968-445.632 314.656-444.48-314.656 314.368-257.024 262.56 1.056zM395.52 322.048l-296.928-350.784h828.032l-299.616 348.8-231.488 1.984zM662.56 326.304l297.312-354.688v606.464l-297.312-251.776zM64.128 578.080v-606.464l297.312 354.688-297.312 251.776z" />
<glyph unicode="&#xea13;" glyph-name="radioactive" d="M512 1.344c-246.688 0-446.656 199.968-446.656 446.656s199.968 446.656 446.656 446.656c246.688 0 446.688-199.968 446.688-446.656s-200-446.656-446.688-446.656zM733.44 782.336c-119.136 79.968-220.128 66.816-220.128 66.816l-0.096-288.256c-40.608-1.024-75.52-23.424-94.656-56.352l-244.064 156.352c0 0-64.672-63.328-64.672-206.848s61.984-212.864 61.984-212.864l247.136 149.632c19.232-32.608 53.984-54.688 94.304-55.712l0.096-292.288c0 0 101.024-13.152 220.128 66.784 119.2 79.968 138.112 162.272 138.112 162.272l-255.424 124.384c8.128 15.552 13.12 32.992 13.12 51.744 0 16.96-4 32.864-10.688 47.328l258.368 122.048c-0.032 0.032-24.32 85.024-143.52 164.96zM516.032 383.328c-35.712 0-64.672 28.96-64.672 64.672s28.96 64.672 64.672 64.672c35.712 0 64.64-28.96 64.64-64.672s-28.928-64.672-64.64-64.672z" />
<glyph unicode="&#xea14;" glyph-name="music" d="M862.336 846.784c-171.584-3.392-370.368-33.12-541.984-89.216-0.096 1.12 0.64-509.696 0.64-509.696-30.976 7.008-65.984 2.944-102.752-13.824-68.224-31.008-105.44-93.696-83.104-140 22.336-46.368 95.744-58.816 163.968-27.744 62.368 33.44 82.432 63.68 84.48 107.424l1.536 442.624c135.232 39.776 278.24 63.36 413.536 70.656v-395.712c-31.328 7.68-72.832 3.808-110.432-13.248-68.224-31.072-105.44-93.76-83.104-140.064 22.336-46.368 95.744-58.752 164-27.744 48.512 22.048 87.328 60.128 94.176 96.928 0.032 0.032-1.632 640.48-0.96 639.616z" />
<glyph unicode="&#xea15;" glyph-name="presentation" d="M864.064 799.84h-736.16c-17.632 0-31.904 14.304-31.904 32 0 17.664 14.272 31.968 31.904 31.968h337.152v32c0 17.664 14.304 31.968 31.936 31.968s31.904-14.304 31.904-31.968v-32h335.168c17.664 0 31.936-14.336 31.936-31.968 0-17.696-14.272-32-31.936-32zM864.064 288.064h-736.16v479.808h736.16v-479.808zM224 542.976c0-70.816 57.312-128.224 128-128.224s128 57.408 128 128.224h-128v128.288c-70.688 0-128-57.44-128-128.288zM576.768 671.904h-31.904v-31.968h31.904v31.968zM576.768 607.936h-31.904v-31.968h31.904v31.968zM576.768 543.968h-31.904v-31.968h31.904v31.968zM576.768 480h-31.904v-32h31.904v32zM576.768 416h-31.904v-32h31.904v32zM768.32 671.904h-159.584v-31.968h159.584v31.968zM768.32 607.936h-159.584v-31.968h159.584v31.968zM768.32 543.968h-159.584v-31.968h159.584v31.968zM768.32 480h-159.584v-32h159.584v32zM768.32 416h-159.584v-32h159.584v32zM408.992 128.128h72.032v159.936h31.936v-159.936h70.912l-70.912 159.936h63.84l127.648-287.872h-63.808l-42.56 96h-85.12v-159.936h-31.936v159.936h-86.432l-43.232-96h-63.84l129.664 287.872h63.84l-72.032-159.936zM512.96 288.064v0 0 0zM481.024 288.064v0 0 0z" />
<glyph unicode="&#xea16;" glyph-name="male" d="M540.864 767.872h292l-0.64-295.328-100.128 100.096-94.368-94.368c21.184-37.248 33.376-80.224 33.376-126.112 0-141.376-114.56-256-256-256-141.376 0-256 114.624-256 256s114.624 256 256 256c48.8 0 94.272-13.92 133.12-37.632l93.376 94.592-100.736 102.752zM287.136 352.128c0-70.688 57.312-128 128-128s128 57.312 128 128-57.312 128-128 128-128-57.312-128-128z" />
<glyph unicode="&#xea17;" glyph-name="female" d="M577.248 360.928v-105.376h127.872v-127.872h-127.872v-127.872h-129.824v127.872h-127.84v127.872h127.84v105.76c-109.92 28.64-191.136 128.288-191.136 247.136 0 141.216 114.496 255.712 255.712 255.712 141.248 0 255.68-114.496 255.68-255.712 0-119.328-79.872-219.264-190.432-247.52zM512 736.288c-70.624 0-127.872-57.216-127.872-127.84 0-70.592 57.248-127.84 127.872-127.84s127.872 57.248 127.872 127.84c0 70.624-57.248 127.84-127.872 127.84z" />
<glyph unicode="&#xea18;" glyph-name="aids" d="M578.976 446.816c73.248 126.816 94.144 208.736 94.144 286.592 0 118.816-106.784 163.68-168.832 163.68s-168.224-43.328-168.224-163.712c0-76.864 19.84-159.52 92.992-285.472l-171.68-302.72 73.152-146.304 171.872 318.24 192.928-318.24 71.328 132.448-187.68 315.488zM428.672 753.248c0 61.088 37.568 74.4 75.488 74.4 38.016 0 74.496-12.992 74.496-74.112s-74.4-162.912-74.4-162.912-75.584 101.472-75.584 162.624z" />
<glyph unicode="&#xea19;" glyph-name="heart" d="M513.344 692.96c0 0-64 136.384-208 136.384-157.344 0-240-133.344-240-266.656 0-221.344 448-496 448-496s445.312 272 445.312 496c0 136-85.312 266.656-237.312 266.656s-208-136.384-208-136.384z" />
<glyph unicode="&#xea1a;" glyph-name="info" d="M519.904 808.544c0-53.888 40.672-90.4 90.88-90.4s90.944 36.544 90.944 90.4c0 53.92-40.704 90.432-90.944 90.432-50.176 0-90.88-36.512-90.88-90.432zM323.072 500c0-10.688-1.952-37.216 0.256-53.184l79.328 95.456c16.416 17.984 35.392 30.56 45.088 27.168 9.728-3.392 15.040-14.816 11.872-25.44l-131.296-434.88c-15.136-50.816 13.472-100.736 83.168-112.128 102.048 0 162.688 69.056 222.336 158.56 0 10.688 3.552 38.816 1.408 54.816l-79.328-95.424c-16.448-17.984-36.832-30.56-46.56-27.2-8.96 3.136-14.208 13.12-12.448 23.072l132.224 436.896c11.008 55.488-18.88 105.984-82.048 112.448-66.432-0.032-164.352-70.688-224-160.16z" />
<glyph unicode="&#xea1b;" glyph-name="info1" d="M512 864c-229.76 0-416-186.24-416-416s186.24-416 416-416 416 186.24 416 416-186.24 416-416 416zM577.248 294.944c-31.392-47.136-63.328-83.456-117.056-83.456-36.672 5.984-51.744 32.256-43.808 59.040l69.12 228.928c1.696 5.6-1.12 11.584-6.24 13.408-5.088 1.792-15.072-4.832-23.712-14.304l-41.792-50.272c-1.12 8.448-0.128 22.4-0.128 28.032 31.392 47.136 82.976 84.32 117.952 84.32 33.248-3.392 48.992-29.984 43.2-59.2l-69.6-230.048c-0.928-5.184 1.824-10.464 6.528-12.128 5.12-1.792 15.872 4.832 24.544 14.304l41.76 50.24c1.12-8.448-0.768-23.232-0.768-28.864zM567.936 593.952c-26.432 0-47.872 19.264-47.872 47.616s21.44 47.584 47.872 47.584 47.872-19.264 47.872-47.584c0-28.384-21.44-47.616-47.872-47.616z" />
<glyph unicode="&#xea1c;" glyph-name="piano" d="M0 64v736h992v-736h-992zM192 384h-32v384h-128v-672h160v288zM384 384h-32v384h-96v-384h-32v-288h160v288zM576 384h-32v384h-96v-384h-32v-288h160v288zM640 768v-384h-32v-288h160v288h-32v384h-96zM960 768h-128v-384h-32v-288h160v672z" />
<glyph unicode="&#xea1d;" glyph-name="rain" d="M788.896 601.856c0 0 15.328 206.208-173.632 229.76-161.984 16.544-211.264-133.984-211.264-133.984s-48.736 46.912-114.944 8.608c-59.232-36.576-48.736-103.488-48.736-103.488s-131.52-25.6-131.52-159.68c2.944-133.952 142.848-135.296 142.848-135.296h514.624c0 0 130.176-0.128 148.512 127.264 8.672 139.328-125.888 166.816-125.888 166.816zM312.192 225.696c-5.728 11.328-10.848 26.592-15.328 45.728-4.416-19.136-9.504-34.368-15.232-45.728-12.032-23.904-31.264-42.496-31.264-42.496-15.328-17.056-22.976-34.144-22.976-51.232 0-18.88 6.848-35.040 20.512-48.576 13.664-13.504 29.984-20.256 48.928-20.256 19.072 0 35.392 6.752 49.056 20.256 13.696 13.536 20.512 29.696 20.512 48.576 0 17.056-7.648 34.144-22.944 51.232 0 0-19.2 18.592-31.264 42.496zM536.192 225.696c-5.728 11.328-10.848 26.592-15.328 45.728-4.448-19.136-9.504-34.368-15.232-45.728-12.032-23.904-31.296-42.496-31.296-42.496-15.296-17.056-22.944-34.144-22.944-51.232 0-18.88 6.816-35.040 20.512-48.576 13.632-13.504 29.952-20.256 48.928-20.256 19.072 0 35.392 6.752 49.056 20.256 13.696 13.536 20.512 29.696 20.512 48.576 0 17.056-7.648 34.144-22.976 51.232 0 0-19.2 18.592-31.232 42.496zM760.192 225.696c-5.728 11.328-10.848 26.592-15.328 45.728-4.448-19.136-9.504-34.368-15.232-45.728-12.064-23.904-31.296-42.496-31.296-42.496-15.296-17.056-22.944-34.144-22.944-51.232 0-18.88 6.816-35.040 20.512-48.576 13.632-13.504 29.952-20.256 48.928-20.256 19.072 0 35.392 6.752 49.056 20.256 13.696 13.536 20.512 29.696 20.512 48.576 0 17.056-7.648 34.144-22.944 51.232 0 0-19.232 18.592-31.264 42.496z" />
<glyph unicode="&#xea1e;" glyph-name="snow" d="M788.896 616.608c0 0 15.328 206.208-173.632 229.76-161.984 16.544-211.264-133.984-211.264-133.984s-48.704 46.912-114.912 8.576c-59.232-36.576-48.736-103.488-48.736-103.488s-131.552-25.568-131.552-159.648c2.944-133.952 142.848-135.296 142.848-135.296h514.624c0 0 130.176-0.128 148.512 127.264 8.672 139.328-125.888 166.816-125.888 166.816zM314.496 173.696c41.312 63.744 31.648 72.704-28.96 26.976-15.872 74.272-29.056 73.824-39.552-1.408-63.744 41.312-72.736 31.648-27.008-28.96-74.272-15.872-73.824-29.056 1.408-39.584-41.312-63.712-31.616-72.704 28.992-26.976 15.84-74.272 29.024-73.824 39.552 1.408 63.744-41.312 72.736-31.648 26.976 28.992 74.304 15.84 73.824 29.024-1.408 39.552zM538.496 173.696c41.312 63.744 31.648 72.704-28.96 26.976-15.872 74.272-29.056 73.824-39.552-1.408-63.744 41.312-72.736 31.648-27.008-28.96-74.272-15.872-73.824-29.056 1.408-39.584-41.312-63.712-31.616-72.704 28.992-26.976 15.84-74.272 29.024-73.824 39.552 1.408 63.744-41.312 72.736-31.648 26.976 28.992 74.304 15.84 73.824 29.024-1.408 39.552zM762.496 173.696c41.312 63.744 31.648 72.704-28.96 26.976-15.872 74.272-29.056 73.824-39.552-1.408-63.744 41.312-72.736 31.648-27.008-28.96-74.272-15.872-73.824-29.056 1.408-39.584-41.312-63.712-31.648-72.704 28.96-26.976 15.872-74.272 29.056-73.824 39.584 1.408 63.712-41.312 72.704-31.648 26.976 28.992 74.304 15.84 73.824 29.024-1.408 39.552z" />
<glyph unicode="&#xea1f;" glyph-name="lightning" d="M788.896 612.288c0 0 15.328 206.208-173.632 229.76-161.984 16.544-211.264-133.984-211.264-133.984s-48.736 46.912-114.944 8.608c-59.232-36.576-48.736-103.488-48.736-103.488s-131.52-25.6-131.52-159.68c3.616-136.256 141.984-132.832 141.984-132.832l146.656 0.992 70.208 160.576 204.64-4-91.008-157.28 187.072-1.632c0 0 123.872-1.472 146.432 126.144 8.672 139.328-125.888 166.816-125.888 166.816zM620.608 449.6h-131.936l-84.224-192.544h120.704l-98.272-217.344 213.344 250.656h-112.256l92.64 159.232z" />
<glyph unicode="&#xea20;" glyph-name="sun" d="M256.992 432c0-132.576 107.456-240 240-240 132.576 0 240 107.424 240 240s-107.424 240-240 240c-132.544 0-240-107.424-240-240zM496.992 840l-67.488-135.008h135.008l-67.52 135.008zM785.376 721.376l-143.2-47.712 95.424-95.456 47.776 143.168zM351.808 673.664l-143.168 47.712 47.712-143.2 95.456 95.488zM223.008 500.512l-135.008-67.52 135.008-67.488v135.008zM768.992 363.488l135.008 67.488-135.008 67.488v-134.976zM496.992 24l67.488 135.008h-135.008l67.52-135.008zM642.176 190.336l143.2-47.712-47.744 143.2-95.456-95.488zM208.64 142.624l143.2 47.712-95.456 95.456-47.744-143.168z" />
<glyph unicode="&#xea21;" glyph-name="moon" d="M348.64 717.632c0-241.6 165.728-437.44 370.144-437.44 50.816 0 99.232 12.16 143.328 34.016-54.24-142.72-191.872-244.352-353.632-244.352-209.056 0-378.56 169.504-378.56 378.56 0 154.24 92.416 286.688 224.736 345.696-3.712-24.896-6.016-50.336-6.016-76.48z" />
<glyph unicode="&#xea22;" glyph-name="cloudy" horiz-adv-x="1202" d="M680.128 391.36c0 0 15.328 206.208-173.632 229.76-161.984 16.544-211.264-133.984-211.264-133.984s-48.768 46.912-114.944 8.608c-59.232-36.576-48.736-103.488-48.736-103.488s-131.552-25.568-131.552-159.648c3.648-136.224 142.016-132.832 142.016-132.832l517.536-1.344c0 0 123.872-1.472 146.432 126.176 8.704 139.296-125.856 166.752-125.856 166.752zM1036.384 372.672c0 132.576-107.424 240-240 240-22.432 0-70.112-7.296-117.152-31.648 0-0.064-29.408-20.064-29.408-20.064s46.56-42.272 50.56-154.272c0-1.984 123.328-33.632 123.328-161.632 0-88-46.72-112.192-46.72-112.192l19.392-0.192c0 0 240 49.984 240 240zM796.384 780.672l-67.488-135.008h135.008l-67.52 135.008zM1084.736 662.048l-143.2-47.712 95.456-95.456 47.744 143.168zM1068.384 304.192l135.008 67.488-135.008 67.488v-134.976zM941.568 131.040l143.2-47.712-47.712 143.2-95.488-95.488z" />
<glyph unicode="&#xea23;" glyph-name="cloudy1" horiz-adv-x="1126" d="M680.128 415.008c0 0 15.328 206.208-173.664 229.728-161.984 16.544-211.264-133.984-211.264-133.984s-48.768 46.912-114.944 8.608c-59.232-36.576-48.736-103.488-48.736-103.488s-131.52-25.568-131.52-159.68c3.616-136.192 141.984-132.8 141.984-132.8l517.536-1.376c0 0 123.872-1.44 146.432 126.176 8.736 139.296-125.824 166.816-125.824 166.816zM1000.128 542.976c0 0 15.328 206.208-173.632 229.76-161.984 16.544-213.248-135.968-213.248-135.968s94.368-54.752 98.368-202.752c60-18.016 123.936-67.52 125.952-183.52l141.952-0.512c0 0 123.872-1.44 146.432 126.176 8.736 139.36-125.824 166.816-125.824 166.816z" />
<glyph unicode="&#xea24;" glyph-name="car" d="M864 256h-736c-35.328 0-64 28.672-64 64v160c0 35.328 28.672 64 64 64h32c0 0 47.328 144 61.312 192s28.672 64 64.032 64h421.312c35.328 0 46.016-9.984 64-64s61.344-192 61.344-192h32c35.328 0 64-28.672 64-64v-160c0-35.328-28.672-64-64-64zM288 320h416v32h-416v-32zM704 544c0 35.328-28.672 68-64 68s-64-32.672-64-68c0-0.832 128-0.832 128 0zM288 384h416v32h-416v-32zM288 448h416v32h-416v-32zM129.984 416c0-35.328 28.672-64 64-64s64 28.672 64 64-28.672 64-64 64-64-28.672-64-64zM738.656 736c-8 22.016-14.304 32-32 32h-194.656v-32h16c8.832 0 16-7.168 16-16s-7.168-16-16-16h-64c-8.832 0-16 7.168-16 16s7.168 16 16 16h16v32h-194.656c-17.696 0-24.032-4-32-32-8.032-28-61.344-192-61.344-192h366.72c0.736 43.648 36.16 84.576 79.84 84.576 43.712 0 79.104-40.896 79.872-84.576h81.568c0 0-53.344 169.984-61.344 192zM798.016 478.016c-35.328 0-64-28.672-64-64s28.672-64 64-64 64 28.672 64 64-28.672 64-64 64zM224 144c0-26.496-21.504-48-48-48s-48 21.504-48 48v80h96v-80zM864 144c0-26.496-21.504-48-48-48s-48 21.504-48 48v80h96v-80z" />
<glyph unicode="&#xea25;" glyph-name="bike" horiz-adv-x="1200" d="M959.936 57.696c-134.784 0-244.064 109.248-244.064 244.064 0 98.88 58.944 183.84 143.488 222.176l-32.448 73.056 5.28-12.768-222.208-298.272v-59.808h32.544v-32.576h-97.664v32.576h32.576v32.576l-92.064 8.64c-16.768-118.432-118.272-209.632-241.344-209.632-134.784-0.032-244.032 109.216-244.032 244.032 0 134.784 109.248 244.032 244.064 244.032 35.232 0 68.64-7.616 98.88-21.024l60.992 153.216-27.68 77.312c-12.16 0-23.488 0-32.544 0-30.528 0-22.368 32.544-22.368 32.544s2.016 28.48 24.416 28.48 22.368-20.352 58.976-20.352c35.040 0 85.408-10.144 85.408-10.144s22.368-30.496-20.32-30.496c-19.328 0-40.608 0-61.024 0l23.136-83.104h353.664l-27.776 63.136h-21.6v32.512h130.144v-32.544h-73.536l95.264-200.32c22.72 7.008 46.88 10.784 71.872 10.784 134.784 0 244.064-109.248 244.064-244.032-0.032-134.816-109.312-244.064-244.096-244.064zM244.064 513.28c-116.832 0-211.52-94.688-211.52-211.52s94.688-211.488 211.52-211.488c106.208 0 193.92 78.368 208.96 180.448l-169.408 17.44c-2.688-15.264-15.392-27.072-31.424-27.072-17.984 0-32.544 14.56-32.544 32.576 0 17.952 14.56 32.576 32.544 32.576 3.84 0 7.424-0.992 10.848-2.24l67.872 170.56c-26.528 11.904-55.872 18.72-86.848 18.72zM292.864 316l162.528-17.184c0.032 0.992 0.16 1.952 0.16 2.944 0 75.2-39.328 141.056-98.464 178.592l-64.224-164.352zM418.464 637.376l-49.376-126.336c71.2-42.624 119.008-120.288 119.008-209.312 0-2.112-0.256-4.256-0.32-6.368l55.232-5.824-124.544 347.84zM799.296 659.328v-19.648h-355.84l129.6-346.848 245.984 322.080-19.744 44.416zM959.936 513.28c-20.384 0-40.032-3.040-58.688-8.448l75.968-173.568c15.424-2.496 27.456-15.36 27.456-31.488 0-17.984-14.56-32.576-32.544-32.576s-32.576 14.56-32.576 32.576c0 8.736 3.552 16.672 9.248 22.56l-76.288 171.904c-73.184-33.28-124.128-106.816-124.128-192.448 0-116.8 94.688-211.488 211.488-211.488s211.488 94.688 211.488 211.488-94.624 211.488-211.424 211.488z" />
<glyph unicode="&#xea26;" glyph-name="truck" d="M863.008 544c-17.696 0-32 0-32 0h-63.328l-0.416-40.192c19.136-10.912 31.744-31.648 31.744-55.808l1.344-222.016h-607.36v222.016c0 23.616 12.928 44.032 32 55.136v40.864h-64c0 0-14.336 0-32 0-17.696 0-32 14.336-32 32v32c0 17.696 14.304 32 32 32 17.664 0 32 0 32 0v-64h64v96c0 35.328 28.672 64 64 64h416c35.328 0 64-28.672 64-64l-0.992-96h63.008v64c0 0 14.304 0 32 0 17.664 0 32-14.304 32-32v-32c0-17.664-14.336-32-32-32zM384.992 256h224v32h-224v-32zM384.992 320h224v32h-224v-32zM384.992 384h224v32h-224v-32zM256.992 288c0-17.664 14.304-32 32-32h32c17.664 0 32 14.336 32 32 0 17.696-14.336 32-32 32h-32c-17.664 0-32-14.304-32-32zM704.992 640c0 17.696-14.304 32-32 32h-352c-17.696 0-32-14.304-32-32v-160h416v160zM704.992 320h-32c-17.696 0-32-14.304-32-32 0-17.664 14.304-32 32-32h32c17.664 0 32 14.336 32 32 0 17.696-14.336 32-32 32zM736.992 768h-480c-35.328 0-64-28.672-64-64v160c0 17.696 14.304 32 32 32h544c17.664 0 32-14.304 32-32v-160c0 35.328-28.64 64-64 64zM800.992 161.984c0-17.664-14.336-32-32-32h-544c-17.696 0-32 14.336-32 32 0 17.696 0 32 0 32h608c0 0 0-14.304 0-32zM352.992 32c0-17.664-14.336-32-32-32h-32c-17.696 0-32 14.336-32 32v64h96v-64zM736.992 32c0-17.664-14.336-32-32-32h-32c-17.696 0-32 14.336-32 32v64h96v-64z" />
<glyph unicode="&#xea27;" glyph-name="bus" horiz-adv-x="1056" d="M704 31.616c0-17.696 14.304-32 32-32h32c17.664 0 32 14.304 32 32v65.984h-96v-65.984zM256 31.616c0-17.696 14.304-32 32-32h32c17.696 0 32 14.304 32 32v65.984h-96v-65.984zM159.52 136.672c0-21.44 17.408-38.88 38.88-38.88h659.072c21.472 0 38.88 17.44 38.88 38.88 0 21.504 0 22.88 0 22.88h-736.832c0 0 0-1.376 0-22.88zM1024 639.616v64h-127.68l0.032 34.816c0 77.792-79.648 157.984-383.168 157.984-266.816 0-353.664-80.192-353.664-157.984v-34.816h-127.52v-64h-32v-128h32v-64h127.52v-255.168h736l0.704 479.168h95.776v-32h-32v-128h32v-32h-96v-32h128v64h32v128h-32zM159.52 479.616h-95.52v32h32v128h-32v32h95.52v-192zM400 801.6h256c8.832 0 16-7.168 16-16s-7.168-16-16-16h-256c-8.832 0-16 7.168-16 16s7.168 16 16 16zM225.312 664.672c0 21.472 17.408 38.88 38.88 38.88h208.448c21.472 0 38.88-17.408 38.88-38.88v-114.656c0-21.504-17.408-38.912-38.88-38.912h-208.448c-21.472 0-38.88 17.408-38.88 38.912v114.656zM287.616 264.384c-32.224 0-58.304 26.112-58.304 58.304 0 32.256 26.080 58.304 58.304 58.304s58.336-26.048 58.336-58.304c0.032-32.192-26.112-58.304-58.336-58.304zM384 415.616h288v-32h-288v32zM673.024 257.824h-288.192v30.88h288.192v-30.88zM673.024 321.568h-288.192v30.88h288.192v-30.88zM768.256 262.368c-32.224 0-58.304 26.112-58.304 58.304s26.080 58.304 58.304 58.304 58.336-26.112 58.336-58.304-26.112-58.304-58.336-58.304zM832.16 550.016c0-21.504-17.408-38.912-38.912-38.912h-209.984c-21.504 0-38.912 17.408-38.912 38.912v114.656c0 21.472 17.408 38.88 38.912 38.88h209.984c21.504 0 38.912-17.408 38.912-38.88v-114.656z" />
<glyph unicode="&#xea28;" glyph-name="bike1" d="M768 672h-128v64h128c17.664 0 32-14.304 32-32 0-17.664-14.336-32-32-32zM672 960c0 53.024-42.976 96-96 96h-160c-53.024 0-96-42.976-96-96v-192h-32v192c0 70.688 57.312 128 128 128h160c70.688 0 128-57.312 128-128v-192h-32v192zM352 672h-128c-17.696 0-32 14.336-32 32 0 17.696 14.304 32 32 32h128v-64zM496 592c-61.888 0-112 50.144-112 112 0 61.888 50.112 112 112 112 61.856 0 112-50.112 112-112 0-61.856-50.144-112-112-112zM496 768c-35.328 0-64-28.672-64-64s28.672-64 64-64 64 28.672 64 64-28.672 64-64 64zM387.584 636.608c22.592-36.256 62.528-60.608 108.416-60.608s85.792 24.352 108.416 60.608c56.96-12.96 99.584-63.712 99.584-124.608v-320c0-59.552-40.896-109.184-96-123.456v173.472c0 61.856-50.144 112-112 112-61.888 0-112-50.144-112-112v-173.472c-55.136 14.272-96 63.904-96 123.456v320c0 60.896 42.624 111.648 99.584 124.608zM496 320c44.192 0 80-35.808 80-80v-224c0-44.192-35.808-80-80-80s-80 35.808-80 80v224c0 44.192 35.808 80 80 80z" />
<glyph unicode="&#xea29;" glyph-name="plane" d="M496.672 834.88c26.496 0 48-21.504 48-48v-248l320-200v-86.016l-320 108v-168l65.248-64.928-0.032-66.688-113.216 37.632-111.584-37.76 0.48 70.048 61.12 59.68 0.544 169.984-319.904-109.952 0.672 88 320.224 202.016 0.512 246.016c-0.064 26.464 21.44 47.968 47.936 47.968z" />
<glyph unicode="&#xea2a;" glyph-name="paperplane" d="M107.616 818.752l156-619.136 302.944 96.576-270.336 329.536 348.864-305.92 283.296 88.64-820.768 410.304zM576.128 77.248v170.368l-99.712-29.632 99.712-140.736z" />
<glyph unicode="&#xea2b;" glyph-name="rocket" d="M747.872 15.072c0 0 10.72 64.384-55.392 143.008 64.352 180.512 73.28 344.896 73.28 344.896s132.256-30.4 132.256-160.832c-0.032-223.392-150.144-327.072-150.144-327.072zM383.328 93.504c0 0-88.576 284.256-88.576 402.176 0 53.056 5.984 100.256 15.296 143.104h403.52c9.376-42.88 15.392-90.112 15.392-143.136 0-116.128-88.32-402.144-88.32-402.144h-257.312zM511.68 573.792c-45.376 0-82.176-36.8-82.176-82.208 0-45.376 36.8-82.208 82.176-82.208 45.408 0 82.208 36.8 82.208 82.208 0.032 45.408-36.8 82.208-82.208 82.208zM494.016 940.928v111.936h32v-109.088c36.576-26.624 135.552-111.296 180.32-274.4h-389.12c43.264 158.624 137.472 242.368 176.8 271.552zM276.128 15.072c0 0-150.112 103.68-150.112 327.072 0 130.432 132.256 160.832 132.256 160.832s8.928-164.384 73.248-344.896c-66.144-78.656-55.392-143.008-55.392-143.008zM566.112-1.44l-26.816 26.816-28.576-89.376-33.984 89.376-23.232-46.432-33.984 84h184.064l-37.472-64.384z" />
<glyph unicode="&#xea2c;" glyph-name="book" d="M480 132v628c0 0-86.016 72-208 72s-208-64-208-64v-636c0 0 86.016 62.016 208 62.016s208-62.016 208-62.016zM928 132v628c0 0-86.016 72-208 72s-208-64-208-64v-636c0 0 86.016 62.016 208 62.016s208-62.016 208-62.016zM992 704h-32v-608h-384v-32h-160v32h-384v608h-32v-640h384v-32h225.984l-1.984 32h384v640z" />
<glyph unicode="&#xea2d;" glyph-name="book1" d="M544 128c0 0 198.016 65.984 352-57.984 0 1.984 0 57.984 0 57.984-180 100-352 0-352 0zM64 768v-636c0 0 86.016 62.016 208 62.016s208-62.016 208-62.016v628c0 0-86.016 72-208 72s-208-64-208-64zM128 704h128v-160h-128v160zM416 288h-288v32h288v-32zM416 352h-288v32h288v-32zM416 416h-288v32h288v-32zM416 480h-288v32h288v-32zM288 704h128v-32h-128v32zM288 640h128v-32h-128v32zM288 576h128v-32h-128v32zM720 832c-121.984 0-208-64-208-64v-636c0 0 86.016 62.016 208 62.016s208-62.016 208-62.016v628c0 0-86.016 72-208 72zM864 288h-288v32h288v-32zM864 352h-288v32h288v-32zM864 416h-288v32h288v-32zM864 480h-288v32h288v-32zM864 544h-288v32h288v-32zM864 608h-288v32h288v-32zM864 672h-288v32h288v-32zM96 128c0 0 0-56 0-57.984 153.984 123.968 352 57.984 352 57.984s-172 100-352 0z" />
<glyph unicode="&#xea2e;" glyph-name="barcode" d="M928 767.008h-832c-35.328 0-64-28.672-64-64v-542.016c0-35.328 28.672-64 64-64h832c35.328 0 64 28.672 64 64v542.016c0 35.328-28.672 64-64 64zM192 192.992h-64v478.016h64v-478.016zM256 255.008h-32v416h32v-416zM352 255.008h-32v416h32v-416zM448 255.008h-64v416h64v-416zM512 255.008h-32v416h32v-416zM640 255.008h-64v416h64v-416zM704 255.008h-32v416h32v-416zM800 255.008h-32v416h32v-416zM896 192.992h-64v478.016h64v-478.016z" />
<glyph unicode="&#xea2f;" glyph-name="barcode1" d="M761.824 339.264h-56.256v-18.752h56.256v18.752zM551.936 283.008v-18.752h56.256v-18.752h18.752v75.008h-18.752v-37.504h-56.256zM551.936 208h37.504v18.752h-37.504v-18.752zM589.44 226.752h18.752v18.752h-18.752v-18.752zM551.936 320.512h-18.752v-37.504h18.752v37.504zM448 704h-64v-320h64v320zM512 704h-32v-320h32v320zM705.568 208h56.256v18.752h-56.256v-18.752zM608.192 339.264h-56.256v-18.752h56.256v18.752zM780.576 226.752v93.76h-18.752v-93.76h18.752zM800 704h-32v-320h32v320zM398.336 245.504h-18.752v-18.752h18.752v18.752zM640 704h-64v-320h64v320zM704 704h-32v-320h32v320zM686.816 226.752h18.752v93.76h-18.752v-93.76zM225.984 208h93.76v18.752h-75.008v18.752h-18.752v-37.504zM225.984 301.76h18.752v18.752h-18.752v-18.752zM263.488 264.256h37.504v18.752h-37.504v-18.752zM417.088 283.008v-18.752h37.504v18.752h-37.504zM244.736 339.264v-18.752h56.256v18.752h-56.256zM256 704h-32v-320h32v320zM960 832h-896c-35.328 0-64-28.672-64-64v-640c0-35.328 28.672-64 64-64h896c35.328 0 64 28.672 64 64v640c0 35.328-28.672 64-64 64zM960 128h-896v640h896v-640zM192 704h-64v-512h64v512zM244.736 245.504h18.752v18.752h-18.752v-18.752zM473.344 320.512h-18.752v-37.504h18.752v37.504zM398.336 339.264v-18.752h56.256v18.752h-56.256zM319.744 283.008v37.504h-18.752v-37.504h18.752zM379.584 301.76h18.752v18.752h-18.752v-18.752zM352 704h-32v-320h32v320zM473.344 264.256h-18.752v-37.504h18.752v37.504zM454.592 208v18.752h-56.256v-18.752h56.256zM896 704h-64v-512h64v512z" />
<glyph unicode="&#xea30;" glyph-name="expand" d="M442.112 768.352l-249.12-1.472 0.096-247.52 82.88 82.912 110.528-110.528 85.28 85.28-110.496 110.528 80.832 80.8zM386.528 404.8l-110.528-110.56-82.88 82.944-0.096-249.568 249.12 0.576-80.832 80.8 110.528 110.496-85.312 85.312zM637.504 491.744l110.496 110.528 82.88-82.912 0.128 247.52-249.12 1.472 80.832-80.8-110.528-110.528 85.312-85.28zM748 294.24l-110.496 110.56-85.312-85.312 110.528-110.496-80.832-80.8 249.12-0.576-0.128 249.568-82.88-82.944z" />
<glyph unicode="&#xea31;" glyph-name="collapse" d="M367.776 679.776l-110.528 110.496-85.28-85.28 110.528-110.496-82.88-82.88 249.504-0.128-0.544 249.088-80.8-80.8zM741.504 594.496l110.528 110.496-85.28 85.28-110.528-110.496-80.8 80.8-0.544-249.088 249.504 0.128-82.88 82.88zM282.496 301.504l-110.528-110.496 85.28-85.28 110.528 110.496 80.832-80.8 0.544 249.088-249.504-0.128 82.848-82.88zM824.384 384.384l-249.504 0.128 0.544-249.088 80.8 80.8 110.528-110.496 85.28 85.28-110.528 110.496 82.88 82.88z" />
<glyph unicode="&#xea32;" glyph-name="popout" d="M502.208 526.688l85.312-85.28 160.512 160.544 82.88-82.88 0.128 247.488-249.12 1.472 80.832-80.8-160.544-160.544zM829.632 417.76l-61.44 62.304 1.12-288.224-512.48-0.288 0.512 511.136 286.656 1.28-64 64h-224c-35.328 0-64-28.672-64-64v-512c0-35.328 28.672-64 64-64h512c35.328 0 64 28.672 64 64l-2.368 225.792z" />
<glyph unicode="&#xea33;" glyph-name="popin" d="M480 418.368l249.088-1.472-80.8 80.8 160.544 160.544-85.312 85.28-160.512-160.544-82.88 82.912-0.128-247.52zM829.632 417.792l-61.44 62.304 1.12-288.224-512.48-0.288 0.512 511.168 286.656 1.248-64 64h-224c-35.328 0-64-28.672-64-64v-512c0-35.328 28.672-64 64-64h512c35.328 0 64 28.672 64 64l-2.368 225.792z" />
<glyph unicode="&#xea34;" glyph-name="target" d="M899.904 845.312l-68.704-60.736-41.696-0.64-87.36-91.36c56.32-59.84 91.072-140.256 91.072-228.928 0-184.736-149.792-334.56-334.56-334.56-184.736 0-334.528 149.824-334.528 334.56 0 184.768 149.792 334.56 334.528 334.56 84.64 0 161.696-31.648 220.608-83.456l84.32 84.32 0.064 37.152 64.704 74.72-0.064-66.528 71.616 0.896zM668.32 658.752l-85.056-85.088c28.8-31.264 46.816-72.64 46.816-118.496 0-96.8-78.432-175.232-175.232-175.232s-175.264 78.432-175.264 175.232c0 96.768 78.464 175.264 175.264 175.264 39.392 0 75.36-13.472 104.672-35.424l85.952 85.952c-50.208 43.2-115.36 69.472-186.816 69.472-158.368 0-286.752-128.416-286.752-286.784s128.384-286.72 286.752-286.72 286.752 128.384 286.752 286.72c-0.032 75.456-29.408 143.904-77.088 195.104zM453.504 404.736c-26.368 0-47.776 21.376-47.776 47.776s21.408 47.808 47.776 47.808c3.328 0 6.272-1.248 9.44-1.92l74.016 74.016c-23.296 16.352-51.488 26.112-82.112 26.112-79.2 0-143.36-64.224-143.36-143.392s64.192-143.36 143.36-143.36 143.36 64.192 143.36 143.36c0 37.056-14.432 70.496-37.536 95.968l-69.92-69.952c6.176-8.064 10.528-17.728 10.528-28.672 0.032-26.368-21.376-47.744-47.776-47.744zM315.36 104.064c9.504-4.8 19.264-9.12 29.28-12.992l-56.576-97.984c-4.416-7.616-14.144-10.176-21.792-5.824-7.584 4.384-10.208 14.112-5.824 21.76l54.912 95.040zM475.392 79.008v-44.64c0-8.8-7.168-15.936-15.936-15.936-8.8 0-15.936 7.136-15.936 15.936v44.64c5.312-0.256 10.56-0.8 15.936-0.8s10.624 0.544 15.936 0.8zM670.432 8.992c4.384-7.616 1.792-17.376-5.856-21.76s-17.344-1.824-21.792 5.824l-56.544 97.984c9.984 3.872 19.776 8.192 29.28 12.992l54.912-95.040z" />
<glyph unicode="&#xea35;" glyph-name="badge" d="M809.824 569.76c-7.936 0-15.264 2.048-22.016 5.248l-72.672-125.92 73.152-126.752c6.016 2.432 12.512 3.904 19.36 3.904 28.8 0 52.16-23.328 52.16-52.16s-23.328-52.192-52.16-52.192c-28.832 0-52.192 21.376-52.192 50.176 0 0.48 0.288 1.312 0.288 1.312h-140.928l-75.936-129.6c14.88-9.184 25.312-24.864 25.312-43.616 0-28.8-23.36-52.192-52.192-52.192s-52.16 23.36-52.16 52.192c0 20.128 11.744 37.024 28.416 45.76l-74.72 127.456h-147.456c0-0.48 0.256-0.832 0.256-1.312 0-28.8-23.36-50.176-52.16-50.176s-52.16 23.36-52.16 52.192 23.36 52.16 52.16 52.16c8.896 0 16.896-2.816 24.256-6.752l74.816 129.6-73.92 128c-7.552-4.256-15.84-7.328-25.152-7.328-28.8 0-52.16 23.328-52.16 52.16s23.36 52.192 52.16 52.192c28.512 0 51.488-22.912 52-51.328h147.328l73.824 127.904c-16.128 8.832-27.52 25.408-27.52 45.12 0.032 28.864 23.392 52.192 52.192 52.192s52.192-23.328 52.192-52.192c0-18.336-10.048-33.728-24.448-43.040l75.072-129.984h143.008c0.512 28.416 23.488 51.328 52 51.328 28.8 0 52.192-23.36 52.192-52.192s-23.392-52.16-52.192-52.16zM512 589.312c-76.832 0-139.136-62.272-139.136-139.136s62.304-139.136 139.136-139.136c76.8 0 139.136 62.304 139.136 139.168s-62.336 139.104-139.136 139.104zM512 339.328c-61.248 0-110.88 49.632-110.88 110.88 0 61.216 49.632 110.848 110.88 110.848 61.216 0 110.88-49.632 110.88-110.848 0-61.28-49.664-110.88-110.88-110.88z" />
<glyph unicode="&#xea36;" glyph-name="badge1" d="M860.384 425.632c36.864-257.504-182.528-276.928-214.272-291.68-71.456-24.928-128.832-71.936-128.832-71.936s-46.688 40.8-116.672 71.936c-33.056 13.632-274.176 35.008-237.248 291.68 7.776 36.96 50.496 68.064 50.496 130.304s-52.48 134.176-52.48 134.176l149.76 143.904c0 0 52.512-37.024 99.2-37.024 46.656 0 106.944 37.024 106.944 37.024s60.288-37.024 104.992-37.024c44.736 0 99.2 37.024 99.2 37.024l139.744-141.984c0 0-52.48-74.016-52.48-136.128s42.272-91.424 51.648-130.272zM515.168 706.048c-131.36 0-237.856-116.384-237.856-247.744s106.464-227.936 237.856-227.936c131.328 0 237.856 96.576 237.856 227.936-0.032 131.36-106.528 247.744-237.856 247.744zM516.48 244.256c-122.592 0-222.016 99.36-222.016 221.984 0 122.592 99.392 221.984 222.016 221.984s221.984-99.36 221.984-221.984c-0.032-122.624-99.392-221.984-221.984-221.984zM650.336 566.432c-12.672 0-22.88-10.176-23.104-22.784h-63.52l-33.344 57.76c6.368 4.128 10.848 10.976 10.848 19.136 0 12.8-10.368 23.2-23.2 23.2s-23.2-10.368-23.2-23.2c0-8.736 5.056-16.128 12.256-20.064l-32.8-56.8h-65.472c-0.224 12.608-10.432 22.784-23.104 22.784-12.8 0-23.2-10.368-23.2-23.168s10.368-23.2 23.2-23.2c4.128 0 7.808 1.376 11.168 3.264l32.832-56.864-33.248-57.568c-3.264 1.76-6.816 3.008-10.752 3.008-12.8 0-23.2-10.368-23.2-23.2 0-12.736 10.368-23.136 23.2-23.136 12.768 0 23.168 10.368 23.168 23.136 0 0.256-0.096 0.384-0.096 0.64h65.504l33.184-57.568c-7.392-3.808-12.64-11.36-12.64-20.32 0-12.8 10.368-23.2 23.2-23.2s23.2 10.368 23.2 23.2c0 8.384-4.672 15.328-11.264 19.36l33.76 58.496h62.592c0-0.256-0.128-0.384-0.128-0.64 0-12.736 10.4-23.136 23.2-23.136s23.2 10.368 23.2 23.136c0 12.8-10.368 23.2-23.2 23.2-3.040 0-5.952-0.64-8.608-1.696l-32.512 56.256 32.288 55.936c3.008-1.408 6.24-2.304 9.792-2.304 12.8 0 23.2 10.368 23.2 23.2 0 12.736-10.368 23.136-23.2 23.136z" />
<glyph unicode="&#xea37;" glyph-name="ticket" horiz-adv-x="1280" d="M1264 224h16v-32c-9.568 0-20.096 0-32 0-35.328 0-64-28.672-64-64 0-11.712 0-22.56 0-32h-1088c0 9.44 0 20.288 0 32 0 35.328-28.672 64-64 64-10.208 0-21.312 0-32 0v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32h16c8.832 0 16 7.168 16 16s-7.168 16-16 16h-16v32c9.568 0 20.096 0 32 0 35.328 0 64 28.672 64 64 0 11.712 0 22.56 0 32h1088c0-9.44 0-20.288 0-32 0-35.328 28.672-64 64-64 11.904 0 22.432 0 32 0v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16h16v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16h16v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16h16v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16h16v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16h16v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16h16v-32h-16c-8.832 0-16-7.168-16-16s7.168-16 16-16zM1152 608c0 35.328-28.672 64-64 64h-896c-35.328 0-64-28.672-64-64v-352c0-35.328 28.672-64 64-64h896c35.328 0 64 28.672 64 64v352zM1088 224h-896c-17.696 0-32 14.336-32 32v352c0 17.696 14.304 32 32 32h896c17.664 0 32-14.304 32-32v-352c0-17.664-14.336-32-32-32zM364.384 512.384h-127.136v-18.88h52.864v-141.504h21.248v141.504h52.992v18.88zM408.576 512.384h-21.248v-160.384h21.248v160.384zM472.288 464.32c3.328 9.984 9.184 17.92 17.472 23.808 8.256 5.92 18.56 8.864 30.88 8.864 10.72 0 19.616-2.656 26.688-8 7.104-5.312 12.48-13.824 16.192-25.504l20.864 4.928c-4.288 14.784-11.904 26.272-22.848 34.432s-24.448 12.256-40.48 12.256c-14.144 0-27.104-3.232-38.88-9.696-11.776-6.432-20.832-15.904-27.264-28.352-6.368-12.448-9.568-27.008-9.568-43.68 0-15.328 2.848-29.664 8.512-43.008 5.632-13.376 13.888-23.552 24.672-30.592 10.848-7.040 24.896-10.56 42.176-10.56 16.672 0 30.816 4.576 42.368 13.728s19.552 22.432 24 39.872l-21.248 5.376c-2.912-13.504-8.512-23.68-16.704-30.56-8.256-6.848-18.272-10.272-30.176-10.272-9.76 0-18.848 2.528-27.232 7.552s-14.56 12.64-18.528 22.816-5.984 22.080-5.984 35.744c0.064 10.624 1.728 20.896 5.088 30.848zM747.616 512.384h-28.736l-79.616-79.36v79.36h-21.248v-160.384h21.248v55.616l26.304 25.44 57.056-81.056h28l-70.24 95.36 67.232 65.024zM894.016 370.88h-98.368v54.624h88.64v18.88h-88.64v49.12h94.624v18.88h-115.872v-160.384h119.616v18.88zM1044 512.384h-127.136v-18.88h52.864v-141.504h21.248v141.504h52.992v18.88z" />
<glyph unicode="&#xea38;" glyph-name="ticket1" horiz-adv-x="1280" d="M1280 337.984v-177.984c0-35.328-28.672-64-64-64h-176c8.832 0 16 7.168 16 16s-7.168 16-16 16-16-7.168-16-16 7.168-16 16-16h-976c-35.328 0-64 28.672-64 64v176c52.992 0 96 43.008 96 96 0 53.024-43.008 96-96 96v176c0 35.328 28.672 64 64 64h976c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16h176c35.328 0 64-28.672 64-64v-174.016c-53.024 0-96-42.976-96-96 0-52.992 42.976-96 96-96zM282.176 512.384h-22.912l-61.504-160.384h22.496l17.6 48.64h67.104l18.656-48.64h24.192l-65.632 160.384zM509.92 471.2c-4.192 11.136-10.528 20.256-18.976 27.392-6.496 5.536-14.336 9.376-23.52 11.488-6.56 1.536-16.096 2.272-28.576 2.272h-55.264v-160.352h57.888c9.728 0 18.272 0.896 25.792 2.752 7.456 1.824 13.856 4.512 19.136 8.032 5.312 3.52 10.176 8.384 14.624 14.528 4.448 6.176 8.096 13.984 10.944 23.36s4.288 20.192 4.288 32.384c-0.032 14.304-2.144 27.008-6.336 38.144zM698.24 512.384h-28.64l-38.496-111.552c-3.872-11.328-6.752-19.872-8.576-25.696-1.632 5.248-4.192 13.152-7.68 23.712l-38.016 113.536h-31.872v-160.384h20.512v136.512l46.336-136.512h19.168l46.784 134.24v-134.24h20.512v160.384zM757.344 512.384h-21.248v-160.384h21.248v160.384zM915.424 512.384h-127.136v-18.88h52.864v-141.504h21.248v141.504h52.992v18.88zM1040 704c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 640c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 576c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 512c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 448c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 384c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 320c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 256c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM1040 192c-8.832 0-16-7.168-16-16s7.168-16 16-16 16 7.168 16 16-7.168 16-16 16zM478.368 382.144c-3.584-3.552-8.384-6.336-14.4-8.32s-14.304-2.976-24.864-2.976h-34.24v122.624h33.696c12.64 0 21.792-1.088 27.456-3.296 7.872-3.072 14.56-9.088 20.064-18.112 5.536-8.992 8.288-21.92 8.288-38.688 0-12.128-1.408-22.432-4.224-30.944s-6.784-15.232-11.776-20.288zM261.504 464.864c3.712 10.144 6.592 20.384 8.672 30.624 2.496-8.672 6.304-19.744 11.424-33.216l16.672-44.416h-54.304l17.536 47.008z" />
<glyph unicode="&#xea39;" glyph-name="ticket2" horiz-adv-x="1248" d="M1248 337.984v-177.984c0-35.328-28.672-64-64-64h-1120c-35.328 0-64 28.672-64 64v176c53.024 0 96 43.008 96 96 0 53.024-42.976 96-96 96v176c0 35.328 28.672 64 64 64h1120c35.328 0 64-28.672 64-64v-174.016c-53.024 0-96-42.976-96-96 0-52.992 42.976-96 96-96zM1088 608c0 35.328-28.672 64-64 64h-800c-35.328 0-64-28.672-64-64v-352c0-35.328 28.672-64 64-64h800c35.328 0 64 28.672 64 64v352zM1024 224h-800c-17.696 0-32 14.336-32 32v352c0 17.696 14.304 32 32 32h800c17.664 0 32-14.304 32-32v-352c0-17.664-14.336-32-32-32zM399.040 462.784l-29.024 82.56-29.024-82.56-83.648-3.52 65.728-54.528-22.688-84.736 69.632 48.832 69.6-48.832-22.656 84.704 65.696 54.528-83.616 3.552zM655.040 462.784l-29.024 82.56-29.024-82.56-83.648-3.52 65.728-54.528-22.688-84.736 69.632 48.832 69.6-48.832-22.656 84.704 65.696 54.528-83.616 3.552zM911.040 462.784l-29.024 82.56-29.024-82.56-83.616-3.52 65.696-54.528-22.688-84.736 69.632 48.832 69.6-48.832-22.656 84.704 65.696 54.528-83.616 3.552z" />
<glyph unicode="&#xea3a;" glyph-name="microphone3" d="M584.032 547.008c19.744 67.168 11.392 140.8-25.024 202.464 0.8-1.12-348.128-352.864-350.624-350.656 60.64-35.808 134.272-45.888 200.544-27.392-0.48 1.696 173.696 175.84 175.104 175.584zM521.792 805.568c-47.008 46.336-114.272 77.76-185.408 77.76-143.776 0-260.352-116.864-260.352-260.992 0-70.336 32-138.432 77.12-185.376 0.096 0 366.432 365.6 368.64 368.608zM889.984 113.088c0 0 8.512 73.536-12.704 94.752-1.408 1.408-244.672 298.4-244.672 298.4l-181.024-181.024 296.992-246.048c19.808-22.624 96.16-11.328 96.16-11.328l60.8-55.168 42.432 42.432-57.984 57.984z" />
<glyph unicode="&#xea3b;" glyph-name="cone" d="M864.736 32.32h-705.504l0.48 60.64 81.92 70.624c0 0 147.488-48.64 270.016-48.64 120.736 0 272.736 48.64 272.736 48.64l80.384-69.76v-61.504zM261.856 188.192l51.2 162.432h397.216l51.2-162.432c0 0-154.688-46.112-248.64-46.112-91.68-0.032-250.976 46.112-250.976 46.112zM343.36 446.816l51.168 162.4h234.304l51.136-162.4h-336.608zM474.688 863.712h73.92l49.888-158.24h-173.664l49.856 158.24z" />
<glyph unicode="&#xea3c;" glyph-name="blocked" d="M512 32c-229.728 0-416 186.24-416 416s186.272 416 416 416c229.76 0 416-186.24 416-416s-186.24-416-416-416zM512 128c70.752 0 135.968 23.264 188.96 62.112l-446.816 446.784c-38.912-52.96-62.144-118.144-62.144-188.896 0-176.704 143.264-320 320-320zM512 768c-71.296 0-136.928-23.584-190.112-63.040l447.072-447.104c39.424 53.216 63.040 118.816 63.040 190.144 0 176.736-143.264 320-320 320z" />
<glyph unicode="&#xea3d;" glyph-name="stop" d="M689.984 896h-369.632l-264.352-263.648v-368.672l264.352-263.68 369.632 2.336 262.016 261.344v368.672l-262.016 263.648zM920 276.832l-243.328-242.656-343.2-2.176-245.472 244.832v342.368l245.472 244.8h343.232l243.328-244.8v-342.368zM774.112 448.736c6.144 1.632 11.296 4.512 15.36 8.64 3.648 3.712 6.336 7.744 8 12.128 1.696 4.416 2.528 9.504 2.528 15.36 0 6.368-1.088 11.904-3.328 16.64-2.208 4.672-5.568 8.544-10.048 11.52-3.936 2.56-8.48 4.384-13.696 5.44s-11.68 1.632-19.424 1.632h-20.512v-73.76h16.864c10.016 0 18.112 0.8 24.256 2.4zM640.096 504.8c-4.896 6.432-10.848 11.264-17.824 14.464s-14.784 4.8-23.456 4.8c-8.992 0-16.864-1.568-23.584-4.672-6.72-3.168-12.672-8-17.856-14.592-4.896-6.336-8.672-14.304-11.328-23.872-2.624-9.6-3.936-20.448-3.936-32.544 0-24.448 5.12-43.168 15.36-56.128 10.272-12.96 24.032-19.424 41.312-19.424 17.248 0 31.008 6.464 41.216 19.424s15.328 31.68 15.328 56.128c0 12.352-1.344 23.264-4 32.768-2.656 9.536-6.4 17.408-11.232 23.648zM340.032 848l-236.032-235.392v-329.152l236.032-235.424 330.016 2.080 233.952 233.344v329.152l-233.952 235.392h-330.016zM336.064 386.72c-2.976-7.072-7.136-13.056-12.448-17.984-6.016-5.408-12.8-9.6-20.352-12.512-7.552-2.944-16.992-4.384-28.352-4.384-13.536 0-24.992 1.408-34.464 4.192s-18.368 6.208-26.688 10.304v31.008h1.76c8.192-7.616 17.44-13.536 27.776-17.728s20.32-6.272 29.92-6.272c13.696 0 24.032 2.848 31.040 8.544 7.040 5.728 10.528 13.216 10.528 22.56 0 7.36-1.856 13.44-5.536 18.080s-9.536 8.096-17.568 10.336c-5.792 1.696-11.040 3.072-15.776 4.128-4.768 1.088-10.752 2.56-17.92 4.416-6.432 1.664-12.224 3.776-17.28 6.368-5.088 2.56-9.632 5.952-13.536 10.112-3.84 4.096-6.848 8.896-8.96 14.432-2.112 5.568-3.2 11.936-3.2 19.232 0 15.104 5.888 27.712 17.664 37.952s26.816 15.328 45.088 15.328c10.432 0 20.32-1.056 29.632-3.136s17.952-5.024 25.888-8.832v-29.536h-1.888c-5.952 5.344-13.536 9.984-22.816 14.016s-19.040 6.016-29.216 6.016c-11.52 0-20.832-2.688-27.936-8.064s-10.656-12.416-10.656-21.152c0-7.904 2.080-14.176 6.272-18.848s10.24-8.096 18.176-10.24c5.248-1.408 11.68-3.040 19.296-4.8s13.92-3.424 18.944-4.928c12.832-3.936 22.24-9.856 28.16-17.792 5.952-7.904 8.896-17.664 8.896-29.248 0-7.296-1.472-14.464-4.448-21.568zM508.384 515.584h-60.512v-160.256h-30.752v160.256h-58.496v28h149.76v-28zM708.256 541.6h46.752c11.008 0 20.384-0.928 28.128-2.752 7.744-1.856 14.592-4.8 20.512-8.864 6.912-4.736 12.352-10.784 16.256-18.048 3.904-7.328 5.888-16.128 5.888-26.432 0-8.096-1.44-15.744-4.32-22.944-2.88-7.232-6.848-13.376-11.936-18.432-6.4-6.336-13.984-11.136-22.624-14.368-8.672-3.264-19.616-4.864-32.864-4.864h-20.992v-69.504h-24.736v186.208zM681.12 448.416c0-15.136-1.92-28.768-5.76-40.96s-9.376-22.4-16.672-30.688c-7.584-8.672-16.448-15.104-26.56-19.232-10.144-4.128-21.28-6.176-33.472-6.176-12.608 0-23.936 2.112-34.016 6.368s-18.752 10.592-26.016 19.040c-7.168 8.288-12.672 18.464-16.512 30.56-3.84 12.128-5.76 25.824-5.76 41.088 0 15.68 1.952 29.472 5.824 41.312 3.872 11.872 9.408 22.048 16.576 30.56 7.2 8.288 15.84 14.56 25.984 18.848 10.112 4.32 21.472 6.464 33.984 6.464 12.672 0 24.096-2.208 34.272-6.656 10.144-4.416 18.752-10.624 25.76-18.656 7.104-8.192 12.608-18.304 16.544-30.432 3.872-12.096 5.824-25.92 5.824-41.44z" />
<glyph unicode="&#xea3e;" glyph-name="keyboard" d="M894.944 64.512h-765.92c-35.264 0-63.808 28.608-63.808 63.84v351.008c0 35.296 28.576 63.84 63.808 63.84l33.76 1.792c0 52.128 15.872 84 47.616 119.488s71.104 53.28 118.144 53.28c22.304 0 47.040-3.776 74.144-11.328 0 0 58.944-19.584 99.872-19.584 62.432 0 105.056 27.36 127.68 82.112 10.624 26.336 21.44 39.52 32.448 39.52 15.744 0 23.68-7.36 23.68-22.048 0-26.016-14.048-54.784-42.176-86.272-37.76-42.784-84.192-64.192-139.392-64.192-42.848 0-116.288 20.096-116.288 20.096-29.824 7.232-51.104 10.816-63.776 10.816-30.496 0-56.672-13.024-78.432-39.136s-32.672-47.2-32.672-83.2l681.312-1.344c35.264 0 63.872-28.576 63.872-63.84v-351.040c0-35.232-28.64-63.808-63.872-63.808zM926.88 479.36c0 17.664-14.304 31.936-31.936 31.936h-765.92c-17.632 0-31.904-14.272-31.904-31.936v-351.040c0-17.632 14.272-31.936 31.904-31.936h765.92c17.632 0 31.936 14.304 31.936 31.936v351.040zM799.072 318.816h-62.816v-61.824h-63.808v61.824h-63.872v-61.824h-65.824v61.824h-61.824v-61.824h-63.84v61.824h-63.808v-61.824h-63.872v61.824h-64.8v-61.824h-63.808v62.816h64.8v63.84h-64.8v62.816h63.808v-61.824h64.8v61.824h63.84v-61.824h63.808v61.824h63.84v-61.824h61.824v61.824h65.824v-61.824h63.872v61.824h63.808v-61.824h62.816v61.824h63.808v-62.816h-62.816v-63.84h62.816v-62.816h-63.808v61.824zM353.28 383.648h-64.832v-63.84h64.8v63.84zM479.936 383.648h-63.84v-63.84h63.84v63.84zM607.552 383.648h-63.808v-63.84h63.808v63.84zM735.264 383.648h-63.904v-63.84h63.872v63.84zM738.24 160.256h-450.784v62.848h450.784v-62.848z" />
<glyph unicode="&#xea3f;" glyph-name="keyboard1" d="M864 31.488h-704c-35.36 0-64 28.672-64 64v416c0 35.328 28.64 64 64 64l33.856-0.192c0 52.288 15.904 86.208 47.744 121.824 31.808 35.584 71.328 53.376 118.464 53.376 22.368 0 47.168-3.776 74.336-11.328 0 0 59.104-19.648 100.128-19.648 62.624 0 105.312 27.456 128.032 82.368 10.656 26.4 21.504 39.616 32.544 39.616 15.808 0 23.744-7.36 23.744-22.112 0-26.080-14.112-54.944-42.304-86.496-37.824-42.912-84.416-64.384-139.744-64.384-42.976 0-116.608 20.16-116.608 20.16-29.92 7.232-51.232 10.848-63.936 10.848-30.624 0-56.832-13.056-78.656-39.232-21.856-26.144-32.736-49.28-32.736-85.408l619.136 0.608c35.328 0 64-28.672 64-64v-416c0-35.328-28.672-64-64-64zM896 511.488c0 17.696-14.336 32-32 32h-704c-17.696 0-32-14.304-32-32v-416c0-17.664 14.304-32 32-32h704c17.664 0 32 14.336 32 32v416zM640.096 287.136h192.576v-63.392h-192.576v63.392zM703.616 383.136h128.672v-63.392h-128.672v63.392zM768.224 479.488h64.096v-65.408h-64.096v65.408zM673.184 479.488h62.752v-65.408h-62.752v65.408zM608.256 383.136h63.392v-63.392h-63.392v63.392zM576.8 479.488h64.064v-65.408h-64.064v65.408zM510.528 383.136h65.408v-63.392h-65.408v63.392zM479.104 479.488h65.408v-65.408h-65.408v65.408zM384.064 479.488h64.736v-65.408h-64.736v65.408zM285.696 479.488h66.080v-65.408h-66.080v65.408zM192 479.488h65.408v-65.408h-65.408v65.408zM384.576 319.712h-192.576v63.392h192.576v-63.392zM257.408 126.304h-65.408v65.408h65.408v-65.408zM192.352 287.136h128.672v-63.392h-128.672v63.392zM353.12 126.304h-65.44v65.408h65.44v-65.408zM512.128 223.712h-65.44v63.392h65.44v-63.392zM416.416 223.712h-65.408v63.392h65.408v-63.392zM480.256 319.712h-65.44v63.392h65.44v-63.392zM607.808 287.136v-63.392h-63.392v63.392h63.392zM640.224 126.304h-254.816v65.408h254.816v-65.408zM735.936 126.304h-65.44v65.408h65.44v-65.408zM831.616 126.304h-63.392v65.408h63.392v-65.408z" />
<glyph unicode="&#xea40;" glyph-name="radio1" horiz-adv-x="1056" d="M992 31.872h-928c-35.328 0-64 28.608-64 63.84v542.848c0 35.296 28.672 63.872 64 63.872h678.016l-264.512 143.776c-5.76-10.592-16.576-18.048-29.504-18.048-18.784 0-33.984 15.2-33.984 33.92s15.2 33.92 33.984 33.92 33.984-15.2 33.984-33.952c0-4.48-0.96-8.672-2.56-12.608l380.576-147.040h132c35.328 0 64-28.608 64-63.872v-542.848c0-35.2-28.672-63.808-64-63.808zM896 127.008c35.328 0 64 28.608 64 63.872s-28.672 63.84-64 63.84c-35.36 0-64-28.608-64-63.84 0-35.296 28.64-63.872 64-63.872zM704 127.648c35.328 0 64 28.608 64 63.872s-28.672 63.84-64 63.84-64-28.608-64-63.84c0-35.264 28.672-63.872 64-63.872zM336 606.624c-132.544 0-240-107.232-240-239.456 0-132.288 107.456-239.488 240-239.488 132.576 0 240 107.232 240 239.488 0 132.224-107.424 239.456-240 239.456zM960 606.624h-320v-95.776h176l32 63.84 32-63.84h80v95.776zM512 319.264h25.888c-2.624-11.040-6.176-21.664-10.496-31.936h-15.392v31.936zM512 383.104h30.368c0.448-5.344 1.632-10.464 1.632-15.936s-1.184-10.624-1.632-15.968h-30.368v31.904zM512 446.976h15.744c4.32-10.176 7.328-20.992 9.984-31.936h-25.728v31.936zM448 478.912v31.936h32v-31.936h-32zM384 191.52h32v-15.328c-10.272-4.256-20.96-7.712-32-10.4v25.728zM384 255.36h32v-31.936h-32v31.936zM384 319.264h32v-31.936h-32v31.936zM384 383.104h32v-31.904h-32v31.904zM384 446.976h32v-31.936h-32v31.936zM384 510.848h32v-31.936h-32v31.936zM384 568.448c11.008-2.688 21.728-6.144 32-10.4v-15.296h-32v25.696zM320 161.28v30.24h32v-30.784c-5.312-0.416-10.56-1.152-16-1.152-5.504 0-10.624 1.248-16 1.696zM320 255.36h32v-31.936h-32v31.936zM320 319.264h32v-31.936h-32v31.936zM320 383.104h32v-31.904h-32v31.904zM320 446.976h32v-31.936h-32v31.936zM320 510.848h32v-31.936h-32v31.936zM320 572.992c5.376 0.448 10.496 1.696 16 1.696 5.44 0 10.688-0.736 16-1.152v-30.784h-32v30.24zM256 191.52h32v-25.472c-10.944 2.72-21.792 5.824-32 10.144v15.328zM256 255.36h32v-31.936h-32v31.936zM256 319.264h32v-31.936h-32v31.936zM256 383.104h32v-31.904h-32v31.904zM256 446.976h32v-31.936h-32v31.936zM256 510.848h32v-31.936h-32v31.936zM256 557.984c10.208 4.384 21.056 7.456 32 10.208v-25.44h-32v15.232zM192 255.36h32v-31.936h-32v31.936zM192 319.264h32v-31.936h-32v31.936zM192 383.104h32v-31.904h-32v31.904zM192 446.976h32v-31.936h-32v31.936zM192 510.848h32v-31.936h-32v31.936zM480 415.040h-32v31.936h32v-31.936zM480 351.2h-32v31.904h32v-31.904zM480 287.328h-32v31.936h32v-31.936zM480 223.424h-32v31.936h32v-31.936zM134.112 319.264h25.888v-31.936h-15.36c-4.32 10.272-7.904 20.896-10.528 31.936zM128 367.168c0 5.472 1.216 10.592 1.632 15.936h30.368v-31.904h-30.368c-0.448 5.344-1.632 10.496-1.632 15.968zM144.256 446.976h15.744v-31.936h-25.728c2.656 10.944 5.664 21.728 9.984 31.936zM256-0.064c0-17.632-14.304-31.936-32-31.936h-64c-17.664 0-32 14.304-32 31.936s0 31.936 0 31.936h128c0 0 0-14.304 0-31.936zM928-0.064c0-17.632-14.304-31.936-32-31.936h-64c-17.696 0-32 14.304-32 31.936s0 31.936 0 31.936h128c0 0 0-14.304 0-31.936z" />
<glyph unicode="&#xea41;" glyph-name="printer" d="M832 224h-64v64h32v64h-608v-64h32v-64h-64c-17.664 0-32 14.336-32 32v320c0 30.944 128 64 352 64 11.872 0 22.368 0 32 0 222.016 0 352-32.32 352-64v-320c0-17.664-14.304-32-32-32zM752 544c-26.496 0-48-21.504-48-48s21.504-48 48-48 48 21.504 48 48-21.504 48-48 48zM256 832c0 17.696 14.336 32 32 32h416c17.696 0 32-14.304 32-32v-160h-480v160zM736 32c0-17.664-14.304-32-32-32h-416c-17.664 0-32 14.336-32 32v288h480v-288zM672 288h-352v-32h352v32zM672 224h-352v-32h352v32zM672 160h-352v-32h352v32zM672 96h-352v-32h352v32z" />
<glyph unicode="&#xea42;" glyph-name="checked" d="M848 96h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h80v80c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 288c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 480c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 672c-8.832 0-16 7.168-16 16v80h-80c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM469.312 286.304c-5.888-5.92-15.456-5.92-21.376 0l-32.064 32.064c-0.064 0.096-0.032 0.224-0.096 0.288l-102.016 102.784c-5.92 5.888-5.92 15.456 0 21.376l32.064 32.096c5.92 5.92 15.488 5.92 21.408 0l91.52-92.192 192.448 192.416c5.888 5.92 15.456 5.92 21.376 0l32.064-32.096c5.952-5.92 5.952-15.488 0-21.408l-235.328-235.328zM656 768h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM464 768h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM272 96h-96c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16s16-7.168 16-16v-80h80c8.832 0 16-7.168 16-16s-7.168-16-16-16zM272 768h-80v-80c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16h96c8.832 0 16-7.168 16-16s-7.168-16-16-16zM176 608c8.832 0 16-7.168 16-16v-96c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16zM176 416c8.832 0 16-7.168 16-16v-96c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16zM368 128h96c8.8 0 16-7.168 16-16s-7.2-16-16-16h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16zM560 128h96c8.8 0 16-7.168 16-16s-7.2-16-16-16h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16z" />
<glyph unicode="&#xea43;" glyph-name="error" d="M848 96h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h80v80c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 288c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 480c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 672c-8.832 0-16 7.168-16 16v80h-80c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM656 96h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM656 768h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM464 768h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM272 96h-96c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16s16-7.168 16-16v-80h80c8.832 0 16-7.168 16-16s-7.168-16-16-16zM272 768h-80v-80c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16h96c8.832 0 16-7.168 16-16s-7.168-16-16-16zM176 608c8.832 0 16-7.168 16-16v-96c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16zM176 416c8.832 0 16-7.168 16-16v-96c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16zM663.552 328.864l-32.448-32.448c-5.952-5.984-15.616-5.984-21.6 0l-91.84 91.84-91.84-91.84c-5.984-5.984-15.616-5.984-21.6 0l-32.416 32.448c-5.984 5.984-5.984 15.616 0 21.6l91.872 91.84-91.872 91.84c-5.984 5.952-5.984 15.616 0 21.6l32.416 32.416c5.984 5.984 15.616 5.984 21.6 0l91.84-91.84 91.84 91.84c5.984 5.984 15.648 5.984 21.6 0l32.448-32.416c5.952-5.984 5.952-15.648 0-21.6l-91.872-91.84 91.872-91.84c5.952-5.952 5.952-15.616 0-21.6zM368 128h96c8.8 0 16-7.168 16-16s-7.2-16-16-16h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16z" />
<glyph unicode="&#xea44;" glyph-name="add" d="M848 96h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h80v80c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 288c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 480c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16 8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM848 672c-8.832 0-16 7.168-16 16v80h-80c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16v-96c0-8.832-7.2-16-16-16zM656 96h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM656 768h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM638.016 480c17.664 0 32-14.304 32-32 0-17.664-14.336-32-32-32h-96v-96c0-17.664-14.336-32-32-32-17.696 0-32 14.336-32 32v96h-96c-17.664 0-32 14.336-32 32 0 17.696 14.304 32 32 32h96v96c0 17.696 14.304 32 32 32 17.664 0 32-14.304 32-32v-96h96zM464 768h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16h96c8.8 0 16-7.168 16-16s-7.2-16-16-16zM272 96h-96c-8.832 0-16 7.168-16 16v96c0 8.832 7.168 16 16 16s16-7.168 16-16v-80h80c8.832 0 16-7.168 16-16s-7.168-16-16-16zM272 768h-80v-80c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16h96c8.832 0 16-7.168 16-16s-7.168-16-16-16zM176 608c8.832 0 16-7.168 16-16v-96c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16zM176 416c8.832 0 16-7.168 16-16v-96c0-8.832-7.168-16-16-16s-16 7.168-16 16v96c0 8.832 7.168 16 16 16zM368 128h96c8.8 0 16-7.168 16-16s-7.2-16-16-16h-96c-8.832 0-16 7.168-16 16s7.168 16 16 16z" />
<glyph unicode="&#xea45;" glyph-name="minus2" d="M272 800h-96c-8.832 0-16-7.168-16-16v-96c0-8.832 7.168-16 16-16s16 7.168 16 16v80h80c8.832 0 16 7.168 16 16s-7.168 16-16 16zM368 768h96c8.8 0 16 7.168 16 16s-7.2 16-16 16h-96c-8.832 0-16-7.168-16-16s7.168-16 16-16zM656 800h-96c-8.832 0-16-7.168-16-16s7.168-16 16-16h96c8.8 0 16 7.168 16 16s-7.2 16-16 16zM848 800h-96c-8.832 0-16-7.168-16-16s7.168-16 16-16h80v-80c0-8.832 7.168-16 16-16 8.8 0 16 7.168 16 16v96c0 8.832-7.2 16-16 16zM848 608c-8.832 0-16-7.168-16-16v-96c0-8.832 7.168-16 16-16 8.8 0 16 7.168 16 16v96c0 8.832-7.2 16-16 16zM848 416c-8.832 0-16-7.168-16-16v-96c0-8.832 7.168-16 16-16 8.8 0 16 7.168 16 16v96c0 8.832-7.2 16-16 16zM848 224c-8.832 0-16-7.168-16-16v-80h-80c-8.832 0-16-7.168-16-16s7.168-16 16-16h96c8.8 0 16 7.168 16 16v96c0 8.832-7.2 16-16 16zM656 128h-96c-8.832 0-16-7.168-16-16s7.168-16 16-16h96c8.8 0 16 7.168 16 16s-7.2 16-16 16zM464 128h-96c-8.832 0-16-7.168-16-16s7.168-16 16-16h96c8.8 0 16 7.168 16 16s-7.2 16-16 16zM272 128h-80v80c0 8.832-7.168 16-16 16s-16-7.168-16-16v-96c0-8.832 7.168-16 16-16h96c8.832 0 16 7.168 16 16s-7.168 16-16 16zM176 288c8.832 0 16 7.168 16 16v96c0 8.832-7.168 16-16 16s-16-7.168-16-16v-96c0-8.832 7.168-16 16-16zM176 480c8.832 0 16 7.168 16 16v96c0 8.832-7.168 16-16 16s-16-7.168-16-16v-96c0-8.832 7.168-16 16-16zM382.016 416h256c17.696 0 32 14.336 32 32 0 17.696-14.304 32-32 32h-256c-17.696 0-32-14.304-32-32 0-17.664 14.304-32 32-32z" />
<glyph unicode="&#xea46;" glyph-name="alert" d="M467.552 356.608c-11.072-11.264-16.64-25.024-16.64-41.344 0-17.632 6.304-32.448 18.88-44.448 11.616-11.072 25.568-16.608 41.888-16.608 16.672 0 31.072 6.016 43.072 18.112s17.984 26.496 17.984 43.2c0 16.128-5.824 30.176-17.44 42.176-11.616 12.192-25.632 18.272-41.952 18.272-18.144 0.032-33.408-6.432-45.792-19.36v0zM460.512 614.784c-9.568-14.432-14.304-32.352-14.304-53.728 0-17.44 2.944-36.672 8.832-57.664s13.92-40.672 24.032-59.072c13.696-24.928 24.32-37.408 31.808-37.408 7.68 0 17.824 9.76 30.368 29.248 11.072 17.248 19.904 36.864 26.56 58.912s9.984 42.624 9.984 61.76c0 28.864-7.808 51.2-23.36 66.944-11.616 12-25.76 18.016-42.432 18.016-22.496 0-39.68-9.024-51.488-27.008v0z" />
<glyph unicode="&#xea47;" glyph-name="pictures2" d="M896 704v-512c0-35.328-28.672-64-64-64h-672c0-35.328 28.672-64 64-64h672c35.328 0 64 28.672 64 64v512c0 35.328-28.672 64-64 64zM864 224v512c0 35.328-28.672 64-64 64h-672c-35.328 0-64-28.672-64-64v-512c0-35.328 28.672-64 64-64h672c35.328 0 64 28.672 64 64zM128 736h672v-512h-672v512zM500.064 406.048l-95.616 101.792-95.648-163.328-71.744 74.976-77.728-164.128h609.76l-137.504 359.84-131.52-209.152zM256 512c35.328 0 64 28.672 64 64s-28.672 64-64 64-64-28.672-64-64 28.672-64 64-64z" />
<glyph unicode="&#xea48;" glyph-name="atom" d="M789.984 446.816c73.376-79.136 106.24-156.992 77.728-206.912-28.448-49.792-111.392-60.064-215.616-35.648-31.2-104.288-81.728-172.384-138.912-172.384-57.248 0-107.744 68.32-138.88 172.896-105.376-25.12-189.312-15.040-217.984 35.136-28.512 49.92 4.384 127.872 77.76 207.104-74.784 79.872-108.448 158.72-79.68 209.024 28.8 50.432 113.536 60.384 219.648 34.784 31.168 104.8 81.856 173.312 139.168 173.312 57.28 0 107.808-68.288 138.944-172.832 105.12 24.96 188.928 14.848 217.568-35.264 28.672-50.336-5.024-129.248-79.744-209.216zM184.064 638.688c-22.016-38.528 8.352-101.696 72.64-168.48 26.208 25.568 56.384 50.944 89.984 75.328 4.096 40.512 10.336 78.944 18.88 113.92-89.824 23.072-159.392 17.92-181.504-20.768zM343.072 500.448c-23.040-17.536-44.064-35.328-62.912-53.088 19.104-17.856 39.712-35.776 63.040-53.44-0.96 17.76-1.632 35.712-1.632 54.080 0 17.792 0.576 35.264 1.504 52.448zM346.656 348.992c-33.632 24.288-63.712 49.6-90.016 75.072-63.136-66.176-92.448-128.608-70.624-166.816 21.984-38.432 90.816-43.776 179.84-21.184-8.544 34.784-15.136 72.608-19.2 112.928zM642.848 325.28c-14.272-9.376-28.864-18.592-44.064-27.456-15.424-8.992-30.848-17.248-46.208-25.12 26.336-11.2 52.096-20.96 76.544-28.448 5.728 25.088 10.176 52.448 13.728 81.024zM513.152 66.56c43.808 0 82.688 57.12 107.84 145.824-34.72 9.984-71.392 23.872-108.768 40.768-36.704-16.672-72.608-30.080-106.784-40.096 25.088-88.928 63.904-146.496 107.712-146.496zM397.536 245.056c23.744 7.392 48.576 16.576 74.112 27.456-15.424 7.904-30.944 16.256-46.432 25.28-14.368 8.416-28.192 17.056-41.728 25.92 3.488-28.064 8.448-53.952 14.048-78.656zM383.552 571.008c14.112 9.248 28.576 18.336 43.584 27.136 14.816 8.672 29.632 16.64 44.416 24.256-25.632 10.944-50.72 20.608-74.592 28.064-5.568-24.64-9.888-51.488-13.408-79.456zM513.152 829.44c-43.936 0-83.008-57.664-108.128-147.008 34.144-10.048 70.112-23.84 106.752-40.544 37.504 17.184 74.176 30.912 109.088 41.088-25.088 88.864-63.872 146.464-107.712 146.464zM628.832 651.040c-24.576-7.648-50.24-17.12-76.736-28.512 14.88-7.648 29.824-15.68 44.736-24.416 16.064-9.376 31.424-19.136 46.432-29.056-3.52 29.28-8.608 56.32-14.432 81.984zM647.68 524.672c-21.44 14.912-44.096 29.472-68.032 43.392-22.912 13.376-45.632 25.056-68.096 35.968-22.176-10.816-44.672-22.816-67.232-35.968-22.816-13.28-44.608-27.168-65.12-41.312-1.984-25.504-3.328-51.616-3.328-78.784 0-27.456 1.12-54.176 3.104-79.968 20.064-13.792 41.248-27.264 63.392-40.192 23.552-13.728 46.912-25.728 70.016-36.864 22.816 11.072 45.984 23.328 69.184 36.864 23.008 13.408 44.864 27.36 65.568 41.664 1.952 25.408 3.328 51.424 3.328 78.496 0 26.304-0.96 51.936-2.784 76.704zM837.984 257.248c21.824 38.144-7.744 100.48-70.752 166.496-25.632-24.768-54.976-49.344-87.552-72.992-4.096-41.024-10.432-79.968-19.136-115.328 87.872-21.92 155.68-16.256 177.44 21.824zM683.296 395.84c22.048 16.832 42.272 33.92 60.512 50.912-18.304 17.28-38.048 34.656-60.384 51.776 0.8-16.608 1.376-33.408 1.376-50.528-0.032-17.728-0.608-35.072-1.504-52.16zM839.904 638.688c-21.952 38.368-90.56 43.808-179.36 21.312 8.736-35.776 15.488-74.848 19.52-116.512 32.608-23.84 61.76-48.64 87.296-73.568 64.416 66.912 94.624 130.176 72.544 168.768zM518.4 382.016c-37.664 0-68.192 30.816-68.192 68.864 0 38.016 30.528 68.864 68.192 68.864 37.632 0 68.16-30.848 68.16-68.864 0-38.080-30.528-68.864-68.16-68.864z" />
<glyph unicode="&#xea49;" glyph-name="eyedropper" d="M785.664 518.016l-203.648 203.648c-12.48 12.512-12.48 32.736 0 45.248 12.512 12.512 32.768 12.512 45.28 0l22.624-22.624 101.856 101.824c43.712 43.744 114.624 43.744 158.368 0 43.744-43.712 43.744-114.656 0-158.368l-101.824-101.856 22.624-22.624c12.512-12.512 12.512-32.736 0-45.248s-32.8-12.512-45.28 0zM307.264 84.864c-19.808-19.808-69.28 21.184-90.496 0l-53.76-53.76c-18.72-18.752-49.12-18.752-67.872 0s-18.752 49.12 0 67.872l53.76 53.76c21.216 21.184-19.808 70.688 0 90.496 19.776 19.84 432.736 432.768 432.736 432.768l158.368-158.4c0 0-412.928-412.928-432.736-432.736zM694.752 517.6l-113.12 113.152c0 0-367.712-367.712-387.488-387.52-19.808-19.808 19.808-70.688 0-90.496l-76.384-76.352c-6.24-6.24-6.24-16.384 0-22.624s16.384-6.24 22.624 0l76.384 76.384c19.808 19.808 70.688-19.808 90.496 0s387.488 387.456 387.488 387.456z" />
<glyph unicode="&#xea4a;" glyph-name="globe" d="M725.056 608.384h165.504c22.176-49.312 35.424-103.328 37.696-160.384h-189.888c-0.8 60.288-5.792 113.408-13.312 160.384zM652.736 835.328c94.944-36.896 172.864-106.72 221.696-194.88h-154.752c-17.568 89.76-44.256 153.568-66.944 194.88zM514.176 640.448v223.872c34.112-1.504 67.264-6.912 98.944-15.776 24-40.416 55.008-107.904 74.56-208.096h-173.504zM303.648 255.552c-7.488 47.008-12.672 99.808-13.472 160.384h191.936v-160.384h-178.464zM303.328 608.384h178.784v-160.384h-192.128c0.8 60.352 5.856 113.376 13.344 160.384zM383.616 849.248c31.584 8.512 64.48 13.92 98.496 15.008v-223.808h-173.504c19.68 100.736 50.912 168.48 75.008 208.8zM117.152 640.448c49.632 89.6 129.984 159.776 227.072 196.192-22.88-41.28-49.888-105.44-67.648-196.192h-159.424zM257.92 448h-193.92c2.112 56.992 14.944 111.168 37.056 160.384h170.112c-7.456-47.008-12.48-100.096-13.248-160.384zM271.584 255.552h-169.28c-22.208 49.376-36.448 103.168-38.528 160.384h194.272c0.768-60.576 6.016-113.312 13.536-160.384zM276.832 223.488c17.888-91.648 45.312-155.744 68.288-196.544-97.44 36.256-177.824 106.72-227.52 196.544h159.232zM482.112 223.488v-223.808c-33.664 1.056-66.144 6.368-97.44 14.72-24.16 39.552-55.552 107.616-75.392 209.088h172.832zM687.072 223.488c-19.744-100.864-50.944-168.672-75.008-208.384-31.328-8.672-64.192-13.376-97.888-14.88v223.264h172.896zM514.176 415.936h191.936c-0.736-60.576-6.016-113.344-13.504-160.384h-178.432v160.384zM706.304 448h-192.128v160.384h178.752c7.52-47.008 12.576-100.032 13.376-160.384zM738.24 415.936h189.632c-2.112-57.184-16.192-110.976-38.304-160.384h-164.864c7.488 47.072 12.736 99.808 13.536 160.384zM874.176 223.488c-48.672-88.512-126.944-158.368-222.304-195.2 22.88 40.832 49.952 104.512 67.616 195.2h154.688z" />
<glyph unicode="&#xea4b;" glyph-name="globe1" d="M496 896c-256.256 0-464-207.744-464-464s207.744-464 464-464 464 207.744 464 464-207.744 464-464 464zM344.064 836.672c-22.848-41.248-49.888-105.44-67.616-196.192h-159.456c49.632 89.568 129.984 159.776 227.072 196.192zM100.928 608.416h170.112c-7.488-46.976-12.512-100.096-13.28-160.384h-193.92c2.144 56.992 14.976 111.168 37.088 160.384zM63.616 415.968h194.304c0.736-60.576 6.016-113.312 13.504-160.384h-169.28c-22.208 49.376-36.416 103.168-38.528 160.384zM117.44 223.52h159.264c17.888-91.648 45.312-155.744 68.288-196.544-97.472 36.288-177.824 106.752-227.552 196.544zM481.984-0.288c-33.664 1.056-66.144 6.368-97.44 14.72-24.16 39.552-55.552 107.616-75.392 209.088h172.832v-223.808zM481.984 255.584h-178.496c-7.488 47.008-12.672 99.808-13.472 160.384h191.936v-160.384zM481.984 448.032h-192.128c0.8 60.352 5.856 113.376 13.344 160.384h178.784v-160.384zM481.984 640.48h-173.504c19.68 100.736 50.912 168.512 75.008 208.8 31.584 8.512 64.48 13.92 98.496 15.040v-223.84zM928.096 448.032h-189.856c-0.8 60.288-5.824 113.408-13.312 160.384h165.504c22.176-49.312 35.456-103.36 37.664-160.384zM874.304 640.48h-154.784c-17.568 89.792-44.224 153.6-66.912 194.88 94.944-36.928 172.864-106.72 221.696-194.88zM514.016 864.352c34.144-1.504 67.264-6.912 98.944-15.776 24.032-40.416 55.040-107.904 74.592-208.096h-173.536v223.872zM514.016 608.416h178.784c7.488-47.008 12.544-100.032 13.344-160.384h-192.128v160.384zM514.016 415.968h191.936c-0.736-60.576-5.984-113.376-13.472-160.384h-178.464v160.384zM514.016 0.288v223.264h172.864c-19.744-100.864-50.912-168.672-74.976-208.384-31.296-8.704-64.16-13.376-97.888-14.88zM651.744 28.352c22.848 40.832 49.92 104.512 67.584 195.2h154.72c-48.704-88.512-126.944-158.4-222.304-195.2zM889.44 255.584h-164.864c7.488 47.072 12.736 99.808 13.536 160.384h189.664c-2.144-57.184-16.256-110.976-38.336-160.384z" />
<glyph unicode="&#xea4c;" glyph-name="shipping" d="M535.104 260.384c-14.592 13.824-31.616 24.448-50.208 31.072l-38.976 151.776 464.192 129.856 49.728-193.792-424.736-118.912zM387.328 671.392l309.472 86.56 49.76-193.856-309.44-86.56-49.792 193.856zM401.216 294.368c-8.64-2.432-16.672-5.888-24.48-9.696l-136.448 531.68h-51.328c-5.152-11.232-15.936-19.136-28.672-19.136h-64.064c-17.696 0-32.032 15.008-32.032 33.472s14.336 33.44 32.032 33.44h64.064c10.752 0 19.776-5.888 25.6-14.304h98.56v-1.632l1.472 0.448 141.12-549.856c-8.608-0.8-17.216-2.048-25.824-4.416zM409.504 262.048c59.808 16.736 121.28-20.32 137.312-82.816 16.032-62.432-19.456-126.624-79.296-143.36-59.808-16.672-121.28 20.384-137.312 82.816s19.488 126.624 79.296 143.36zM392.64 133.952c6.848-26.752 33.216-42.624 58.848-35.424s40.832 34.688 33.984 61.44c-6.848 26.752-33.216 42.624-58.848 35.488-25.664-7.2-40.864-34.72-33.984-61.504zM955.84 265.568l-373.888-104.576c-0.672 8.928-1.92 17.952-4.224 26.944-2.272 8.992-5.568 17.44-9.248 25.568l371.936 104 15.424-51.936z" />
<glyph unicode="&#xea4d;" glyph-name="yingyang" d="M512 864.512c-230.432 0-416.48-186.080-416.48-416.512 0-230.368 186.048-416.512 416.48-416.512 230.4 0 416.512 186.112 416.512 416.512 0 230.432-186.144 416.512-416.512 416.512zM510.528 697.952c29.792 0 53.984-24.16 53.984-54.016 0-29.824-24.192-54.016-53.984-54.016-29.856 0-54.016 24.192-54.016 54.016-0.032 29.856 24.16 54.016 54.016 54.016zM517.824 59.488c-113.312 0-200.32 84.608-200.32 194.080 0 105.76 80.064 194.144 187.424 194.048 0 0 201.536 9.92 201.536 194.656 0 111.040-67.2 178.144-194.72 194.656 229.536-12.736 388.736-171.936 388.736-388.704 0.032-211.52-174.048-388.736-382.656-388.736zM512.48 309.952c-29.824 0-54.016-24.16-54.016-54.016 0-29.824 24.192-54.016 54.016-54.016s54.016 24.192 54.016 54.016c0 29.856-24.192 54.016-54.016 54.016z" />
<glyph unicode="&#xea4e;" glyph-name="compass" d="M928 368c0-229.76-186.24-416-416-416s-416 186.24-416 416c0 202.56 144.8 371.104 336.48 408.224-10.4 15.328-16.48 33.824-16.48 53.792 0 53.024 42.976 96 96 96 52.992 0 96-42.976 96-96 0-19.936-6.080-38.432-16.512-53.792 191.712-37.12 336.512-205.664 336.512-408.224zM512 880c-26.528 0-48-21.504-48-48s21.472-48 48-48c26.496 0 48 21.504 48 48s-21.504 48-48 48zM544 718.4v-78.4h-64v78.4c-173.472-15.648-310.24-161.088-319.168-336.416h95.168v-61.984h-92.672c21.216-162.144 152.544-287.552 316.672-302.368v78.368h64v-78.368c163.424 14.752 294.304 141.184 316.352 302.368h-92.352v64h95.232c-7.936 176.256-145.152 318.688-319.232 334.4zM304.416 154.816l125.376 283.776 281.92 123.488-123.040-281.408-284.256-125.856zM554.24 404.672c-24.992 24.992-65.536 24.992-90.528 0s-24.992-65.504 0-90.496 65.536-24.992 90.528 0c24.992 24.992 24.992 65.472 0 90.496z" />
<glyph unicode="&#xea4f;" glyph-name="zip" d="M160 0v864h320v-64h-64v-64h64v-64h-64v-64h64v-64h-64v-64h64v-64h64v64h-64v64h64v64h-64v64h64v64h-64v64h64v64h95.712v-192.288h192.288v-671.712h-672zM544 384h-128v-224h128v224zM512 193.984h-64v64h64v-64zM672 864h7.84l152.16-152.16v-5.856h-160v158.016z" />
<glyph unicode="&#xea50;" glyph-name="zip1" d="M544 161.984h-128v224h128v-224zM512 257.984h-64v-64h64v64zM544 416h-64v64h64v-64zM416 480v64h64v-64h-64zM416 672h64v-64h-64v64zM416 800h64v-64h-64v64zM544 736v-64h-64v64h64zM544 608v-64h-64v64h64zM160 0v864h480v-63.712h-416v-736.576h544.576v608.288h63.424v-672h-672zM672 864h3.936l156.064-156.032v-1.984h-160v158.016z" />
<glyph unicode="&#xea51;" glyph-name="anchor" d="M927.968 348.96l-36.352-247.328-73.568 71.36c-58.272-49.248-166.336-116.256-323.328-116.256-157.92 0-267.136 65.376-325.248 112.224l-67.136-65.12-38.336 245.088 252.576-37.184-69.6-67.552c48.832-36.256 125.44-79.968 201.728-79.968l-0.224 403.488c-55.712 19.392-95.808 70.624-95.808 131.36 0 77.376 64.608 140.096 144.32 140.096 79.68 0 144.32-62.72 144.32-140.096 0-61.664-41.344-113.44-98.368-132.128 0.352-78.72 1.632-404.224-0.128-404.224 72.96 0 148.288 47.488 197.344 85.888l-65.024 63.136 252.832 37.216zM571.392 701.344c0 39.872-33.312 72.224-74.4 72.224s-74.432-32.352-74.432-72.224c0-39.904 33.344-72.256 74.432-72.256s74.4 32.352 74.4 72.256z" />
<glyph unicode="&#xea52;" glyph-name="lockedheart" d="M513.056-0.128c0 0-353.184 218.656-353.184 394.848 0 97.696 55.84 194.272 161.344 209.216v68.64c0 105.824 85.984 191.552 192 191.552 106.048 0 192-85.76 192-191.552v-68.672c101.824-15.2 158.944-109.888 158.944-209.152-0.032-178.368-351.104-394.88-351.104-394.88zM463.2 193.696h97.984l-41.536 111.040c23.296 3.264 41.536 22.432 41.536 46.592 0 26.432-21.504 47.904-48 47.904s-48-21.472-48-47.904c0-22.976 16.576-41.28 38.208-45.92l-40.192-111.712zM641.184 672.576c0 70.528-57.312 127.712-128 127.712s-128-57.184-128-127.712v-69.824c88-19.424 127.84-104.32 127.84-104.32s35.52 85.888 128.128 104.544v69.6z" />
<glyph unicode="&#xea53;" glyph-name="magnet" d="M496-0.992c-139.68 0-335.264 145.696-335.264 291.328 0 62.4 11.712 145.024 25.12 221.504h164.192c-8.672-67.168-15.68-142.592-15.68-217.504 11.968-67.84 107.744-119.712 161.632-119.712s145.696 49.888 161.632 119.712c0 75.328-7.264 150.624-16.224 217.504h163.584c13.952-77.568 26.24-161.408 26.24-223.456 0.032-143.712-195.552-289.376-335.232-289.376zM607.744 703.424h157.664c0 0 17.216-71.104 34.016-159.648h-162.24c-13.792 93.184-29.44 159.648-29.44 159.648zM607.744 831.168h159.616v-31.936h-159.616v31.936zM382.24 703.424c0 0-14.944-66.72-28.128-159.648h-162.88c16.448 88.672 33.344 159.648 33.344 159.648h157.664zM320.384 737.376h-31.904v63.84h-63.872v31.936h63.872v63.84h31.904v-63.84h63.872v-31.936h-63.872v-63.84z" />
<glyph unicode="&#xea54;" glyph-name="navigation" horiz-adv-x="1056" d="M1012 513.984c-16.256 0-55.392-18.016-83.296-32h-63.52c-3.84 81.376-36.512 155.040-88.16 211.2l41.984 42.016c29.824 9.76 73.664 25.568 85.728 37.632 18.752 18.752 18.752 49.152 0 67.904-18.752 18.72-49.12 18.72-67.872 0-11.488-11.488-26.432-51.968-36.256-81.536l-44.896-44.864c-56.416 51.36-130.24 83.584-211.712 86.976v59.424c14.144 28 33.984 70.208 33.984 87.264 0 26.496-21.504 48-48 48s-48-21.504-48-48c0-16.256 18.016-55.392 32-83.296v-63.52c-81.376-3.84-155.072-36.48-211.232-88.16l-41.984 42.016c-9.76 29.824-25.6 73.696-37.664 85.76-18.72 18.72-49.12 18.72-67.872 0-18.752-18.752-18.752-49.152 0-67.904 11.488-11.52 51.936-26.432 81.504-36.256l44.896-44.896c-50.912-55.968-83.008-129.056-86.816-209.728h-63.52c-27.872 13.984-67.008 32-83.296 32-26.528 0-48-21.504-48-48s21.472-48 48-48c17.056 0 59.264 19.84 87.264 33.984h59.456c3.36-81.472 35.616-155.296 86.944-211.712l-44.864-44.896c-29.6-9.824-70.016-24.736-81.536-36.256-18.752-18.752-18.752-49.152 0-67.872 18.752-18.752 49.152-18.752 67.872 0 12.064 12.032 27.872 55.872 37.664 85.696l42.016 42.016c56.16-51.648 129.824-84.32 211.2-88.16v-63.52c-13.984-27.872-32-67.040-32-83.296 0-26.496 21.504-48 48-48s48 21.504 48 48c0 17.056-19.84 59.264-33.984 87.264v59.456c81.472 3.328 155.296 35.584 211.712 86.912l44.896-44.864c9.824-29.568 24.736-70.016 36.256-81.504 18.752-18.752 49.12-18.752 67.872 0 18.752 18.72 18.752 49.12 0 67.872-12.064 12.064-55.904 27.872-85.728 37.664l-41.984 41.984c52.096 56.64 84.864 131.040 88.256 213.216h59.456c28-14.176 70.176-33.984 87.264-33.984 26.496 0 48 21.504 48 48s-21.536 47.968-48.032 47.968zM326.88 646.464l113.664-113.664c-10.944-14.624-18.208-31.904-20.96-50.784h-160.768c3.68 63.008 28.672 120.16 68.064 164.448zM258.688 452h160.704c2.496-19.68 9.856-37.696 21.184-52.8l-113.696-113.664c-39.776 44.736-64.896 102.656-68.192 166.464zM513.984 194.816c-63.744 3.712-121.44 29.248-165.952 69.44l113.6 113.6c14.944-11.584 32.736-19.392 52.352-22.208v-160.832zM513.984 576.384c-19.616-2.816-37.408-10.656-52.352-22.24l-113.6 113.6c44.512 40.16 102.208 65.728 165.952 69.44v-160.8zM801.184 481.984h-160.8c-2.816 19.584-10.624 37.408-22.208 52.352l113.6 113.6c40.16-44.48 65.696-102.208 69.408-165.952zM710.464 669.12l-113.664-113.696c-15.136 11.328-33.12 18.688-52.8 21.184v160.704c63.808-3.296 121.728-28.416 166.464-68.192zM544 194.72v160.672c19.68 2.496 37.696 9.856 52.8 21.152l113.664-113.664c-44.736-39.776-102.656-64.896-166.464-68.16zM731.744 284.064l-113.6 113.6c12 15.424 19.872 33.984 22.432 54.336h160.672c-3.232-64.544-28.896-123.008-69.504-167.936z" />
<glyph unicode="&#xea55;" glyph-name="tags" d="M831.808 443.392l-391.2 391.2-376.608-1.44 0.576-346.592 405.184-405.184c25.408-25.44 66.304-25.792 91.328-0.768l271.488 271.52c24.992 24.992 24.672 65.856-0.768 91.264zM226.592 609.536c-35.328 0-64 28.672-64 64s28.672 64 64 64c35.36 0 64-28.672 64-64s-28.64-64-64-64zM923.072 442.624l-391.2 391.2-47.072-0.16 392.64-390.624c25.44-25.44 25.76-66.272 0.736-91.296l-271.488-271.52c-6.624-6.624-14.432-11.328-22.688-14.432 23.072-8.864 49.952-4.32 68.32 14.016l271.552 271.52c24.992 25.024 24.64 65.888-0.8 91.296z" />
<glyph unicode="&#xea56;" glyph-name="heart1" d="M768 544.736c-123.712 0-224-101.056-224-225.76 0-71.040 32.64-134.304 83.488-175.712-65.792-48.8-115.488-79.616-115.488-79.616s-448 276.864-448 499.904c0 134.4 82.656 268.768 240 268.768 144 0 208-137.472 208-137.472s56 137.472 208 137.472 237.312-131.68 237.312-268.768c0-30.656-8.704-62.176-22.912-93.824-40.992 45.952-100.288 75.008-166.4 75.008zM768 512.512c106.016 0 192-86.624 192-193.504s-85.984-193.536-192-193.536c-106.048 0-192 86.656-192 193.536s85.952 193.504 192 193.504zM672 286.752h64v-64.512h64v64.512h64v64.512h-64v64.512h-64v-64.512h-64v-64.512z" />
<glyph unicode="&#xea57;" glyph-name="heart2" d="M768 544.736c-123.712 0-224-101.056-224-225.76 0-71.040 32.64-134.304 83.488-175.712-65.792-48.8-115.488-79.616-115.488-79.616s-448 276.864-448 499.904c0 134.4 82.656 268.768 240 268.768 144 0 208-137.472 208-137.472s56 137.472 208 137.472 237.312-131.68 237.312-268.768c0-30.656-8.704-62.176-22.912-93.824-40.992 45.952-100.288 75.008-166.4 75.008zM768 512.512c106.016 0 192-86.624 192-193.504s-85.984-193.536-192-193.536c-106.048 0-192 86.656-192 193.536s85.952 193.504 192 193.504zM672 286.752h192v64.512h-192v-64.512z" />
<glyph unicode="&#xea58;" glyph-name="usb" d="M253.728 461.248l203.648 203.648 102.496-102.496c-8.512-17.824-5.568-39.712 9.216-54.464 14.752-14.784 36.672-17.728 54.464-9.248l105.312-105.312-203.616-203.648-271.52 271.52zM636.96 575.808c-14.752 14.752-36.672 17.728-54.464 9.216l-102.496 102.496 158.368 158.368c24.992 24.992 65.536 24.992 90.496 0l181.056-180.992c24.96-24.992 24.96-65.536 0-90.496l-158.4-158.4-105.344 105.312c8.512 17.856 5.568 39.744-9.216 54.496zM276.352 31.328l-181.024 180.992 181.024 181.024 181.024-181.024-181.024-180.992zM232.512 213.792l-45.248 45.248-46.688-46.688 45.28-45.248 46.656 46.688zM323.008 123.264l-45.248 45.248-46.656-46.656 45.248-45.248 46.656 46.656z" />
<glyph unicode="&#xea59;" glyph-name="clipboard" d="M768-65.312h-576c-35.36 0-64 28.576-64 63.872v771.104c0 35.264 28.64 63.84 64 63.84h160v-66.528h-128c-17.664 0-32-14.272-32-31.936v-704.544c0-17.696 14.336-31.936 32-31.936h512c17.696 0 32 14.24 32 31.936v704.544c0 17.664-14.304 31.936-32 31.936h-128v66.528h160c35.328 0 64-28.608 64-63.84v-771.104c0-35.296-28.672-63.872-64-63.872zM352 575.392h352v-31.936h-352v31.936zM352 479.584h352v-31.936h-352v31.936zM352 383.744h352v-31.936h-352v31.936zM352 287.936h352v-31.936h-352v31.936zM704 64.448h-352v31.872h352v-31.872zM352 192.128h352v-31.936h-352v31.936zM256 576.032h32v-31.936h-32v31.936zM256 480.224h32v-31.936h-32v31.936zM256 384.448h32v-31.936h-32v31.936zM256 288.64h32v-31.936h-32v31.936zM288 65.056h-32v31.936h32v-31.936zM256 192.8h32v-31.936h-32v31.936zM672 733.088c17.696 0 32-14.304 32-31.968 0-17.632 0-61.856 0-61.856h-448c0 0 0 44.224 0 61.856 0 17.664 14.304 31.968 32 31.968h96c0 0 0.384 45.408 0.384 97.312 0 53.888 41.6 98.944 95.616 98.944s97.056-47.36 97.056-99.264c0-55.904-1.056-96.992-1.056-96.992h96zM480 833.504c-17.696 0-32-14.272-32-31.904 0-17.664 14.304-31.936 32-31.936s32 14.272 32 31.936c0 17.632-14.304 31.904-32 31.904z" />
<glyph unicode="&#xea5a;" glyph-name="clipboard1" d="M252.896 735.264c0-17.6 0-63.776 0-63.776h448.448c0 0 0 46.176 0 63.776 0 17.632-14.24 31.904-31.872 31.904h-95.68c0 0 1.088 36.416 1.088 92.224 0 51.808-44.928 99.136-98.752 99.136s-95.296-44.992-95.296-98.848c0-51.808-0.384-92.512-0.384-92.512h-95.648c-17.632 0-31.904-14.272-31.904-31.904zM476.128 862.816c17.6 0 31.904-14.272 31.904-31.872 0-17.632-14.304-31.904-31.904-31.904s-31.904 14.272-31.904 31.904c0 17.6 14.304 31.872 31.904 31.872zM765.152 767.168v-316.832c0 0 27.52 30.368 63.744 44.928v303.776c0 35.232-30.56 63.776-65.76 63.776h-157.472v-63.776h127.552c17.632 0 31.936-14.272 31.936-31.872zM410.336-0.192h-189.344c-17.6 0-31.872 14.24-31.872 31.872v735.488c0 17.6 14.272 31.872 31.872 31.872h129.568v63.776h-161.44c-35.232 0-63.776-28.576-63.776-63.776v-799.232c0-35.232 28.544-63.808 63.776-63.808h290.592c-12.48 21.056-34.784 45.376-69.376 63.808zM765.152 31.68c0-17.632-14.304-31.872-31.904-31.872h-87.328c-16.064-21.504-31.2-42.88-45.12-63.808h162.368c35.2 0 65.76 28.576 65.76 63.808v196.128c-21.12-17.376-42.496-36.992-63.744-58.56v-105.696zM898.656 290.368c-35.936 79.872-15.36 144.736-10.24 219.616-210.528-104.8-344.032-419.296-344.032-419.296l-82.144 154.752-169.44-99.808c71.904-24.928 174.592-104.8 261.888-209.632 61.568 109.824 251.552 334.368 343.968 354.368z" />
<glyph unicode="&#xea5b;" glyph-name="clipboard2" d="M832-64h-640c-35.36 0-64 28.608-64 63.872v800.448c0 35.296 28.64 63.872 64 63.872h192v-63.872h-160c-17.664 0-32-14.272-32-31.936v-736.576c0-17.632 14.336-31.936 32-31.936h576c17.696 0 32 14.304 32 31.936v736.576c0 17.664-14.304 31.936-32 31.936h-160v63.872h192c35.328 0 64-28.608 64-63.872v-800.448c0-35.264-28.672-63.872-64-63.872zM800 768.384v-736.576h-576v736.576h32v-129.76h512v129.76h32zM352 542.816h-32v-31.936h32v31.936zM352 478.944h-32v-31.936h32v31.936zM352 415.072h-32v-31.936h32v31.936zM352 351.2h-32v-31.936h32v31.936zM352 287.328h-32v-31.936h32v31.936zM352 223.424h-32v-31.936h32v31.936zM352 159.552h-32v-31.936h32v31.936zM704 542.816h-320v-31.936h320v31.936zM704 478.944h-320v-31.936h320v31.936zM704 415.072h-320v-31.936h320v31.936zM704 351.2h-320v-31.936h320v31.936zM704 287.328h-320v-31.936h320v31.936zM704 223.424h-320v-31.936h320v31.936zM704 159.552h-320v-31.936h320v31.936zM704 768.384c17.696 0 32-14.272 32-31.936 0-17.632 0-63.872 0-63.872h-448c0 0 0 46.24 0 63.872 0 17.664 14.304 31.936 32 31.936h96c0 0 0.384 40.768 0.384 92.672 0 53.888 41.6 98.944 95.616 98.944s97.056-47.36 97.056-99.296c0-55.872-1.056-92.32-1.056-92.32h96zM512 864.192c-17.696 0-32-14.272-32-31.936 0-17.632 14.304-31.936 32-31.936s32 14.304 32 31.936c0 17.664-14.304 31.936-32 31.936z" />
<glyph unicode="&#xea5c;" glyph-name="switch1" d="M496-33.984c-220.928 0-400 179.104-400 400 0 170.080 106.336 315.008 256 372.832v-142.368c-76.768-48.096-128-133.184-128-230.464 0-150.208 121.792-272 272-272s272 121.792 272 272c0 83.072-37.312 157.28-96 207.2v151.552c132.576-65.152 224-201.088 224-358.784 0-220.896-179.104-399.968-400-399.968zM512 414.016c-35.328 0-64 28.672-64 64v355.968c0 35.328 28.672 64 64 64s64-28.672 64-64v-356c0-35.328-28.672-63.968-64-63.968z" />
<glyph unicode="&#xea5d;" glyph-name="ruler2" d="M193.856 741.28l21.952-21.952-89.856-89.856 70.016-70.016 90.272 90.272 20.512-20.512-90.272-90.304 69.12-69.088 205.312 205.312-249.984 248.512-204.576-204.576 67.648-67.68 89.856 89.888zM739.168 426.912l-205.312-205.344 69.088-69.088 90.304 90.272 20.512-20.512-90.272-90.272 70.016-70.016 89.824 89.856 21.952-21.952-89.824-89.856 67.616-67.648 204.608 204.608-248.512 249.952zM954.304 689.568c24.992 25.024 25.184 65.44 0.384 90.272l-112.384 112.352c-24.8 24.8-65.248 24.672-90.24-0.384l-69.44-69.44 202.24-202.24 69.44 69.44zM108.736 129.856l83.936-83.936 169.088 60.064-192.96 192.96-60.064-169.088zM660.8 801.824l-476.32-476.352 203.808-203.808 476.352 476.352-203.84 203.808zM277.024 325.888l383.392 383.392 22.336-22.336-383.424-383.424-22.304 22.368zM321.696 281.184l383.36 383.392 22.336-22.336-383.392-383.36-22.304 22.304zM366.368 236.544l383.392 383.392 22.304-22.336-383.36-383.392-22.336 22.336zM62.528-0.32l98.112 35.744-62.368 62.368-35.744-98.112z" />
<glyph unicode="&#xea5e;" glyph-name="add-outline" d="M563.2 512h204.8v-102.4h-204.8v-204.8h-102.4v204.8h-204.8v102.4h204.8v204.8h102.4v-204.8zM512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0z" />
<glyph unicode="&#xea5f;" glyph-name="add-solid" d="M563.2 512v204.8h-102.4v-204.8h-204.8v-102.4h204.8v-204.8h102.4v204.8h204.8v102.4h-204.8zM512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0z" />
<glyph unicode="&#xea60;" glyph-name="adjust" d="M512 870.4v-819.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0zM512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0z" />
<glyph unicode="&#xea61;" glyph-name="airplane" d="M430.080 358.4h-286.72l-92.16-153.6h-51.2v512h51.2l92.16-153.6h286.72l-122.88 409.6h102.4l245.76-409.6h266.24c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0h-266.24l-245.76-409.6h-102.4l122.88 409.6z" />
<glyph unicode="&#xea62;" glyph-name="album" d="M0 972.8h1024v-1024h-1024v1024zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM512 307.2c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0z" />
<glyph unicode="&#xea63;" glyph-name="align-center" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM51.2 512h921.6v-102.4h-921.6v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM204.8 716.8h614.4v-102.4h-614.4v102.4zM204.8 307.2h614.4v-102.4h-614.4v102.4z" />
<glyph unicode="&#xea64;" glyph-name="align-justified" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM51.2 512h921.6v-102.4h-921.6v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM51.2 716.8h921.6v-102.4h-921.6v102.4zM51.2 307.2h921.6v-102.4h-921.6v102.4z" />
<glyph unicode="&#xea65;" glyph-name="align-left" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM51.2 512h921.6v-102.4h-921.6v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM51.2 716.8h614.4v-102.4h-614.4v102.4zM51.2 307.2h614.4v-102.4h-614.4v102.4z" />
<glyph unicode="&#xea66;" glyph-name="align-right" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM51.2 512h921.6v-102.4h-921.6v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM358.4 716.8h614.4v-102.4h-614.4v102.4zM358.4 307.2h614.4v-102.4h-614.4v102.4z" />
<glyph unicode="&#xea67;" glyph-name="anchor1" d="M222.208 171.008c62.276-62.413 144.637-104.761 236.562-116.524l2.030-0.212v406.528h-204.8v102.4h204.8v111.104c-60.168 21.723-102.4 78.337-102.4 144.815 0 84.831 68.769 153.6 153.6 153.6s153.6-68.769 153.6-153.6c0-66.478-42.232-123.092-101.33-144.477l-1.070-0.338v-111.104h204.8v-102.4h-204.8v-406.528c93.955 11.975 176.316 54.323 238.585 116.729l0.007 0.007-72.704 72.704h289.792l-144.896-144.896c-92.649-92.621-220.626-149.907-361.984-149.907s-269.336 57.286-361.986 149.908l-144.894 144.894h289.792l-72.704-72.704zM512 768c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xea68;" glyph-name="announcement" d="M153.6 665.6c0 56.32 46.080 102.4 102.4 102.4h409.6l204.8 204.8h102.4v-819.2h-102.4l-204.8 204.8h-409.6c-56.554 0-102.4 45.846-102.4 102.4v0h-102.4v204.8h102.4zM563.2 204.8v-256h-153.6l-85.504 256h-68.096v102.4h409.6v-102.4h-102.4z" />
<glyph unicode="&#xea69;" glyph-name="apparel" d="M358.4 972.8h-51.2l-307.2-153.6v-307.2l204.8 51.2v-614.4h614.4v614.4l204.8-51.2v307.2l-307.2 153.6h-51.2c0-84.831-68.769-153.6-153.6-153.6s-153.6 68.769-153.6 153.6v0z" />
<glyph unicode="&#xea6a;" glyph-name="arrow-down" d="M460.8 144.794l-310.835 310.835-72.397-72.397 434.432-434.432 434.432 434.432-72.397 72.397-310.835-310.835v828.006h-102.4z" />
<glyph unicode="&#xea6b;" glyph-name="arrow-left" d="M195.994 512l310.835 310.835-72.397 72.397-434.432-434.432 434.432-434.432 72.397 72.397-310.835 310.835h828.006v102.4h-828.006z" />
<glyph unicode="&#xea6c;" glyph-name="arrow-outline-down" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM409.6 460.8v256h204.8v-256h153.6l-256-256-256 256h153.6z" />
<glyph unicode="&#xea6d;" glyph-name="arrow-outline-left" d="M0 460.8c0 282.77 229.23 512 512 512s512-229.23 512-512v0c0-282.77-229.23-512-512-512s-512 229.23-512 512v0zM102.4 460.8c0-226.216 183.384-409.6 409.6-409.6s409.6 183.384 409.6 409.6v0c0 226.216-183.384 409.6-409.6 409.6s-409.6-183.384-409.6-409.6v0zM512 563.2h256v-204.8h-256v-153.6l-256 256 256 256v-153.6z" />
<glyph unicode="&#xea6e;" glyph-name="arrow-outline-right" d="M1024 460.8c0-282.77-229.23-512-512-512s-512 229.23-512 512v0c0 282.77 229.23 512 512 512s512-229.23 512-512v0zM921.6 460.8c0 226.216-183.384 409.6-409.6 409.6s-409.6-183.384-409.6-409.6v0c0-226.216 183.384-409.6 409.6-409.6s409.6 183.384 409.6 409.6v0zM512 358.4h-256v204.8h256v153.6l256-256-256-256v153.6z" />
<glyph unicode="&#xea6f;" glyph-name="arrow-outline-up" d="M512 972.8c282.77 0 512-229.23 512-512s-229.23-512-512-512v0c-282.77 0-512 229.23-512 512s229.23 512 512 512v0zM512 870.4c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0zM614.4 460.8v-256h-204.8v256h-153.6l256 256 256-256h-153.6z" />
<glyph unicode="&#xea70;" glyph-name="arrow-right" d="M828.006 512l-310.835 310.835 72.397 72.397 434.432-434.432-434.432-434.432-72.397 72.397 310.835 310.835h-828.006v102.4z" />
<glyph unicode="&#xea71;" glyph-name="arrow-thick-down" d="M358.4 460.8v409.6h307.2v-409.6h256l-409.6-409.6-409.6 409.6h256z" />
<glyph unicode="&#xea72;" glyph-name="arrow-thick-left" d="M512 307.2h409.6v307.2h-409.6v256l-409.6-409.6 409.6-409.6v256z" />
<glyph unicode="&#xea73;" glyph-name="arrow-thick-right" d="M512 614.4h-409.6v-307.2h409.6v-256l409.6 409.6-409.6 409.6v-256z" />
<glyph unicode="&#xea74;" glyph-name="arrow-thick-up" d="M358.4 460.8v-409.6h307.2v409.6h256l-409.6 409.6-409.6-409.6h256z" />
<glyph unicode="&#xea75;" glyph-name="arrow-thin-down" d="M460.8 144.794l-310.835 310.835-72.397-72.397 434.432-434.432 434.432 434.432-72.397 72.397-310.835-310.835v828.006h-102.4z" />
<glyph unicode="&#xea76;" glyph-name="arrow-thin-left" d="M195.994 512l310.835 310.835-72.397 72.397-434.432-434.432 434.432-434.432 72.397 72.397-310.835 310.835h828.006v102.4h-828.006z" />
<glyph unicode="&#xea77;" glyph-name="arrow-thin-right" d="M828.006 512l-310.835 310.835 72.397 72.397 434.432-434.432-434.432-434.432-72.397 72.397 310.835 310.835h-828.006v102.4z" />
<glyph unicode="&#xea78;" glyph-name="arrow-thin-up" d="M460.8 776.806l-310.835-310.835-72.397 72.397 434.432 434.432 434.432-434.432-72.397-72.397-310.835 310.835v-828.006h-102.4v828.006z" />
<glyph unicode="&#xea79;" glyph-name="arrow-up" d="M460.8 776.806l-310.835-310.835-72.397 72.397 434.432 434.432 434.432-434.432-72.397-72.397-310.835 310.835v-828.006h-102.4v828.006z" />
<glyph unicode="&#xea7a;" glyph-name="artist" d="M806.4 563.2l-191.488 192c-0.314 4.244-0.493 9.193-0.493 14.184 0 112.825 91.463 204.288 204.288 204.288 56.879 0 108.329-23.246 145.368-60.755l0.021-0.021c37.373-37.113 60.506-88.522 60.506-145.335 0-113.108-91.692-204.8-204.8-204.8-4.715 0-9.394 0.159-14.030 0.473l0.628-0.034zM94.72 189.44l471.040 470.528 144.896-144.896-471.040-471.040-144.384 145.408zM23.040 44.544l108.032 108.544 72.704-72.704-108.544-108.544-72.704 72.704zM512 204.8l102.4 102.4v-358.4h-102.4v256z" />
<glyph unicode="&#xea7b;" glyph-name="at-symbol" d="M696.32 283.136c-46.612-48.782-112.182-79.108-184.835-79.108-141.102 0-255.488 114.386-255.488 255.488 0 0.451 0.001 0.902 0.004 1.353v-0.070c0 141.385 114.615 256 256 256 57.921 0 111.348-19.235 154.244-51.667l-0.644 0.467v51.2h102.4v-332.8c0-42.415 34.385-76.8 76.8-76.8s76.8 34.385 76.8 76.8v0 76.8c-0.167 226.090-183.487 409.307-409.6 409.307-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6c66.818 0 129.898 15.999 185.62 44.376l-2.325-1.074 46.080-91.648c-66.813-34.208-145.753-54.255-229.376-54.255-282.77 0-512 229.23-512 512s229.23 512 512 512c282.596 0 511.718-228.948 512-511.478v-0.027h-0.512v-76.8c0.001-0.159 0.001-0.346 0.001-0.534 0-98.969-80.231-179.2-179.2-179.2-61.529 0-115.815 31.010-148.083 78.253l-0.398 0.617zM512 307.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0z" />
<glyph unicode="&#xea7c;" glyph-name="attachment1" d="M768 819.2h-409.6c-197.939 0-358.4-160.461-358.4-358.4s160.461-358.4 358.4-358.4v0h409.6v102.4h-409.6c-141.385 0-256 114.615-256 256s114.615 256 256 256v0h409.6c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0h-409.6c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h409.6v102.4h-409.6c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0h409.6c141.385 0 256 114.615 256 256s-114.615 256-256 256v0z" />
<glyph unicode="&#xea7d;" glyph-name="backspace" d="M0 460.8l358.4 358.4h665.6v-716.8h-665.6l-358.4 358.4zM737.792 460.8l109.056 108.544-72.704 72.704-108.544-109.568-108.544 109.056-72.704-72.704 109.568-108.032-109.056-108.544 72.704-72.704 108.032 109.568 108.544-109.056 72.704 72.704-109.568 108.032z" />
<glyph unicode="&#xea7e;" glyph-name="backward" d="M972.8 716.8v-512l-460.8 256 460.8 256zM512 716.8v-512l-460.8 256 460.8 256z" />
<glyph unicode="&#xea7f;" glyph-name="backward-step" d="M204.8 716.8h153.6v-512h-153.6v512zM819.2 716.8v-512l-460.8 256 460.8 256z" />
<glyph unicode="&#xea80;" glyph-name="badge2" d="M512 358.4c-169.662 0-307.2 137.538-307.2 307.2s137.538 307.2 307.2 307.2v0c169.662 0 307.2-137.538 307.2-307.2s-137.538-307.2-307.2-307.2v0zM512 512c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0zM716.8 371.2v-422.4l-204.8 204.8-204.8-204.8v422.4c57.063-40.423 128.106-64.616 204.8-64.616s147.737 24.193 205.915 65.365l-1.115-0.749z" />
<glyph unicode="&#xea81;" glyph-name="battery-full" d="M0 665.6c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 409.6zM102.4 665.6v-409.6h819.2v409.6h-819.2zM153.6 614.4h204.8v-307.2h-204.8v307.2zM409.6 614.4h204.8v-307.2h-204.8v307.2zM665.6 614.4h204.8v-307.2h-204.8v307.2z" />
<glyph unicode="&#xea82;" glyph-name="battery-half" d="M0 665.6c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 409.6zM102.4 665.6v-409.6h819.2v409.6h-819.2zM153.6 614.4h204.8v-307.2h-204.8v307.2zM409.6 614.4h204.8v-307.2h-204.8v307.2z" />
<glyph unicode="&#xea83;" glyph-name="battery-low" d="M0 665.6c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 409.6zM102.4 665.6v-409.6h819.2v409.6h-819.2zM153.6 614.4h204.8v-307.2h-204.8v307.2z" />
<glyph unicode="&#xea84;" glyph-name="beverage" d="M460.8 51.2v358.4l-460.8 460.8v102.4h1024v-102.4l-460.8-460.8v-358.4l256-51.2v-51.2h-614.4v51.2l256 51.2zM563.2 563.2c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0c-56.554 0-102.4-45.846-102.4-102.4s45.846-102.4 102.4-102.4v0z" />
<glyph unicode="&#xea85;" glyph-name="block" d="M0 460.8c0 282.77 229.23 512 512 512s512-229.23 512-512v0c0-282.77-229.23-512-512-512s-512 229.23-512 512v0zM835.584 711.68l-574.976-573.952c68.628-53.726 156.18-86.154 251.306-86.154 226.216 0 409.6 183.384 409.6 409.6 0 94.998-32.34 182.442-86.612 251.924l0.682-0.906zM763.392 784.384c-68.81 54.208-156.742 86.945-252.321 86.945-226.216 0-409.6-183.384-409.6-409.6 0-95.578 32.737-183.511 87.609-253.196l-0.664 0.875 574.976 574.976z" />
<glyph unicode="&#xea86;" glyph-name="bluetooth" d="M481.792 972.8l307.2-307.2-204.8-204.8 204.8-204.8-307.2-307.2h-20.992v388.608l-168.96-168.96-71.68 72.704 219.136 219.648-220.16 220.16 72.704 71.68 168.96-167.936v388.096h20.992zM563.2 747.008v-163.328l81.408 81.92-81.408 81.408zM644.608 256l-81.408 81.408v-162.816l81.408 81.408z" />
<glyph unicode="&#xea87;" glyph-name="bolt" d="M665.6 563.2v409.6l-512-614.4h204.8v-409.6l512 614.4h-204.8z" />
<glyph unicode="&#xea88;" glyph-name="book-reference" d="M307.2 768h-51.2c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h563.2v51.2c0 28.277-22.923 51.2-51.2 51.2v0h-563.2c-56.554 0-102.4-45.846-102.4-102.4v0-819.2c0-56.32 46.080-102.4 102.4-102.4h614.4c56.554 0 102.4 45.846 102.4 102.4v0 665.6c0 28.277-22.923 51.2-51.2 51.2v0h-358.4v-409.6l-102.4 102.4-102.4-102.4v409.6z" />
<glyph unicode="&#xea89;" glyph-name="bookmark2" d="M102.4 870.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-921.6l-409.6 204.8-409.6-204.8v921.6z" />
<glyph unicode="&#xea8a;" glyph-name="bookmarkcopy2" d="M921.6 358.4v-51.2h-512v-256l-307.2 307.2 307.2 307.2v-256h409.6v460.8h102.4z" />
<glyph unicode="&#xea8b;" glyph-name="bookmarkcopy3" d="M179.2 307.2h435.2v-256l307.2 307.2-307.2 307.2v-256h-409.6v460.8h-102.4v-563.2z" />
<glyph unicode="&#xea8c;" glyph-name="bookmark-outline" d="M102.4 870.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-921.6l-409.6 204.8-409.6-204.8v921.6zM204.8 870.4v-768l307.2 153.6 307.2-153.6v768h-614.4z" />
<glyph unicode="&#xea8d;" glyph-name="bookmark-outline-add" d="M102.4 870.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-921.6l-409.6 204.8-409.6-204.8v921.6zM204.8 870.4v-768l307.2 153.6 307.2-153.6v768h-614.4zM460.8 614.4v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4z" />
<glyph unicode="&#xea8e;" glyph-name="border-all" d="M563.2 409.6v-307.2h307.2v307.2h-307.2zM563.2 512h307.2v307.2h-307.2v-307.2zM460.8 409.6h-307.2v-307.2h307.2v307.2zM460.8 512v307.2h-307.2v-307.2h307.2zM51.2 51.2v870.4h921.6v-921.6h-921.6v51.2z" />
<glyph unicode="&#xea8f;" glyph-name="border-bottom" d="M51.2 921.6h102.4v-102.4h-102.4v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM256 921.6h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM460.8 921.6h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 512h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea90;" glyph-name="border-horizontal" d="M51.2 921.6h102.4v-102.4h-102.4v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 512h921.6v-102.4h-921.6v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h102.4v-102.4h-102.4v102.4zM256 921.6h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM460.8 921.6h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM460.8 102.4h102.4v-102.4h-102.4v102.4zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4zM870.4 102.4h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea91;" glyph-name="border-inner" d="M460.8 512v409.6h102.4v-409.6h409.6v-102.4h-409.6v-409.6h-102.4v409.6h-409.6v102.4h409.6zM51.2 921.6h102.4v-102.4h-102.4v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h102.4v-102.4h-102.4v102.4zM256 921.6h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4zM870.4 102.4h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea92;" glyph-name="border-left" d="M51.2 921.6h102.4v-921.6h-102.4v921.6zM256 921.6h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM460.8 921.6h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM460.8 102.4h102.4v-102.4h-102.4v102.4zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 512h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4zM870.4 102.4h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea93;" glyph-name="border-none" d="M51.2 921.6h102.4v-102.4h-102.4v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h102.4v-102.4h-102.4v102.4zM256 921.6h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM460.8 921.6h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM460.8 102.4h102.4v-102.4h-102.4v102.4zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 512h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4zM870.4 102.4h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea94;" glyph-name="border-outer" d="M102.4 0h-51.2v921.6h921.6v-921.6h-870.4zM153.6 102.4h716.8v716.8h-716.8v-716.8zM665.6 512h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea95;" glyph-name="border-right" d="M256 921.6h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM460.8 921.6h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM460.8 102.4h102.4v-102.4h-102.4v102.4zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM51.2 921.6h102.4v-102.4h-102.4v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-921.6h-102.4v921.6z" />
<glyph unicode="&#xea96;" glyph-name="border-top" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM460.8 716.8h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM460.8 102.4h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 512h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4zM870.4 102.4h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea97;" glyph-name="border-vertical" d="M51.2 921.6h102.4v-102.4h-102.4v102.4zM51.2 716.8h102.4v-102.4h-102.4v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM51.2 307.2h102.4v-102.4h-102.4v102.4zM51.2 102.4h102.4v-102.4h-102.4v102.4zM256 921.6h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM256 102.4h102.4v-102.4h-102.4v102.4zM460.8 921.6h102.4v-921.6h-102.4v921.6zM665.6 921.6h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM665.6 102.4h102.4v-102.4h-102.4v102.4zM870.4 921.6h102.4v-102.4h-102.4v102.4zM870.4 716.8h102.4v-102.4h-102.4v102.4zM870.4 512h102.4v-102.4h-102.4v102.4zM870.4 307.2h102.4v-102.4h-102.4v102.4zM870.4 102.4h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xea98;" glyph-name="box2" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-102.4h-1024v102.4zM51.2 716.8h921.6v-665.6c0-56.554-45.846-102.4-102.4-102.4v0h-716.8c-56.554 0-102.4 45.846-102.4 102.4v0 665.6zM358.4 614.4v-102.4h307.2v102.4h-307.2z" />
<glyph unicode="&#xea99;" glyph-name="brightness-down" d="M512 307.2c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0zM460.8 768c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0zM693.248 714.24c9.446 10.984 23.36 17.897 38.889 17.897 28.277 0 51.2-22.923 51.2-51.2 0-15.528-6.913-29.442-17.829-38.832l-0.067-0.057c-9.446-10.984-23.36-17.897-38.889-17.897-28.277 0-51.2 22.923-51.2 51.2 0 15.528 6.913 29.442 17.829 38.832l0.067 0.057zM819.2 512c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0zM765.44 279.552c10.984-9.446 17.897-23.36 17.897-38.889 0-28.277-22.923-51.2-51.2-51.2-15.528 0-29.442 6.913-38.832 17.829l-0.057 0.067c-10.984 9.446-17.897 23.36-17.897 38.889 0 28.277 22.923 51.2 51.2 51.2 15.528 0 29.442-6.913 38.832-17.829l0.057-0.067zM563.2 153.6c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0zM330.752 207.36c-9.446-10.984-23.36-17.897-38.889-17.897-28.277 0-51.2 22.923-51.2 51.2 0 15.528 6.913 29.442 17.829 38.832l0.067 0.057c9.446 10.984 23.36 17.897 38.889 17.897 28.277 0 51.2-22.923 51.2-51.2 0-15.528-6.913-29.442-17.829-38.832l-0.067-0.057zM204.8 409.6c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0zM258.56 642.048c-10.984 9.446-17.897 23.36-17.897 38.889 0 28.277 22.923 51.2 51.2 51.2 15.528 0 29.442-6.913 38.832-17.829l0.057-0.067c10.984-9.446 17.897-23.36 17.897-38.889 0-28.277-22.923-51.2-51.2-51.2-15.528 0-29.442 6.913-38.832 17.829l-0.057 0.067z" />
<glyph unicode="&#xea9a;" glyph-name="brightness-up" d="M512 256c-113.108 0-204.8 91.692-204.8 204.8s91.692 204.8 204.8 204.8v0c113.108 0 204.8-91.692 204.8-204.8s-91.692-204.8-204.8-204.8v0zM460.8 921.6c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-102.4c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 102.4zM801.28 822.272c9.446 10.984 23.36 17.897 38.889 17.897 28.277 0 51.2-22.923 51.2-51.2 0-15.528-6.913-29.442-17.829-38.832l-0.067-0.057-71.68-71.68c-9.446-10.984-23.36-17.897-38.889-17.897-28.277 0-51.2 22.923-51.2 51.2 0 15.528 6.913 29.442 17.829 38.832l0.067 0.057 71.68 71.68zM972.288 512c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-101.376c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h101.376zM873.472 171.52c10.984-9.446 17.897-23.36 17.897-38.889 0-28.277-22.923-51.2-51.2-51.2-15.528 0-29.442 6.913-38.832 17.829l-0.057 0.067-71.68 71.68c-10.984 9.446-17.897 23.36-17.897 38.889 0 28.277 22.923 51.2 51.2 51.2 15.528 0 29.442-6.913 38.832-17.829l0.057-0.067 71.68-71.68zM563.2 0.512c0-28.277-22.923-51.2-51.2-51.2s-51.2 22.923-51.2 51.2v0 101.376c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-101.376zM222.72 99.328c-9.446-10.984-23.36-17.897-38.889-17.897-28.277 0-51.2 22.923-51.2 51.2 0 15.528 6.913 29.442 17.829 38.832l0.067 0.057 71.68 71.68c9.446 10.984 23.36 17.897 38.889 17.897 28.277 0 51.2-22.923 51.2-51.2 0-15.528-6.913-29.442-17.829-38.832l-0.067-0.057-71.68-71.68zM51.712 409.6c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h101.376c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-101.376zM150.528 750.080c-10.984 9.446-17.897 23.36-17.897 38.889 0 28.277 22.923 51.2 51.2 51.2 15.528 0 29.442-6.913 38.832-17.829l0.057-0.067 71.68-71.68c10.984-9.446 17.897-23.36 17.897-38.889 0-28.277-22.923-51.2-51.2-51.2-15.528 0-29.442 6.913-38.832 17.829l-0.057 0.067-71.68 71.68z" />
<glyph unicode="&#xea9b;" glyph-name="browser-window" d="M0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM102.4 716.8v-614.4h819.2v614.4h-819.2z" />
<glyph unicode="&#xea9c;" glyph-name="browser-window-new" d="M460.8 460.8v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4zM0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM102.4 716.8v-614.4h819.2v614.4h-819.2z" />
<glyph unicode="&#xea9d;" glyph-name="browser-window-open" d="M0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM102.4 716.8v-614.4h819.2v614.4h-819.2zM512 563.2l204.8-256h-409.6l204.8 256z" />
<glyph unicode="&#xea9e;" glyph-name="bug" d="M783.36 210.432l141.824-141.824c9.201-9.255 14.889-22.011 14.889-36.096s-5.687-26.842-14.891-36.098l0.002 0.002c-9.255-9.201-22.011-14.889-36.096-14.889s-26.842 5.687-36.098 14.891l0.002-0.002-132.608 132.096c-42.249-39.19-95.857-66.691-155.351-77.048l-1.833-0.264v458.752c0 28.277-22.923 51.2-51.2 51.2s-51.2-22.923-51.2-51.2v0-458.752c-61.334 10.59-114.949 38.098-157.377 77.489l0.193-0.177-132.608-132.096c-9.255-9.201-22.011-14.889-36.096-14.889s-26.842 5.687-36.098 14.891l0.002-0.002c-9.201 9.255-14.889 22.011-14.889 36.096s5.687 26.842 14.891 36.098l141.822 141.822c-15.247 27.991-26.531 60.547-32.028 95.033l-0.228 1.735h-157.184c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h153.6v132.608l-157.184 157.184c-9.201 9.255-14.889 22.011-14.889 36.096s5.687 26.842 14.891 36.098l-0.002-0.002c9.255 9.201 22.011 14.889 36.096 14.889s26.842-5.687 36.098-14.891l107.518-107.518h569.344l107.52 107.52c9.255 9.201 22.011 14.889 36.096 14.889s26.842-5.687 36.098-14.891l-0.002 0.002c9.201-9.255 14.889-22.011 14.889-36.096s-5.687-26.842-14.891-36.098l-157.182-157.182v-132.608h153.6c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-157.184c-5.12-34.304-16.384-67.072-32.256-96.768zM768 716.8h-512c0 141.385 114.615 256 256 256s256-114.615 256-256v0z" />
<glyph unicode="&#xea9f;" glyph-name="buoy" d="M878.592 644.096c-40.509 79.622-103.674 142.787-180.967 182.218l-2.329 1.078-68.608-137.728c49.559-25.288 88.888-64.617 113.502-112.725l0.674-1.451 137.728 68.608zM878.592 277.504l-137.728 68.608c-25.288-49.559-64.617-88.888-112.725-113.502l-1.451-0.674 68.608-137.728c79.622 40.509 142.787 103.674 182.218 180.967l1.078 2.329zM328.704 827.392c-79.622-40.509-142.787-103.674-182.218-180.967l-1.078-2.329 137.728-68.608c25.288 49.559 64.617 88.888 112.725 113.502l1.451 0.674-68.608 137.728zM145.408 277.504c40.509-79.622 103.674-142.787 180.967-182.218l2.329-1.078 68.608 137.728c-49.559 25.288-88.888 64.617-113.502 112.725l-0.674 1.451-137.728-68.608zM512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 307.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0z" />
<glyph unicode="&#xeaa0;" glyph-name="calculator1" d="M102.4 870.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-614.4c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM256 819.2v-102.4h512v102.4h-512zM256 614.4v-102.4h102.4v102.4h-102.4zM460.8 614.4v-102.4h102.4v102.4h-102.4zM665.6 614.4v-102.4h102.4v102.4h-102.4zM256 409.6v-102.4h102.4v102.4h-102.4zM460.8 409.6v-102.4h102.4v102.4h-102.4zM665.6 409.6v-307.2h102.4v307.2h-102.4zM256 204.8v-102.4h102.4v102.4h-102.4zM460.8 204.8v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeaa1;" glyph-name="calendar3" d="M51.2 768c0 56.32 46.080 102.4 102.4 102.4h716.8c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-716.8c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM153.6 665.6v-614.4h716.8v614.4h-716.8zM256 972.8h102.4v-102.4h-102.4v102.4zM665.6 972.8h102.4v-102.4h-102.4v102.4zM256 512h102.4v-102.4h-102.4v102.4zM256 307.2h102.4v-102.4h-102.4v102.4zM460.8 512h102.4v-102.4h-102.4v102.4zM460.8 307.2h102.4v-102.4h-102.4v102.4zM665.6 512h102.4v-102.4h-102.4v102.4zM665.6 307.2h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xeaa2;" glyph-name="camera3" d="M0 665.6c0 56.32 46.080 102.4 102.4 102.4h153.6l102.4 102.4h307.2l102.4-102.4h153.6c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 512zM512 153.6c141.385 0 256 114.615 256 256s-114.615 256-256 256v0c-141.385 0-256-114.615-256-256s114.615-256 256-256v0zM512 256c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0z" />
<glyph unicode="&#xeaa3;" glyph-name="chart6" d="M211.456 358.4h-6.656c-56.357-0.26-101.943-46.006-101.943-102.399 0-56.554 45.846-102.4 102.4-102.4s102.4 45.846 102.4 102.4c0 16.603-3.952 32.284-10.966 46.152l0.268-0.585 105.472 159.232c1.69-0.098 3.667-0.154 5.656-0.154 9.83 0 19.342 1.365 28.356 3.915l-0.732-0.177 79.36-79.36c-2.262-8.030-3.563-17.251-3.563-26.776 0-56.554 45.846-102.4 102.4-102.4s102.4 45.846 102.4 102.4c0 16.663-3.98 32.397-11.042 46.303l0.269-0.583 107.008 159.232h6.656c56.357 0.26 101.943 46.006 101.943 102.399 0 56.554-45.846 102.4-102.4 102.4s-102.4-45.846-102.4-102.4c0-16.603 3.952-32.284 10.966-46.152l-0.268 0.585-105.472-159.232c-1.69 0.098-3.667 0.154-5.656 0.154-9.83 0-19.342-1.365-28.356-3.915l0.732 0.177-79.872 79.36c2.262 8.030 3.563 17.251 3.563 26.776 0 56.554-45.846 102.4-102.4 102.4s-102.4-45.846-102.4-102.4c0-16.663 3.98-32.397 11.042-46.303l-0.269 0.583-106.496-159.232zM0 768c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4z" />
<glyph unicode="&#xeaa4;" glyph-name="chart-bar" d="M51.2 460.8h153.6v-512h-153.6v512zM307.2 972.8h153.6v-1024h-153.6v1024zM563.2 563.2h153.6v-614.4h-153.6v614.4zM819.2 768h153.6v-819.2h-153.6v819.2z" />
<glyph unicode="&#xeaa5;" glyph-name="chart-pie" d="M1021.44 409.6c-26.89-259.87-244.697-460.793-509.433-460.793-282.77 0-512 229.23-512 512 0 264.736 200.924 482.543 458.597 509.248l2.196 0.184v-560.64h560.64zM1017.344 542.72h-423.424v423.424c217.691-36.271 387.153-205.732 423.011-420.43l0.413-2.994z" />
<glyph unicode="&#xeaa6;" glyph-name="chat-bubble-dots" d="M512 204.8l-204.8-204.8v204.8h-204.8c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-409.6zM256 614.4v-102.4h102.4v102.4h-102.4zM460.8 614.4v-102.4h102.4v102.4h-102.4zM665.6 614.4v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeaa7;" glyph-name="checkmark3" d="M0 409.6l102.4 102.4 256-256 563.2 563.2 102.4-102.4-665.6-665.6z" />
<glyph unicode="&#xeaa8;" glyph-name="checkmark-outline" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM801.792 171.008c74.164 74.164 120.036 176.621 120.036 289.792 0 226.342-183.486 409.828-409.828 409.828-113.171 0-215.628-45.872-289.792-120.036v0c-74.164-74.164-120.036-176.621-120.036-289.792 0-226.342 183.486-409.828 409.828-409.828 113.171 0 215.628 45.872 289.792 120.036v0zM343.040 497.152l117.76-118.272 220.16 220.16 71.68-72.704-291.84-290.816-189.44 189.44 71.68 72.704z" />
<glyph unicode="&#xeaa9;" glyph-name="cheveron-down" d="M475.802 309.76l36.198-36.198 289.638 289.638-72.397 72.397-217.242-217.19-217.242 217.19-72.397-72.397z" />
<glyph unicode="&#xeaaa;" glyph-name="cheveron-left" d="M360.96 496.998l-36.198-36.198 289.638-289.638 72.397 72.397-217.19 217.242 217.19 217.242-72.397 72.397z" />
<glyph unicode="&#xeaab;" glyph-name="cheveron-outline-down" d="M1024 460.8c0-282.77-229.23-512-512-512s-512 229.23-512 512v0c0 282.77 229.23 512 512 512s512-229.23 512-512v0zM512 870.4c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0zM476.16 330.752l-181.76 181.248 72.192 72.192 145.408-143.872 144.896 144.384 72.192-72.704-217.088-217.088-35.84 35.84z" />
<glyph unicode="&#xeaac;" glyph-name="cheveron-outline-left" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM921.6 460.8c0 226.216-183.384 409.6-409.6 409.6s-409.6-183.384-409.6-409.6v0c0-226.216 183.384-409.6 409.6-409.6s409.6 183.384 409.6 409.6v0zM381.952 496.64l181.248 181.76 72.192-72.192-143.872-145.408 144.384-144.896-72.704-72.192-217.088 217.088 35.84 35.84z" />
<glyph unicode="&#xeaad;" glyph-name="cheveron-outline-right" d="M512 972.8c282.77 0 512-229.23 512-512s-229.23-512-512-512v0c-282.77 0-512 229.23-512 512s229.23 512 512 512v0zM102.4 460.8c0-226.216 183.384-409.6 409.6-409.6s409.6 183.384 409.6 409.6v0c0 226.216-183.384 409.6-409.6 409.6s-409.6-183.384-409.6-409.6v0zM642.048 424.96l-181.248-181.76-72.192 72.192 143.872 145.408-143.36 144.896 71.68 72.192 217.088-217.088-35.84-35.84z" />
<glyph unicode="&#xeaae;" glyph-name="cheveron-outline-up" d="M0 460.8c0 282.77 229.23 512 512 512s512-229.23 512-512v0c0-282.77-229.23-512-512-512s-512 229.23-512 512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM547.84 590.848l181.76-181.248-72.192-72.192-145.408 143.872-144.896-143.36-72.192 71.68 217.088 217.088 35.84-35.84z" />
<glyph unicode="&#xeaaf;" glyph-name="cheveron-right" d="M663.040 424.602l36.198 36.198-289.638 289.638-72.397-72.397 217.19-217.242-217.19-217.242 72.397-72.397 253.44 253.44z" />
<glyph unicode="&#xeab0;" glyph-name="cheveron-up" d="M548.198 611.84l-36.198 36.198-289.638-289.638 72.397-72.397 217.242 217.19 217.242-217.19 72.397 72.397z" />
<glyph unicode="&#xeab1;" glyph-name="clipboard3" d="M359.936 839.68c10.988 74.998 74.877 131.932 152.064 131.932s141.076-56.934 151.964-131.098l0.1-0.834 103.936-20.48v-51.2h51.2c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-614.4c-56.554 0-102.4 45.846-102.4 102.4v0 614.4c0 56.32 46.080 102.4 102.4 102.4h51.2v51.2l103.936 20.48zM256 665.6h-51.2v-614.4h614.4v614.4h-51.2v-51.2h-512v51.2zM512 768c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xeab2;" glyph-name="close" d="M512 533.197l-362.035 362.035-72.397-72.397 362.035-362.035-362.035-362.035 72.397-72.397 362.035 362.035 362.035-362.035 72.397 72.397-362.035 362.035 362.035 362.035-72.397 72.397-362.035-362.035z" />
<glyph unicode="&#xeab3;" glyph-name="close-outline" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM222.208 171.008c74.164-74.164 176.621-120.036 289.792-120.036 226.342 0 409.828 183.486 409.828 409.828 0 113.171-45.872 215.628-120.036 289.792v0c-74.164 74.164-176.621 120.036-289.792 120.036-226.342 0-409.828-183.486-409.828-409.828 0-113.171 45.872-215.628 120.036-289.792v0zM729.088 605.696l-144.896-144.896 144.896-144.896-72.192-72.192-144.896 144.896-144.896-144.896-72.192 72.192 144.896 144.896-144.896 144.896 72.192 72.192 144.896-144.896 144.896 144.896 72.192-72.192z" />
<glyph unicode="&#xeab4;" glyph-name="close-solid" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM583.68 460.8l144.896 144.896-72.192 72.192-144.384-144.896-144.896 144.896-72.192-72.192 144.896-144.896-144.896-144.896 72.192-72.192 144.896 144.896 144.896-144.896 72.192 72.192-144.896 144.896z" />
<glyph unicode="&#xeab5;" glyph-name="cloud1" d="M864.256 506.88c91.895-21.475 159.295-102.707 159.295-199.68 0-112.95-91.436-204.544-204.326-204.799h-563.225c-0.076 0-0.167 0-0.257 0-141.385 0-256 114.615-256 256 0 123.353 87.244 226.33 203.394 250.589l1.664 0.291v5.12c0 0.054 0 0.119 0 0.183 0 84.831 68.769 153.6 153.6 153.6 28.694 0 55.55-7.868 78.528-21.564l-0.704 0.389c46.031 45.498 109.339 73.604 179.212 73.604 140.819 0 254.976-114.157 254.976-254.976 0-0.856-0.004-1.712-0.013-2.566l0.001 0.13c0-19.456-2.048-37.888-6.144-56.32z" />
<glyph unicode="&#xeab6;" glyph-name="cloud-upload" d="M864.256 506.88c91.895-21.475 159.295-102.707 159.295-199.68 0-112.95-91.436-204.544-204.326-204.799h-563.225c-0.076 0-0.167 0-0.257 0-141.385 0-256 114.615-256 256 0 123.353 87.244 226.33 203.394 250.589l1.664 0.291v5.12c0 0.054 0 0.119 0 0.183 0 84.831 68.769 153.6 153.6 153.6 28.694 0 55.55-7.868 78.528-21.564l-0.704 0.389c46.031 45.498 109.339 73.604 179.212 73.604 140.819 0 254.976-114.157 254.976-254.976 0-0.856-0.004-1.712-0.013-2.566l0.001 0.13c0-19.456-2.048-37.888-6.144-56.32zM563.2 409.6h153.6l-204.8 204.8-204.8-204.8h153.6v-153.6h102.4v153.6z" />
<glyph unicode="&#xeab7;" glyph-name="code" d="M35.84 496.64l245.76 245.76 71.68-72.704-207.872-208.896 208.384-208.384-72.192-72.704-281.6 281.088 35.84 35.84zM988.16 424.96l35.84 35.84-281.088 281.088-71.68-72.704 207.36-208.384-208.384-208.384 72.192-72.704 244.736 244.736z" />
<glyph unicode="&#xeab8;" glyph-name="coffee1" d="M204.8 409.6h-102.4c-56.554 0-102.4 45.846-102.4 102.4v0 204.8c0 56.32 46.080 102.4 102.4 102.4h102.4v102.4h716.8v-512c0-113.108-91.692-204.8-204.8-204.8v0h-307.2c-113.108 0-204.8 91.692-204.8 204.8v0zM204.8 512v204.8h-102.4v-204.8h102.4zM102.4 102.4v51.2h921.6v-51.2l-204.8-102.4h-512l-204.8 102.4z" />
<glyph unicode="&#xeab9;" glyph-name="cog2" d="M201.728 640l-88.064 146.432 72.704 72.704 146.432-88.064c26.624 15.36 56.32 27.648 87.040 35.84l40.96 165.888h102.4l40.96-165.888c30.72-8.192 60.416-20.48 87.040-35.84l146.432 88.064 72.704-72.704-88.064-146.432c15.36-26.624 27.648-56.32 35.84-87.040l165.888-40.96v-102.4l-165.888-40.96c-8.192-30.72-20.48-60.416-35.84-87.040l88.064-146.432-72.704-72.704-146.432 88.064c-26.624-15.36-56.32-27.648-87.040-35.84l-40.96-165.888h-102.4l-40.96 165.888c-30.72 8.192-60.416 20.48-87.040 35.84l-146.432-88.064-72.704 72.704 88.064 146.432c-15.36 26.624-27.648 56.32-35.84 87.040l-165.888 40.96v102.4l165.888 40.96c8.192 30.72 20.48 60.416 35.84 87.040zM512 307.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0z" />
<glyph unicode="&#xeaba;" glyph-name="color-palette" d="M460.8-51.2v87.040l0.512 12.288 310.272 310.272h150.528c56.32 0 101.888-45.568 101.888-102.4v-204.8c0-56.554-45.846-102.4-102.4-102.4v0h-460.8zM460.8 119.808v579.584l106.496 105.984c18.453 18.526 43.984 29.989 72.192 29.989s53.739-11.463 72.189-29.986l144.899-144.899c18.402-18.509 29.777-44.022 29.777-72.192s-11.375-53.683-29.782-72.197l0.005 0.005-395.776-396.288zM0 870.912c0 55.808 45.568 101.888 102.4 101.888h204.8c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-204.8c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM204.8 102.4c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xeabb;" glyph-name="compose" d="M102.4 768v-716.8h716.8v307.2l102.4 102.4v-512h-921.6v921.6h512l-102.4-102.4h-307.2zM629.76 783.36l204.8-204.8-424.96-424.96h-204.8v204.8l424.96 424.96zM701.44 855.040l117.76 117.76 204.8-204.8-117.76-117.76-204.8 204.8z" />
<glyph unicode="&#xeabc;" glyph-name="computer-desktop" d="M358.4 102.4h-256c-56.554 0-102.4 45.846-102.4 102.4v0 665.6c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-665.6c0-56.554-45.846-102.4-102.4-102.4v0h-256l204.8-102.4v-51.2h-716.8v51.2l204.8 102.4zM102.4 870.4v-563.2h819.2v563.2h-819.2z" />
<glyph unicode="&#xeabd;" glyph-name="computer-laptop" d="M921.6 153.6h102.4v-51.2c0-28.277-22.923-51.2-51.2-51.2v0h-921.6c-28.277 0-51.2 22.923-51.2 51.2v0 51.2h102.4v614.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-614.4zM204.8 768v-460.8h614.4v460.8h-614.4zM409.6 204.8v-51.2h204.8v51.2h-204.8z" />
<glyph unicode="&#xeabe;" glyph-name="conversation" d="M870.4 409.6v-153.6l-153.6 153.6h-307.2c-56.554 0-102.4 45.846-102.4 102.4v0 358.4c0 56.32 46.080 102.4 102.4 102.4h512c56.554 0 102.4-45.846 102.4-102.4v0-358.4c0-56.554-45.846-102.4-102.4-102.4v0h-51.2zM716.8 307.2v-102.4c0-56.554-45.846-102.4-102.4-102.4v0h-307.2l-153.6-153.6v153.6h-51.2c-56.554 0-102.4 45.846-102.4 102.4v0 358.4c0 56.32 46.080 102.4 102.4 102.4h102.4v-153.6c0-113.108 91.692-204.8 204.8-204.8v0h307.2z" />
<glyph unicode="&#xeabf;" glyph-name="copy" d="M307.2 665.6v204.8c0 56.32 46.080 102.4 102.4 102.4h512c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-204.8v-204.8c0-56.554-45.846-102.4-102.4-102.4v0h-512c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h204.8zM409.6 665.6h204.8c56.554 0 102.4-45.846 102.4-102.4v0-204.8h204.8v512h-512v-204.8zM102.4 563.2v-512h512v512h-512z" />
<glyph unicode="&#xeac0;" glyph-name="credit-card" d="M921.6 665.6v102.4h-819.2v-102.4h819.2zM921.6 460.8h-819.2v-307.2h819.2v307.2zM0 768c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4zM204.8 358.4h204.8v-102.4h-204.8v102.4z" />
<glyph unicode="&#xeac1;" glyph-name="currency-dollar" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM563.2 204.8h51.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0h-205.312c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0h307.712v102.4h-153.6v102.4h-102.4v-102.4h-51.2c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0h204.8c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-307.2v-102.4h153.6v-102.4h102.4v102.4z" />
<glyph unicode="&#xeac2;" glyph-name="dashboard" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM225.28 168.448c80.288 55.312 179.647 88.345 286.72 88.345s206.432-33.033 288.44-89.464l-1.72 1.119c75.859 74.399 122.88 177.965 122.88 292.513 0 226.216-183.384 409.6-409.6 409.6s-409.6-183.384-409.6-409.6c0-114.548 47.021-218.114 122.814-292.449l0.066-0.064zM538.624 559.616l154.624 154.624 72.192-72.192-154.624-154.624c2.245-7.999 3.535-17.186 3.535-26.673 0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4c0 56.554 45.846 102.4 102.4 102.4 9.488 0 18.674-1.29 27.393-3.705l-0.72 0.17z" />
<glyph unicode="&#xeac3;" glyph-name="date-add" d="M768 870.4h102.4c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-716.8c-56.554 0-102.4 45.846-102.4 102.4v0 716.8c0 56.32 46.080 102.4 102.4 102.4h102.4v102.4h102.4v-102.4h307.2v102.4h102.4v-102.4zM153.6 665.6v-614.4h716.8v614.4h-716.8zM460.8 409.6v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4z" />
<glyph unicode="&#xeac4;" glyph-name="dial-pad" d="M256 768c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 768c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM768 768c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM256 512c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 512c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM768 512c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM256 256c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 256c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512-51.2c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM768 256c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeac5;" glyph-name="directions" d="M512 972.8l512-512-512-512-512 512 512 512zM307.2 460.8v-153.6h102.4v153.6h153.6v-153.6l204.8 204.8-204.8 204.8v-153.6h-153.6c-56.554 0-102.4-45.846-102.4-102.4v0z" />
<glyph unicode="&#xeac6;" glyph-name="document" d="M204.8 51.2h614.4v614.4h-204.8v204.8h-409.6v-819.2zM102.4 0v972.8h614.4l204.8-204.8v-819.2h-819.2v51.2z" />
<glyph unicode="&#xeac7;" glyph-name="document-add" d="M460.8 460.8v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4zM204.8 51.2h614.4v614.4h-204.8v204.8h-409.6v-819.2zM102.4 0v972.8h614.4l204.8-204.8v-819.2h-819.2v51.2z" />
<glyph unicode="&#xeac8;" glyph-name="dots-horizontal-double" d="M512 512c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 204.8c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeac9;" glyph-name="dots-horizontal-triple" d="M512 358.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 665.6c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 51.2c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeaca;" glyph-name="download3" d="M665.6 563.2v307.2h-307.2v-307.2h-256l409.6-409.6 409.6 409.6h-256zM0 51.2h1024v-102.4h-1024v102.4z" />
<glyph unicode="&#xeacb;" glyph-name="duplicate" d="M307.2 665.6v204.8c0 56.32 46.080 102.4 102.4 102.4h512c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-204.8v-204.8c0-56.554-45.846-102.4-102.4-102.4v0h-512c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h204.8zM409.6 665.6h204.8c56.554 0 102.4-45.846 102.4-102.4v0-204.8h204.8v512h-512v-204.8zM102.4 563.2v-512h512v512h-512zM307.2 358.4v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4z" />
<glyph unicode="&#xeacc;" glyph-name="edit-copy" d="M307.2 665.6v204.8c0 56.32 46.080 102.4 102.4 102.4h512c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-204.8v-204.8c0-56.554-45.846-102.4-102.4-102.4v0h-512c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h204.8zM409.6 665.6h204.8c56.554 0 102.4-45.846 102.4-102.4v0-204.8h204.8v512h-512v-204.8zM102.4 563.2v-512h512v512h-512z" />
<glyph unicode="&#xeacd;" glyph-name="edit-crop" d="M716.8 153.6h-409.6c-56.554 0-102.4 45.846-102.4 102.4v0 409.6h-204.8v102.4h204.8v204.8h102.4v-716.8h716.8v-102.4h-204.8v-204.8h-102.4v204.8zM716.8 307.2v358.4h-358.4v102.4h358.4c56.554 0 102.4-45.846 102.4-102.4v0-358.4h-102.4z" />
<glyph unicode="&#xeace;" glyph-name="edit-cut" d="M500.224 384l273.408-200.192c22.528-16.896 63.488-30.208 91.648-30.208h158.72l-671.232 492.544c3.697 13.593 5.821 29.201 5.821 45.304 0 98.969-80.231 179.2-179.2 179.2s-179.2-80.231-179.2-179.2c0-98.969 80.231-179.2 179.2-179.2 38.242 0 73.686 11.979 102.785 32.389l-0.574-0.382 114.176-83.456-114.176-83.456c-28.653 20.296-64.326 32.444-102.836 32.444-98.969 0-179.2-80.231-179.2-179.2s80.231-179.2 179.2-179.2c98.969 0 179.2 80.231 179.2 179.2 0 15.945-2.083 31.404-5.99 46.119l0.282-1.251 148.48 108.544zM179.2 614.4c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM179.2 153.6c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM773.12 737.792c25.974 17.548 57.63 28.603 91.759 30.193l0.401 0.015h158.72l-384-281.6-104.96 76.8 238.080 174.592z" />
<glyph unicode="&#xeacf;" glyph-name="edit-pencil" d="M629.76 783.36l204.8-204.8-629.76-629.76h-204.8v204.8l629.76 629.76zM701.44 855.040l117.76 117.76 204.8-204.8-117.76-117.76-204.8 204.8z" />
<glyph unicode="&#xead0;" glyph-name="education" d="M170.496 563.2l341.504-204.8 512 307.2-512 307.2-512-307.2h512v-102.4h-341.504zM0 563.2v-409.6l102.4 113.664v234.496l-102.4 61.44zM512-51.2l-358.4 215.040v307.2l358.4-215.040 358.4 215.040v-307.2l-358.4-215.040z" />
<glyph unicode="&#xead1;" glyph-name="envelope2" d="M921.6 870.4c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4c0 56.32 46.080 102.4 102.4 102.4h819.2zM697.856 404.48l326.144-250.88v102.4l-262.144 199.68 262.144 209.92v102.4l-512-409.6-512 409.6v-102.4l262.144-209.92-262.144-199.68v-102.4l326.144 250.88 185.856-148.48 185.856 148.48z" />
<glyph unicode="&#xead2;" glyph-name="exclamation-outline" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM801.792 171.008c74.164 74.164 120.036 176.621 120.036 289.792 0 226.342-183.486 409.828-409.828 409.828-113.171 0-215.628-45.872-289.792-120.036v0c-74.164-74.164-120.036-176.621-120.036-289.792 0-226.342 183.486-409.828 409.828-409.828 113.171 0 215.628 45.872 289.792 120.036v0zM460.8 716.8h102.4v-307.2h-102.4v307.2zM460.8 307.2h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xead3;" glyph-name="exclamation-solid" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM460.8 716.8v-307.2h102.4v307.2h-102.4zM460.8 307.2v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xead4;" glyph-name="explore" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM403.456 569.344l-181.248-398.336 398.336 181.248 181.248 398.336-398.336-181.248zM512 409.6c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0z" />
<glyph unicode="&#xead5;" glyph-name="factory" d="M537.6-51.2h-537.6v665.6l256-170.496v170.496l256-170.496v170.496l256-170.496v528.896h256v-1024h-486.4z" />
<glyph unicode="&#xead6;" glyph-name="fast-forward" d="M51.2 716.8l460.8-256-460.8-256v512zM512 716.8l460.8-256-460.8-256v512z" />
<glyph unicode="&#xead7;" glyph-name="fast-rewind" d="M972.8 716.8v-512l-460.8 256 460.8 256zM512 716.8v-512l-460.8 256 460.8 256z" />
<glyph unicode="&#xead8;" glyph-name="film3" d="M0 768c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4zM307.2 768v-614.4h409.6v614.4h-409.6zM102.4 716.8v-102.4h102.4v102.4h-102.4zM102.4 512v-102.4h102.4v102.4h-102.4zM102.4 307.2v-102.4h102.4v102.4h-102.4zM819.2 716.8v-102.4h102.4v102.4h-102.4zM819.2 512v-102.4h102.4v102.4h-102.4zM819.2 307.2v-102.4h102.4v102.4h-102.4zM409.6 614.4l256-153.6-256-153.6v307.2z" />
<glyph unicode="&#xead9;" glyph-name="filter" d="M614.4 358.4l409.6 409.6v204.8h-1024v-204.8l409.6-409.6v-409.6l204.8 204.8v204.8z" />
<glyph unicode="&#xeada;" glyph-name="flag" d="M392.55 358.4h-290.15v-409.6h-102.4v1024h614.4l17.050-102.4h392.55l-153.6-307.2 153.6-307.2h-614.4l-17.050 102.4z" />
<glyph unicode="&#xeadb;" glyph-name="flashlight" d="M665.6 614.4v-563.2c0-56.554-45.846-102.4-102.4-102.4v0h-102.4c-56.554 0-102.4 45.846-102.4 102.4v0 563.2l-102.4 102.4v102.4h512v-102.4l-102.4-102.4zM460.8 563.2v-51.2c0-28.277 22.923-51.2 51.2-51.2s51.2 22.923 51.2 51.2v0 51.2c0 28.277-22.923 51.2-51.2 51.2s-51.2-22.923-51.2-51.2v0zM256 972.8h512v-102.4h-512v102.4z" />
<glyph unicode="&#xeadc;" glyph-name="folder1" d="M0 768c0 56.32 46.080 102.4 102.4 102.4h358.4l102.4-102.4h358.4c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4z" />
<glyph unicode="&#xeadd;" glyph-name="folder-outline" d="M0 768c0 56.32 46.080 102.4 102.4 102.4h358.4l102.4-102.4h358.4c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4zM102.4 665.6v-512h819.2v512h-819.2z" />
<glyph unicode="&#xeade;" glyph-name="folder-outline-add" d="M0 768c0 56.32 46.080 102.4 102.4 102.4h358.4l102.4-102.4h358.4c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4zM102.4 665.6v-512h819.2v512h-819.2zM460.8 460.8v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4z" />
<glyph unicode="&#xeadf;" glyph-name="format-bold" d="M153.6 0v921.6h409.6c0.079 0 0.171 0 0.264 0 141.385 0 256-114.615 256-256 0-61.578-21.741-118.077-57.966-162.242l0.358 0.45c66.369-52.013 108.62-132.176 108.62-222.208 0-155.523-126.077-281.6-281.6-281.6-0.027 0-0.054 0-0.080 0h-435.195zM537.6 409.6h-179.2v-256h179.2c70.692 0 128 57.308 128 128s-57.308 128-128 128v0zM358.4 768v-204.8h153.6c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0h-153.6z" />
<glyph unicode="&#xeae0;" glyph-name="format-font-size" d="M819.2 512v-409.6h-102.4v409.6h-204.8v102.4h512v-102.4h-204.8zM409.6 716.8v-614.4h-102.4v614.4h-307.2v102.4h768v-102.4h-358.4z" />
<glyph unicode="&#xeae1;" glyph-name="format-italic" d="M409.6 921.6h460.8v-102.4h-460.8v102.4zM563.2 819.2h153.6l-307.2-716.8h-153.6l307.2 716.8zM102.4 102.4h460.8v-102.4h-460.8v102.4z" />
<glyph unicode="&#xeae2;" glyph-name="format-text-size" d="M819.2 512v-409.6h-102.4v409.6h-204.8v102.4h512v-102.4h-204.8zM409.6 716.8v-614.4h-102.4v614.4h-307.2v102.4h768v-102.4h-358.4z" />
<glyph unicode="&#xeae3;" glyph-name="format-underline" d="M819.2 512c0-169.662-137.538-307.2-307.2-307.2s-307.2 137.538-307.2 307.2v0 409.6h153.6v-409.6c0-84.831 68.769-153.6 153.6-153.6s153.6 68.769 153.6 153.6v0 409.6h153.6v-409.6zM102.4 102.4h819.2v-102.4h-819.2v102.4z" />
<glyph unicode="&#xeae4;" glyph-name="forward1" d="M51.2 716.8l460.8-256-460.8-256v512zM512 716.8l460.8-256-460.8-256v512z" />
<glyph unicode="&#xeae5;" glyph-name="forward-step" d="M665.6 716.8h153.6v-512h-153.6v512zM204.8 716.8l460.8-256-460.8-256v512z" />
<glyph unicode="&#xeae6;" glyph-name="gift" d="M759.296 768h264.704v-307.2h-51.2v-512h-921.6v512h-51.2v307.2h264.704c-5.655 15.36-8.927 33.099-8.927 51.601 0 84.831 68.769 153.6 153.6 153.6 39.514 0 75.544-14.921 102.761-39.436l-0.138 0.122c27.079 24.392 63.109 39.313 102.623 39.313 84.831 0 153.6-68.769 153.6-153.6 0-18.503-3.272-36.241-9.268-52.669l0.341 1.067zM409.6 460.8h-256v-409.6h256v409.6zM614.4 460.8v-409.6h256v409.6h-256zM409.6 665.6h-307.2v-102.4h307.2v102.4zM614.4 665.6v-102.4h307.2v102.4h-307.2zM409.6 768c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0zM614.4 768c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xeae7;" glyph-name="globe2" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM614.4 64c82.026 21.708 151.768 65.885 204.417 125.51l0.383 0.442v322.048c-56.554 0-102.4 45.846-102.4 102.4v0 201.216c-44.233 25.902-96.181 44.019-151.598 50.994l-2.002 0.206v-47.616c0-56.554-45.846-102.4-102.4-102.4v0-51.2c0-56.554-45.846-102.4-102.4-102.4v0-102.4h153.6c56.554 0 102.4-45.846 102.4-102.4v0-294.4zM409.6 64v140.8c-56.554 0-102.4 45.846-102.4 102.4v0 51.2h-25.6c-42.415 0-76.8 34.385-76.8 76.8v0 128h-89.6c-8.214-30.664-12.932-65.869-12.932-102.176 0-189.972 129.168-349.776 304.469-396.377l2.863-0.647z" />
<glyph unicode="&#xeae8;" glyph-name="hand-stop" d="M870.4 153.6c0-113.108-91.692-204.8-204.8-204.8v0h-307.2c0 0 0 0-0.001 0-113.108 0-204.8 91.692-204.8 204.8 0 0.18 0 0.36 0.001 0.54v-0.028 613.888c0 28.277 22.923 51.2 51.2 51.2v0c28.277 0 51.2-22.923 51.2-51.2v0-307.2h51.2v409.6c0 28.277 22.923 51.2 51.2 51.2v0c28.277 0 51.2-22.923 51.2-51.2v0-409.6h51.2v460.8c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-460.8h51.2v409.6c0 28.277 22.923 51.2 51.2 51.2v0c28.277 0 51.2-22.923 51.2-51.2v0-665.6h51.2v307.2c0 28.277 22.923 51.2 51.2 51.2v0h51.2v-409.6z" />
<glyph unicode="&#xeae9;" glyph-name="hard-drive" d="M102.4 870.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-614.4c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM634.88 583.68c-35.473 19.776-77.816 31.419-122.879 31.419-141.385 0-256-114.615-256-256s114.615-256 256-256c141.139 0 255.602 114.217 255.999 255.263v358.438l-133.12-133.12zM512 256c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM307.2 819.2v-102.4h204.8v102.4h-204.8zM204.8 819.2c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0zM204.8 0c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0zM819.2 0c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0zM819.2 819.2c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xeaea;" glyph-name="headphones1" d="M819.2 563.2c0 169.662-137.538 307.2-307.2 307.2s-307.2-137.538-307.2-307.2v0-563.2h-102.4c-56.554 0-102.4 45.846-102.4 102.4v0 204.8c0 56.554 45.846 102.4 102.4 102.4v0 153.6c0 226.216 183.384 409.6 409.6 409.6s409.6-183.384 409.6-409.6v0-153.6c56.554 0 102.4-45.846 102.4-102.4v0-204.8c0-56.554-45.846-102.4-102.4-102.4v0h-102.4v563.2zM614.4 460.8h153.6v-512h-153.6v512zM256 460.8h153.6v-512h-153.6v512z" />
<glyph unicode="&#xeaeb;" glyph-name="heart3" d="M512 807.936l-31.232 30.72c-50.338 47.679-118.487 76.997-193.485 76.997-155.523 0-281.6-126.077-281.6-281.6 0-74.87 29.219-142.916 76.875-193.356l-0.126 0.135 429.568-429.568 429.568 430.080c47.53 50.306 76.749 118.352 76.749 193.221 0 155.523-126.077 281.6-281.6 281.6-74.997 0-143.147-29.318-193.613-77.118l0.129 0.121-31.232-31.232z" />
<glyph unicode="&#xeaec;" glyph-name="home" d="M409.6-51.2h-256v512h-153.6l512 512 512-512h-153.6v-512h-256v307.2h-204.8v-307.2z" />
<glyph unicode="&#xeaed;" glyph-name="hot" d="M512 972.8s409.6-388.096 409.6-614.4c0-226.216-183.384-409.6-409.6-409.6s-409.6 183.384-409.6 409.6v0c0 76.8 46.592 171.52 108.544 263.68 19.228-64.429 77.951-110.595 147.457-110.595 84.831 0 153.6 68.769 153.6 153.6 0 0.181 0 0.362-0.001 0.543v-0.028 307.2zM409.6 972.8c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0 307.2z" />
<glyph unicode="&#xeaee;" glyph-name="hour-glass" d="M153.6 51.2c0 0.083 0 0.181 0 0.279 0 142.127 82.729 264.931 202.66 322.885l2.141 0.933v171.008c-122.071 58.886-204.8 181.69-204.8 323.817 0 0.098 0 0.196 0 0.294v-0.015h-102.4v102.4h921.6v-102.4h-102.4c0-0.083 0-0.181 0-0.279 0-142.127-82.729-264.931-202.66-322.885l-2.141-0.933v-171.008c122.071-58.886 204.8-181.69 204.8-323.817 0-0.098 0-0.196 0-0.294v0.015h102.4v-102.4h-921.6v102.4h102.4zM256 870.4c0-0.015 0-0.034 0-0.052 0-123.261 87.114-226.175 203.133-250.535l1.667-0.293v-158.72h102.4v158.72c117.686 24.652 204.8 127.567 204.8 250.828 0 0.018 0 0.037 0 0.055v-0.003h-512z" />
<glyph unicode="&#xeaef;" glyph-name="inbox2" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM716.8 256h204.8v614.4h-819.2v-614.4h204.8c0-56.32 46.080-102.4 102.4-102.4h204.8c56.554 0 102.4 45.846 102.4 102.4v0z" />
<glyph unicode="&#xeaf0;" glyph-name="inbox-check" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM716.8 256h204.8v614.4h-819.2v-614.4h204.8c0-56.32 46.080-102.4 102.4-102.4h204.8c56.554 0 102.4 45.846 102.4 102.4v0zM256 512l102.4 102.4 102.4-102.4 204.8 204.8 102.4-102.4-307.2-307.2-204.8 204.8z" />
<glyph unicode="&#xeaf1;" glyph-name="inbox-download" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM716.8 256h204.8v614.4h-819.2v-614.4h204.8c0-56.32 46.080-102.4 102.4-102.4h204.8c56.554 0 102.4 45.846 102.4 102.4v0zM460.8 563.2v153.6h102.4v-153.6h153.6l-204.8-204.8-204.8 204.8h153.6z" />
<glyph unicode="&#xeaf2;" glyph-name="inbox-full" d="M716.8 256h204.8v614.4h-819.2v-614.4h204.8c0-56.32 46.080-102.4 102.4-102.4h204.8c56.554 0 102.4 45.846 102.4 102.4v0zM0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM204.8 768h614.4v-102.4h-614.4v102.4zM204.8 614.4h614.4v-102.4h-614.4v102.4zM204.8 460.8h614.4v-102.4h-614.4v102.4z" />
<glyph unicode="&#xeaf3;" glyph-name="indent-decrease" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM358.4 512h614.4v-102.4h-614.4v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM358.4 716.8h614.4v-102.4h-614.4v102.4zM358.4 307.2h614.4v-102.4h-614.4v102.4zM256 665.6v-409.6l-204.8 204.8 204.8 204.8z" />
<glyph unicode="&#xeaf4;" glyph-name="indent-increase" d="M51.2 921.6h921.6v-102.4h-921.6v102.4zM358.4 512h614.4v-102.4h-614.4v102.4zM51.2 102.4h921.6v-102.4h-921.6v102.4zM358.4 716.8h614.4v-102.4h-614.4v102.4zM358.4 307.2h614.4v-102.4h-614.4v102.4zM51.2 665.6l204.8-204.8-204.8-204.8v409.6z" />
<glyph unicode="&#xeaf5;" glyph-name="information-outline" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM801.792 171.008c74.164 74.164 120.036 176.621 120.036 289.792 0 226.342-183.486 409.828-409.828 409.828-113.171 0-215.628-45.872-289.792-120.036v0c-74.164-74.164-120.036-176.621-120.036-289.792 0-226.342 183.486-409.828 409.828-409.828 113.171 0 215.628 45.872 289.792 120.036v0zM460.8 409.6v102.4h102.4v-307.2h-102.4v204.8zM460.8 716.8h102.4v-102.4h-102.4v102.4z" />
<glyph unicode="&#xeaf6;" glyph-name="information-solid" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM460.8 409.6v-204.8h102.4v307.2h-102.4v-102.4zM460.8 716.8v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeaf7;" glyph-name="key1" d="M627.712 371.712l-115.712-115.712h-102.4v-102.4h-102.4v-102.4l-102.4-102.4h-204.8v204.8l422.912 422.912c-8.392 26.681-13.227 57.362-13.227 89.173 0 169.662 137.538 307.2 307.2 307.2s307.2-137.538 307.2-307.2c0-169.662-137.538-307.2-307.2-307.2-31.811 0-62.492 4.835-91.349 13.81l2.176-0.583zM876.544 608.256c27.756 27.789 44.921 66.162 44.921 108.544 0 84.783-68.692 153.523-153.457 153.6h-0.007c-42.4-0.038-80.772-17.251-108.542-45.054l-0.002-0.002 217.088-217.088z" />
<glyph unicode="&#xeaf8;" glyph-name="keyboard2" d="M0 665.6c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 409.6zM102.4 665.6v-102.4h102.4v102.4h-102.4zM153.6 512v-102.4h102.4v102.4h-102.4zM102.4 358.4v-102.4h102.4v102.4h-102.4zM256 358.4v-102.4h512v102.4h-512zM819.2 358.4v-102.4h102.4v102.4h-102.4zM307.2 512v-102.4h102.4v102.4h-102.4zM460.8 512v-102.4h102.4v102.4h-102.4zM614.4 512v-102.4h102.4v102.4h-102.4zM768 512v-102.4h102.4v102.4h-102.4zM256 665.6v-102.4h102.4v102.4h-102.4zM409.6 665.6v-102.4h102.4v102.4h-102.4zM563.2 665.6v-102.4h102.4v102.4h-102.4zM716.8 665.6v-102.4h204.8v102.4h-204.8z" />
<glyph unicode="&#xeaf9;" glyph-name="layers" d="M512 921.6l512-307.2-512-307.2-512 307.2 512 307.2zM853.504 409.6l170.496-102.4-512-307.2-512 307.2 170.496 102.4 341.504-204.8 341.504 204.8z" />
<glyph unicode="&#xeafa;" glyph-name="library1" d="M0 665.6l512 307.2 512-307.2v-102.4h-1024v102.4zM0 51.2h1024v-102.4h-1024v102.4zM102.4 153.6h819.2v-102.4h-819.2v102.4zM102.4 563.2h204.8v-409.6h-204.8v409.6zM409.6 563.2h204.8v-409.6h-204.8v409.6zM716.8 563.2h204.8v-409.6h-204.8v409.6z" />
<glyph unicode="&#xeafb;" glyph-name="light-bulb" d="M358.4 290.304c-122.070 58.886-204.8 181.69-204.8 323.817 0 197.939 160.461 358.4 358.4 358.4s358.4-160.461 358.4-358.4c0-142.127-82.729-264.931-202.66-322.885l-2.14-0.933v-136.704h-307.2v136.704zM358.4 102.4h307.2v-76.8c0-42.496-34.304-76.8-76.8-76.8h-153.6c-42.415 0-76.8 34.385-76.8 76.8v0 76.8zM460.8 363.52v-107.52h102.4v107.52c117.686 24.652 204.8 127.567 204.8 250.828 0 141.385-114.615 256-256 256s-256-114.615-256-256c0-123.261 87.114-226.176 203.133-250.535l1.667-0.293z" />
<glyph unicode="&#xeafc;" glyph-name="link2" d="M474.112 307.2c-8.559 14.643-13.613 32.239-13.613 51.016 0 19.135 5.248 37.044 14.384 52.366l-0.259-0.469c79.299 6.646 141.144 72.648 141.144 153.094 0 84.831-68.769 153.6-153.6 153.6-0.481 0-0.961-0.002-1.441-0.007l0.073 0.001h-204.8c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0h4.096c-2.706-15.393-4.254-33.116-4.254-51.2s1.547-35.807 4.516-53.044l-0.263 1.844h-4.096c-141.385 0-256 114.615-256 256s114.615 256 256 256v0h204.8c1.982 0.055 4.315 0.087 6.656 0.087 141.433 0 256.087-114.654 256.087-256.087 0-139.092-110.89-252.284-249.087-255.993l-0.343-0.007zM549.888 614.4c8.559-14.643 13.613-32.239 13.613-51.016 0-19.135-5.248-37.044-14.384-52.366l0.259 0.469c-79.299-6.646-141.144-72.648-141.144-153.094 0-84.831 68.769-153.6 153.6-153.6 0.481 0 0.961 0.002 1.441 0.007l-0.073-0.001h204.8c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0h-4.096c2.706 15.393 4.254 33.116 4.254 51.2s-1.547 35.807-4.516 53.044l0.263-1.844h4.096c141.385 0 256-114.615 256-256s-114.615-256-256-256v0h-204.8c-1.982-0.055-4.315-0.087-6.656-0.087-141.433 0-256.087 114.654-256.087 256.087 0 139.092 110.89 252.284 249.087 255.993l0.343 0.007z" />
<glyph unicode="&#xeafd;" glyph-name="list2" d="M51.2 768h102.4v-102.4h-102.4v102.4zM256 768h716.8v-102.4h-716.8v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM256 512h716.8v-102.4h-716.8v102.4zM51.2 256h102.4v-102.4h-102.4v102.4zM256 256h716.8v-102.4h-716.8v102.4z" />
<glyph unicode="&#xeafe;" glyph-name="list-add" d="M768 512h-153.6v-102.4h153.6v-153.6h102.4v153.6h153.6v102.4h-153.6v153.6h-102.4v-153.6zM0 819.2h512v-102.4h-512v102.4zM0 409.6h512v-102.4h-512v102.4zM0 614.4h512v-102.4h-512v102.4zM0 204.8h512v-102.4h-512v102.4z" />
<glyph unicode="&#xeaff;" glyph-name="list-bullet" d="M51.2 768h102.4v-102.4h-102.4v102.4zM256 768h716.8v-102.4h-716.8v102.4zM51.2 512h102.4v-102.4h-102.4v102.4zM256 512h716.8v-102.4h-716.8v102.4zM51.2 256h102.4v-102.4h-102.4v102.4zM256 256h716.8v-102.4h-716.8v102.4z" />
<glyph unicode="&#xeb00;" glyph-name="load-balancer" d="M870.4 358.4h-307.2v-204.8h51.2v-204.8h-204.8v204.8h51.2v204.8h-307.2v-204.8h51.2v-204.8h-204.8v204.8h51.2v204.8c0 56.554 45.846 102.4 102.4 102.4v0h307.2v204.8h-102.4v307.2h307.2v-307.2h-102.4v-204.8h307.2c56.554 0 102.4-45.846 102.4-102.4v0-204.8h51.2v-204.8h-204.8v204.8h51.2v204.8z" />
<glyph unicode="&#xeb01;" glyph-name="location1" d="M512-51.2s-358.4 467.456-358.4 665.6c0 197.939 160.461 358.4 358.4 358.4s358.4-160.461 358.4-358.4v0c0-198.144-358.4-665.6-358.4-665.6zM512 512c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0c-56.554 0-102.4-45.846-102.4-102.4s45.846-102.4 102.4-102.4v0z" />
<glyph unicode="&#xeb02;" glyph-name="location-current" d="M0 972.8l1024-409.6-409.6-204.8-102.4-409.6z" />
<glyph unicode="&#xeb03;" glyph-name="location-food" d="M921.6 409.6v-358.4c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0 256h-102.4v512c0 84.831 68.769 153.6 153.6 153.6v0h153.6v-563.2zM204.8 460.8c-56.554 0-102.4 45.846-102.4 102.4v0 358.4c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-204.8h51.2v204.8c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-204.8h51.2v204.8c0 28.277 22.923 51.2 51.2 51.2s51.2-22.923 51.2-51.2v0-358.4c0-56.554-45.846-102.4-102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0 409.6z" />
<glyph unicode="&#xeb04;" glyph-name="location-gas-station" d="M665.6 51.2h51.2v-102.4h-716.8v102.4h51.2v819.2c0 56.32 46.080 102.4 102.4 102.4h409.6c56.554 0 102.4-45.846 102.4-102.4v0-819.2zM153.6 870.4v-307.2h409.6v307.2h-409.6zM665.6 460.8h51.2c56.554 0 102.4-45.846 102.4-102.4v0-153.6c0-28.277 22.923-51.2 51.2-51.2s51.2 22.923 51.2 51.2v0 256l-102.4 102.4v102.4l-102.4 102.4 51.2 51.2 256-256v-358.4c0-84.831-68.769-153.6-153.6-153.6s-153.6 68.769-153.6 153.6v0 153.6h-51.2v102.4z" />
<glyph unicode="&#xeb05;" glyph-name="location-hotel" d="M102.4 358.4h921.6v-307.2h-102.4v102.4h-819.2v-102.4h-102.4v819.2h102.4v-512zM512 665.6h409.6c56.554 0 102.4-45.846 102.4-102.4v0-153.6h-512v256zM307.2 409.6c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0z" />
<glyph unicode="&#xeb06;" glyph-name="location-marina" d="M409.6 876.544v96.256h102.4v-819.2h512l-204.8-204.8h-716.8l-102.4 204.8h409.6v102.4h-409.6v13.312c191.289 154.050 334.286 360.961 407.295 598.516l2.305 8.716zM1022.464 256h-510.464v18.432c64.675 95.476 103.25 213.217 103.25 339.968s-38.575 244.491-104.624 342.124l1.375-2.156v10.24c287.162-118.518 489.775-387.566 510.339-706.195l0.125-2.413z" />
<glyph unicode="&#xeb07;" glyph-name="location-park" d="M272.896 318.976c-21.001-7.96-45.282-12.568-70.64-12.568-113.108 0-204.8 91.692-204.8 204.8 0 95.835 65.826 176.296 154.731 198.636l1.413 0.301v6.656c0 0.060 0 0.131 0 0.202 0 113.108 91.692 204.8 204.8 204.8 31.807 0 61.921-7.251 88.778-20.19l-1.226 0.533c33.060 43.309 84.712 70.97 142.825 70.97 90.776 0 165.788-67.496 177.585-155.040l0.102-0.922c53.149-10.48 94.016-52.73 102.307-105.775l0.093-0.721c89.483-23.236 154.488-103.288 154.488-198.524 0-113.108-91.692-204.8-204.8-204.8-31.953 0-62.198 7.318-89.148 20.369l1.221-0.533c-27.722-44.505-67.413-79.253-114.587-100.214l-1.637-0.65v-175.104l102.4-51.2v-51.2h-409.6v51.2l102.4 51.2v153.6l-136.704 114.176zM256 460.8l153.6-153.6v153.6h-153.6z" />
<glyph unicode="&#xeb08;" glyph-name="location-restroom" d="M614.4 153.6h-153.6l102.4 230.4v128c0 56.32 46.080 102.4 102.4 102.4h102.4c56.554 0 102.4-45.846 102.4-102.4v0-128l102.4-230.4h-153.6v-204.8h-204.8v204.8zM358.4 307.2h102.4v204.8c0 56.554-45.846 102.4-102.4 102.4v0h-204.8c-56.554 0-102.4-45.846-102.4-102.4v0-204.8h102.4v-358.4h204.8v358.4zM256 665.6c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0zM716.8 665.6c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0z" />
<glyph unicode="&#xeb09;" glyph-name="location-shopping" d="M819.2 665.6v-102.4h102.4l102.4-614.4h-1024l102.4 614.4h102.4v102.4c0 169.662 137.538 307.2 307.2 307.2s307.2-137.538 307.2-307.2v0zM716.8 665.6c0 113.108-91.692 204.8-204.8 204.8s-204.8-91.692-204.8-204.8v0-102.4h409.6v102.4zM204.8 460.8v-102.4h102.4v102.4h-102.4zM716.8 460.8v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeb0a;" glyph-name="lock-closed" d="M204.8 563.2v102.4c0 169.662 137.538 307.2 307.2 307.2s307.2-137.538 307.2-307.2v0-102.4h51.2c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-716.8c-56.554 0-102.4 45.846-102.4 102.4v0 409.6c0 56.32 46.080 102.4 102.4 102.4h51.2zM460.8 218.624v-116.224h102.4v116.224c30.824 18.035 51.2 50.978 51.2 88.681 0 56.554-45.846 102.4-102.4 102.4s-102.4-45.846-102.4-102.4c0-37.703 20.376-70.646 50.717-88.419l0.483-0.262zM358.4 665.6v-102.4h307.2v102.4c0 84.831-68.769 153.6-153.6 153.6s-153.6-68.769-153.6-153.6v0z" />
<glyph unicode="&#xeb0b;" glyph-name="lock-open" d="M204.8 563.2v102.4c0 169.662 137.538 307.2 307.2 307.2s307.2-137.538 307.2-307.2v0h-153.6v-102.4h204.8c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-716.8c-56.554 0-102.4 45.846-102.4 102.4v0 409.6c0 56.32 46.080 102.4 102.4 102.4h51.2zM460.8 218.624v-116.224h102.4v116.224c30.824 18.035 51.2 50.978 51.2 88.681 0 56.554-45.846 102.4-102.4 102.4s-102.4-45.846-102.4-102.4c0-37.703 20.376-70.646 50.717-88.419l0.483-0.262zM358.4 665.6v-102.4h307.2v102.4c0 84.831-68.769 153.6-153.6 153.6s-153.6-68.769-153.6-153.6v0z" />
<glyph unicode="&#xeb0c;" glyph-name="map1" d="M0 972.8l307.2-204.8 409.6 204.8 307.2-204.8v-819.2l-307.2 204.8-409.6-204.8-307.2 204.8v819.2zM358.4 665.6v-563.2l307.2 153.6v563.2l-307.2-153.6z" />
<glyph unicode="&#xeb0d;" glyph-name="menu" d="M0 819.2h1024v-102.4h-1024v102.4zM0 512h1024v-102.4h-1024v102.4zM0 204.8h1024v-102.4h-1024v102.4z" />
<glyph unicode="&#xeb0e;" glyph-name="mic" d="M460.8 51.2v54.272c-203.112 26.323-358.4 198.221-358.4 406.387 0 0.050 0 0.099 0 0.149v-0.008h102.4c0-169.662 137.538-307.2 307.2-307.2s307.2 137.538 307.2 307.2v0h102.4c0-0.042 0-0.091 0-0.141 0-208.167-155.288-380.064-356.342-406.169l-2.058-0.218v-54.272h153.6v-102.4h-409.6v102.4h153.6zM307.2 768c0 113.108 91.692 204.8 204.8 204.8s204.8-91.692 204.8-204.8v0-256c0-113.108-91.692-204.8-204.8-204.8s-204.8 91.692-204.8 204.8v0 256z" />
<glyph unicode="&#xeb0f;" glyph-name="minus-outline" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM768 512v-102.4h-512v102.4h512z" />
<glyph unicode="&#xeb10;" glyph-name="minus-solid" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM768 512h-512v-102.4h512v102.4z" />
<glyph unicode="&#xeb11;" glyph-name="mobile-devices" d="M870.4 665.6v51.2h-102.4v153.6h-614.4v-716.8h256v-204.8h153.6c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.554 45.846 102.4 102.4 102.4v0h307.2zM576-51.2h-422.4c-56.554 0-102.4 45.846-102.4 102.4v0 819.2c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-204.8c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-294.4zM563.2 563.2v-409.6h307.2v409.6h-307.2zM716.8 0c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xeb12;" glyph-name="mood-happy-outline" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM332.8 512c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM691.2 512c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM801.792 358.4c-43.318-120.576-156.666-205.257-289.792-205.257s-246.474 84.68-289.119 203.115l-0.673 2.142h579.584z" />
<glyph unicode="&#xeb13;" glyph-name="mood-happy-solid" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM332.8 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM691.2 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM801.792 358.4h-579.584c43.318-120.576 156.666-205.257 289.792-205.257s246.474 84.68 289.119 203.115l0.673 2.142z" />
<glyph unicode="&#xeb14;" glyph-name="mood-neutral-outline" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM332.8 512c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM691.2 512c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM358.4 307.2h307.2c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0h-307.2c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0z" />
<glyph unicode="&#xeb15;" glyph-name="mood-neutral-solid" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM332.8 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM691.2 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM358.4 307.2c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0h307.2c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0h-307.2z" />
<glyph unicode="&#xeb16;" glyph-name="mood-sad-outline" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM332.8 512c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM691.2 512c-42.415 0-76.8 34.385-76.8 76.8s34.385 76.8 76.8 76.8v0c42.415 0 76.8-34.385 76.8-76.8s-34.385-76.8-76.8-76.8v0zM801.792 204.8h-579.584c43.318 120.576 156.666 205.257 289.792 205.257s246.474-84.68 289.119-203.115l0.673-2.142z" />
<glyph unicode="&#xeb17;" glyph-name="mood-sad-solid" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM332.8 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM691.2 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM801.792 204.8c-43.318 120.576-156.666 205.257-289.792 205.257s-246.474-84.68-289.119-203.115l-0.673-2.142h579.584z" />
<glyph unicode="&#xeb18;" glyph-name="mouse1" d="M204.8 512v153.6c0 0.060 0 0.13 0 0.201 0 151.576 109.778 277.512 254.165 302.639l1.835 0.264v-456.704h-256zM204.8 409.6v-153.6c0-169.662 137.538-307.2 307.2-307.2s307.2 137.538 307.2 307.2v0 153.6h-614.4zM819.2 512v153.6c0 0.060 0 0.13 0 0.201 0 151.576-109.778 277.512-254.165 302.639l-1.835 0.264v-456.704h256z" />
<glyph unicode="&#xeb19;" glyph-name="music-album" d="M0 972.8h1024v-1024h-1024v1024zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM512 307.2c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0c84.831 0 153.6-68.769 153.6-153.6s-68.769-153.6-153.6-153.6v0z" />
<glyph unicode="&#xeb1a;" glyph-name="music-artist" d="M806.4 563.2l-191.488 192c-0.314 4.244-0.493 9.193-0.493 14.184 0 112.825 91.463 204.288 204.288 204.288 56.879 0 108.329-23.246 145.368-60.755l0.021-0.021c37.373-37.113 60.506-88.522 60.506-145.335 0-113.108-91.692-204.8-204.8-204.8-4.715 0-9.394 0.159-14.030 0.473l0.628-0.034zM94.72 189.44l471.040 470.528 144.896-144.896-471.040-471.040-144.384 145.408zM23.040 44.544l108.032 108.544 72.704-72.704-108.544-108.544-72.704 72.704zM512 204.8l102.4 102.4v-358.4h-102.4v256z" />
<glyph unicode="&#xeb1b;" glyph-name="music-notes" d="M1024 844.8v128l-716.8-102.4v-623.104c-15.181 5.515-32.704 8.704-50.972 8.704-0.080 0-0.16 0-0.24 0h-102.388c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0h102.4c84.831 0 153.6 68.769 153.6 153.6v0 578.048l512 72.192v-403.456c-15.181 5.515-32.704 8.704-50.972 8.704-0.080 0-0.16 0-0.24 0h-102.388c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6h102.4c84.831 0 153.6 68.769 153.6 153.6v0 640.512z" />
<glyph unicode="&#xeb1c;" glyph-name="music-playlist" d="M819.2 102.4c0-84.831-68.769-153.6-153.6-153.6v0h-102.4c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0h102.4c0.068 0 0.148 0 0.228 0 18.268 0 35.791-3.189 52.043-9.041l-1.071 0.337v674.304l307.2 51.2v-204.8l-204.8-34.304v-631.296zM0 819.2h614.4v-102.4h-614.4v102.4zM0 614.4h614.4v-102.4h-614.4v102.4zM0 409.6h614.4v-102.4h-614.4v102.4zM0 204.8h307.2v-102.4h-307.2v102.4z" />
<glyph unicode="&#xeb1d;" glyph-name="navigation-more" d="M204.8 358.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM512 358.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM819.2 358.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeb1e;" glyph-name="network" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM908.8 358.4c8.251 30.73 12.99 66.012 12.99 102.4s-4.739 71.67-13.634 105.261l0.644-2.861h-195.584c2.267-30.637 3.559-66.368 3.559-102.4s-1.292-71.763-3.832-107.148l0.273 4.748h195.584zM866.816 256h-164.864c-9.503-67.086-26.518-127.646-50.456-184.579l1.816 4.867c91.262 34.305 165.167 97.283 212.455 177.781l1.049 1.931zM413.696 358.4h196.608c2.654 30.668 4.168 66.357 4.168 102.4s-1.513 71.734-4.48 107.010l0.312-4.61h-196.608c-2.654-30.668-4.168-66.357-4.168-102.4s1.513-71.734 4.48-107.010l-0.312 4.61zM426.496 256c20.992-122.88 57.856-204.8 85.504-204.8s64.512 81.92 85.504 204.8h-171.008zM115.2 358.4h195.584c-2.267 30.637-3.559 66.368-3.559 102.4s1.292 71.763 3.832 107.148l-0.273-4.748h-195.584c-8.251-30.73-12.99-66.012-12.99-102.4s4.739-71.67 13.634-105.261l-0.644 2.861zM157.184 256c48.337-82.429 122.242-145.407 210.673-178.775l2.831-0.937c-21.504 49.152-37.888 110.592-48.64 179.712h-164.864zM866.816 665.6c-48.337 82.429-122.242 145.407-210.673 178.775l-2.831 0.937c21.504-49.152 37.888-110.592 48.64-179.712h164.864zM426.496 665.6h171.008c-20.992 122.88-57.856 204.8-85.504 204.8s-64.512-81.92-85.504-204.8zM157.184 665.6h164.864c10.24 69.12 27.136 130.56 48.64 179.712-91.262-34.305-165.167-97.283-212.455-177.781l-1.049-1.931z" />
<glyph unicode="&#xeb1f;" glyph-name="news-paper" d="M819.2 870.4h204.8v-768c0-84.831-68.769-153.6-153.6-153.6v0h-716.8c-84.831 0-153.6 68.769-153.6 153.6v0 870.4h819.2v-102.4zM819.2 768v-665.6c0-28.277 22.923-51.2 51.2-51.2v0c28.277 0 51.2 22.923 51.2 51.2v0 665.6h-102.4zM102.4 870.4v-768c0-28.277 22.923-51.2 51.2-51.2v0h571.904c-5.515 15.127-8.705 32.59-8.705 50.798 0 0.141 0 0.283 0.001 0.424v-0.022 768h-614.4zM204.8 460.8h409.6v-102.4h-409.6v102.4zM204.8 256h409.6v-102.4h-409.6v102.4zM204.8 768h409.6v-204.8h-409.6v204.8z" />
<glyph unicode="&#xeb20;" glyph-name="notification" d="M204.8 563.2c0 0.040 0 0.087 0 0.135 0 133.528 85.193 247.159 204.189 289.503l2.147 0.666c-0.815 4.852-1.28 10.442-1.28 16.14 0 56.554 45.846 102.4 102.4 102.4s102.4-45.846 102.4-102.4c0-5.699-0.465-11.288-1.361-16.734l0.081 0.593c120.875-43.156 205.824-156.653 205.824-289.991 0-0.11 0-0.22 0-0.33v0.017-307.2l153.6-102.4v-51.2h-921.6v51.2l153.6 102.4v307.2zM614.4 51.2c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0h204.8z" />
<glyph unicode="&#xeb21;" glyph-name="notifications" d="M204.8 563.2c0 0.040 0 0.087 0 0.135 0 133.528 85.193 247.159 204.189 289.503l2.147 0.666c-0.815 4.852-1.28 10.442-1.28 16.14 0 56.554 45.846 102.4 102.4 102.4s102.4-45.846 102.4-102.4c0-5.699-0.465-11.288-1.361-16.734l0.081 0.593c120.875-43.156 205.824-156.653 205.824-289.991 0-0.11 0-0.22 0-0.33v0.017-307.2l153.6-102.4v-51.2h-921.6v51.2l153.6 102.4v307.2zM614.4 51.2c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0h204.8z" />
<glyph unicode="&#xeb22;" glyph-name="notifications-outline" d="M307.2 563.2v-358.4h409.6v358.4c0 113.108-91.692 204.8-204.8 204.8s-204.8-91.692-204.8-204.8v0zM411.136 853.504c-0.815 4.852-1.28 10.442-1.28 16.14 0 56.554 45.846 102.4 102.4 102.4s102.4-45.846 102.4-102.4c0-5.699-0.465-11.288-1.361-16.734l0.081 0.593c120.875-43.156 205.824-156.653 205.824-289.991 0-0.11 0-0.22 0-0.33v0.017-307.2l153.6-102.4v-51.2h-921.6v51.2l153.6 102.4v307.2c0 0.040 0 0.087 0 0.135 0 133.528 85.193 247.159 204.189 289.503l2.147 0.666zM614.4 51.2c0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4v0h204.8z" />
<glyph unicode="&#xeb23;" glyph-name="paste" d="M537.6-51.2h-435.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4c0 56.32 46.080 102.4 102.4 102.4h51.2v51.2l103.936 20.48c10.988 74.998 74.877 131.932 152.064 131.932s141.076-56.934 151.964-131.098l0.1-0.834 103.936-20.48v-51.2h51.2c56.554 0 102.4-45.846 102.4-102.4v0-51.2h-102.4v51.2h-51.2v-51.2h-512v51.2h-51.2v-614.4h256v-102.4h179.2zM409.6 768c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0zM512 563.2h409.6c56.554 0 102.4-45.846 102.4-102.4v0-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-409.6c-56.554 0-102.4 45.846-102.4 102.4v0 409.6c0 56.32 46.080 102.4 102.4 102.4zM512 460.8v-409.6h409.6v409.6h-409.6z" />
<glyph unicode="&#xeb24;" glyph-name="pause" d="M256 768h153.6v-614.4h-153.6v614.4zM614.4 768h153.6v-614.4h-153.6v614.4z" />
<glyph unicode="&#xeb25;" glyph-name="pause-outline" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM801.792 171.008c74.164 74.164 120.036 176.621 120.036 289.792 0 226.342-183.486 409.828-409.828 409.828-113.171 0-215.628-45.872-289.792-120.036v0c-74.164-74.164-120.036-176.621-120.036-289.792 0-226.342 183.486-409.828 409.828-409.828 113.171 0 215.628 45.872 289.792 120.036v0zM358.4 665.6h102.4v-409.6h-102.4v409.6zM563.2 665.6h102.4v-409.6h-102.4v409.6z" />
<glyph unicode="&#xeb26;" glyph-name="pause-solid" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM358.4 665.6v-409.6h102.4v409.6h-102.4zM563.2 665.6v-409.6h102.4v409.6h-102.4z" />
<glyph unicode="&#xeb27;" glyph-name="pen-tool" d="M563.2 498.176v474.624l307.2-563.2-204.8-307.2h-307.2l-204.8 307.2 307.2 563.2v-474.624c-30.824-18.035-51.2-50.978-51.2-88.681 0-56.554 45.846-102.4 102.4-102.4s102.4 45.846 102.4 102.4c0 37.703-20.376 70.646-50.717 88.419l-0.483 0.262zM307.2 51.2h409.6v-102.4h-409.6v102.4z" />
<glyph unicode="&#xeb28;" glyph-name="phone3" d="M1024 33.28v-33.28c0-28.277-22.923-51.2-51.2-51.2v0h-102.4c-480.709 0-870.4 389.691-870.4 870.4v0 102.4c0 28.277 22.923 51.2 51.2 51.2v0h204.8c28.277 0 51.2-22.923 51.2-51.2v0-204.8c0-28.672-15.872-67.072-35.84-87.040l-109.568-109.568c77.824-184.32 225.28-331.776 409.6-409.6l108.544 108.544c20.48 20.48 58.88 36.352 87.040 36.352h205.824c28.056-0.29 50.688-23.1 50.688-51.197 0-0.001 0-0.002 0-0.003v0-171.52z" />
<glyph unicode="&#xeb29;" glyph-name="photo" d="M0 768c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-614.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4zM563.2 307.2l-153.6 153.6-307.2-307.2h819.2l-256 256-102.4-102.4zM768 512c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0c-56.554 0-102.4-45.846-102.4-102.4s45.846-102.4 102.4-102.4v0z" />
<glyph unicode="&#xeb2a;" glyph-name="php-elephant" d="M512 358.4v-409.6c-282.636 0.176-511.69 229.339-511.69 512 0 249.529 178.504 457.367 414.783 502.782l3.211 0.514 93.696-93.696h256c0 0 0 0 0.001 0 141.205 0 255.708-114.323 255.999-255.46v-461.852c-0.291-112.887-91.871-204.288-204.799-204.288 0 0 0 0 0 0v0 102.4c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0h-204.8l-102.4 102.4zM793.6 512c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0z" />
<glyph unicode="&#xeb2b;" glyph-name="pin2" d="M563.2 358.4h307.2v51.2l-153.6 51.2v409.6l153.6 51.2v51.2h-716.8v-51.2l153.6-51.2v-409.6l-153.6-51.2v-51.2h307.2v-358.4l51.2-51.2 51.2 51.2v358.4z" />
<glyph unicode="&#xeb2c;" glyph-name="play" d="M204.8 768l614.4-307.2-614.4-307.2z" />
<glyph unicode="&#xeb2d;" glyph-name="play-outline" d="M150.016 98.816c-96.436 93.233-156.308 223.762-156.308 368.276 0 282.77 229.23 512 512 512 144.514 0 275.043-59.872 368.137-156.164l0.138-0.144c88.925-91.979 143.724-217.436 143.724-355.692 0-282.77-229.23-512-512-512-138.256 0-263.713 54.799-355.836 143.863l0.144-0.138zM801.792 171.008c74.164 74.164 120.036 176.621 120.036 289.792 0 226.342-183.486 409.828-409.828 409.828-113.171 0-215.628-45.872-289.792-120.036v0c-74.164-74.164-120.036-176.621-120.036-289.792 0-226.342 183.486-409.828 409.828-409.828 113.171 0 215.628 45.872 289.792 120.036v0zM358.4 665.6l409.6-204.8-409.6-204.8v409.6z" />
<glyph unicode="&#xeb2e;" glyph-name="playlist" d="M819.2 102.4c0-84.831-68.769-153.6-153.6-153.6v0h-102.4c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0h102.4c0.068 0 0.148 0 0.228 0 18.268 0 35.791-3.189 52.043-9.041l-1.071 0.337v674.304l307.2 51.2v-204.8l-204.8-34.304v-631.296zM0 819.2h614.4v-102.4h-614.4v102.4zM0 614.4h614.4v-102.4h-614.4v102.4zM0 409.6h614.4v-102.4h-614.4v102.4zM0 204.8h307.2v-102.4h-307.2v102.4z" />
<glyph unicode="&#xeb2f;" glyph-name="plugin" d="M1024 256v-204.8c0-56.554-45.846-102.4-102.4-102.4v0h-204.8v102.4c0 56.554-45.846 102.4-102.4 102.4v0c-56.554 0-102.4-45.846-102.4-102.4v0-102.4h-204.8c-56.554 0-102.4 45.846-102.4 102.4v0 204.8h-102.4c-56.554 0-102.4 45.846-102.4 102.4v0c0 56.554 45.846 102.4 102.4 102.4v0h102.4v204.8c0 56.32 46.080 102.4 102.4 102.4h204.8v102.4c0 56.554 45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4v0-102.4h204.8c56.554 0 102.4-45.846 102.4-102.4v0-204.8h-102.4c-56.554 0-102.4-45.846-102.4-102.4v0c0-56.554 45.846-102.4 102.4-102.4v0h102.4z" />
<glyph unicode="&#xeb30;" glyph-name="portfolio" d="M460.8 358.4h-409.6v-307.2c0-56.554 45.846-102.4 102.4-102.4v0h716.8c56.554 0 102.4 45.846 102.4 102.4v0 307.2h-409.6v-102.4h-102.4v102.4zM460.8 409.6h-460.8v307.2c0 56.32 46.080 102.4 102.4 102.4h204.8v51.2c0 56.554 45.846 102.4 102.4 102.4v0h204.8c56.554 0 102.4-45.846 102.4-102.4v0-51.2h204.8c56.554 0 102.4-45.846 102.4-102.4v0-307.2h-460.8v102.4h-102.4v-102.4zM614.4 819.2v51.2h-204.8v-51.2h204.8z" />
<glyph unicode="&#xeb31;" glyph-name="printer1" d="M204.8 153.6h-204.8v512h1024v-512h-204.8v-204.8h-614.4v204.8zM307.2 358.4v-307.2h409.6v307.2h-409.6zM204.8 972.8h614.4v-256h-614.4v256zM102.4 563.2v-102.4h102.4v102.4h-102.4zM307.2 563.2v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeb32;" glyph-name="pylon" d="M890.88 51.2h133.12v-102.4h-1024v102.4h133.12l276.48 921.6h204.8l276.48-921.6zM727.040 256h-430.080l-61.44-204.8h552.96l-61.44 204.8zM604.16 665.6h-184.32l-61.44-204.8h307.2l-61.44 204.8z" />
<glyph unicode="&#xeb33;" glyph-name="question" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM614.4 614.4c0-14.336-10.752-40.96-21.504-51.2l-80.896-80.896c-29.184-29.696-51.2-81.92-51.2-123.904v-51.2h102.4v51.2c0 14.848 10.752 40.96 21.504 51.2l80.896 80.896c29.184 29.696 51.2 81.92 51.2 123.904 0 113.108-91.692 204.8-204.8 204.8s-204.8-91.692-204.8-204.8v0h102.4c0 56.554 45.846 102.4 102.4 102.4s102.4-45.846 102.4-102.4v0zM460.8 204.8v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeb34;" glyph-name="queue" d="M0 870.4h1024v-204.8h-1024v204.8zM0 460.8h1024v-102.4h-1024v102.4zM0 153.6h1024v-102.4h-1024v102.4z" />
<glyph unicode="&#xeb35;" glyph-name="radar" d="M614.4 460.8c-0.244-56.369-45.996-101.97-102.399-101.97-28.17 0-53.684 11.375-72.198 29.783l0.005-0.005c-18.403 18.509-29.778 44.023-29.778 72.193 0 56.403 45.601 102.155 101.947 102.399h0.023v409.6c0.457 0.001 0.997 0.002 1.538 0.002 281.921 0 510.464-228.543 510.464-510.464 0-0.541-0.001-1.081-0.003-1.621v0.083h-409.6zM1018.88 388.608c-36.607-250.012-249.581-439.814-506.886-439.814-282.77 0-512 229.23-512 512 0 257.305 189.802 470.279 437.036 506.551l2.778 0.335v-103.936c-192.901-35.637-337.081-202.546-337.081-403.129 0-226.216 183.384-409.6 409.6-409.6 200.583 0 367.492 144.18 402.741 334.557l0.388 2.525h103.424zM810.496 388.608c-33.869-135.602-154.622-234.465-298.465-234.465-169.662 0-307.2 137.538-307.2 307.2 0 143.843 98.863 264.596 232.348 298.016l2.117 0.449v-107.52c-77.954-29.963-132.275-104.225-132.275-191.174 0-56.79 23.172-108.167 60.578-145.193l0.017-0.017c37.016-36.79 88.032-59.53 144.359-59.53 87.027 0 161.377 54.282 191.037 130.836l0.476 1.398h107.52z" />
<glyph unicode="&#xeb36;" glyph-name="radarcopy2" d="M614.4 460.8c-0.244-56.369-45.996-101.97-102.399-101.97-28.17 0-53.684 11.375-72.198 29.783l0.005-0.005c-18.403 18.509-29.778 44.023-29.778 72.193 0 56.403 45.601 102.155 101.947 102.399h0.023v409.6c0.457 0.001 0.997 0.002 1.538 0.002 281.921 0 510.464-228.543 510.464-510.464 0-0.541-0.001-1.081-0.003-1.621v0.083h-409.6zM1018.88 388.608c-36.607-250.012-249.581-439.814-506.886-439.814-282.77 0-512 229.23-512 512 0 257.305 189.802 470.279 437.036 506.551l2.778 0.335v-103.936c-192.901-35.637-337.081-202.546-337.081-403.129 0-226.216 183.384-409.6 409.6-409.6 200.583 0 367.492 144.18 402.741 334.557l0.388 2.525h103.424zM810.496 388.608c-33.869-135.602-154.622-234.465-298.465-234.465-169.662 0-307.2 137.538-307.2 307.2 0 143.843 98.863 264.596 232.348 298.016l2.117 0.449v-107.52c-77.954-29.963-132.275-104.225-132.275-191.174 0-56.79 23.172-108.167 60.578-145.193l0.017-0.017c37.016-36.79 88.032-59.53 144.359-59.53 87.027 0 161.377 54.282 191.037 130.836l0.476 1.398h107.52z" />
<glyph unicode="&#xeb37;" glyph-name="radio2" d="M1024 512v-460.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h706.56l-771.072 206.336 26.624 99.328 959.488-257.536v-201.728zM768 51.2c84.831 0 153.6 68.769 153.6 153.6s-68.769 153.6-153.6 153.6v0c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0zM102.4 563.2v-102.4h819.2v102.4h-819.2zM179.2 51.2c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM435.2 51.2c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM768 102.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeb38;" glyph-name="refresh" d="M512 819.2v-102.4c-0.136 0-0.297 0-0.458 0-141.385 0-256-114.615-256-256 0-70.806 28.746-134.899 75.205-181.243l0.005-0.005-72.192-72.192c-64.865 64.859-104.986 154.464-104.986 253.44 0 197.939 160.461 358.4 358.4 358.4 0.009 0 0.018 0 0.028 0h-0.002zM765.44 714.24c64.865-64.859 104.986-154.464 104.986-253.44 0-197.939-160.461-358.4-358.4-358.4-0.009 0-0.018 0-0.028 0h0.002v102.4c0.136 0 0.297 0 0.458 0 141.385 0 256 114.615 256 256 0 70.806-28.746 134.899-75.205 181.243l-0.005 0.005 72.192 72.192zM512-51.2l-204.8 204.8 204.8 204.8v-409.6zM512 563.2v409.6l204.8-204.8-204.8-204.8z" />
<glyph unicode="&#xeb39;" glyph-name="reload" d="M750.592 171.008c-74.139-74.219-176.604-120.13-289.792-120.13-226.216 0-409.6 183.384-409.6 409.6s183.384 409.6 409.6 409.6c226.103 0 409.417-183.201 409.6-409.261v-0.017h-102.4c0 0.080 0 0.175 0 0.27 0 169.662-137.538 307.2-307.2 307.2s-307.2-137.538-307.2-307.2c0-169.662 137.538-307.2 307.2-307.2 84.764 0 161.509 34.33 217.091 89.845l-0.003-0.003 72.704-72.704zM614.4 460.8h409.6l-204.8-204.8-204.8 204.8z" />
<glyph unicode="&#xeb3a;" glyph-name="reply1" d="M768 102.4v153.088c0 0.152 0.001 0.332 0.001 0.512 0 113.108-91.692 204.8-204.8 204.8 0 0-0.001 0-0.001 0h-153.6v-256l-307.2 307.2 307.2 307.2v-256h153.6c169.662 0 307.2-137.538 307.2-307.2v0-153.6h-102.4z" />
<glyph unicode="&#xeb3b;" glyph-name="reply-all" d="M921.6 102.4v153.088c0 0.152 0.001 0.332 0.001 0.512 0 113.108-91.692 204.8-204.8 204.8 0 0-0.001 0-0.001 0h-153.6v-256l-307.2 307.2 307.2 307.2v-256h153.6c169.662 0 307.2-137.538 307.2-307.2v0-153.6h-102.4zM307.2 665.6v153.6l-307.2-307.2 307.2-307.2v153.6l-153.6 153.6 153.6 153.6z" />
<glyph unicode="&#xeb3c;" glyph-name="repost" d="M256 768c-56.554 0-102.4-45.846-102.4-102.4v0-307.2h-153.6l204.8-204.8 204.8 204.8h-153.6v307.2h358.4l102.4 102.4h-460.8zM768 563.2h-153.6l204.8 204.8 204.8-204.8h-153.6v-307.2c0-56.554-45.846-102.4-102.4-102.4v0h-460.8l102.4 102.4h358.4v307.2z" />
<glyph unicode="&#xeb3d;" glyph-name="save-disk" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h716.8l204.8-204.8v-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM256 870.4v-307.2h512v307.2h-512zM563.2 819.2h153.6v-204.8h-153.6v204.8z" />
<glyph unicode="&#xeb3e;" glyph-name="screen-full" d="M143.36 163.84l-143.36 143.36v-358.4h358.4l-143.36 143.36 222.208 221.184-72.704 72.704-221.184-222.208zM880.64 757.76l143.36-143.36v358.4h-358.4l143.36-143.36-222.208-221.184 72.704-72.704 221.184 222.208zM808.96 92.16l-143.36-143.36h358.4v358.4l-143.36-143.36-221.184 222.208-72.704-72.704 221.696-221.696zM215.040 829.44l143.36 143.36h-358.4v-358.4l143.36 143.36 221.184-222.208 72.704 72.704-222.208 221.184z" />
<glyph unicode="&#xeb3f;" glyph-name="search" d="M660.48 239.616c-68.622-53.712-156.164-86.131-251.277-86.131-226.216 0-409.6 183.384-409.6 409.6s183.384 409.6 409.6 409.6c226.216 0 409.6-183.384 409.6-409.6 0-95.113-32.419-182.654-86.809-252.177l0.678 0.9 273.92-272.896-72.704-72.704-272.896 273.408zM409.6 256c169.662 0 307.2 137.538 307.2 307.2s-137.538 307.2-307.2 307.2v0c-169.662 0-307.2-137.538-307.2-307.2s137.538-307.2 307.2-307.2v0z" />
<glyph unicode="&#xeb40;" glyph-name="send" d="M0 972.8l1024-512-1024-512v1024zM0 563.2v-204.8l512 102.4-512 102.4z" />
<glyph unicode="&#xeb41;" glyph-name="servers" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-102.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 102.4zM0 512c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-102.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 102.4zM0 153.6c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-102.4c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 102.4zM614.4 870.4v-102.4h102.4v102.4h-102.4zM819.2 870.4v-102.4h102.4v102.4h-102.4zM614.4 512v-102.4h102.4v102.4h-102.4zM819.2 512v-102.4h102.4v102.4h-102.4zM614.4 153.6v-102.4h102.4v102.4h-102.4zM819.2 153.6v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xeb42;" glyph-name="share" d="M204.8 460.8c0 56.32 46.080 102.4 102.4 102.4h409.6c56.32 0 102.4-46.080 102.4-102.4v-409.6c0-56.32-46.080-102.4-102.4-102.4h-409.6c-56.32 0-102.4 46.080-102.4 102.4v409.6zM307.2 460.8v-409.6h409.6v409.6h-102.4v102.4h-204.8v-102.4h-102.4zM460.8 776.704v-623.104h102.4v623.104l157.184-157.184 72.704 72.192-281.088 281.088-281.6-281.6 72.704-71.68 157.696 156.672z" />
<glyph unicode="&#xeb43;" glyph-name="share-01" d="M204.8 460.8c0 56.32 46.080 102.4 102.4 102.4h409.6c56.32 0 102.4-46.080 102.4-102.4v-409.6c0-56.32-46.080-102.4-102.4-102.4h-409.6c-56.32 0-102.4 46.080-102.4 102.4v409.6zM307.2 460.8v-409.6h409.6v409.6h-102.4v102.4h-204.8v-102.4h-102.4zM460.8 776.704v-623.104h102.4v623.104l157.184-157.184 72.704 72.192-281.088 281.088-281.6-281.6 72.704-71.68 157.696 156.672z" />
<glyph unicode="&#xeb44;" glyph-name="share-alt" d="M260.096 350.208c-27.575-26.972-65.35-43.615-107.012-43.615-84.548 0-153.088 68.54-153.088 153.088 0 0.393 0.001 0.787 0.004 1.179v-0.060c0.054 84.79 68.802 153.505 153.6 153.505 41.373 0 78.926-16.358 106.544-42.959l-0.048 0.046 457.728 228.864c-0.768 5.77-1.206 12.441-1.206 19.214 0 84.831 68.769 153.6 153.6 153.6s153.6-68.769 153.6-153.6c0-84.831-68.769-153.6-153.6-153.6-41.285 0-78.765 16.288-106.366 42.788l0.052-0.050-457.728-228.864c0.739-5.688 1.161-12.267 1.161-18.944s-0.422-13.256-1.24-19.711l0.079 0.767 457.728-228.864c27.575 26.972 65.35 43.615 107.012 43.615 84.548 0 153.088-68.54 153.088-153.088 0-0.393-0.001-0.787-0.004-1.179v0.060c-0.727-84.277-69.215-152.316-153.595-152.316-84.831 0-153.6 68.769-153.6 153.6 0 6.223 0.37 12.36 1.089 18.389l-0.071-0.729-457.728 228.864z" />
<glyph unicode="&#xeb45;" glyph-name="shield" d="M972.8 409.6c-7.253-128.167-76.327-238.772-177.641-303.201l-1.559-0.927-281.6-156.672-281.6 156.672c-102.873 65.356-171.947 175.961-179.154 303.115l-0.046 1.013v409.6c173.056 0 332.8 57.344 460.8 153.6 128-96.768 287.744-153.6 460.8-153.6v-409.6zM512 354.304l149.504-104.448-52.736 174.592 145.408 110.080-182.272 4.096-59.904 172.032-59.904-172.032-182.272-4.096 144.896-109.568-52.736-174.080 150.016 102.912z" />
<glyph unicode="&#xeb46;" glyph-name="shopping-cart" d="M204.8 870.4h819.2l-153.6-460.8h-665.6c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0h665.6v-102.4h-665.6c-84.831 0-153.6 68.769-153.6 153.6s68.769 153.6 153.6 153.6v0h16.896l-68.096 204.8-51.2 153.6h-102.4v102.4h153.6c28.277 0 51.2-22.923 51.2-51.2v0-51.2zM256-51.2c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0zM768-51.2c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeb47;" glyph-name="show-sidebar" d="M358.4 819.2h-256v-716.8h256v716.8zM460.8 819.2v-716.8h460.8v716.8h-460.8zM0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM153.6 768h153.6v-102.4h-153.6v102.4zM153.6 614.4h153.6v-102.4h-153.6v102.4zM153.6 460.8h153.6v-102.4h-153.6v102.4z" />
<glyph unicode="&#xeb48;" glyph-name="shuffle1" d="M337.408 315.904l-112.128-111.104c-29.696-29.696-81.408-51.2-122.88-51.2h-102.4v102.4h102.4c14.848 0 40.96 10.24 51.2 20.992l111.104 111.616 72.704-72.704zM819.2 768v153.6l204.8-204.8-204.8-204.8v153.6h-102.4c-14.848 0-40.96-10.24-51.2-20.992l-111.104-111.616-73.216 72.704 112.64 111.104c29.696 29.696 81.408 51.2 123.392 51.2h102.4zM819.2 256v153.6l204.8-204.8-204.8-204.8v153.6h-102.4c-41.984 0-93.696 21.504-123.392 51.2l-440.32 439.808c-9.728 10.24-35.328 20.992-50.688 20.992h-102.4v102.4h102.4c41.984 0 93.696-21.504 123.392-51.2l440.32-439.808c10.24-10.24 35.84-20.992 50.688-20.992h102.4z" />
<glyph unicode="&#xeb49;" glyph-name="stand-by" d="M212.992 759.808l72.704-72.704c-81.127-66.138-132.521-166.076-132.521-278.017 0-197.656 160.232-357.888 357.888-357.888 0.329 0 0.659 0 0.988 0.001h-0.051c197.722 0.287 357.896 160.638 357.896 358.4 0 111.594-51.003 211.277-130.969 277.008l-0.622 0.496 72.704 72.704c99.127-85.029 161.536-210.425 161.536-350.396 0-254.493-206.307-460.8-460.8-460.8s-460.8 206.307-460.8 460.8c0 139.972 62.408 265.367 160.917 349.878l0.619 0.518zM460.8 972.8h102.4v-409.6h-102.4v409.6z" />
<glyph unicode="&#xeb4a;" glyph-name="star-full" d="M512 204.8l-300.954-158.208 57.498 335.104-243.507 237.312 336.486 48.896 150.477 304.896 150.477-304.896 336.486-48.896-243.507-237.312 57.498-335.104z" />
<glyph unicode="&#xeb4b;" glyph-name="station" d="M460.8 372.224c-30.824 18.035-51.2 50.978-51.2 88.681 0 56.554 45.846 102.4 102.4 102.4s102.4-45.846 102.4-102.4c0-37.703-20.376-70.646-50.717-88.419l-0.483-0.262v-423.424h-102.4v423.424zM729.088 243.712l-72.192 72.192c37.545 37.062 60.8 88.522 60.8 145.413 0 112.825-91.463 204.288-204.288 204.288-0.495 0-0.99-0.002-1.484-0.005h0.076c-0.048 0-0.104 0-0.161 0-113.108 0-204.8-91.692-204.8-204.8 0-56.594 22.956-107.827 60.063-144.894l0.002-0.002-72.192-72.192c-55.52 55.58-89.856 132.332-89.856 217.102 0 169.662 137.538 307.2 307.2 307.2s307.2-137.538 307.2-307.2c0-84.771-34.336-161.522-89.859-217.105l0.003 0.003zM873.984 98.816l-72.192 72.192c74.18 74.132 120.064 176.571 120.064 289.726 0 226.216-183.384 409.6-409.6 409.6s-409.6-183.384-409.6-409.6c0-113.155 45.884-215.593 120.062-289.724l0.002-0.002-72.704-72.192c-92.686 92.659-150.016 220.681-150.016 362.093 0 282.77 229.23 512 512 512s512-229.23 512-512c0-141.412-57.329-269.434-150.014-362.092l-0.002-0.002z" />
<glyph unicode="&#xeb4c;" glyph-name="step-backward" d="M204.8 716.8h153.6v-512h-153.6v512zM819.2 716.8v-512l-460.8 256 460.8 256z" />
<glyph unicode="&#xeb4d;" glyph-name="step-forward" d="M665.6 716.8h153.6v-512h-153.6v512zM204.8 716.8l460.8-256-460.8-256v512z" />
<glyph unicode="&#xeb4e;" glyph-name="stethoscope" d="M870.4 446.976v270.336c0 28.277-22.923 51.2-51.2 51.2s-51.2-22.923-51.2-51.2v0-512.512c0-141.385-114.615-256-256-256s-256 114.615-256 256v0 55.296c-146.222 25.392-256 151.328-256 302.903 0 0.071 0 0.141 0 0.212v-0.011 307.2c0 56.32 46.080 102.4 102.4 102.4h51.2c28.277 0 51.2-22.923 51.2-51.2v0c0-28.277-22.923-51.2-51.2-51.2v0h-51.2v-307.2c0-113.108 91.692-204.8 204.8-204.8s204.8 91.692 204.8 204.8v0 307.2h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0c0 28.277 22.923 51.2 51.2 51.2v0h51.2c56.554 0 102.4-45.846 102.4-102.4v0-307.2c0-0.060 0-0.13 0-0.201 0-151.576-109.778-277.512-254.165-302.639l-1.835-0.264v-55.296c0-84.831 68.769-153.6 153.6-153.6s153.6 68.769 153.6 153.6v0 512c0 84.831 68.769 153.6 153.6 153.6s153.6-68.769 153.6-153.6v0-269.824c30.824-18.035 51.2-50.978 51.2-88.681 0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4c0 37.703 20.376 70.646 50.717 88.419l0.483 0.262z" />
<glyph unicode="&#xeb4f;" glyph-name="store-front" d="M921.6 467.456v-518.656h-819.2v518.656c15.389-3.889 33.056-6.12 51.245-6.12 37.467 0 72.723 9.469 103.504 26.146l-1.149-0.569v-230.912h512v230.4c29.492-15.869 64.538-25.194 101.761-25.194 18.402 0 36.272 2.279 53.343 6.57l-1.505-0.32zM153.6 972.8h204.8l-34.304-308.736c-11.832-85.147-83.292-150.251-170.311-152.061l-0.185-0.003c-84.992 0-132.096 65.024-104.96 145.92l104.96 314.88zM409.6 972.8h204.8l35.84-322.56c8.704-76.8-46.592-138.24-123.904-138.24h-28.672c-0.941-0.026-2.049-0.041-3.16-0.041-67.299 0-121.856 54.557-121.856 121.856 0 5.793 0.404 11.491 1.186 17.068l-0.074-0.643 35.84 322.56zM665.6 972.8h204.8l104.96-314.88c27.136-80.896-20.48-145.92-104.96-145.92-87.29 1.589-158.873 66.812-170.394 151.155l-0.102 0.909-34.304 308.736z" />
<glyph unicode="&#xeb50;" glyph-name="stroke-width" d="M0 972.8h1024v-256h-1024v256zM0 614.4h1024v-204.8h-1024v204.8zM0 307.2h1024v-153.6h-1024v153.6zM0 51.2h1024v-102.4h-1024v102.4z" />
<glyph unicode="&#xeb51;" glyph-name="subdirectory-left" d="M921.6 358.4v-51.2h-512v-256l-307.2 307.2 307.2 307.2v-256h409.6v460.8h102.4z" />
<glyph unicode="&#xeb52;" glyph-name="subdirectory-right" d="M179.2 307.2h435.2v-256l307.2 307.2-307.2 307.2v-256h-409.6v460.8h-102.4v-563.2z" />
<glyph unicode="&#xeb53;" glyph-name="swap" d="M460.8 665.6c0 113.108 91.692 204.8 204.8 204.8s204.8-91.692 204.8-204.8v0-409.6h153.6l-204.8-204.8-204.8 204.8h153.6v409.6c0 56.554-45.846 102.4-102.4 102.4v0c-56.554 0-102.4-45.846-102.4-102.4v0-409.6c0-113.108-91.692-204.8-204.8-204.8s-204.8 91.692-204.8 204.8v0 409.6h-153.6l204.8 204.8 204.8-204.8h-153.6v-409.6c0-56.554 45.846-102.4 102.4-102.4v0c56.554 0 102.4 45.846 102.4 102.4v0 409.6z" />
<glyph unicode="&#xeb54;" glyph-name="tablet1" d="M102.4 870.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-614.4c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM204.8 870.4v-716.8h614.4v716.8h-614.4zM512 0c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0z" />
<glyph unicode="&#xeb55;" glyph-name="tag2" d="M0 460.8v409.6l102.4 102.4h409.6l512-512-512-512-512 512zM230.4 665.6c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0z" />
<glyph unicode="&#xeb56;" glyph-name="target1" d="M918.528 409.6h-252.928v102.4h252.928c-24.013 185.779-169.548 331.315-353.274 355.111l-2.054 0.217v-252.928h-102.4v252.928c-185.779-24.013-331.315-169.548-355.111-353.274l-0.217-2.054h252.928v-102.4h-252.928c24.013-185.779 169.548-331.315 353.274-355.111l2.054-0.217v252.928h102.4v-252.928c185.779 24.013 331.315 169.548 355.111 353.274l0.217 2.054zM512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0z" />
<glyph unicode="&#xeb57;" glyph-name="text-box" d="M0 972.8h307.2v-307.2h-307.2v307.2zM102.4 870.4v-102.4h102.4v102.4h-102.4zM716.8 972.8h307.2v-307.2h-307.2v307.2zM819.2 870.4v-102.4h102.4v102.4h-102.4zM716.8 256h307.2v-307.2h-307.2v307.2zM819.2 153.6v-102.4h102.4v102.4h-102.4zM0 256h307.2v-307.2h-307.2v307.2zM102.4 153.6v-102.4h102.4v102.4h-102.4zM307.2 870.4h409.6v-102.4h-409.6v102.4zM307.2 153.6h409.6v-102.4h-409.6v102.4zM819.2 665.6h102.4v-409.6h-102.4v409.6zM102.4 665.6h102.4v-409.6h-102.4v409.6zM358.4 614.4h307.2v-102.4h-307.2v102.4zM460.8 512h102.4v-204.8h-102.4v204.8z" />
<glyph unicode="&#xeb58;" glyph-name="text-decoration" d="M614.4 716.8h-102.4v-614.4h-102.4v716.8h409.6v-102.4h-102.4v-614.4h-102.4v614.4zM409.6 819.2c-113.108 0-204.8-91.692-204.8-204.8s91.692-204.8 204.8-204.8v0 409.6z" />
<glyph unicode="&#xeb59;" glyph-name="thermometer1" d="M460.8 400.896v213.504h102.4v-213.504c60.168-21.723 102.4-78.337 102.4-144.815 0-84.831-68.769-153.6-153.6-153.6s-153.6 68.769-153.6 153.6c0 66.478 42.232 123.092 101.33 144.477l1.070 0.338zM409.6 433.152c-61.648-36.070-102.4-101.957-102.4-177.362 0-113.108 91.692-204.8 204.8-204.8s204.8 91.692 204.8 204.8c0 75.405-40.752 141.292-101.434 176.839l-0.966 0.523v334.848c0 56.554-45.846 102.4-102.4 102.4s-102.4-45.846-102.4-102.4v0-334.336zM307.2 484.864v283.136c0 113.108 91.692 204.8 204.8 204.8s204.8-91.692 204.8-204.8v0-283.136c63.385-56.441 103.112-138.27 103.112-229.378 0-169.379-137.309-306.688-306.688-306.688-0.431 0-0.861 0.001-1.291 0.003h0.067c-169.609 0.070-307.078 137.581-307.078 307.2 0 90.786 39.382 172.374 101.994 228.613l0.284 0.251z" />
<glyph unicode="&#xeb5a;" glyph-name="thumbs-down" d="M563.2-51.2c-56.554 0-102.4 45.846-102.4 102.4v0 307.2h-358.4c-56.554 0-102.4 45.846-102.4 102.4v0 102.4l117.76 313.344c23.921 54.755 76.246 93.003 137.847 96.24l0.393 0.016h409.6c56.554 0 102.4-45.846 102.4-102.4v0-409.6l-153.6-358.4v-153.6h-51.2zM870.4 460.8v512h153.6v-512h-153.6z" />
<glyph unicode="&#xeb5b;" glyph-name="thumbs-up" d="M563.2 972.8h51.2v-153.6l153.6-358.4v-409.6c0-56.554-45.846-102.4-102.4-102.4v0h-409.6c-56.32 0-118.272 43.008-138.24 96.256l-117.76 313.344v102.4c0 56.554 45.846 102.4 102.4 102.4v0h358.4v307.2c0 56.554 45.846 102.4 102.4 102.4v0zM870.4 460.8h153.6v-512h-153.6v512z" />
<glyph unicode="&#xeb5c;" glyph-name="ticket3" d="M1024 358.4v-256h-1024v256c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0 256h1024v-256c-56.554 0-102.4-45.846-102.4-102.4s45.846-102.4 102.4-102.4v0zM153.6 716.8v-512h716.8v512h-716.8zM512 354.304l-149.504-104.448 52.224 175.104-144.896 109.568 182.272 4.096 59.904 172.032 59.904-172.032 182.272-4.096-145.408-110.080 52.736-174.080-149.504 103.424z" />
<glyph unicode="&#xeb5d;" glyph-name="time2" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 51.2c226.216 0 409.6 183.384 409.6 409.6s-183.384 409.6-409.6 409.6v0c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0zM460.8 439.808v328.192h102.4v-286.208l202.24-202.24-72.192-72.192-232.448 232.448z" />
<glyph unicode="&#xeb5e;" glyph-name="timer" d="M835.584 609.28c53.475-68.532 85.741-155.885 85.741-250.774 0-226.216-183.384-409.6-409.6-409.6s-409.6 183.384-409.6 409.6c0 208.264 155.434 380.225 356.625 406.206l2.050 0.216v105.472h102.4v-105.472c74.752-9.216 143.36-38.912 199.68-82.944l74.752 74.752 72.704-72.704-74.752-74.24zM512 51.2c169.662 0 307.2 137.538 307.2 307.2s-137.538 307.2-307.2 307.2v0c-169.662 0-307.2-137.538-307.2-307.2s137.538-307.2 307.2-307.2v0zM358.4 972.8h307.2v-102.4h-307.2v102.4zM620.544 539.648l72.704-72.704-181.248-180.224-72.192 71.68 180.736 181.248z" />
<glyph unicode="&#xeb5f;" glyph-name="toolscopy" d="M512 972.8s409.6-388.096 409.6-614.4c0-226.216-183.384-409.6-409.6-409.6s-409.6 183.384-409.6 409.6v0c0 76.8 46.592 171.52 108.544 263.68 19.228-64.429 77.951-110.595 147.457-110.595 84.831 0 153.6 68.769 153.6 153.6 0 0.181 0 0.362-0.001 0.543v-0.028 307.2zM409.6 972.8c-84.831 0-153.6-68.769-153.6-153.6s68.769-153.6 153.6-153.6v0 307.2z" />
<glyph unicode="&#xeb60;" glyph-name="translate" d="M379.392 512l114.688-114.688-42.496-102.4-144.384 145.408-168.96-168.96-71.68 72.704 167.936 167.936-45.056 45.056c-27.136 27.136-51.2 66.56-66.56 108.544h112.64c7.68-14.336 16.896-27.136 26.112-35.84l45.568-46.080 45.056 45.056c30.72 31.744 57.344 96.256 57.344 139.264h-409.6v102.4h256v102.4h102.4v-102.4h256v-102.4h-102.4c0-70.144-37.888-161.28-87.040-210.944l-46.080-45.056zM576 102.4l-64-153.6h-102.4l256 614.4h102.4l256-614.4h-102.4l-64 153.6h-281.6zM618.496 204.8h196.608l-98.304 235.52-98.304-235.52z" />
<glyph unicode="&#xeb61;" glyph-name="trash" d="M307.2 870.4l102.4 102.4h204.8l102.4-102.4h204.8v-102.4h-819.2v102.4h204.8zM153.6 665.6h716.8l-51.2-716.8h-614.4l-51.2 716.8zM409.6 563.2v-512h51.2v512h-51.2zM563.2 563.2v-512h51.2v512h-51.2z" />
<glyph unicode="&#xeb62;" glyph-name="travel" d="M716.8 716.8h102.4v-716.8h-614.4v716.8h102.4v51.2c0 56.554 45.846 102.4 102.4 102.4v0h204.8c56.554 0 102.4-45.846 102.4-102.4v0-51.2zM870.4 716.8h51.2c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-51.2v716.8zM153.6 716.8v-716.8h-51.2c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h51.2zM409.6 768v-51.2h204.8v51.2h-204.8z" />
<glyph unicode="&#xeb63;" glyph-name="travel-bus" d="M665.6 51.2h-307.2v-51.2c0-28.277-22.923-51.2-51.2-51.2v0h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0 51.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0-51.2c0-28.277-22.923-51.2-51.2-51.2v0h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0 51.2zM204.8 716.8v-307.2h256v307.2h-256zM563.2 716.8v-307.2h256v307.2h-256zM256 870.4v-51.2h512v51.2h-512zM281.6 153.6c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM742.4 153.6c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0z" />
<glyph unicode="&#xeb64;" glyph-name="travel-car" d="M102.4 256v153.6h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0c0 28.277 22.923 51.2 51.2 51.2v0h51.2l204.8 358.4h409.6l204.8-358.4h51.2c28.277 0 51.2-22.923 51.2-51.2v0c0-28.277-22.923-51.2-51.2-51.2v0h-51.2v-307.2c0-28.277-22.923-51.2-51.2-51.2v0h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0 51.2h-512v-51.2c0-28.277-22.923-51.2-51.2-51.2v0h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0 153.6zM812.032 512l-146.432 256h-307.2l-146.432-256h600.064zM281.6 256c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM742.4 256c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0z" />
<glyph unicode="&#xeb65;" glyph-name="travel-case" d="M716.8 716.8h102.4v-716.8h-614.4v716.8h102.4v51.2c0 56.554 45.846 102.4 102.4 102.4v0h204.8c56.554 0 102.4-45.846 102.4-102.4v0-51.2zM870.4 716.8h51.2c56.554 0 102.4-45.846 102.4-102.4v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-51.2v716.8zM153.6 716.8v-716.8h-51.2c-56.554 0-102.4 45.846-102.4 102.4v0 512c0 56.32 46.080 102.4 102.4 102.4h51.2zM409.6 768v-51.2h204.8v51.2h-204.8z" />
<glyph unicode="&#xeb66;" glyph-name="travel-taxi-cab" d="M614.4 819.2h102.4l204.8-358.4h51.2c28.277 0 51.2-22.923 51.2-51.2v0c0-28.277-22.923-51.2-51.2-51.2v0h-51.2v-307.2c0-28.277-22.923-51.2-51.2-51.2v0h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0 51.2h-512v-51.2c0-28.277-22.923-51.2-51.2-51.2v0h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0 307.2h-51.2c-28.277 0-51.2 22.923-51.2 51.2v0c0 28.277 22.923 51.2 51.2 51.2v0h51.2l204.8 358.4h102.4v102.4h204.8v-102.4zM812.032 460.8l-146.432 256h-307.2l-146.432-256h600.064zM281.6 204.8c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM742.4 204.8c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0z" />
<glyph unicode="&#xeb67;" glyph-name="travel-train" d="M614.4 51.2h-204.8l-102.4-102.4h-153.6l102.4 102.4c-56.554 0-102.4 45.846-102.4 102.4v0 716.8c0 56.32 46.080 102.4 102.4 102.4h512c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0l102.4-102.4h-153.6l-102.4 102.4zM256 716.8v-307.2h512v307.2h-512zM332.8 153.6c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM691.2 153.6c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0zM409.6 870.4v-51.2h204.8v51.2h-204.8z" />
<glyph unicode="&#xeb68;" glyph-name="travel-walk" d="M563.2 614.4l73.728-110.592c15.872-24.064 51.712-43.008 80.384-43.008h153.088v102.4h-153.6l-73.728 110.592c-20.018 27.942-43.738 51.661-70.768 71.058l-0.912 0.622-67.584 45.056c-12.935 7.887-28.583 12.557-45.321 12.557-15.281 0-29.653-3.892-42.179-10.739l0.46 0.23-211.968-126.976v-256h102.4v204.8l102.4 51.2-153.6-716.8h102.4l120.32 391.68 84.48-84.48v-307.2h102.4v409.6l-138.24 138.24 35.84 117.76zM614.4 768c56.554 0 102.4 45.846 102.4 102.4s-45.846 102.4-102.4 102.4v0c-56.554 0-102.4-45.846-102.4-102.4s45.846-102.4 102.4-102.4v0z" />
<glyph unicode="&#xeb69;" glyph-name="trophy" d="M768 512c84.831 0 153.6 68.769 153.6 153.6v0h102.4c0-0.015 0-0.033 0-0.051 0-141.385-114.615-256-256-256-1.8 0-3.596 0.019-5.388 0.056l0.268-0.004c-21.059-100.662-99.018-178.62-198.013-199.387l-1.667-0.293v-107.52l256-102.4v-51.2h-614.4v51.2l256 102.4v107.52c-100.662 21.059-178.62 99.018-199.387 198.013l-0.293 1.667h-5.12c-141.385 0-256 114.615-256 256v0h102.4c0-84.831 68.769-153.6 153.6-153.6v0 256h-153.6v-102.4h-102.4v204.8h256v102.4h512v-102.4h256v-204.8h-102.4v102.4h-153.6v-256z" />
<glyph unicode="&#xeb6a;" glyph-name="tuning" d="M870.4 153.6v-204.8h-102.4v204.8h-102.4v153.6h307.2v-153.6h-102.4zM51.2 512h307.2v-153.6h-307.2v153.6zM358.4 716.8h307.2v-153.6h-307.2v153.6zM153.6 972.8h102.4v-409.6h-102.4v409.6zM768 972.8h102.4v-614.4h-102.4v614.4zM460.8 972.8h102.4v-204.8h-102.4v204.8zM153.6 358.4h102.4v-409.6h-102.4v409.6zM460.8 563.2h102.4v-614.4h-102.4v614.4z" />
<glyph unicode="&#xeb6b;" glyph-name="upload2" d="M665.6 460.8v-307.2h-307.2v307.2h-256l409.6 409.6 409.6-409.6h-256zM0 51.2h1024v-102.4h-1024v102.4z" />
<glyph unicode="&#xeb6c;" glyph-name="usb1" d="M768 563.2v-102.4h-204.8v307.2h102.4l-153.6 204.8-153.6-204.8h102.4v-409.6h-204.8v116.224c30.824 18.035 51.2 50.978 51.2 88.681 0 56.554-45.846 102.4-102.4 102.4s-102.4-45.846-102.4-102.4c0-37.703 20.376-70.646 50.717-88.419l0.483-0.262v-116.224c0-56.554 45.846-102.4 102.4-102.4v0h204.8v-116.224c-30.824-18.035-51.2-50.978-51.2-88.681 0-56.554 45.846-102.4 102.4-102.4s102.4 45.846 102.4 102.4c0 37.703-20.376 70.646-50.717 88.419l-0.483 0.262v218.624h204.8c56.554 0 102.4 45.846 102.4 102.4v0 102.4h51.2v204.8h-204.8v-204.8h51.2z" />
<glyph unicode="&#xeb6d;" glyph-name="user" d="M256 716.8c0 141.385 114.615 256 256 256s256-114.615 256-256v0-102.4c0-141.385-114.615-256-256-256s-256 114.615-256 256v0 102.4zM0 118.784c146.431 86.26 322.601 137.217 510.673 137.217 0.466 0 0.933 0 1.399-0.001h-0.072c186.368 0 361.472-49.664 512-137.216v-169.984h-1024v169.984z" />
<glyph unicode="&#xeb6e;" glyph-name="user-add" d="M102.4 665.6h-102.4v-102.4h102.4v-102.4h102.4v102.4h102.4v102.4h-102.4v102.4h-102.4v-102.4zM460.8 665.6c0 84.831 68.769 153.6 153.6 153.6s153.6-68.769 153.6-153.6v0-102.4c0-84.831-68.769-153.6-153.6-153.6s-153.6 68.769-153.6 153.6v0 102.4zM1024 197.632c-117.106 68.882-257.963 109.569-408.322 109.569-0.449 0-0.899 0-1.348-0.001h0.070c-148.992 0-289.28-39.936-409.6-109.568v-146.432h819.2v146.432z" />
<glyph unicode="&#xeb6f;" glyph-name="user-group" d="M358.4 563.2c-113.108 0-204.8 91.692-204.8 204.8s91.692 204.8 204.8 204.8v0c113.108 0 204.8-91.692 204.8-204.8s-91.692-204.8-204.8-204.8v0zM358.4 512c110.080 0 215.040-20.48 312.32-55.808l-56.32-302.592h-64l-38.4-204.8h-307.2l-38.4 204.8h-64l-56.32 302.592c92.835 35.013 200.137 55.444 312.164 55.808h0.156zM783.872 503.296c67.584-9.216 132.608-24.576 194.56-47.104l-56.832-302.592h-64l-38.4-204.8h-202.752l18.944 102.4h64l84.48 452.096zM665.6 972.8c0.522 0.005 1.138 0.008 1.756 0.008 113.108 0 204.8-91.692 204.8-204.8s-91.692-204.8-204.8-204.8c-25.063 0-49.074 4.502-71.269 12.741l1.417-0.461c42.583 52.050 68.389 119.268 68.389 192.512s-25.805 140.462-68.82 193.056l0.431-0.544c22.016 7.168 44.032 12.288 68.096 12.288z" />
<glyph unicode="&#xeb70;" glyph-name="user-solid-circle" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM358.4 665.6v-102.4c0-84.831 68.769-153.6 153.6-153.6s153.6 68.769 153.6 153.6v0 102.4c0 84.831-68.769 153.6-153.6 153.6s-153.6-68.769-153.6-153.6v0zM171.52 233.472c74.541-110.327 199.152-181.904 340.48-181.904s265.938 71.577 339.558 180.457l0.922 1.447c-99.91 46.989-216.992 74.415-340.48 74.415s-240.569-27.426-345.486-76.519l5.006 2.104z" />
<glyph unicode="&#xeb71;" glyph-name="user-solid-square" d="M0 870.4c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-819.2c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 819.2zM358.4 665.6v-102.4c0-84.831 68.769-153.6 153.6-153.6s153.6 68.769 153.6 153.6v0 102.4c0 84.831-68.769 153.6-153.6 153.6s-153.6-68.769-153.6-153.6v0zM921.6 197.632c-117.106 68.882-257.963 109.569-408.322 109.569-0.449 0-0.899 0-1.348-0.001h0.070c-148.992 0-289.28-39.936-409.6-109.568v-146.432h819.2v146.432z" />
<glyph unicode="&#xeb72;" glyph-name="vector" d="M614.4 768h218.624c18.035 30.824 50.978 51.2 88.681 51.2 56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4c-37.703 0-70.646 20.376-88.419 50.717l-0.262 0.483h-109.568c138.148-72.425 233.925-209.241 247.689-369.486l0.119-1.714c31.816-17.786 52.973-51.263 52.973-89.681 0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4c0 36.979 19.601 69.379 48.98 87.379l0.447 0.255c-15.345 146.262-116.669 265.316-251.926 306.535l-2.538 0.665v-36.352h-204.8v36.352c-137.581-42.052-238.687-161.058-253.821-305.651l-0.131-1.549c29.826-18.254 49.427-50.655 49.427-87.633 0-56.554-45.846-102.4-102.4-102.4s-102.4 45.846-102.4 102.4c0 38.418 21.157 71.895 52.456 89.415l0.517 0.266c13.666 161.772 109.050 298.536 244.275 369.991l2.509 1.209h-109.056c-18.035-30.824-50.978-51.2-88.681-51.2-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4c37.703 0 70.646-20.376 88.419-50.717l0.262-0.483h218.624v51.2h204.8v-51.2z" />
<glyph unicode="&#xeb73;" glyph-name="video-camera" d="M819.2 614.4l204.8 204.8v-716.8l-204.8 204.8v-153.6c0-56.554-45.846-102.4-102.4-102.4v0h-614.4c-56.554 0-102.4 45.846-102.4 102.4v0 614.4c0 56.32 46.080 102.4 102.4 102.4h614.4c56.554 0 102.4-45.846 102.4-102.4v0-153.6zM409.6 256c113.108 0 204.8 91.692 204.8 204.8s-91.692 204.8-204.8 204.8v0c-113.108 0-204.8-91.692-204.8-204.8s91.692-204.8 204.8-204.8v0zM409.6 358.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeb74;" glyph-name="view-carousel" d="M819.2 153.6v-102.4h-614.4v102.4h-204.8v614.4h204.8v102.4h614.4v-102.4h204.8v-614.4h-204.8zM716.8 691.2v76.8h-409.6v-614.4h409.6v537.6zM819.2 665.6v-409.6h102.4v409.6h-102.4zM204.8 665.6h-102.4v-409.6h102.4v409.6z" />
<glyph unicode="&#xeb75;" glyph-name="view-column" d="M614.4 768h-204.8v-614.4h204.8v614.4zM716.8 768v-614.4h204.8v614.4h-204.8zM307.2 768h-204.8v-614.4h204.8v614.4zM0 870.4h1024v-819.2h-1024v819.2z" />
<glyph unicode="&#xeb76;" glyph-name="view-hide" d="M655.872 749.568l-90.624-91.136c-15.919 4.443-34.2 6.998-53.078 6.998-113.108 0-204.8-91.692-204.8-204.8 0-18.877 2.554-37.158 7.335-54.516l-0.338 1.438-141.312-140.8c-67.584 51.2-123.904 117.76-162.816 194.048 95.239 183.856 284.061 307.329 501.722 307.329 50.98 0 100.377-6.773 147.342-19.469l-3.943 0.908zM850.432 654.848c68.096-51.2 124.416-117.76 163.84-194.048-95.198-183.988-284.089-307.568-501.843-307.568-51.308 0-101.013 6.861-148.249 19.715l3.948-0.915 90.624 91.136c15.919-4.443 34.2-6.998 53.078-6.998 113.108 0 204.8 91.692 204.8 204.8 0 18.877-2.554 37.158-7.335 54.516l0.338-1.438 141.312 140.8zM837.632 859.136l72.704-72.704-723.968-723.968-72.704 72.704 723.968 723.968z" />
<glyph unicode="&#xeb77;" glyph-name="view-list" d="M0 819.2h1024v-102.4h-1024v102.4zM0 614.4h1024v-102.4h-1024v102.4zM0 409.6h1024v-102.4h-1024v102.4zM0 204.8h1024v-102.4h-1024v102.4z" />
<glyph unicode="&#xeb78;" glyph-name="view-show" d="M10.24 460.8c95.226 183.898 284.070 307.405 501.76 307.405s406.534-123.507 500.282-304.271l1.478-3.134c-95.226-183.898-284.070-307.405-501.76-307.405s-406.534 123.507-500.282 304.271l-1.478 3.134zM512 256c113.108 0 204.8 91.692 204.8 204.8s-91.692 204.8-204.8 204.8v0c-113.108 0-204.8-91.692-204.8-204.8s91.692-204.8 204.8-204.8v0zM512 358.4c-56.554 0-102.4 45.846-102.4 102.4s45.846 102.4 102.4 102.4v0c56.554 0 102.4-45.846 102.4-102.4s-45.846-102.4-102.4-102.4v0z" />
<glyph unicode="&#xeb79;" glyph-name="view-tile" d="M0 972.8h460.8v-460.8h-460.8v460.8zM102.4 870.4v-256h256v256h-256zM0 409.6h460.8v-460.8h-460.8v460.8zM102.4 307.2v-256h256v256h-256zM563.2 972.8h460.8v-460.8h-460.8v460.8zM665.6 870.4v-256h256v256h-256zM563.2 409.6h460.8v-460.8h-460.8v460.8zM665.6 307.2v-256h256v256h-256z" />
<glyph unicode="&#xeb7a;" glyph-name="volume-down" d="M358.4 614.4h-204.8v-307.2h204.8l256-256v819.2l-256-256zM795.648 279.552l-72.704 72.704c27.756 27.789 44.921 66.162 44.921 108.544s-17.165 80.755-44.922 108.546l0.002-0.002 72.704 72.704c46.713-46.235 75.639-110.363 75.639-181.248s-28.926-135.013-75.617-181.227l-0.021-0.021z" />
<glyph unicode="&#xeb7b;" glyph-name="volume-mute" d="M460.8 614.4h-204.8v-307.2h204.8l256-256v819.2l-256-256z" />
<glyph unicode="&#xeb7c;" glyph-name="volume-off" d="M768 532.992l-108.544 109.056-72.704-72.704 109.568-108.544-109.056-108.544 72.704-72.704 108.032 109.568 108.544-109.056 72.704 72.704-109.568 108.032 109.056 108.544-72.704 72.704-108.032-109.568zM204.8 614.4h-204.8v-307.2h204.8l256-256v819.2l-256-256z" />
<glyph unicode="&#xeb7d;" glyph-name="volume-up" d="M256 614.4h-204.8v-307.2h204.8l256-256v819.2l-256-256zM837.632 135.168l-72.192 72.192c65.114 64.745 105.412 154.386 105.412 253.44s-40.299 188.695-105.396 253.424l-0.016 0.016 72.192 72.192c83.639-83.197 135.401-198.37 135.401-325.632s-51.762-242.434-135.381-325.612l-0.020-0.020zM693.248 279.552l-72.704 72.704c27.756 27.789 44.921 66.162 44.921 108.544s-17.165 80.755-44.922 108.546l0.002-0.002 72.704 72.704c46.713-46.235 75.639-110.363 75.639-181.248s-28.926-135.013-75.617-181.227l-0.021-0.021z" />
<glyph unicode="&#xeb7e;" glyph-name="wallet1" d="M0 768c0 56.32 46.080 102.4 102.4 102.4h768c28.277 0 51.2-22.923 51.2-51.2v0-51.2h-819.2v-51.2h870.4c28.277 0 51.2-22.923 51.2-51.2v0-512c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 614.4zM844.8 307.2c42.415 0 76.8 34.385 76.8 76.8s-34.385 76.8-76.8 76.8v0c-42.415 0-76.8-34.385-76.8-76.8s34.385-76.8 76.8-76.8v0z" />
<glyph unicode="&#xeb7f;" glyph-name="watch2" d="M563.2 512h102.4v-102.4h-204.8v204.8h102.4v-102.4zM265.216 200.704c-69.206 65.322-112.289 157.677-112.289 260.096s43.083 194.775 112.115 259.934l0.174 0.162 41.984 251.904h409.6l41.984-251.904c69.206-65.322 112.289-157.677 112.289-260.096s-43.083-194.775-112.115-259.934l-0.174-0.162-41.984-251.904h-409.6l-41.984 251.904zM512 204.8c141.385 0 256 114.615 256 256s-114.615 256-256 256v0c-141.385 0-256-114.615-256-256s114.615-256 256-256v0z" />
<glyph unicode="&#xeb80;" glyph-name="window1" d="M0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM102.4 716.8v-614.4h819.2v614.4h-819.2z" />
<glyph unicode="&#xeb81;" glyph-name="window-new" d="M460.8 460.8v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4zM0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM102.4 716.8v-614.4h819.2v614.4h-819.2z" />
<glyph unicode="&#xeb82;" glyph-name="window-open" d="M0 819.2c0 56.32 46.080 102.4 102.4 102.4h819.2c56.554 0 102.4-45.846 102.4-102.4v0-716.8c0-56.554-45.846-102.4-102.4-102.4v0h-819.2c-56.554 0-102.4 45.846-102.4 102.4v0 716.8zM102.4 716.8v-614.4h819.2v614.4h-819.2zM512 563.2l204.8-256h-409.6l204.8 256z" />
<glyph unicode="&#xeb83;" glyph-name="wrench" d="M331.264 471.040c-24.808-8.813-53.422-13.906-83.224-13.906-141.385 0-256 114.615-256 256 0 34.145 6.685 66.729 18.817 96.513l-0.617-1.712 202.24-202.24 144.384 144.896-201.728 201.216c27.753 11.229 59.941 17.745 93.651 17.745 141.385 0 256-114.615 256-256 0-37.563-8.090-73.236-22.623-105.372l0.652 1.611 512-512-144.896-144.896-518.656 518.144z" />
<glyph unicode="&#xeb84;" glyph-name="yin-yang" d="M512-51.2c-282.77 0-512 229.23-512 512s229.23 512 512 512v0c282.77 0 512-229.23 512-512s-229.23-512-512-512v0zM512 870.4c-226.216 0-409.6-183.384-409.6-409.6s183.384-409.6 409.6-409.6v0c-113.108 0-204.8 91.692-204.8 204.8s91.692 204.8 204.8 204.8v0c113.108 0 204.8 91.692 204.8 204.8s-91.692 204.8-204.8 204.8v0zM512 204.8c28.277 0 51.2 22.923 51.2 51.2s-22.923 51.2-51.2 51.2v0c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2v0zM512 614.4c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2v0c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2v0z" />
<glyph unicode="&#xeb85;" glyph-name="zoom-in" d="M660.48 239.616c-68.622-53.712-156.164-86.131-251.277-86.131-226.216 0-409.6 183.384-409.6 409.6s183.384 409.6 409.6 409.6c226.216 0 409.6-183.384 409.6-409.6 0-95.113-32.419-182.654-86.809-252.177l0.678 0.9 273.92-272.896-72.704-72.704-272.896 273.408zM409.6 256c169.662 0 307.2 137.538 307.2 307.2s-137.538 307.2-307.2 307.2v0c-169.662 0-307.2-137.538-307.2-307.2s137.538-307.2 307.2-307.2v0zM358.4 614.4v102.4h102.4v-102.4h102.4v-102.4h-102.4v-102.4h-102.4v102.4h-102.4v102.4h102.4z" />
<glyph unicode="&#xeb86;" glyph-name="zoom-out" d="M660.48 239.616c-68.622-53.712-156.164-86.131-251.277-86.131-226.216 0-409.6 183.384-409.6 409.6s183.384 409.6 409.6 409.6c226.216 0 409.6-183.384 409.6-409.6 0-95.113-32.419-182.654-86.809-252.177l0.678 0.9 273.92-272.896-72.704-72.704-272.896 273.408zM409.6 256c169.662 0 307.2 137.538 307.2 307.2s-137.538 307.2-307.2 307.2v0c-169.662 0-307.2-137.538-307.2-307.2s137.538-307.2 307.2-307.2v0zM256 614.4h307.2v-102.4h-307.2v102.4z" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 403 KiB

BIN
tpl/icons/fonts/icomoon.ttf Normal file

Binary file not shown.

Binary file not shown.

1
tpl/icons/selection.json Normal file

File diff suppressed because one or more lines are too long

1968
tpl/icons/style.css Normal file

File diff suppressed because it is too large Load Diff

25
vendor/autoload.php vendored Normal file
View File

@@ -0,0 +1,25 @@
<?php
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, $err);
} elseif (!headers_sent()) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInite875ae8441d070d7dda5f4b47a2117aa::getLoader();

579
vendor/composer/ClassLoader.php vendored Normal file
View File

@@ -0,0 +1,579 @@
<?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 https://www.php-fig.org/psr/psr-0/
* @see https://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
/** @var \Closure(string):void */
private static $includeFile;
/** @var string|null */
private $vendorDir;
// PSR-4
/**
* @var array<string, array<string, int>>
*/
private $prefixLengthsPsr4 = array();
/**
* @var array<string, list<string>>
*/
private $prefixDirsPsr4 = array();
/**
* @var list<string>
*/
private $fallbackDirsPsr4 = array();
// PSR-0
/**
* List of PSR-0 prefixes
*
* Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
*
* @var array<string, array<string, list<string>>>
*/
private $prefixesPsr0 = array();
/**
* @var list<string>
*/
private $fallbackDirsPsr0 = array();
/** @var bool */
private $useIncludePath = false;
/**
* @var array<string, string>
*/
private $classMap = array();
/** @var bool */
private $classMapAuthoritative = false;
/**
* @var array<string, bool>
*/
private $missingClasses = array();
/** @var string|null */
private $apcuPrefix;
/**
* @var array<string, self>
*/
private static $registeredLoaders = array();
/**
* @param string|null $vendorDir
*/
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
self::initializeIncludeClosure();
}
/**
* @return array<string, list<string>>
*/
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
}
return array();
}
/**
* @return array<string, list<string>>
*/
public function getPrefixesPsr4()
{
return $this->prefixDirsPsr4;
}
/**
* @return list<string>
*/
public function getFallbackDirs()
{
return $this->fallbackDirsPsr0;
}
/**
* @return list<string>
*/
public function getFallbackDirsPsr4()
{
return $this->fallbackDirsPsr4;
}
/**
* @return array<string, string> Array of classname => path
*/
public function getClassMap()
{
return $this->classMap;
}
/**
* @param array<string, string> $classMap Class to filename map
*
* @return void
*/
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 list<string>|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*
* @return void
*/
public function add($prefix, $paths, $prepend = false)
{
$paths = (array) $paths;
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
$paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
$paths
);
}
return;
}
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
$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 list<string>|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*
* @return void
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
$paths = (array) $paths;
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
$paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
$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] = $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
$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 list<string>|string $paths The PSR-0 base directories
*
* @return void
*/
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 list<string>|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*
* @return void
*/
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
*
* @return void
*/
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
*
* @return void
*/
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
*
* @return void
*/
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
*
* @return void
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
if (null === $this->vendorDir) {
return;
}
if ($prepend) {
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
} else {
unset(self::$registeredLoaders[$this->vendorDir]);
self::$registeredLoaders[$this->vendorDir] = $this;
}
}
/**
* Unregisters this instance as an autoloader.
*
* @return void
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
if (null !== $this->vendorDir) {
unset(self::$registeredLoaders[$this->vendorDir]);
}
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return true|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
$includeFile = self::$includeFile;
$includeFile($file);
return true;
}
return null;
}
/**
* 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;
}
/**
* Returns the currently registered loaders keyed by their corresponding vendor directories.
*
* @return array<string, self>
*/
public static function getRegisteredLoaders()
{
return self::$registeredLoaders;
}
/**
* @param string $class
* @param string $ext
* @return string|false
*/
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;
}
/**
* @return void
*/
private static function initializeIncludeClosure()
{
if (self::$includeFile !== null) {
return;
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
*/
self::$includeFile = \Closure::bind(static function($file) {
include $file;
}, null, null);
}
}

359
vendor/composer/InstalledVersions.php vendored Normal file
View File

@@ -0,0 +1,359 @@
<?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;
use Composer\Autoload\ClassLoader;
use Composer\Semver\VersionParser;
/**
* This class is copied in every Composer installed project and available to all
*
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
* To require its presence, you can require `composer-runtime-api ^2.0`
*
* @final
*/
class InstalledVersions
{
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool|null
*/
private static $canGetVendors;
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
/**
* Returns a list of all package names which are present, either by being installed, replaced or provided
*
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackages()
{
$packages = array();
foreach (self::getInstalled() as $installed) {
$packages[] = array_keys($installed['versions']);
}
if (1 === \count($packages)) {
return $packages[0];
}
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
}
/**
* Returns a list of all package names with a specific type e.g. 'library'
*
* @param string $type
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackagesByType($type)
{
$packagesByType = array();
foreach (self::getInstalled() as $installed) {
foreach ($installed['versions'] as $name => $package) {
if (isset($package['type']) && $package['type'] === $type) {
$packagesByType[] = $name;
}
}
}
return $packagesByType;
}
/**
* Checks whether the given package is installed
*
* This also returns true if the package name is provided or replaced by another package
*
* @param string $packageName
* @param bool $includeDevRequirements
* @return bool
*/
public static function isInstalled($packageName, $includeDevRequirements = true)
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
}
}
return false;
}
/**
* Checks whether the given package satisfies a version constraint
*
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
*
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
*
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
* @param string $packageName
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
* @return bool
*/
public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
$constraint = $parser->parseConstraints((string) $constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
}
/**
* Returns a version constraint representing all the range(s) which are installed for a given package
*
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
* whether a given version of a package is installed, and not just whether it exists
*
* @param string $packageName
* @return string Version constraint usable with composer/semver
*/
public static function getVersionRanges($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
$ranges = array();
if (isset($installed['versions'][$packageName]['pretty_version'])) {
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
}
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
}
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
}
if (array_key_exists('provided', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
}
return implode(' || ', $ranges);
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['version'])) {
return null;
}
return $installed['versions'][$packageName]['version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getPrettyVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
return null;
}
return $installed['versions'][$packageName]['pretty_version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
*/
public static function getReference($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['reference'])) {
return null;
}
return $installed['versions'][$packageName]['reference'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
*/
public static function getInstallPath($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @return array
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
$installed = self::getInstalled();
return $installed[0]['root'];
}
/**
* Returns the raw installed.php data for custom implementations
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
self::$installed = include __DIR__ . '/installed.php';
} else {
self::$installed = array();
}
}
return self::$installed;
}
/**
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
return self::getInstalled();
}
/**
* Lets you reload the static array from another file
*
* This is only useful for complex integrations in which a project needs to use
* this class but then also needs to execute another project's autoloader in process,
* and wants to ensure both projects have access to their version of installed.php.
*
* A typical case would be PHPUnit, where it would need to make sure it reads all
* the data it needs from this class, then call reload() with
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
* the project in which it runs can then also use this class safely, without
* interference between PHPUnit's dependencies and the project's dependencies.
*
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
self::$installed = $data;
self::$installedByVendor = array();
}
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
if (null === self::$canGetVendors) {
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
}
$installed = array();
if (self::$canGetVendors) {
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
}
}
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require __DIR__ . '/installed.php';
self::$installed = $required;
} else {
self::$installed = array();
}
}
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
return $installed;
}
}

19
vendor/composer/LICENSE vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) Nils Adermann, Jordi Boggiano
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.

15
vendor/composer/autoload_classmap.php vendored Normal file
View File

@@ -0,0 +1,15 @@
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
);

12
vendor/composer/autoload_files.php vendored Normal file
View File

@@ -0,0 +1,12 @@
<?php
// autoload_files.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
);

View File

@@ -0,0 +1,9 @@
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
);

15
vendor/composer/autoload_psr4.php vendored Normal file
View File

@@ -0,0 +1,15 @@
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'),
'GrahamCampbell\\ResultType\\' => array($vendorDir . '/graham-campbell/result-type/src'),
'Dotenv\\' => array($vendorDir . '/vlucas/phpdotenv/src'),
);

50
vendor/composer/autoload_real.php vendored Normal file
View File

@@ -0,0 +1,50 @@
<?php
// autoload_real.php @generated by Composer
class ComposerAutoloaderInite875ae8441d070d7dda5f4b47a2117aa
{
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;
}
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInite875ae8441d070d7dda5f4b47a2117aa', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInite875ae8441d070d7dda5f4b47a2117aa', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInite875ae8441d070d7dda5f4b47a2117aa::getInitializer($loader));
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInite875ae8441d070d7dda5f4b47a2117aa::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
require $file;
}
}, null, null);
foreach ($filesToLoad as $fileIdentifier => $file) {
$requireFile($fileIdentifier, $file);
}
return $loader;
}
}

81
vendor/composer/autoload_static.php vendored Normal file
View File

@@ -0,0 +1,81 @@
<?php
// autoload_static.php @generated by Composer
namespace Composer\Autoload;
class ComposerStaticInite875ae8441d070d7dda5f4b47a2117aa
{
public static $files = array (
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
);
public static $prefixLengthsPsr4 = array (
'S' =>
array (
'Symfony\\Polyfill\\Php80\\' => 23,
'Symfony\\Polyfill\\Mbstring\\' => 26,
'Symfony\\Polyfill\\Ctype\\' => 23,
),
'P' =>
array (
'PhpOption\\' => 10,
),
'G' =>
array (
'GrahamCampbell\\ResultType\\' => 26,
),
'D' =>
array (
'Dotenv\\' => 7,
),
);
public static $prefixDirsPsr4 = array (
'Symfony\\Polyfill\\Php80\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
),
'Symfony\\Polyfill\\Mbstring\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
),
'Symfony\\Polyfill\\Ctype\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
),
'PhpOption\\' =>
array (
0 => __DIR__ . '/..' . '/phpoption/phpoption/src/PhpOption',
),
'GrahamCampbell\\ResultType\\' =>
array (
0 => __DIR__ . '/..' . '/graham-campbell/result-type/src',
),
'Dotenv\\' =>
array (
0 => __DIR__ . '/..' . '/vlucas/phpdotenv/src',
),
);
public static $classMap = array (
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
);
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInite875ae8441d070d7dda5f4b47a2117aa::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInite875ae8441d070d7dda5f4b47a2117aa::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInite875ae8441d070d7dda5f4b47a2117aa::$classMap;
}, null, ClassLoader::class);
}
}

497
vendor/composer/installed.json vendored Normal file
View File

@@ -0,0 +1,497 @@
{
"packages": [
{
"name": "graham-campbell/result-type",
"version": "v1.1.3",
"version_normalized": "1.1.3.0",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
"reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
"reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.3"
},
"require-dev": {
"phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"time": "2024-07-20T21:45:45+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"GrahamCampbell\\ResultType\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
}
],
"description": "An Implementation Of The Result Type",
"keywords": [
"Graham Campbell",
"GrahamCampbell",
"Result Type",
"Result-Type",
"result"
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type",
"type": "tidelift"
}
],
"install-path": "../graham-campbell/result-type"
},
{
"name": "phpoption/phpoption",
"version": "1.9.4",
"version_normalized": "1.9.4.0",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
"reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
"reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34"
},
"time": "2025-08-21T11:53:16+00:00",
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "1.9-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"PhpOption\\": "src/PhpOption/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Johannes M. Schmitt",
"email": "schmittjoh@gmail.com",
"homepage": "https://github.com/schmittjoh"
},
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
}
],
"description": "Option Type for PHP",
"keywords": [
"language",
"option",
"php",
"type"
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
"source": "https://github.com/schmittjoh/php-option/tree/1.9.4"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
"type": "tidelift"
}
],
"install-path": "../phpoption/phpoption"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.33.0",
"version_normalized": "1.33.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
"time": "2024-09-09T11:45:10+00:00",
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
}
},
"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"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-ctype"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.33.0",
"version_normalized": "1.33.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"time": "2024-12-23T08:48:59+00:00",
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-mbstring"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.33.0",
"version_normalized": "1.33.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"time": "2025-01-02T08:10:11+00:00",
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-php80"
},
{
"name": "vlucas/phpdotenv",
"version": "v5.6.2",
"version_normalized": "5.6.2.0",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
"reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
"shasum": ""
},
"require": {
"ext-pcre": "*",
"graham-campbell/result-type": "^1.1.3",
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.3",
"symfony/polyfill-ctype": "^1.24",
"symfony/polyfill-mbstring": "^1.24",
"symfony/polyfill-php80": "^1.24"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-filter": "*",
"phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
},
"suggest": {
"ext-filter": "Required to use the boolean validator."
},
"time": "2025-04-30T23:37:27+00:00",
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "5.6-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Dotenv\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{
"name": "Vance Lucas",
"email": "vance@vancelucas.com",
"homepage": "https://github.com/vlucas"
}
],
"description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
"keywords": [
"dotenv",
"env",
"environment"
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
"source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
"type": "tidelift"
}
],
"install-path": "../vlucas/phpdotenv"
}
],
"dev": true,
"dev-package-names": []
}

77
vendor/composer/installed.php vendored Normal file
View File

@@ -0,0 +1,77 @@
<?php return array(
'root' => array(
'name' => '__root__',
'pretty_version' => 'dev-main',
'version' => 'dev-main',
'reference' => '4247da403aead67361d4d3367fb6b3b4940ba5fb',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev' => true,
),
'versions' => array(
'__root__' => array(
'pretty_version' => 'dev-main',
'version' => 'dev-main',
'reference' => '4247da403aead67361d4d3367fb6b3b4940ba5fb',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev_requirement' => false,
),
'graham-campbell/result-type' => array(
'pretty_version' => 'v1.1.3',
'version' => '1.1.3.0',
'reference' => '3ba905c11371512af9d9bdd27d99b782216b6945',
'type' => 'library',
'install_path' => __DIR__ . '/../graham-campbell/result-type',
'aliases' => array(),
'dev_requirement' => false,
),
'phpoption/phpoption' => array(
'pretty_version' => '1.9.4',
'version' => '1.9.4.0',
'reference' => '638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d',
'type' => 'library',
'install_path' => __DIR__ . '/../phpoption/phpoption',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-ctype' => array(
'pretty_version' => 'v1.33.0',
'version' => '1.33.0.0',
'reference' => 'a3cc8b044a6ea513310cbd48ef7333b384945638',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-mbstring' => array(
'pretty_version' => 'v1.33.0',
'version' => '1.33.0.0',
'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php80' => array(
'pretty_version' => 'v1.33.0',
'version' => '1.33.0.0',
'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
'aliases' => array(),
'dev_requirement' => false,
),
'vlucas/phpdotenv' => array(
'pretty_version' => 'v5.6.2',
'version' => '5.6.2.0',
'reference' => '24ac4c74f91ee2c193fa1aaa5c249cb0822809af',
'type' => 'library',
'install_path' => __DIR__ . '/../vlucas/phpdotenv',
'aliases' => array(),
'dev_requirement' => false,
),
),
);

26
vendor/composer/platform_check.php vendored Normal file
View File

@@ -0,0 +1,26 @@
<?php
// platform_check.php @generated by Composer
$issues = array();
if (!(PHP_VERSION_ID >= 70205)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.5". You are running ' . PHP_VERSION . '.';
}
if ($issues) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
} elseif (!headers_sent()) {
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
}
}
trigger_error(
'Composer detected issues in your platform: ' . implode(' ', $issues),
E_USER_ERROR
);
}

View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2020-2024 Graham Campbell <hello@gjcampbell.co.uk>
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.

View File

@@ -0,0 +1,33 @@
{
"name": "graham-campbell/result-type",
"description": "An Implementation Of The Result Type",
"keywords": ["result", "result-type", "Result", "Result Type", "Result-Type", "Graham Campbell", "GrahamCampbell"],
"license": "MIT",
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
}
],
"require": {
"php": "^7.2.5 || ^8.0",
"phpoption/phpoption": "^1.9.3"
},
"require-dev": {
"phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"autoload": {
"psr-4": {
"GrahamCampbell\\ResultType\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"GrahamCampbell\\Tests\\ResultType\\": "tests/"
}
},
"config": {
"preferred-install": "dist"
}
}

View File

@@ -0,0 +1,121 @@
<?php
declare(strict_types=1);
/*
* This file is part of Result Type.
*
* (c) Graham Campbell <hello@gjcampbell.co.uk>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace GrahamCampbell\ResultType;
use PhpOption\None;
use PhpOption\Some;
/**
* @template T
* @template E
*
* @extends \GrahamCampbell\ResultType\Result<T,E>
*/
final class Error extends Result
{
/**
* @var E
*/
private $value;
/**
* Internal constructor for an error value.
*
* @param E $value
*
* @return void
*/
private function __construct($value)
{
$this->value = $value;
}
/**
* Create a new error value.
*
* @template F
*
* @param F $value
*
* @return \GrahamCampbell\ResultType\Result<T,F>
*/
public static function create($value)
{
return new self($value);
}
/**
* Get the success option value.
*
* @return \PhpOption\Option<T>
*/
public function success()
{
return None::create();
}
/**
* Map over the success value.
*
* @template S
*
* @param callable(T):S $f
*
* @return \GrahamCampbell\ResultType\Result<S,E>
*/
public function map(callable $f)
{
return self::create($this->value);
}
/**
* Flat map over the success value.
*
* @template S
* @template F
*
* @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
*
* @return \GrahamCampbell\ResultType\Result<S,F>
*/
public function flatMap(callable $f)
{
/** @var \GrahamCampbell\ResultType\Result<S,F> */
return self::create($this->value);
}
/**
* Get the error option value.
*
* @return \PhpOption\Option<E>
*/
public function error()
{
return Some::create($this->value);
}
/**
* Map over the error value.
*
* @template F
*
* @param callable(E):F $f
*
* @return \GrahamCampbell\ResultType\Result<T,F>
*/
public function mapError(callable $f)
{
return self::create($f($this->value));
}
}

View File

@@ -0,0 +1,69 @@
<?php
declare(strict_types=1);
/*
* This file is part of Result Type.
*
* (c) Graham Campbell <hello@gjcampbell.co.uk>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace GrahamCampbell\ResultType;
/**
* @template T
* @template E
*/
abstract class Result
{
/**
* Get the success option value.
*
* @return \PhpOption\Option<T>
*/
abstract public function success();
/**
* Map over the success value.
*
* @template S
*
* @param callable(T):S $f
*
* @return \GrahamCampbell\ResultType\Result<S,E>
*/
abstract public function map(callable $f);
/**
* Flat map over the success value.
*
* @template S
* @template F
*
* @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
*
* @return \GrahamCampbell\ResultType\Result<S,F>
*/
abstract public function flatMap(callable $f);
/**
* Get the error option value.
*
* @return \PhpOption\Option<E>
*/
abstract public function error();
/**
* Map over the error value.
*
* @template F
*
* @param callable(E):F $f
*
* @return \GrahamCampbell\ResultType\Result<T,F>
*/
abstract public function mapError(callable $f);
}

View File

@@ -0,0 +1,120 @@
<?php
declare(strict_types=1);
/*
* This file is part of Result Type.
*
* (c) Graham Campbell <hello@gjcampbell.co.uk>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace GrahamCampbell\ResultType;
use PhpOption\None;
use PhpOption\Some;
/**
* @template T
* @template E
*
* @extends \GrahamCampbell\ResultType\Result<T,E>
*/
final class Success extends Result
{
/**
* @var T
*/
private $value;
/**
* Internal constructor for a success value.
*
* @param T $value
*
* @return void
*/
private function __construct($value)
{
$this->value = $value;
}
/**
* Create a new error value.
*
* @template S
*
* @param S $value
*
* @return \GrahamCampbell\ResultType\Result<S,E>
*/
public static function create($value)
{
return new self($value);
}
/**
* Get the success option value.
*
* @return \PhpOption\Option<T>
*/
public function success()
{
return Some::create($this->value);
}
/**
* Map over the success value.
*
* @template S
*
* @param callable(T):S $f
*
* @return \GrahamCampbell\ResultType\Result<S,E>
*/
public function map(callable $f)
{
return self::create($f($this->value));
}
/**
* Flat map over the success value.
*
* @template S
* @template F
*
* @param callable(T):\GrahamCampbell\ResultType\Result<S,F> $f
*
* @return \GrahamCampbell\ResultType\Result<S,F>
*/
public function flatMap(callable $f)
{
return $f($this->value);
}
/**
* Get the error option value.
*
* @return \PhpOption\Option<E>
*/
public function error()
{
return None::create();
}
/**
* Map over the error value.
*
* @template F
*
* @param callable(E):F $f
*
* @return \GrahamCampbell\ResultType\Result<T,F>
*/
public function mapError(callable $f)
{
return self::create($this->value);
}
}

201
vendor/phpoption/phpoption/LICENSE vendored Normal file
View File

@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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.

View File

@@ -0,0 +1,50 @@
{
"name": "phpoption/phpoption",
"description": "Option Type for PHP",
"keywords": ["php", "option", "language", "type"],
"license": "Apache-2.0",
"authors": [
{
"name": "Johannes M. Schmitt",
"email": "schmittjoh@gmail.com",
"homepage": "https://github.com/schmittjoh"
},
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
}
],
"require": {
"php": "^7.2.5 || ^8.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34"
},
"autoload": {
"psr-4": {
"PhpOption\\": "src/PhpOption/"
}
},
"autoload-dev": {
"psr-4": {
"PhpOption\\Tests\\": "tests/PhpOption/Tests/"
}
},
"config": {
"allow-plugins": {
"bamarni/composer-bin-plugin": true
},
"preferred-install": "dist"
},
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "1.9-dev"
}
}
}

View File

@@ -0,0 +1,175 @@
<?php
/*
* Copyright 2012 Johannes M. Schmitt <schmittjoh@gmail.com>
*
* 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.
*/
namespace PhpOption;
use Traversable;
/**
* @template T
*
* @extends Option<T>
*/
final class LazyOption extends Option
{
/** @var callable(mixed...):(Option<T>) */
private $callback;
/** @var array<int, mixed> */
private $arguments;
/** @var Option<T>|null */
private $option;
/**
* @template S
* @param callable(mixed...):(Option<S>) $callback
* @param array<int, mixed> $arguments
*
* @return LazyOption<S>
*/
public static function create($callback, array $arguments = []): self
{
return new self($callback, $arguments);
}
/**
* @param callable(mixed...):(Option<T>) $callback
* @param array<int, mixed> $arguments
*/
public function __construct($callback, array $arguments = [])
{
if (!is_callable($callback)) {
throw new \InvalidArgumentException('Invalid callback given');
}
$this->callback = $callback;
$this->arguments = $arguments;
}
public function isDefined(): bool
{
return $this->option()->isDefined();
}
public function isEmpty(): bool
{
return $this->option()->isEmpty();
}
public function get()
{
return $this->option()->get();
}
public function getOrElse($default)
{
return $this->option()->getOrElse($default);
}
public function getOrCall($callable)
{
return $this->option()->getOrCall($callable);
}
public function getOrThrow(\Exception $ex)
{
return $this->option()->getOrThrow($ex);
}
public function orElse(Option $else)
{
return $this->option()->orElse($else);
}
public function ifDefined($callable)
{
$this->option()->forAll($callable);
}
public function forAll($callable)
{
return $this->option()->forAll($callable);
}
public function map($callable)
{
return $this->option()->map($callable);
}
public function flatMap($callable)
{
return $this->option()->flatMap($callable);
}
public function filter($callable)
{
return $this->option()->filter($callable);
}
public function filterNot($callable)
{
return $this->option()->filterNot($callable);
}
public function select($value)
{
return $this->option()->select($value);
}
public function reject($value)
{
return $this->option()->reject($value);
}
/**
* @return Traversable<T>
*/
public function getIterator(): Traversable
{
return $this->option()->getIterator();
}
public function foldLeft($initialValue, $callable)
{
return $this->option()->foldLeft($initialValue, $callable);
}
public function foldRight($initialValue, $callable)
{
return $this->option()->foldRight($initialValue, $callable);
}
/**
* @return Option<T>
*/
private function option(): Option
{
if (null === $this->option) {
/** @var mixed */
$option = call_user_func_array($this->callback, $this->arguments);
if ($option instanceof Option) {
$this->option = $option;
} else {
throw new \RuntimeException(sprintf('Expected instance of %s', Option::class));
}
}
return $this->option;
}
}

View File

@@ -0,0 +1,136 @@
<?php
/*
* Copyright 2012 Johannes M. Schmitt <schmittjoh@gmail.com>
*
* 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.
*/
namespace PhpOption;
use EmptyIterator;
/**
* @extends Option<mixed>
*/
final class None extends Option
{
/** @var None|null */
private static $instance;
/**
* @return None
*/
public static function create(): self
{
if (null === self::$instance) {
self::$instance = new self();
}
return self::$instance;
}
public function get()
{
throw new \RuntimeException('None has no value.');
}
public function getOrCall($callable)
{
return $callable();
}
public function getOrElse($default)
{
return $default;
}
public function getOrThrow(\Exception $ex)
{
throw $ex;
}
public function isEmpty(): bool
{
return true;
}
public function isDefined(): bool
{
return false;
}
public function orElse(Option $else)
{
return $else;
}
public function ifDefined($callable)
{
// Just do nothing in that case.
}
public function forAll($callable)
{
return $this;
}
public function map($callable)
{
return $this;
}
public function flatMap($callable)
{
return $this;
}
public function filter($callable)
{
return $this;
}
public function filterNot($callable)
{
return $this;
}
public function select($value)
{
return $this;
}
public function reject($value)
{
return $this;
}
public function getIterator(): EmptyIterator
{
return new EmptyIterator();
}
public function foldLeft($initialValue, $callable)
{
return $initialValue;
}
public function foldRight($initialValue, $callable)
{
return $initialValue;
}
private function __construct()
{
}
}

View File

@@ -0,0 +1,434 @@
<?php
/*
* Copyright 2012 Johannes M. Schmitt <schmittjoh@gmail.com>
*
* 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.
*/
namespace PhpOption;
use ArrayAccess;
use IteratorAggregate;
/**
* @template T
*
* @implements IteratorAggregate<T>
*/
abstract class Option implements IteratorAggregate
{
/**
* Creates an option given a return value.
*
* This is intended for consuming existing APIs and allows you to easily
* convert them to an option. By default, we treat ``null`` as the None
* case, and everything else as Some.
*
* @template S
*
* @param S $value The actual return value.
* @param S $noneValue The value which should be considered "None"; null by
* default.
*
* @return Option<S>
*/
public static function fromValue($value, $noneValue = null)
{
if ($value === $noneValue) {
return None::create();
}
return new Some($value);
}
/**
* Creates an option from an array's value.
*
* If the key does not exist in the array, the array is not actually an
* array, or the array's value at the given key is null, None is returned.
* Otherwise, Some is returned wrapping the value at the given key.
*
* @template S
*
* @param array<string|int,S>|ArrayAccess<string|int,S>|null $array A potential array or \ArrayAccess value.
* @param string|int|null $key The key to check.
*
* @return Option<S>
*/
public static function fromArraysValue($array, $key)
{
if ($key === null || !(is_array($array) || $array instanceof ArrayAccess) || !isset($array[$key])) {
return None::create();
}
return new Some($array[$key]);
}
/**
* Creates a lazy-option with the given callback.
*
* This is also a helper constructor for lazy-consuming existing APIs where
* the return value is not yet an option. By default, we treat ``null`` as
* None case, and everything else as Some.
*
* @template S
*
* @param callable $callback The callback to evaluate.
* @param array $arguments The arguments for the callback.
* @param S $noneValue The value which should be considered "None";
* null by default.
*
* @return LazyOption<S>
*/
public static function fromReturn($callback, array $arguments = [], $noneValue = null)
{
return new LazyOption(static function () use ($callback, $arguments, $noneValue) {
/** @var mixed */
$return = call_user_func_array($callback, $arguments);
if ($return === $noneValue) {
return None::create();
}
return new Some($return);
});
}
/**
* Option factory, which creates new option based on passed value.
*
* If value is already an option, it simply returns. If value is callable,
* LazyOption with passed callback created and returned. If Option
* returned from callback, it returns directly. On other case value passed
* to Option::fromValue() method.
*
* @template S
*
* @param Option<S>|callable|S $value
* @param S $noneValue Used when $value is mixed or
* callable, for None-check.
*
* @return Option<S>|LazyOption<S>
*/
public static function ensure($value, $noneValue = null)
{
if ($value instanceof self) {
return $value;
} elseif (is_callable($value)) {
return new LazyOption(static function () use ($value, $noneValue) {
/** @var mixed */
$return = $value();
if ($return instanceof self) {
return $return;
} else {
return self::fromValue($return, $noneValue);
}
});
} else {
return self::fromValue($value, $noneValue);
}
}
/**
* Lift a function so that it accepts Option as parameters.
*
* We return a new closure that wraps the original callback. If any of the
* parameters passed to the lifted function is empty, the function will
* return a value of None. Otherwise, we will pass all parameters to the
* original callback and return the value inside a new Option, unless an
* Option is returned from the function, in which case, we use that.
*
* @template S
*
* @param callable $callback
* @param mixed $noneValue
*
* @return callable
*/
public static function lift($callback, $noneValue = null)
{
return static function () use ($callback, $noneValue) {
/** @var array<int, mixed> */
$args = func_get_args();
$reduced_args = array_reduce(
$args,
/** @param bool $status */
static function ($status, self $o) {
return $o->isEmpty() ? true : $status;
},
false
);
// if at least one parameter is empty, return None
if ($reduced_args) {
return None::create();
}
$args = array_map(
/** @return T */
static function (self $o) {
// it is safe to do so because the fold above checked
// that all arguments are of type Some
/** @var T */
return $o->get();
},
$args
);
return self::ensure(call_user_func_array($callback, $args), $noneValue);
};
}
/**
* Returns the value if available, or throws an exception otherwise.
*
* @throws \RuntimeException If value is not available.
*
* @return T
*/
abstract public function get();
/**
* Returns the value if available, or the default value if not.
*
* @template S
*
* @param S $default
*
* @return T|S
*/
abstract public function getOrElse($default);
/**
* Returns the value if available, or the results of the callable.
*
* This is preferable over ``getOrElse`` if the computation of the default
* value is expensive.
*
* @template S
*
* @param callable():S $callable
*
* @return T|S
*/
abstract public function getOrCall($callable);
/**
* Returns the value if available, or throws the passed exception.
*
* @param \Exception $ex
*
* @return T
*/
abstract public function getOrThrow(\Exception $ex);
/**
* Returns true if no value is available, false otherwise.
*
* @return bool
*/
abstract public function isEmpty();
/**
* Returns true if a value is available, false otherwise.
*
* @return bool
*/
abstract public function isDefined();
/**
* Returns this option if non-empty, or the passed option otherwise.
*
* This can be used to try multiple alternatives, and is especially useful
* with lazy evaluating options:
*
* ```php
* $repo->findSomething()
* ->orElse(new LazyOption(array($repo, 'findSomethingElse')))
* ->orElse(new LazyOption(array($repo, 'createSomething')));
* ```
*
* @param Option<T> $else
*
* @return Option<T>
*/
abstract public function orElse(self $else);
/**
* This is similar to map() below except that the return value has no meaning;
* the passed callable is simply executed if the option is non-empty, and
* ignored if the option is empty.
*
* In all cases, the return value of the callable is discarded.
*
* ```php
* $comment->getMaybeFile()->ifDefined(function($file) {
* // Do something with $file here.
* });
* ```
*
* If you're looking for something like ``ifEmpty``, you can use ``getOrCall``
* and ``getOrElse`` in these cases.
*
* @deprecated Use forAll() instead.
*
* @param callable(T):mixed $callable
*
* @return void
*/
abstract public function ifDefined($callable);
/**
* This is similar to map() except that the return value of the callable has no meaning.
*
* The passed callable is simply executed if the option is non-empty, and ignored if the
* option is empty. This method is preferred for callables with side-effects, while map()
* is intended for callables without side-effects.
*
* @param callable(T):mixed $callable
*
* @return Option<T>
*/
abstract public function forAll($callable);
/**
* Applies the callable to the value of the option if it is non-empty,
* and returns the return value of the callable wrapped in Some().
*
* If the option is empty, then the callable is not applied.
*
* ```php
* (new Some("foo"))->map('strtoupper')->get(); // "FOO"
* ```
*
* @template S
*
* @param callable(T):S $callable
*
* @return Option<S>
*/
abstract public function map($callable);
/**
* Applies the callable to the value of the option if it is non-empty, and
* returns the return value of the callable directly.
*
* In contrast to ``map``, the return value of the callable is expected to
* be an Option itself; it is not automatically wrapped in Some().
*
* @template S
*
* @param callable(T):Option<S> $callable must return an Option
*
* @return Option<S>
*/
abstract public function flatMap($callable);
/**
* If the option is empty, it is returned immediately without applying the callable.
*
* If the option is non-empty, the callable is applied, and if it returns true,
* the option itself is returned; otherwise, None is returned.
*
* @param callable(T):bool $callable
*
* @return Option<T>
*/
abstract public function filter($callable);
/**
* If the option is empty, it is returned immediately without applying the callable.
*
* If the option is non-empty, the callable is applied, and if it returns false,
* the option itself is returned; otherwise, None is returned.
*
* @param callable(T):bool $callable
*
* @return Option<T>
*/
abstract public function filterNot($callable);
/**
* If the option is empty, it is returned immediately.
*
* If the option is non-empty, and its value does not equal the passed value
* (via a shallow comparison ===), then None is returned. Otherwise, the
* Option is returned.
*
* In other words, this will filter all but the passed value.
*
* @param T $value
*
* @return Option<T>
*/
abstract public function select($value);
/**
* If the option is empty, it is returned immediately.
*
* If the option is non-empty, and its value does equal the passed value (via
* a shallow comparison ===), then None is returned; otherwise, the Option is
* returned.
*
* In other words, this will let all values through except the passed value.
*
* @param T $value
*
* @return Option<T>
*/
abstract public function reject($value);
/**
* Binary operator for the initial value and the option's value.
*
* If empty, the initial value is returned. If non-empty, the callable
* receives the initial value and the option's value as arguments.
*
* ```php
*
* $some = new Some(5);
* $none = None::create();
* $result = $some->foldLeft(1, function($a, $b) { return $a + $b; }); // int(6)
* $result = $none->foldLeft(1, function($a, $b) { return $a + $b; }); // int(1)
*
* // This can be used instead of something like the following:
* $option = Option::fromValue($integerOrNull);
* $result = 1;
* if ( ! $option->isEmpty()) {
* $result += $option->get();
* }
* ```
*
* @template S
*
* @param S $initialValue
* @param callable(S, T):S $callable
*
* @return S
*/
abstract public function foldLeft($initialValue, $callable);
/**
* foldLeft() but with reversed arguments for the callable.
*
* @template S
*
* @param S $initialValue
* @param callable(T, S):S $callable
*
* @return S
*/
abstract public function foldRight($initialValue, $callable);
}

View File

@@ -0,0 +1,169 @@
<?php
/*
* Copyright 2012 Johannes M. Schmitt <schmittjoh@gmail.com>
*
* 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.
*/
namespace PhpOption;
use ArrayIterator;
/**
* @template T
*
* @extends Option<T>
*/
final class Some extends Option
{
/** @var T */
private $value;
/**
* @param T $value
*/
public function __construct($value)
{
$this->value = $value;
}
/**
* @template U
*
* @param U $value
*
* @return Some<U>
*/
public static function create($value): self
{
return new self($value);
}
public function isDefined(): bool
{
return true;
}
public function isEmpty(): bool
{
return false;
}
public function get()
{
return $this->value;
}
public function getOrElse($default)
{
return $this->value;
}
public function getOrCall($callable)
{
return $this->value;
}
public function getOrThrow(\Exception $ex)
{
return $this->value;
}
public function orElse(Option $else)
{
return $this;
}
public function ifDefined($callable)
{
$this->forAll($callable);
}
public function forAll($callable)
{
$callable($this->value);
return $this;
}
public function map($callable)
{
return new self($callable($this->value));
}
public function flatMap($callable)
{
/** @var mixed */
$rs = $callable($this->value);
if (!$rs instanceof Option) {
throw new \RuntimeException('Callables passed to flatMap() must return an Option. Maybe you should use map() instead?');
}
return $rs;
}
public function filter($callable)
{
if (true === $callable($this->value)) {
return $this;
}
return None::create();
}
public function filterNot($callable)
{
if (false === $callable($this->value)) {
return $this;
}
return None::create();
}
public function select($value)
{
if ($this->value === $value) {
return $this;
}
return None::create();
}
public function reject($value)
{
if ($this->value === $value) {
return None::create();
}
return $this;
}
/**
* @return ArrayIterator<int, T>
*/
public function getIterator(): ArrayIterator
{
return new ArrayIterator([$this->value]);
}
public function foldLeft($initialValue, $callable)
{
return $callable($initialValue, $this->value);
}
public function foldRight($initialValue, $callable)
{
return $callable($this->value, $initialValue);
}
}

232
vendor/symfony/polyfill-ctype/Ctype.php vendored Normal file
View File

@@ -0,0 +1,232 @@
<?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 mixed $text
*
* @return bool
*/
public static function ctype_alnum($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_alpha($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_cntrl($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_digit($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_graph($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_lower($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_print($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_punct($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_space($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_upper($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $text
*
* @return bool
*/
public static function ctype_xdigit($text)
{
$text = self::convert_int_to_char_for_ctype($text, __FUNCTION__);
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 mixed $int
* @param string $function
*
* @return mixed
*/
private static function convert_int_to_char_for_ctype($int, $function)
{
if (!\is_int($int)) {
return $int;
}
if ($int < -128 || $int > 255) {
return (string) $int;
}
if (\PHP_VERSION_ID >= 80100) {
@trigger_error($function.'(): Argument of type int will be interpreted as string in the future', \E_USER_DEPRECATED);
}
if ($int < 0) {
$int += 256;
}
return \chr($int);
}
}

19
vendor/symfony/polyfill-ctype/LICENSE vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) 2018-present 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.

12
vendor/symfony/polyfill-ctype/README.md vendored Normal file
View File

@@ -0,0 +1,12 @@
Symfony Polyfill / Ctype
========================
This component provides `ctype_*` functions to users who run php versions without the ctype extension.
More information can be found in the
[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
License
=======
This library is released under the [MIT license](LICENSE).

View File

@@ -0,0 +1,50 @@
<?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 (\PHP_VERSION_ID >= 80000) {
return require __DIR__.'/bootstrap80.php';
}
if (!function_exists('ctype_alnum')) {
function ctype_alnum($text) { return p\Ctype::ctype_alnum($text); }
}
if (!function_exists('ctype_alpha')) {
function ctype_alpha($text) { return p\Ctype::ctype_alpha($text); }
}
if (!function_exists('ctype_cntrl')) {
function ctype_cntrl($text) { return p\Ctype::ctype_cntrl($text); }
}
if (!function_exists('ctype_digit')) {
function ctype_digit($text) { return p\Ctype::ctype_digit($text); }
}
if (!function_exists('ctype_graph')) {
function ctype_graph($text) { return p\Ctype::ctype_graph($text); }
}
if (!function_exists('ctype_lower')) {
function ctype_lower($text) { return p\Ctype::ctype_lower($text); }
}
if (!function_exists('ctype_print')) {
function ctype_print($text) { return p\Ctype::ctype_print($text); }
}
if (!function_exists('ctype_punct')) {
function ctype_punct($text) { return p\Ctype::ctype_punct($text); }
}
if (!function_exists('ctype_space')) {
function ctype_space($text) { return p\Ctype::ctype_space($text); }
}
if (!function_exists('ctype_upper')) {
function ctype_upper($text) { return p\Ctype::ctype_upper($text); }
}
if (!function_exists('ctype_xdigit')) {
function ctype_xdigit($text) { return p\Ctype::ctype_xdigit($text); }
}

View File

@@ -0,0 +1,46 @@
<?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(mixed $text): bool { return p\Ctype::ctype_alnum($text); }
}
if (!function_exists('ctype_alpha')) {
function ctype_alpha(mixed $text): bool { return p\Ctype::ctype_alpha($text); }
}
if (!function_exists('ctype_cntrl')) {
function ctype_cntrl(mixed $text): bool { return p\Ctype::ctype_cntrl($text); }
}
if (!function_exists('ctype_digit')) {
function ctype_digit(mixed $text): bool { return p\Ctype::ctype_digit($text); }
}
if (!function_exists('ctype_graph')) {
function ctype_graph(mixed $text): bool { return p\Ctype::ctype_graph($text); }
}
if (!function_exists('ctype_lower')) {
function ctype_lower(mixed $text): bool { return p\Ctype::ctype_lower($text); }
}
if (!function_exists('ctype_print')) {
function ctype_print(mixed $text): bool { return p\Ctype::ctype_print($text); }
}
if (!function_exists('ctype_punct')) {
function ctype_punct(mixed $text): bool { return p\Ctype::ctype_punct($text); }
}
if (!function_exists('ctype_space')) {
function ctype_space(mixed $text): bool { return p\Ctype::ctype_space($text); }
}
if (!function_exists('ctype_upper')) {
function ctype_upper(mixed $text): bool { return p\Ctype::ctype_upper($text); }
}
if (!function_exists('ctype_xdigit')) {
function ctype_xdigit(mixed $text): bool { return p\Ctype::ctype_xdigit($text); }
}

View File

@@ -0,0 +1,38 @@
{
"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": ">=7.2"
},
"provide": {
"ext-ctype": "*"
},
"autoload": {
"psr-4": { "Symfony\\Polyfill\\Ctype\\": "" },
"files": [ "bootstrap.php" ]
},
"suggest": {
"ext-ctype": "For best performance"
},
"minimum-stability": "dev",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
}
}

View File

@@ -0,0 +1,19 @@
Copyright (c) 2015-present 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.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
Symfony Polyfill / Mbstring
===========================
This component provides a partial, native PHP implementation for the
[Mbstring](https://php.net/mbstring) extension.
More information can be found in the
[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
License
=======
This library is released under the [MIT license](LICENSE).

View File

@@ -0,0 +1,119 @@
<?php
return [
'İ' => 'i̇',
'µ' => 'μ',
'ſ' => 's',
'ͅ' => 'ι',
'ς' => 'σ',
'ϐ' => 'β',
'ϑ' => 'θ',
'ϕ' => 'φ',
'ϖ' => 'π',
'ϰ' => 'κ',
'ϱ' => 'ρ',
'ϵ' => 'ε',
'ẛ' => 'ṡ',
'' => 'ι',
'ß' => 'ss',
'ʼn' => 'ʼn',
'ǰ' => 'ǰ',
'ΐ' => 'ΐ',
'ΰ' => 'ΰ',
'և' => 'եւ',
'ẖ' => 'ẖ',
'ẗ' => 'ẗ',
'ẘ' => 'ẘ',
'ẙ' => 'ẙ',
'ẚ' => 'aʾ',
'ẞ' => 'ss',
'ὐ' => 'ὐ',
'ὒ' => 'ὒ',
'ὔ' => 'ὔ',
'ὖ' => 'ὖ',
'ᾀ' => 'ἀι',
'ᾁ' => 'ἁι',
'ᾂ' => 'ἂι',
'ᾃ' => 'ἃι',
'ᾄ' => 'ἄι',
'ᾅ' => 'ἅι',
'ᾆ' => 'ἆι',
'ᾇ' => 'ἇι',
'ᾈ' => 'ἀι',
'ᾉ' => 'ἁι',
'ᾊ' => 'ἂι',
'ᾋ' => 'ἃι',
'ᾌ' => 'ἄι',
'ᾍ' => 'ἅι',
'ᾎ' => 'ἆι',
'ᾏ' => 'ἇι',
'ᾐ' => 'ἠι',
'ᾑ' => 'ἡι',
'ᾒ' => 'ἢι',
'ᾓ' => 'ἣι',
'ᾔ' => 'ἤι',
'ᾕ' => 'ἥι',
'ᾖ' => 'ἦι',
'ᾗ' => 'ἧι',
'ᾘ' => 'ἠι',
'ᾙ' => 'ἡι',
'ᾚ' => 'ἢι',
'ᾛ' => 'ἣι',
'ᾜ' => 'ἤι',
'ᾝ' => 'ἥι',
'ᾞ' => 'ἦι',
'ᾟ' => 'ἧι',
'ᾠ' => 'ὠι',
'ᾡ' => 'ὡι',
'ᾢ' => 'ὢι',
'ᾣ' => 'ὣι',
'ᾤ' => 'ὤι',
'ᾥ' => 'ὥι',
'ᾦ' => 'ὦι',
'ᾧ' => 'ὧι',
'ᾨ' => 'ὠι',
'ᾩ' => 'ὡι',
'ᾪ' => 'ὢι',
'ᾫ' => 'ὣι',
'ᾬ' => 'ὤι',
'ᾭ' => 'ὥι',
'ᾮ' => 'ὦι',
'ᾯ' => 'ὧι',
'ᾲ' => 'ὰι',
'ᾳ' => 'αι',
'ᾴ' => 'άι',
'ᾶ' => 'ᾶ',
'ᾷ' => 'ᾶι',
'ᾼ' => 'αι',
'ῂ' => 'ὴι',
'ῃ' => 'ηι',
'ῄ' => 'ήι',
'ῆ' => 'ῆ',
'ῇ' => 'ῆι',
'ῌ' => 'ηι',
'ῒ' => 'ῒ',
'ῖ' => 'ῖ',
'ῗ' => 'ῗ',
'ῢ' => 'ῢ',
'ῤ' => 'ῤ',
'ῦ' => 'ῦ',
'ῧ' => 'ῧ',
'ῲ' => 'ὼι',
'ῳ' => 'ωι',
'ῴ' => 'ώι',
'ῶ' => 'ῶ',
'ῷ' => 'ῶι',
'ῼ' => 'ωι',
'ff' => 'ff',
'fi' => 'fi',
'fl' => 'fl',
'ffi' => 'ffi',
'ffl' => 'ffl',
'ſt' => 'st',
'st' => 'st',
'ﬓ' => 'մն',
'ﬔ' => 'մե',
'ﬕ' => 'մի',
'ﬖ' => 'վն',
'ﬗ' => 'մխ',
];

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,172 @@
<?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\Mbstring as p;
if (\PHP_VERSION_ID >= 80000) {
return require __DIR__.'/bootstrap80.php';
}
if (!function_exists('mb_convert_encoding')) {
function mb_convert_encoding($string, $to_encoding, $from_encoding = null) { return p\Mbstring::mb_convert_encoding($string, $to_encoding, $from_encoding); }
}
if (!function_exists('mb_decode_mimeheader')) {
function mb_decode_mimeheader($string) { return p\Mbstring::mb_decode_mimeheader($string); }
}
if (!function_exists('mb_encode_mimeheader')) {
function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = "\r\n", $indent = 0) { return p\Mbstring::mb_encode_mimeheader($string, $charset, $transfer_encoding, $newline, $indent); }
}
if (!function_exists('mb_decode_numericentity')) {
function mb_decode_numericentity($string, $map, $encoding = null) { return p\Mbstring::mb_decode_numericentity($string, $map, $encoding); }
}
if (!function_exists('mb_encode_numericentity')) {
function mb_encode_numericentity($string, $map, $encoding = null, $hex = false) { return p\Mbstring::mb_encode_numericentity($string, $map, $encoding, $hex); }
}
if (!function_exists('mb_convert_case')) {
function mb_convert_case($string, $mode, $encoding = null) { return p\Mbstring::mb_convert_case($string, $mode, $encoding); }
}
if (!function_exists('mb_internal_encoding')) {
function mb_internal_encoding($encoding = null) { return p\Mbstring::mb_internal_encoding($encoding); }
}
if (!function_exists('mb_language')) {
function mb_language($language = null) { return p\Mbstring::mb_language($language); }
}
if (!function_exists('mb_list_encodings')) {
function mb_list_encodings() { return p\Mbstring::mb_list_encodings(); }
}
if (!function_exists('mb_encoding_aliases')) {
function mb_encoding_aliases($encoding) { return p\Mbstring::mb_encoding_aliases($encoding); }
}
if (!function_exists('mb_check_encoding')) {
function mb_check_encoding($value = null, $encoding = null) { return p\Mbstring::mb_check_encoding($value, $encoding); }
}
if (!function_exists('mb_detect_encoding')) {
function mb_detect_encoding($string, $encodings = null, $strict = false) { return p\Mbstring::mb_detect_encoding($string, $encodings, $strict); }
}
if (!function_exists('mb_detect_order')) {
function mb_detect_order($encoding = null) { return p\Mbstring::mb_detect_order($encoding); }
}
if (!function_exists('mb_parse_str')) {
function mb_parse_str($string, &$result = []) { parse_str($string, $result); return (bool) $result; }
}
if (!function_exists('mb_strlen')) {
function mb_strlen($string, $encoding = null) { return p\Mbstring::mb_strlen($string, $encoding); }
}
if (!function_exists('mb_strpos')) {
function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strpos($haystack, $needle, $offset, $encoding); }
}
if (!function_exists('mb_strtolower')) {
function mb_strtolower($string, $encoding = null) { return p\Mbstring::mb_strtolower($string, $encoding); }
}
if (!function_exists('mb_strtoupper')) {
function mb_strtoupper($string, $encoding = null) { return p\Mbstring::mb_strtoupper($string, $encoding); }
}
if (!function_exists('mb_substitute_character')) {
function mb_substitute_character($substitute_character = null) { return p\Mbstring::mb_substitute_character($substitute_character); }
}
if (!function_exists('mb_substr')) {
function mb_substr($string, $start, $length = 2147483647, $encoding = null) { return p\Mbstring::mb_substr($string, $start, $length, $encoding); }
}
if (!function_exists('mb_stripos')) {
function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_stripos($haystack, $needle, $offset, $encoding); }
}
if (!function_exists('mb_stristr')) {
function mb_stristr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_stristr($haystack, $needle, $before_needle, $encoding); }
}
if (!function_exists('mb_strrchr')) {
function mb_strrchr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrchr($haystack, $needle, $before_needle, $encoding); }
}
if (!function_exists('mb_strrichr')) {
function mb_strrichr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrichr($haystack, $needle, $before_needle, $encoding); }
}
if (!function_exists('mb_strripos')) {
function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strripos($haystack, $needle, $offset, $encoding); }
}
if (!function_exists('mb_strrpos')) {
function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strrpos($haystack, $needle, $offset, $encoding); }
}
if (!function_exists('mb_strstr')) {
function mb_strstr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strstr($haystack, $needle, $before_needle, $encoding); }
}
if (!function_exists('mb_get_info')) {
function mb_get_info($type = 'all') { return p\Mbstring::mb_get_info($type); }
}
if (!function_exists('mb_http_output')) {
function mb_http_output($encoding = null) { return p\Mbstring::mb_http_output($encoding); }
}
if (!function_exists('mb_strwidth')) {
function mb_strwidth($string, $encoding = null) { return p\Mbstring::mb_strwidth($string, $encoding); }
}
if (!function_exists('mb_substr_count')) {
function mb_substr_count($haystack, $needle, $encoding = null) { return p\Mbstring::mb_substr_count($haystack, $needle, $encoding); }
}
if (!function_exists('mb_output_handler')) {
function mb_output_handler($string, $status) { return p\Mbstring::mb_output_handler($string, $status); }
}
if (!function_exists('mb_http_input')) {
function mb_http_input($type = null) { return p\Mbstring::mb_http_input($type); }
}
if (!function_exists('mb_convert_variables')) {
function mb_convert_variables($to_encoding, $from_encoding, &...$vars) { return p\Mbstring::mb_convert_variables($to_encoding, $from_encoding, ...$vars); }
}
if (!function_exists('mb_ord')) {
function mb_ord($string, $encoding = null) { return p\Mbstring::mb_ord($string, $encoding); }
}
if (!function_exists('mb_chr')) {
function mb_chr($codepoint, $encoding = null) { return p\Mbstring::mb_chr($codepoint, $encoding); }
}
if (!function_exists('mb_scrub')) {
function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); }
}
if (!function_exists('mb_str_split')) {
function mb_str_split($string, $length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $length, $encoding); }
}
if (!function_exists('mb_str_pad')) {
function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); }
}
if (!function_exists('mb_ucfirst')) {
function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }
}
if (!function_exists('mb_lcfirst')) {
function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }
}
if (!function_exists('mb_trim')) {
function mb_trim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_trim($string, $characters, $encoding); }
}
if (!function_exists('mb_ltrim')) {
function mb_ltrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_ltrim($string, $characters, $encoding); }
}
if (!function_exists('mb_rtrim')) {
function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_rtrim($string, $characters, $encoding); }
}
if (extension_loaded('mbstring')) {
return;
}
if (!defined('MB_CASE_UPPER')) {
define('MB_CASE_UPPER', 0);
}
if (!defined('MB_CASE_LOWER')) {
define('MB_CASE_LOWER', 1);
}
if (!defined('MB_CASE_TITLE')) {
define('MB_CASE_TITLE', 2);
}

View File

@@ -0,0 +1,167 @@
<?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\Mbstring as p;
if (!function_exists('mb_convert_encoding')) {
function mb_convert_encoding(array|string|null $string, ?string $to_encoding, array|string|null $from_encoding = null): array|string|false { return p\Mbstring::mb_convert_encoding($string ?? '', (string) $to_encoding, $from_encoding); }
}
if (!function_exists('mb_decode_mimeheader')) {
function mb_decode_mimeheader(?string $string): string { return p\Mbstring::mb_decode_mimeheader((string) $string); }
}
if (!function_exists('mb_encode_mimeheader')) {
function mb_encode_mimeheader(?string $string, ?string $charset = null, ?string $transfer_encoding = null, ?string $newline = "\r\n", ?int $indent = 0): string { return p\Mbstring::mb_encode_mimeheader((string) $string, $charset, $transfer_encoding, (string) $newline, (int) $indent); }
}
if (!function_exists('mb_decode_numericentity')) {
function mb_decode_numericentity(?string $string, array $map, ?string $encoding = null): string { return p\Mbstring::mb_decode_numericentity((string) $string, $map, $encoding); }
}
if (!function_exists('mb_encode_numericentity')) {
function mb_encode_numericentity(?string $string, array $map, ?string $encoding = null, ?bool $hex = false): string { return p\Mbstring::mb_encode_numericentity((string) $string, $map, $encoding, (bool) $hex); }
}
if (!function_exists('mb_convert_case')) {
function mb_convert_case(?string $string, ?int $mode, ?string $encoding = null): string { return p\Mbstring::mb_convert_case((string) $string, (int) $mode, $encoding); }
}
if (!function_exists('mb_internal_encoding')) {
function mb_internal_encoding(?string $encoding = null): string|bool { return p\Mbstring::mb_internal_encoding($encoding); }
}
if (!function_exists('mb_language')) {
function mb_language(?string $language = null): string|bool { return p\Mbstring::mb_language($language); }
}
if (!function_exists('mb_list_encodings')) {
function mb_list_encodings(): array { return p\Mbstring::mb_list_encodings(); }
}
if (!function_exists('mb_encoding_aliases')) {
function mb_encoding_aliases(?string $encoding): array { return p\Mbstring::mb_encoding_aliases((string) $encoding); }
}
if (!function_exists('mb_check_encoding')) {
function mb_check_encoding(array|string|null $value = null, ?string $encoding = null): bool { return p\Mbstring::mb_check_encoding($value, $encoding); }
}
if (!function_exists('mb_detect_encoding')) {
function mb_detect_encoding(?string $string, array|string|null $encodings = null, ?bool $strict = false): string|false { return p\Mbstring::mb_detect_encoding((string) $string, $encodings, (bool) $strict); }
}
if (!function_exists('mb_detect_order')) {
function mb_detect_order(array|string|null $encoding = null): array|bool { return p\Mbstring::mb_detect_order($encoding); }
}
if (!function_exists('mb_parse_str')) {
function mb_parse_str(?string $string, &$result = []): bool { parse_str((string) $string, $result); return (bool) $result; }
}
if (!function_exists('mb_strlen')) {
function mb_strlen(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strlen((string) $string, $encoding); }
}
if (!function_exists('mb_strpos')) {
function mb_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
}
if (!function_exists('mb_strtolower')) {
function mb_strtolower(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtolower((string) $string, $encoding); }
}
if (!function_exists('mb_strtoupper')) {
function mb_strtoupper(?string $string, ?string $encoding = null): string { return p\Mbstring::mb_strtoupper((string) $string, $encoding); }
}
if (!function_exists('mb_substitute_character')) {
function mb_substitute_character(string|int|null $substitute_character = null): string|int|bool { return p\Mbstring::mb_substitute_character($substitute_character); }
}
if (!function_exists('mb_substr')) {
function mb_substr(?string $string, ?int $start, ?int $length = null, ?string $encoding = null): string { return p\Mbstring::mb_substr((string) $string, (int) $start, $length, $encoding); }
}
if (!function_exists('mb_stripos')) {
function mb_stripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_stripos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
}
if (!function_exists('mb_stristr')) {
function mb_stristr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_stristr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
}
if (!function_exists('mb_strrchr')) {
function mb_strrchr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrchr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
}
if (!function_exists('mb_strrichr')) {
function mb_strrichr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strrichr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
}
if (!function_exists('mb_strripos')) {
function mb_strripos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strripos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
}
if (!function_exists('mb_strrpos')) {
function mb_strrpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Mbstring::mb_strrpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
}
if (!function_exists('mb_strstr')) {
function mb_strstr(?string $haystack, ?string $needle, ?bool $before_needle = false, ?string $encoding = null): string|false { return p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); }
}
if (!function_exists('mb_get_info')) {
function mb_get_info(?string $type = 'all'): array|string|int|false|null { return p\Mbstring::mb_get_info((string) $type); }
}
if (!function_exists('mb_http_output')) {
function mb_http_output(?string $encoding = null): string|bool { return p\Mbstring::mb_http_output($encoding); }
}
if (!function_exists('mb_strwidth')) {
function mb_strwidth(?string $string, ?string $encoding = null): int { return p\Mbstring::mb_strwidth((string) $string, $encoding); }
}
if (!function_exists('mb_substr_count')) {
function mb_substr_count(?string $haystack, ?string $needle, ?string $encoding = null): int { return p\Mbstring::mb_substr_count((string) $haystack, (string) $needle, $encoding); }
}
if (!function_exists('mb_output_handler')) {
function mb_output_handler(?string $string, ?int $status): string { return p\Mbstring::mb_output_handler((string) $string, (int) $status); }
}
if (!function_exists('mb_http_input')) {
function mb_http_input(?string $type = null): array|string|false { return p\Mbstring::mb_http_input($type); }
}
if (!function_exists('mb_convert_variables')) {
function mb_convert_variables(?string $to_encoding, array|string|null $from_encoding, mixed &$var, mixed &...$vars): string|false { return p\Mbstring::mb_convert_variables((string) $to_encoding, $from_encoding ?? '', $var, ...$vars); }
}
if (!function_exists('mb_ord')) {
function mb_ord(?string $string, ?string $encoding = null): int|false { return p\Mbstring::mb_ord((string) $string, $encoding); }
}
if (!function_exists('mb_chr')) {
function mb_chr(?int $codepoint, ?string $encoding = null): string|false { return p\Mbstring::mb_chr((int) $codepoint, $encoding); }
}
if (!function_exists('mb_scrub')) {
function mb_scrub(?string $string, ?string $encoding = null): string { $encoding ??= mb_internal_encoding(); return mb_convert_encoding((string) $string, $encoding, $encoding); }
}
if (!function_exists('mb_str_split')) {
function mb_str_split(?string $string, ?int $length = 1, ?string $encoding = null): array { return p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); }
}
if (!function_exists('mb_str_pad')) {
function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); }
}
if (!function_exists('mb_ucfirst')) {
function mb_ucfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_ucfirst($string, $encoding); }
}
if (!function_exists('mb_lcfirst')) {
function mb_lcfirst(string $string, ?string $encoding = null): string { return p\Mbstring::mb_lcfirst($string, $encoding); }
}
if (!function_exists('mb_trim')) {
function mb_trim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_trim($string, $characters, $encoding); }
}
if (!function_exists('mb_ltrim')) {
function mb_ltrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_ltrim($string, $characters, $encoding); }
}
if (!function_exists('mb_rtrim')) {
function mb_rtrim(string $string, ?string $characters = null, ?string $encoding = null): string { return p\Mbstring::mb_rtrim($string, $characters, $encoding); }
}
if (extension_loaded('mbstring')) {
return;
}
if (!defined('MB_CASE_UPPER')) {
define('MB_CASE_UPPER', 0);
}
if (!defined('MB_CASE_LOWER')) {
define('MB_CASE_LOWER', 1);
}
if (!defined('MB_CASE_TITLE')) {
define('MB_CASE_TITLE', 2);
}

View File

@@ -0,0 +1,39 @@
{
"name": "symfony/polyfill-mbstring",
"type": "library",
"description": "Symfony polyfill for the Mbstring extension",
"keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"],
"homepage": "https://symfony.com",
"license": "MIT",
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"require": {
"php": ">=7.2",
"ext-iconv": "*"
},
"provide": {
"ext-mbstring": "*"
},
"autoload": {
"psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" },
"files": [ "bootstrap.php" ]
},
"suggest": {
"ext-mbstring": "For best performance"
},
"minimum-stability": "dev",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
}
}

19
vendor/symfony/polyfill-php80/LICENSE vendored Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) 2020-present 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.

115
vendor/symfony/polyfill-php80/Php80.php vendored Normal file
View File

@@ -0,0 +1,115 @@
<?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\Php80;
/**
* @author Ion Bazan <ion.bazan@gmail.com>
* @author Nico Oelgart <nicoswd@gmail.com>
* @author Nicolas Grekas <p@tchwork.com>
*
* @internal
*/
final class Php80
{
public static function fdiv(float $dividend, float $divisor): float
{
return @($dividend / $divisor);
}
public static function get_debug_type($value): string
{
switch (true) {
case null === $value: return 'null';
case \is_bool($value): return 'bool';
case \is_string($value): return 'string';
case \is_array($value): return 'array';
case \is_int($value): return 'int';
case \is_float($value): return 'float';
case \is_object($value): break;
case $value instanceof \__PHP_Incomplete_Class: return '__PHP_Incomplete_Class';
default:
if (null === $type = @get_resource_type($value)) {
return 'unknown';
}
if ('Unknown' === $type) {
$type = 'closed';
}
return "resource ($type)";
}
$class = \get_class($value);
if (false === strpos($class, '@')) {
return $class;
}
return (get_parent_class($class) ?: key(class_implements($class)) ?: 'class').'@anonymous';
}
public static function get_resource_id($res): int
{
if (!\is_resource($res) && null === @get_resource_type($res)) {
throw new \TypeError(sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', get_debug_type($res)));
}
return (int) $res;
}
public static function preg_last_error_msg(): string
{
switch (preg_last_error()) {
case \PREG_INTERNAL_ERROR:
return 'Internal error';
case \PREG_BAD_UTF8_ERROR:
return 'Malformed UTF-8 characters, possibly incorrectly encoded';
case \PREG_BAD_UTF8_OFFSET_ERROR:
return 'The offset did not correspond to the beginning of a valid UTF-8 code point';
case \PREG_BACKTRACK_LIMIT_ERROR:
return 'Backtrack limit exhausted';
case \PREG_RECURSION_LIMIT_ERROR:
return 'Recursion limit exhausted';
case \PREG_JIT_STACKLIMIT_ERROR:
return 'JIT stack limit exhausted';
case \PREG_NO_ERROR:
return 'No error';
default:
return 'Unknown error';
}
}
public static function str_contains(string $haystack, string $needle): bool
{
return '' === $needle || false !== strpos($haystack, $needle);
}
public static function str_starts_with(string $haystack, string $needle): bool
{
return 0 === strncmp($haystack, $needle, \strlen($needle));
}
public static function str_ends_with(string $haystack, string $needle): bool
{
if ('' === $needle || $needle === $haystack) {
return true;
}
if ('' === $haystack) {
return false;
}
$needleLength = \strlen($needle);
return $needleLength <= \strlen($haystack) && 0 === substr_compare($haystack, $needle, -$needleLength);
}
}

View File

@@ -0,0 +1,106 @@
<?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\Php80;
/**
* @author Fedonyuk Anton <info@ensostudio.ru>
*
* @internal
*/
class PhpToken implements \Stringable
{
/**
* @var int
*/
public $id;
/**
* @var string
*/
public $text;
/**
* @var -1|positive-int
*/
public $line;
/**
* @var int
*/
public $pos;
/**
* @param -1|positive-int $line
*/
public function __construct(int $id, string $text, int $line = -1, int $position = -1)
{
$this->id = $id;
$this->text = $text;
$this->line = $line;
$this->pos = $position;
}
public function getTokenName(): ?string
{
if ('UNKNOWN' === $name = token_name($this->id)) {
$name = \strlen($this->text) > 1 || \ord($this->text) < 32 ? null : $this->text;
}
return $name;
}
/**
* @param int|string|array $kind
*/
public function is($kind): bool
{
foreach ((array) $kind as $value) {
if (\in_array($value, [$this->id, $this->text], true)) {
return true;
}
}
return false;
}
public function isIgnorable(): bool
{
return \in_array($this->id, [\T_WHITESPACE, \T_COMMENT, \T_DOC_COMMENT, \T_OPEN_TAG], true);
}
public function __toString(): string
{
return (string) $this->text;
}
/**
* @return list<static>
*/
public static function tokenize(string $code, int $flags = 0): array
{
$line = 1;
$position = 0;
$tokens = token_get_all($code, $flags);
foreach ($tokens as $index => $token) {
if (\is_string($token)) {
$id = \ord($token);
$text = $token;
} else {
[$id, $text, $line] = $token;
}
$tokens[$index] = new static($id, $text, $line, $position);
$position += \strlen($text);
}
return $tokens;
}
}

25
vendor/symfony/polyfill-php80/README.md vendored Normal file
View File

@@ -0,0 +1,25 @@
Symfony Polyfill / Php80
========================
This component provides features added to PHP 8.0 core:
- [`Stringable`](https://php.net/stringable) interface
- [`fdiv`](https://php.net/fdiv)
- [`ValueError`](https://php.net/valueerror) class
- [`UnhandledMatchError`](https://php.net/unhandledmatcherror) class
- `FILTER_VALIDATE_BOOL` constant
- [`get_debug_type`](https://php.net/get_debug_type)
- [`PhpToken`](https://php.net/phptoken) class
- [`preg_last_error_msg`](https://php.net/preg_last_error_msg)
- [`str_contains`](https://php.net/str_contains)
- [`str_starts_with`](https://php.net/str_starts_with)
- [`str_ends_with`](https://php.net/str_ends_with)
- [`get_resource_id`](https://php.net/get_resource_id)
More information can be found in the
[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
License
=======
This library is released under the [MIT license](LICENSE).

View File

@@ -0,0 +1,31 @@
<?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.
*/
#[Attribute(Attribute::TARGET_CLASS)]
final class Attribute
{
public const TARGET_CLASS = 1;
public const TARGET_FUNCTION = 2;
public const TARGET_METHOD = 4;
public const TARGET_PROPERTY = 8;
public const TARGET_CLASS_CONSTANT = 16;
public const TARGET_PARAMETER = 32;
public const TARGET_ALL = 63;
public const IS_REPEATABLE = 64;
/** @var int */
public $flags;
public function __construct(int $flags = self::TARGET_ALL)
{
$this->flags = $flags;
}
}

View File

@@ -0,0 +1,16 @@
<?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.
*/
if (\PHP_VERSION_ID < 80000 && extension_loaded('tokenizer')) {
class PhpToken extends Symfony\Polyfill\Php80\PhpToken
{
}
}

View File

@@ -0,0 +1,20 @@
<?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.
*/
if (\PHP_VERSION_ID < 80000) {
interface Stringable
{
/**
* @return string
*/
public function __toString();
}
}

View File

@@ -0,0 +1,16 @@
<?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.
*/
if (\PHP_VERSION_ID < 80000) {
class UnhandledMatchError extends Error
{
}
}

View File

@@ -0,0 +1,16 @@
<?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.
*/
if (\PHP_VERSION_ID < 80000) {
class ValueError extends Error
{
}
}

View File

@@ -0,0 +1,42 @@
<?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\Php80 as p;
if (\PHP_VERSION_ID >= 80000) {
return;
}
if (!defined('FILTER_VALIDATE_BOOL') && defined('FILTER_VALIDATE_BOOLEAN')) {
define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN);
}
if (!function_exists('fdiv')) {
function fdiv(float $num1, float $num2): float { return p\Php80::fdiv($num1, $num2); }
}
if (!function_exists('preg_last_error_msg')) {
function preg_last_error_msg(): string { return p\Php80::preg_last_error_msg(); }
}
if (!function_exists('str_contains')) {
function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('str_starts_with')) {
function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('str_ends_with')) {
function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); }
}
if (!function_exists('get_debug_type')) {
function get_debug_type($value): string { return p\Php80::get_debug_type($value); }
}
if (!function_exists('get_resource_id')) {
function get_resource_id($resource): int { return p\Php80::get_resource_id($resource); }
}

View File

@@ -0,0 +1,37 @@
{
"name": "symfony/polyfill-php80",
"type": "library",
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"keywords": ["polyfill", "shim", "compatibility", "portable"],
"homepage": "https://symfony.com",
"license": "MIT",
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"require": {
"php": ">=7.2"
},
"autoload": {
"psr-4": { "Symfony\\Polyfill\\Php80\\": "" },
"files": [ "bootstrap.php" ],
"classmap": [ "Resources/stubs" ]
},
"minimum-stability": "dev",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
}
}

30
vendor/vlucas/phpdotenv/LICENSE vendored Normal file
View File

@@ -0,0 +1,30 @@
BSD 3-Clause License
Copyright (c) 2014, Graham Campbell.
Copyright (c) 2013, Vance Lucas.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

60
vendor/vlucas/phpdotenv/composer.json vendored Normal file
View File

@@ -0,0 +1,60 @@
{
"name": "vlucas/phpdotenv",
"description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
"keywords": ["env", "dotenv", "environment"],
"license": "BSD-3-Clause",
"authors": [
{
"name": "Graham Campbell",
"email": "hello@gjcampbell.co.uk",
"homepage": "https://github.com/GrahamCampbell"
},
{
"name": "Vance Lucas",
"email": "vance@vancelucas.com",
"homepage": "https://github.com/vlucas"
}
],
"require": {
"php": "^7.2.5 || ^8.0",
"ext-pcre": "*",
"graham-campbell/result-type": "^1.1.3",
"phpoption/phpoption": "^1.9.3",
"symfony/polyfill-ctype": "^1.24",
"symfony/polyfill-mbstring": "^1.24",
"symfony/polyfill-php80": "^1.24"
},
"require-dev": {
"ext-filter": "*",
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit":"^8.5.34 || ^9.6.13 || ^10.4.2"
},
"autoload": {
"psr-4": {
"Dotenv\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Dotenv\\Tests\\": "tests/Dotenv/"
}
},
"suggest": {
"ext-filter": "Required to use the boolean validator."
},
"config": {
"allow-plugins": {
"bamarni/composer-bin-plugin": true
},
"preferred-install": "dist"
},
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "5.6-dev"
}
}
}

267
vendor/vlucas/phpdotenv/src/Dotenv.php vendored Normal file
View File

@@ -0,0 +1,267 @@
<?php
declare(strict_types=1);
namespace Dotenv;
use Dotenv\Exception\InvalidPathException;
use Dotenv\Loader\Loader;
use Dotenv\Loader\LoaderInterface;
use Dotenv\Parser\Parser;
use Dotenv\Parser\ParserInterface;
use Dotenv\Repository\Adapter\ArrayAdapter;
use Dotenv\Repository\Adapter\PutenvAdapter;
use Dotenv\Repository\RepositoryBuilder;
use Dotenv\Repository\RepositoryInterface;
use Dotenv\Store\StoreBuilder;
use Dotenv\Store\StoreInterface;
use Dotenv\Store\StringStore;
class Dotenv
{
/**
* The store instance.
*
* @var \Dotenv\Store\StoreInterface
*/
private $store;
/**
* The parser instance.
*
* @var \Dotenv\Parser\ParserInterface
*/
private $parser;
/**
* The loader instance.
*
* @var \Dotenv\Loader\LoaderInterface
*/
private $loader;
/**
* The repository instance.
*
* @var \Dotenv\Repository\RepositoryInterface
*/
private $repository;
/**
* Create a new dotenv instance.
*
* @param \Dotenv\Store\StoreInterface $store
* @param \Dotenv\Parser\ParserInterface $parser
* @param \Dotenv\Loader\LoaderInterface $loader
* @param \Dotenv\Repository\RepositoryInterface $repository
*
* @return void
*/
public function __construct(
StoreInterface $store,
ParserInterface $parser,
LoaderInterface $loader,
RepositoryInterface $repository
) {
$this->store = $store;
$this->parser = $parser;
$this->loader = $loader;
$this->repository = $repository;
}
/**
* Create a new dotenv instance.
*
* @param \Dotenv\Repository\RepositoryInterface $repository
* @param string|string[] $paths
* @param string|string[]|null $names
* @param bool $shortCircuit
* @param string|null $fileEncoding
*
* @return \Dotenv\Dotenv
*/
public static function create(RepositoryInterface $repository, $paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
{
$builder = $names === null ? StoreBuilder::createWithDefaultName() : StoreBuilder::createWithNoNames();
foreach ((array) $paths as $path) {
$builder = $builder->addPath($path);
}
foreach ((array) $names as $name) {
$builder = $builder->addName($name);
}
if ($shortCircuit) {
$builder = $builder->shortCircuit();
}
return new self($builder->fileEncoding($fileEncoding)->make(), new Parser(), new Loader(), $repository);
}
/**
* Create a new mutable dotenv instance with default repository.
*
* @param string|string[] $paths
* @param string|string[]|null $names
* @param bool $shortCircuit
* @param string|null $fileEncoding
*
* @return \Dotenv\Dotenv
*/
public static function createMutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
{
$repository = RepositoryBuilder::createWithDefaultAdapters()->make();
return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
}
/**
* Create a new mutable dotenv instance with default repository with the putenv adapter.
*
* @param string|string[] $paths
* @param string|string[]|null $names
* @param bool $shortCircuit
* @param string|null $fileEncoding
*
* @return \Dotenv\Dotenv
*/
public static function createUnsafeMutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
{
$repository = RepositoryBuilder::createWithDefaultAdapters()
->addAdapter(PutenvAdapter::class)
->make();
return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
}
/**
* Create a new immutable dotenv instance with default repository.
*
* @param string|string[] $paths
* @param string|string[]|null $names
* @param bool $shortCircuit
* @param string|null $fileEncoding
*
* @return \Dotenv\Dotenv
*/
public static function createImmutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
{
$repository = RepositoryBuilder::createWithDefaultAdapters()->immutable()->make();
return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
}
/**
* Create a new immutable dotenv instance with default repository with the putenv adapter.
*
* @param string|string[] $paths
* @param string|string[]|null $names
* @param bool $shortCircuit
* @param string|null $fileEncoding
*
* @return \Dotenv\Dotenv
*/
public static function createUnsafeImmutable($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
{
$repository = RepositoryBuilder::createWithDefaultAdapters()
->addAdapter(PutenvAdapter::class)
->immutable()
->make();
return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
}
/**
* Create a new dotenv instance with an array backed repository.
*
* @param string|string[] $paths
* @param string|string[]|null $names
* @param bool $shortCircuit
* @param string|null $fileEncoding
*
* @return \Dotenv\Dotenv
*/
public static function createArrayBacked($paths, $names = null, bool $shortCircuit = true, ?string $fileEncoding = null)
{
$repository = RepositoryBuilder::createWithNoAdapters()->addAdapter(ArrayAdapter::class)->make();
return self::create($repository, $paths, $names, $shortCircuit, $fileEncoding);
}
/**
* Parse the given content and resolve nested variables.
*
* This method behaves just like load(), only without mutating your actual
* environment. We do this by using an array backed repository.
*
* @param string $content
*
* @throws \Dotenv\Exception\InvalidFileException
*
* @return array<string, string|null>
*/
public static function parse(string $content)
{
$repository = RepositoryBuilder::createWithNoAdapters()->addAdapter(ArrayAdapter::class)->make();
$phpdotenv = new self(new StringStore($content), new Parser(), new Loader(), $repository);
return $phpdotenv->load();
}
/**
* Read and load environment file(s).
*
* @throws \Dotenv\Exception\InvalidPathException|\Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException
*
* @return array<string, string|null>
*/
public function load()
{
$entries = $this->parser->parse($this->store->read());
return $this->loader->load($this->repository, $entries);
}
/**
* Read and load environment file(s), silently failing if no files can be read.
*
* @throws \Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidFileException
*
* @return array<string, string|null>
*/
public function safeLoad()
{
try {
return $this->load();
} catch (InvalidPathException $e) {
// suppressing exception
return [];
}
}
/**
* Required ensures that the specified variables exist, and returns a new validator object.
*
* @param string|string[] $variables
*
* @return \Dotenv\Validator
*/
public function required($variables)
{
return (new Validator($this->repository, (array) $variables))->required();
}
/**
* Returns a new validator object that won't check if the specified variables exist.
*
* @param string|string[] $variables
*
* @return \Dotenv\Validator
*/
public function ifPresent($variables)
{
return new Validator($this->repository, (array) $variables);
}
}

View File

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Dotenv\Exception;
use Throwable;
interface ExceptionInterface extends Throwable
{
//
}

View File

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Dotenv\Exception;
use InvalidArgumentException;
final class InvalidEncodingException extends InvalidArgumentException implements ExceptionInterface
{
//
}

View File

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Dotenv\Exception;
use InvalidArgumentException;
final class InvalidFileException extends InvalidArgumentException implements ExceptionInterface
{
//
}

View File

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Dotenv\Exception;
use InvalidArgumentException;
final class InvalidPathException extends InvalidArgumentException implements ExceptionInterface
{
//
}

View File

@@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace Dotenv\Exception;
use RuntimeException;
final class ValidationException extends RuntimeException implements ExceptionInterface
{
//
}

View File

@@ -0,0 +1,48 @@
<?php
declare(strict_types=1);
namespace Dotenv\Loader;
use Dotenv\Parser\Entry;
use Dotenv\Parser\Value;
use Dotenv\Repository\RepositoryInterface;
final class Loader implements LoaderInterface
{
/**
* Load the given entries into the repository.
*
* We'll substitute any nested variables, and send each variable to the
* repository, with the effect of actually mutating the environment.
*
* @param \Dotenv\Repository\RepositoryInterface $repository
* @param \Dotenv\Parser\Entry[] $entries
*
* @return array<string, string|null>
*/
public function load(RepositoryInterface $repository, array $entries)
{
/** @var array<string, string|null> */
return \array_reduce($entries, static function (array $vars, Entry $entry) use ($repository) {
$name = $entry->getName();
$value = $entry->getValue()->map(static function (Value $value) use ($repository) {
return Resolver::resolve($repository, $value);
});
if ($value->isDefined()) {
$inner = $value->get();
if ($repository->set($name, $inner)) {
return \array_merge($vars, [$name => $inner]);
}
} else {
if ($repository->clear($name)) {
return \array_merge($vars, [$name => null]);
}
}
return $vars;
}, []);
}
}

View File

@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace Dotenv\Loader;
use Dotenv\Repository\RepositoryInterface;
interface LoaderInterface
{
/**
* Load the given entries into the repository.
*
* @param \Dotenv\Repository\RepositoryInterface $repository
* @param \Dotenv\Parser\Entry[] $entries
*
* @return array<string, string|null>
*/
public function load(RepositoryInterface $repository, array $entries);
}

View File

@@ -0,0 +1,65 @@
<?php
declare(strict_types=1);
namespace Dotenv\Loader;
use Dotenv\Parser\Value;
use Dotenv\Repository\RepositoryInterface;
use Dotenv\Util\Regex;
use Dotenv\Util\Str;
use PhpOption\Option;
final class Resolver
{
/**
* This class is a singleton.
*
* @codeCoverageIgnore
*
* @return void
*/
private function __construct()
{
//
}
/**
* Resolve the nested variables in the given value.
*
* Replaces ${varname} patterns in the allowed positions in the variable
* value by an existing environment variable.
*
* @param \Dotenv\Repository\RepositoryInterface $repository
* @param \Dotenv\Parser\Value $value
*
* @return string
*/
public static function resolve(RepositoryInterface $repository, Value $value)
{
return \array_reduce($value->getVars(), static function (string $s, int $i) use ($repository) {
return Str::substr($s, 0, $i).self::resolveVariable($repository, Str::substr($s, $i));
}, $value->getChars());
}
/**
* Resolve a single nested variable.
*
* @param \Dotenv\Repository\RepositoryInterface $repository
* @param string $str
*
* @return string
*/
private static function resolveVariable(RepositoryInterface $repository, string $str)
{
return Regex::replaceCallback(
'/\A\${([a-zA-Z0-9_.]+)}/',
static function (array $matches) use ($repository) {
/** @var string */
return Option::fromValue($repository->get($matches[1]))->getOrElse($matches[0]);
},
$str,
1
)->success()->getOrElse($str);
}
}

View File

@@ -0,0 +1,59 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
use PhpOption\Option;
final class Entry
{
/**
* The entry name.
*
* @var string
*/
private $name;
/**
* The entry value.
*
* @var \Dotenv\Parser\Value|null
*/
private $value;
/**
* Create a new entry instance.
*
* @param string $name
* @param \Dotenv\Parser\Value|null $value
*
* @return void
*/
public function __construct(string $name, ?Value $value = null)
{
$this->name = $name;
$this->value = $value;
}
/**
* Get the entry name.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Get the entry value.
*
* @return \PhpOption\Option<\Dotenv\Parser\Value>
*/
public function getValue()
{
/** @var \PhpOption\Option<\Dotenv\Parser\Value> */
return Option::fromValue($this->value);
}
}

View File

@@ -0,0 +1,300 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
use Dotenv\Util\Regex;
use Dotenv\Util\Str;
use GrahamCampbell\ResultType\Error;
use GrahamCampbell\ResultType\Result;
use GrahamCampbell\ResultType\Success;
final class EntryParser
{
private const INITIAL_STATE = 0;
private const UNQUOTED_STATE = 1;
private const SINGLE_QUOTED_STATE = 2;
private const DOUBLE_QUOTED_STATE = 3;
private const ESCAPE_SEQUENCE_STATE = 4;
private const WHITESPACE_STATE = 5;
private const COMMENT_STATE = 6;
private const REJECT_STATES = [self::SINGLE_QUOTED_STATE, self::DOUBLE_QUOTED_STATE, self::ESCAPE_SEQUENCE_STATE];
/**
* This class is a singleton.
*
* @codeCoverageIgnore
*
* @return void
*/
private function __construct()
{
//
}
/**
* Parse a raw entry into a proper entry.
*
* That is, turn a raw environment variable entry into a name and possibly
* a value. We wrap the answer in a result type.
*
* @param string $entry
*
* @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry, string>
*/
public static function parse(string $entry)
{
return self::splitStringIntoParts($entry)->flatMap(static function (array $parts) {
[$name, $value] = $parts;
return self::parseName($name)->flatMap(static function (string $name) use ($value) {
/** @var Result<Value|null, string> */
$parsedValue = $value === null ? Success::create(null) : self::parseValue($value);
return $parsedValue->map(static function (?Value $value) use ($name) {
return new Entry($name, $value);
});
});
});
}
/**
* Split the compound string into parts.
*
* @param string $line
*
* @return \GrahamCampbell\ResultType\Result<array{string, string|null},string>
*/
private static function splitStringIntoParts(string $line)
{
/** @var array{string, string|null} */
$result = Str::pos($line, '=')->map(static function () use ($line) {
return \array_map('trim', \explode('=', $line, 2));
})->getOrElse([$line, null]);
if ($result[0] === '') {
/** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */
return Error::create(self::getErrorMessage('an unexpected equals', $line));
}
/** @var \GrahamCampbell\ResultType\Result<array{string, string|null},string> */
return Success::create($result);
}
/**
* Parse the given variable name.
*
* That is, strip the optional quotes and leading "export" from the
* variable name. We wrap the answer in a result type.
*
* @param string $name
*
* @return \GrahamCampbell\ResultType\Result<string, string>
*/
private static function parseName(string $name)
{
if (Str::len($name) > 8 && Str::substr($name, 0, 6) === 'export' && \ctype_space(Str::substr($name, 6, 1))) {
$name = \ltrim(Str::substr($name, 6));
}
if (self::isQuotedName($name)) {
$name = Str::substr($name, 1, -1);
}
if (!self::isValidName($name)) {
/** @var \GrahamCampbell\ResultType\Result<string, string> */
return Error::create(self::getErrorMessage('an invalid name', $name));
}
/** @var \GrahamCampbell\ResultType\Result<string, string> */
return Success::create($name);
}
/**
* Is the given variable name quoted?
*
* @param string $name
*
* @return bool
*/
private static function isQuotedName(string $name)
{
if (Str::len($name) < 3) {
return false;
}
$first = Str::substr($name, 0, 1);
$last = Str::substr($name, -1, 1);
return ($first === '"' && $last === '"') || ($first === '\'' && $last === '\'');
}
/**
* Is the given variable name valid?
*
* @param string $name
*
* @return bool
*/
private static function isValidName(string $name)
{
return Regex::matches('~(*UTF8)\A[\p{Ll}\p{Lu}\p{M}\p{N}_.]+\z~', $name)->success()->getOrElse(false);
}
/**
* Parse the given variable value.
*
* This has the effect of stripping quotes and comments, dealing with
* special characters, and locating nested variables, but not resolving
* them. Formally, we run a finite state automaton with an output tape: a
* transducer. We wrap the answer in a result type.
*
* @param string $value
*
* @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string>
*/
private static function parseValue(string $value)
{
if (\trim($value) === '') {
/** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */
return Success::create(Value::blank());
}
return \array_reduce(\iterator_to_array(Lexer::lex($value)), static function (Result $data, string $token) {
return $data->flatMap(static function (array $data) use ($token) {
return self::processToken($data[1], $token)->map(static function (array $val) use ($data) {
return [$data[0]->append($val[0], $val[1]), $val[2]];
});
});
}, Success::create([Value::blank(), self::INITIAL_STATE]))->flatMap(static function (array $result) {
/** @psalm-suppress DocblockTypeContradiction */
if (in_array($result[1], self::REJECT_STATES, true)) {
/** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */
return Error::create('a missing closing quote');
}
/** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Value, string> */
return Success::create($result[0]);
})->mapError(static function (string $err) use ($value) {
return self::getErrorMessage($err, $value);
});
}
/**
* Process the given token.
*
* @param int $state
* @param string $token
*
* @return \GrahamCampbell\ResultType\Result<array{string, bool, int}, string>
*/
private static function processToken(int $state, string $token)
{
switch ($state) {
case self::INITIAL_STATE:
if ($token === '\'') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::SINGLE_QUOTED_STATE]);
} elseif ($token === '"') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::DOUBLE_QUOTED_STATE]);
} elseif ($token === '#') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::COMMENT_STATE]);
} elseif ($token === '$') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, true, self::UNQUOTED_STATE]);
} else {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, false, self::UNQUOTED_STATE]);
}
case self::UNQUOTED_STATE:
if ($token === '#') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::COMMENT_STATE]);
} elseif (\ctype_space($token)) {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::WHITESPACE_STATE]);
} elseif ($token === '$') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, true, self::UNQUOTED_STATE]);
} else {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, false, self::UNQUOTED_STATE]);
}
case self::SINGLE_QUOTED_STATE:
if ($token === '\'') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::WHITESPACE_STATE]);
} else {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, false, self::SINGLE_QUOTED_STATE]);
}
case self::DOUBLE_QUOTED_STATE:
if ($token === '"') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::WHITESPACE_STATE]);
} elseif ($token === '\\') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::ESCAPE_SEQUENCE_STATE]);
} elseif ($token === '$') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, true, self::DOUBLE_QUOTED_STATE]);
} else {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]);
}
case self::ESCAPE_SEQUENCE_STATE:
if ($token === '"' || $token === '\\') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]);
} elseif ($token === '$') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([$token, false, self::DOUBLE_QUOTED_STATE]);
} else {
$first = Str::substr($token, 0, 1);
if (\in_array($first, ['f', 'n', 'r', 't', 'v'], true)) {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create([\stripcslashes('\\'.$first).Str::substr($token, 1), false, self::DOUBLE_QUOTED_STATE]);
} else {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Error::create('an unexpected escape sequence');
}
}
case self::WHITESPACE_STATE:
if ($token === '#') {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::COMMENT_STATE]);
} elseif (!\ctype_space($token)) {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Error::create('unexpected whitespace');
} else {
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::WHITESPACE_STATE]);
}
case self::COMMENT_STATE:
/** @var \GrahamCampbell\ResultType\Result<array{string, bool, int}, string> */
return Success::create(['', false, self::COMMENT_STATE]);
default:
throw new \Error('Parser entered invalid state.');
}
}
/**
* Generate a friendly error message.
*
* @param string $cause
* @param string $subject
*
* @return string
*/
private static function getErrorMessage(string $cause, string $subject)
{
return \sprintf(
'Encountered %s at [%s].',
$cause,
\strtok($subject, "\n")
);
}
}

View File

@@ -0,0 +1,58 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
final class Lexer
{
/**
* The regex for each type of token.
*/
private const PATTERNS = [
'[\r\n]{1,1000}', '[^\S\r\n]{1,1000}', '\\\\', '\'', '"', '\\#', '\\$', '([^(\s\\\\\'"\\#\\$)]|\\(|\\)){1,1000}',
];
/**
* This class is a singleton.
*
* @codeCoverageIgnore
*
* @return void
*/
private function __construct()
{
//
}
/**
* Convert content into a token stream.
*
* Multibyte string processing is not needed here, and nether is error
* handling, for performance reasons.
*
* @param string $content
*
* @return \Generator<string>
*/
public static function lex(string $content)
{
static $regex;
if ($regex === null) {
$regex = '(('.\implode(')|(', self::PATTERNS).'))A';
}
$offset = 0;
while (isset($content[$offset])) {
if (!\preg_match($regex, $content, $matches, 0, $offset)) {
throw new \Error(\sprintf('Lexer encountered unexpected character [%s].', $content[$offset]));
}
$offset += \strlen($matches[0]);
yield $matches[0];
}
}
}

View File

@@ -0,0 +1,127 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
use Dotenv\Util\Regex;
use Dotenv\Util\Str;
final class Lines
{
/**
* This class is a singleton.
*
* @codeCoverageIgnore
*
* @return void
*/
private function __construct()
{
//
}
/**
* Process the array of lines of environment variables.
*
* This will produce an array of raw entries, one per variable.
*
* @param string[] $lines
*
* @return string[]
*/
public static function process(array $lines)
{
$output = [];
$multiline = false;
$multilineBuffer = [];
foreach ($lines as $line) {
[$multiline, $line, $multilineBuffer] = self::multilineProcess($multiline, $line, $multilineBuffer);
if (!$multiline && !self::isCommentOrWhitespace($line)) {
$output[] = $line;
}
}
return $output;
}
/**
* Used to make all multiline variable process.
*
* @param bool $multiline
* @param string $line
* @param string[] $buffer
*
* @return array{bool,string, string[]}
*/
private static function multilineProcess(bool $multiline, string $line, array $buffer)
{
$startsOnCurrentLine = $multiline ? false : self::looksLikeMultilineStart($line);
// check if $line can be multiline variable
if ($startsOnCurrentLine) {
$multiline = true;
}
if ($multiline) {
\array_push($buffer, $line);
if (self::looksLikeMultilineStop($line, $startsOnCurrentLine)) {
$multiline = false;
$line = \implode("\n", $buffer);
$buffer = [];
}
}
return [$multiline, $line, $buffer];
}
/**
* Determine if the given line can be the start of a multiline variable.
*
* @param string $line
*
* @return bool
*/
private static function looksLikeMultilineStart(string $line)
{
return Str::pos($line, '="')->map(static function () use ($line) {
return self::looksLikeMultilineStop($line, true) === false;
})->getOrElse(false);
}
/**
* Determine if the given line can be the start of a multiline variable.
*
* @param string $line
* @param bool $started
*
* @return bool
*/
private static function looksLikeMultilineStop(string $line, bool $started)
{
if ($line === '"') {
return true;
}
return Regex::occurrences('/(?=([^\\\\]"))/', \str_replace('\\\\', '', $line))->map(static function (int $count) use ($started) {
return $started ? $count > 1 : $count >= 1;
})->success()->getOrElse(false);
}
/**
* Determine if the line in the file is a comment or whitespace.
*
* @param string $line
*
* @return bool
*/
private static function isCommentOrWhitespace(string $line)
{
$line = \trim($line);
return $line === '' || (isset($line[0]) && $line[0] === '#');
}
}

View File

@@ -0,0 +1,53 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
use Dotenv\Exception\InvalidFileException;
use Dotenv\Util\Regex;
use GrahamCampbell\ResultType\Result;
use GrahamCampbell\ResultType\Success;
final class Parser implements ParserInterface
{
/**
* Parse content into an entry array.
*
* @param string $content
*
* @throws \Dotenv\Exception\InvalidFileException
*
* @return \Dotenv\Parser\Entry[]
*/
public function parse(string $content)
{
return Regex::split("/(\r\n|\n|\r)/", $content)->mapError(static function () {
return 'Could not split into separate lines.';
})->flatMap(static function (array $lines) {
return self::process(Lines::process($lines));
})->mapError(static function (string $error) {
throw new InvalidFileException(\sprintf('Failed to parse dotenv file. %s', $error));
})->success()->get();
}
/**
* Convert the raw entries into proper entries.
*
* @param string[] $entries
*
* @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string>
*/
private static function process(array $entries)
{
/** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[], string> */
return \array_reduce($entries, static function (Result $result, string $raw) {
return $result->flatMap(static function (array $entries) use ($raw) {
return EntryParser::parse($raw)->map(static function (Entry $entry) use ($entries) {
/** @var \Dotenv\Parser\Entry[] */
return \array_merge($entries, [$entry]);
});
});
}, Success::create([]));
}
}

View File

@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
interface ParserInterface
{
/**
* Parse content into an entry array.
*
* @param string $content
*
* @throws \Dotenv\Exception\InvalidFileException
*
* @return \Dotenv\Parser\Entry[]
*/
public function parse(string $content);
}

View File

@@ -0,0 +1,88 @@
<?php
declare(strict_types=1);
namespace Dotenv\Parser;
use Dotenv\Util\Str;
final class Value
{
/**
* The string representation of the parsed value.
*
* @var string
*/
private $chars;
/**
* The locations of the variables in the value.
*
* @var int[]
*/
private $vars;
/**
* Internal constructor for a value.
*
* @param string $chars
* @param int[] $vars
*
* @return void
*/
private function __construct(string $chars, array $vars)
{
$this->chars = $chars;
$this->vars = $vars;
}
/**
* Create an empty value instance.
*
* @return \Dotenv\Parser\Value
*/
public static function blank()
{
return new self('', []);
}
/**
* Create a new value instance, appending the characters.
*
* @param string $chars
* @param bool $var
*
* @return \Dotenv\Parser\Value
*/
public function append(string $chars, bool $var)
{
return new self(
$this->chars.$chars,
$var ? \array_merge($this->vars, [Str::len($this->chars)]) : $this->vars
);
}
/**
* Get the string representation of the parsed value.
*
* @return string
*/
public function getChars()
{
return $this->chars;
}
/**
* Get the locations of the variables in the value.
*
* @return int[]
*/
public function getVars()
{
$vars = $this->vars;
\rsort($vars);
return $vars;
}
}

View File

@@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace Dotenv\Repository\Adapter;
interface AdapterInterface extends ReaderInterface, WriterInterface
{
/**
* Create a new instance of the adapter, if it is available.
*
* @return \PhpOption\Option<\Dotenv\Repository\Adapter\AdapterInterface>
*/
public static function create();
}

View File

@@ -0,0 +1,89 @@
<?php
declare(strict_types=1);
namespace Dotenv\Repository\Adapter;
use PhpOption\None;
use PhpOption\Option;
use PhpOption\Some;
final class ApacheAdapter implements AdapterInterface
{
/**
* Create a new apache adapter instance.
*
* @return void
*/
private function __construct()
{
//
}
/**
* Create a new instance of the adapter, if it is available.
*
* @return \PhpOption\Option<\Dotenv\Repository\Adapter\AdapterInterface>
*/
public static function create()
{
if (self::isSupported()) {
/** @var \PhpOption\Option<AdapterInterface> */
return Some::create(new self());
}
return None::create();
}
/**
* Determines if the adapter is supported.
*
* This happens if PHP is running as an Apache module.
*
* @return bool
*/
private static function isSupported()
{
return \function_exists('apache_getenv') && \function_exists('apache_setenv');
}
/**
* Read an environment variable, if it exists.
*
* @param non-empty-string $name
*
* @return \PhpOption\Option<string>
*/
public function read(string $name)
{
/** @var \PhpOption\Option<string> */
return Option::fromValue(apache_getenv($name))->filter(static function ($value) {
return \is_string($value) && $value !== '';
});
}
/**
* Write to an environment variable, if possible.
*
* @param non-empty-string $name
* @param string $value
*
* @return bool
*/
public function write(string $name, string $value)
{
return apache_setenv($name, $value);
}
/**
* Delete an environment variable, if possible.
*
* @param non-empty-string $name
*
* @return bool
*/
public function delete(string $name)
{
return apache_setenv($name, '');
}
}

Some files were not shown because too many files have changed in this diff Show More