summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/tools/wave
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/tools/wave')
-rw-r--r--testing/web-platform/tests/tools/wave/.gitignore3
-rw-r--r--testing/web-platform/tests/tools/wave/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/config.default.json49
-rw-r--r--testing/web-platform/tests/tools/wave/configuration_loader.py97
-rw-r--r--testing/web-platform/tests/tools/wave/data/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/data/client.py8
-rw-r--r--testing/web-platform/tests/tools/wave/data/device.py8
-rw-r--r--testing/web-platform/tests/tools/wave/data/event_listener.py10
-rw-r--r--testing/web-platform/tests/tools/wave/data/exceptions/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/data/exceptions/duplicate_exception.py2
-rw-r--r--testing/web-platform/tests/tools/wave/data/exceptions/invalid_data_exception.py2
-rw-r--r--testing/web-platform/tests/tools/wave/data/exceptions/not_found_exception.py2
-rw-r--r--testing/web-platform/tests/tools/wave/data/exceptions/permission_denied_exception.py2
-rw-r--r--testing/web-platform/tests/tools/wave/data/http_polling_client.py13
-rw-r--r--testing/web-platform/tests/tools/wave/data/http_polling_event_listener.py13
-rw-r--r--testing/web-platform/tests/tools/wave/data/session.py78
-rw-r--r--testing/web-platform/tests/tools/wave/docs/README.md14
-rw-r--r--testing/web-platform/tests/tools/wave/docs/config.md326
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/configuration_page_bottom.jpgbin0 -> 126736 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_malfunctioning.jpgbin0 -> 139829 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_prev_excluded.jpgbin0 -> 139651 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_raw.jpgbin0 -> 129514 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/configuration_page_top.jpgbin0 -> 120429 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/landing_page.jpgbin0 -> 108212 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions.jpgbin0 -> 89660 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_filtered.jpgbin0 -> 105746 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_pinned_recent.jpgbin0 -> 129519 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/overview_page_top.jpgbin0 -> 56339 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/results_page_api_results.jpgbin0 -> 127186 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/results_page_api_results_export.jpgbin0 -> 129230 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/results_page_bottom.jpgbin0 -> 98504 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/results_page_last_timed_out.jpgbin0 -> 87467 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/results_page_malfunctioning_list.jpgbin0 -> 88697 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/res/results_page_top.jpgbin0 -> 77941 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/README.md76
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/create.md33
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/event-types.md37
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-device.md41
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-devices.md47
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register-global.md54
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register.md52
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-event.md43
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-global-event.md46
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/general-api/status.md41
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/guides/README.md10
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-events.md52
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-start-devices-api.md60
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/config.md34
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/create.md65
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/download.md127
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/import.md66
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read-compact.md59
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read.md63
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/results-api/view.md61
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/control.md25
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/create.md103
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/delete.md25
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/event-types.md27
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/events.md104
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/find.md29
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/labels.md75
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read-public.md30
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read.md90
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read_sessions.md123
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/status.md48
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/update.md102
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-all.md43
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-available-apis.md43
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-last-completed.md47
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-malfunctioning.md30
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-next.md29
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-session.md61
-rw-r--r--testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/update-malfunctioning.md56
-rw-r--r--testing/web-platform/tests/tools/wave/docs/usage/usage.md231
-rw-r--r--testing/web-platform/tests/tools/wave/export/css/bulma.min.css1
-rw-r--r--testing/web-platform/tests/tools/wave/export/css/result.css75
-rw-r--r--testing/web-platform/tests/tools/wave/export/index.html375
-rw-r--r--testing/web-platform/tests/tools/wave/export/lib/ui.js64
-rw-r--r--testing/web-platform/tests/tools/wave/export/lib/utils.js40
-rw-r--r--testing/web-platform/tests/tools/wave/export/res/wavelogo_2016.jpgbin0 -> 15570 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/network/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/api_handler.py99
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/devices_api_handler.py202
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/general_api_handler.py76
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/results_api_handler.py232
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/sessions_api_handler.py458
-rw-r--r--testing/web-platform/tests/tools/wave/network/api/tests_api_handler.py298
-rw-r--r--testing/web-platform/tests/tools/wave/network/http_handler.py122
-rw-r--r--testing/web-platform/tests/tools/wave/network/static_handler.py60
-rw-r--r--testing/web-platform/tests/tools/wave/package-lock.json35
-rw-r--r--testing/web-platform/tests/tools/wave/package.json7
-rw-r--r--testing/web-platform/tests/tools/wave/requirements.txt2
-rw-r--r--testing/web-platform/tests/tools/wave/resources/testharnessreport.js284
-rw-r--r--testing/web-platform/tests/tools/wave/test/WAVE Local.postman_environment.json34
-rw-r--r--testing/web-platform/tests/tools/wave/test/WAVE Server REST API Tests.postman_collection.json9833
-rw-r--r--testing/web-platform/tests/tools/wave/testing/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/testing/devices_manager.py119
-rw-r--r--testing/web-platform/tests/tools/wave/testing/event_dispatcher.py148
-rw-r--r--testing/web-platform/tests/tools/wave/testing/results_manager.py674
-rw-r--r--testing/web-platform/tests/tools/wave/testing/sessions_manager.py478
-rw-r--r--testing/web-platform/tests/tools/wave/testing/test_loader.py200
-rw-r--r--testing/web-platform/tests/tools/wave/testing/tests_manager.py374
-rw-r--r--testing/web-platform/tests/tools/wave/testing/wpt_report.py57
-rw-r--r--testing/web-platform/tests/tools/wave/tests/WAVE Local.postman_environment.json34
-rw-r--r--testing/web-platform/tests/tools/wave/tests/WAVE Server REST API Tests.postman_collection.json8549
-rw-r--r--testing/web-platform/tests/tools/wave/tests/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/tests/config.json6
-rw-r--r--testing/web-platform/tests/tools/wave/tests/test_wave.py55
-rw-r--r--testing/web-platform/tests/tools/wave/tox.ini18
-rw-r--r--testing/web-platform/tests/tools/wave/utils/__init__.py0
-rw-r--r--testing/web-platform/tests/tools/wave/utils/deserializer.py118
-rw-r--r--testing/web-platform/tests/tools/wave/utils/serializer.py47
-rw-r--r--testing/web-platform/tests/tools/wave/utils/user_agent_parser.py43
-rw-r--r--testing/web-platform/tests/tools/wave/wave_server.py145
-rw-r--r--testing/web-platform/tests/tools/wave/www/comparison.html444
-rw-r--r--testing/web-platform/tests/tools/wave/www/configuration.html1586
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css10599
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css.map1
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.min.css1
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/fontawesome-5.7.2.min.css1
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/fontawesome.min.css5
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/main.css101
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/result.css75
-rw-r--r--testing/web-platform/tests/tools/wave/www/css/style.css86
-rw-r--r--testing/web-platform/tests/tools/wave/www/favicon.icobin0 -> 90022 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/finish.html215
-rw-r--r--testing/web-platform/tests/tools/wave/www/index.html263
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/davidshimjs/LICENSE14
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/davidshimjs/qrcode.js1533
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/jszip.min.js15
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/keycodes.js88
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/qrcode.js1533
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/query-parser.js12
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/screen-console.js16
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/ui.js100
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/utils.js57
-rw-r--r--testing/web-platform/tests/tools/wave/www/lib/wave-service.js866
-rw-r--r--testing/web-platform/tests/tools/wave/www/newsession.html257
-rw-r--r--testing/web-platform/tests/tools/wave/www/next.html33
-rw-r--r--testing/web-platform/tests/tools/wave/www/overview.html1315
-rw-r--r--testing/web-platform/tests/tools/wave/www/pause.html224
-rw-r--r--testing/web-platform/tests/tools/wave/www/res/spinner-solid.svg1
-rw-r--r--testing/web-platform/tests/tools/wave/www/res/wavelogo_2016.jpgbin0 -> 15570 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/results.html1565
-rw-r--r--testing/web-platform/tests/tools/wave/www/submitresult.html63
-rw-r--r--testing/web-platform/tests/tools/wave/www/test.html155
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.eotbin0 -> 125320 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.svg3296
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.ttfbin0 -> 125016 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woffbin0 -> 84564 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff2bin0 -> 72112 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.eotbin0 -> 34388 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.svg799
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.ttfbin0 -> 34092 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woffbin0 -> 16812 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff2bin0 -> 13592 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.eotbin0 -> 186512 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.svg4516
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.ttfbin0 -> 186228 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woffbin0 -> 96244 bytes
-rw-r--r--testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff2bin0 -> 74348 bytes
162 files changed, 56212 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/wave/.gitignore b/testing/web-platform/tests/tools/wave/.gitignore
new file mode 100644
index 0000000000..bf0aae9e13
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/.gitignore
@@ -0,0 +1,3 @@
+!www/lib
+!export/lib
+!export/css
diff --git a/testing/web-platform/tests/tools/wave/__init__.py b/testing/web-platform/tests/tools/wave/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/config.default.json b/testing/web-platform/tests/tools/wave/config.default.json
new file mode 100644
index 0000000000..5b696929bb
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/config.default.json
@@ -0,0 +1,49 @@
+{
+ "browser_host": "web-platform.test",
+ "alternate_hosts": {
+ "alt": "not-web-platform.test"
+ },
+ "doc_root": ".",
+ "ws_doc_root": "./websockets/handlers",
+ "server_host": null,
+ "ports": {
+ "http": [8000, "auto"],
+ "https": [8443],
+ "ws": ["auto"],
+ "wss": ["auto"]
+ },
+ "check_subdomains": true,
+ "log_level": "debug",
+ "bind_address": true,
+ "ssl": {
+ "type": "pregenerated",
+ "encrypt_after_connect": false,
+ "openssl": {
+ "openssl_binary": "openssl",
+ "base_path": "_certs",
+ "force_regenerate": false,
+ "base_conf_path": null
+ },
+ "pregenerated": {
+ "host_key_path": "./tools/certs/web-platform.test.key",
+ "host_cert_path": "./tools/certs/web-platform.test.pem"
+ },
+ "none": {}
+ },
+ "aliases": [],
+ "wave": {
+ "results": "./results",
+ "timeouts": {
+ "automatic": 60000,
+ "manual": 300000
+ },
+ "enable_import_results": false,
+ "web_root": "/_wave",
+ "persisting_interval": 20,
+ "api_titles": [],
+ "enable_read_sessions": false,
+ "event_cache_duration": 60000,
+ "enable_test_type_selection": false,
+ "enable_test_file_selection": false
+ }
+}
diff --git a/testing/web-platform/tests/tools/wave/configuration_loader.py b/testing/web-platform/tests/tools/wave/configuration_loader.py
new file mode 100644
index 0000000000..2e2aa33151
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/configuration_loader.py
@@ -0,0 +1,97 @@
+# mypy: allow-untyped-defs
+
+import json
+import os
+
+from tools.wpt import wpt
+
+DEFAULT_CONFIGURATION_FILE_PATH = os.path.join(wpt.localpaths.repo_root, "./tools/wave/config.default.json")
+
+
+def load(configuration_file_path):
+ configuration = {}
+ if configuration_file_path:
+ configuration = load_configuration_file(configuration_file_path)
+ default_configuration = load_configuration_file(
+ DEFAULT_CONFIGURATION_FILE_PATH)
+
+ configuration["wpt_port"] = configuration.get(
+ "ports", default_configuration["ports"]).get(
+ "http", default_configuration["ports"]["http"])[0]
+ configuration["wpt_ssl_port"] = configuration.get(
+ "ports", default_configuration["ports"]).get(
+ "https", default_configuration["ports"]["https"])[0]
+
+ web_root = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "web_root", default_configuration["wave"]["web_root"])
+ if not web_root.startswith("/"):
+ web_root = "/" + web_root
+ if not web_root.endswith("/"):
+ web_root += "/"
+ configuration["web_root"] = web_root
+
+ configuration["results_directory_path"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "results", default_configuration["wave"]["results"])
+
+ configuration["timeouts"] = {}
+ configuration["timeouts"]["automatic"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "timeouts", default_configuration["wave"]["timeouts"]).get(
+ "automatic", default_configuration["wave"]["timeouts"]["automatic"])
+ configuration["timeouts"]["manual"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "timeouts", default_configuration["wave"]["timeouts"]).get(
+ "manual", default_configuration["wave"]["timeouts"]["manual"])
+
+ configuration["hostname"] = configuration.get(
+ "browser_host", default_configuration["browser_host"])
+
+ configuration["import_results_enabled"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "enable_import_results",
+ default_configuration["wave"]["enable_import_results"])
+
+ configuration["read_sessions_enabled"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "enable_read_sessions",
+ default_configuration["wave"]["enable_read_sessions"])
+
+ configuration["persisting_interval"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "persisting_interval", default_configuration["wave"]["persisting_interval"])
+
+ configuration["event_cache_duration"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "event_cache_duration", default_configuration["wave"]["event_cache_duration"])
+
+ configuration["tests_directory_path"] = os.getcwd()
+
+ configuration["manifest_file_path"] = os.path.join(
+ os.getcwd(), "MANIFEST.json")
+
+ configuration["api_titles"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "api_titles", default_configuration["wave"]["api_titles"])
+
+ configuration["enable_test_type_selection"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "enable_test_type_selection", default_configuration["wave"]["enable_test_type_selection"])
+
+ configuration["enable_test_file_selection"] = configuration.get(
+ "wave", default_configuration["wave"]).get(
+ "enable_test_file_selection", default_configuration["wave"]["enable_test_file_selection"])
+
+ return configuration
+
+
+def load_configuration_file(path):
+ if not os.path.isfile(path):
+ return {}
+
+ configuration = None
+ with open(path) as configuration_file:
+ configuration_file_content = configuration_file.read()
+ configuration = json.loads(configuration_file_content)
+ return configuration
diff --git a/testing/web-platform/tests/tools/wave/data/__init__.py b/testing/web-platform/tests/tools/wave/data/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/data/client.py b/testing/web-platform/tests/tools/wave/data/client.py
new file mode 100644
index 0000000000..d5643a5660
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/client.py
@@ -0,0 +1,8 @@
+# mypy: allow-untyped-defs
+
+class Client:
+ def __init__(self, session_token):
+ self.session_token = session_token
+
+ def send_message(self, message):
+ raise Exception("Client.send_message(message) not implemented!")
diff --git a/testing/web-platform/tests/tools/wave/data/device.py b/testing/web-platform/tests/tools/wave/data/device.py
new file mode 100644
index 0000000000..b1d06cbf30
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/device.py
@@ -0,0 +1,8 @@
+# mypy: allow-untyped-defs
+
+class Device:
+ def __init__(self, token, user_agent, name, last_active):
+ self.token = token
+ self.user_agent = user_agent
+ self.name = name
+ self.last_active = last_active
diff --git a/testing/web-platform/tests/tools/wave/data/event_listener.py b/testing/web-platform/tests/tools/wave/data/event_listener.py
new file mode 100644
index 0000000000..c4b98653e1
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/event_listener.py
@@ -0,0 +1,10 @@
+# mypy: allow-untyped-defs
+
+class EventListener:
+ def __init__(self, dispatcher_token):
+ super().__init__()
+ self.dispatcher_token = dispatcher_token
+ self.token = None
+
+ def send_message(self, message):
+ raise Exception("Client.send_message(message) not implemented!")
diff --git a/testing/web-platform/tests/tools/wave/data/exceptions/__init__.py b/testing/web-platform/tests/tools/wave/data/exceptions/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/exceptions/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/data/exceptions/duplicate_exception.py b/testing/web-platform/tests/tools/wave/data/exceptions/duplicate_exception.py
new file mode 100644
index 0000000000..2d64ea51bd
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/exceptions/duplicate_exception.py
@@ -0,0 +1,2 @@
+class DuplicateException(Exception):
+ pass
diff --git a/testing/web-platform/tests/tools/wave/data/exceptions/invalid_data_exception.py b/testing/web-platform/tests/tools/wave/data/exceptions/invalid_data_exception.py
new file mode 100644
index 0000000000..50c7e8f372
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/exceptions/invalid_data_exception.py
@@ -0,0 +1,2 @@
+class InvalidDataException(Exception):
+ pass
diff --git a/testing/web-platform/tests/tools/wave/data/exceptions/not_found_exception.py b/testing/web-platform/tests/tools/wave/data/exceptions/not_found_exception.py
new file mode 100644
index 0000000000..0e573506ad
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/exceptions/not_found_exception.py
@@ -0,0 +1,2 @@
+class NotFoundException(Exception):
+ pass
diff --git a/testing/web-platform/tests/tools/wave/data/exceptions/permission_denied_exception.py b/testing/web-platform/tests/tools/wave/data/exceptions/permission_denied_exception.py
new file mode 100644
index 0000000000..e51660f678
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/exceptions/permission_denied_exception.py
@@ -0,0 +1,2 @@
+class PermissionDeniedException(Exception):
+ pass
diff --git a/testing/web-platform/tests/tools/wave/data/http_polling_client.py b/testing/web-platform/tests/tools/wave/data/http_polling_client.py
new file mode 100644
index 0000000000..3235569a98
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/http_polling_client.py
@@ -0,0 +1,13 @@
+# mypy: allow-untyped-defs
+
+from .client import Client
+
+
+class HttpPollingClient(Client):
+ def __init__(self, session_token, event):
+ super().__init__(session_token)
+ self.event = event
+
+ def send_message(self, message):
+ self.message = message
+ self.event.set()
diff --git a/testing/web-platform/tests/tools/wave/data/http_polling_event_listener.py b/testing/web-platform/tests/tools/wave/data/http_polling_event_listener.py
new file mode 100644
index 0000000000..b1e46edd36
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/http_polling_event_listener.py
@@ -0,0 +1,13 @@
+# mypy: allow-untyped-defs
+
+from .event_listener import EventListener
+
+class HttpPollingEventListener(EventListener):
+ def __init__(self, dispatcher_token, event):
+ super().__init__(dispatcher_token)
+ self.event = event
+ self.message = None
+
+ def send_message(self, message):
+ self.message = message
+ self.event.set()
diff --git a/testing/web-platform/tests/tools/wave/data/session.py b/testing/web-platform/tests/tools/wave/data/session.py
new file mode 100644
index 0000000000..bb1b932dae
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/data/session.py
@@ -0,0 +1,78 @@
+# mypy: allow-untyped-defs
+
+from ..testing.test_loader import MANUAL, AUTOMATIC
+
+PAUSED = "paused"
+RUNNING = "running"
+COMPLETED = "completed"
+ABORTED = "aborted"
+PENDING = "pending"
+UNKNOWN = "unknown"
+
+
+class Session:
+ def __init__(
+ self,
+ token=None,
+ test_types=None,
+ user_agent=None,
+ labels=None,
+ tests=None,
+ pending_tests=None,
+ running_tests=None,
+ timeouts=None,
+ status=None,
+ test_state=None,
+ last_completed_test=None,
+ recent_completed_count=None,
+ date_created=None,
+ date_started=None,
+ date_finished=None,
+ is_public=None,
+ reference_tokens=None,
+ browser=None,
+ expiration_date=None,
+ type=None,
+ malfunctioning_tests=None
+ ):
+ if token is None:
+ token = ""
+ self.token = token
+ if test_types is None:
+ test_types = [AUTOMATIC, MANUAL]
+ self.test_types = test_types
+ if user_agent is None:
+ user_agent = ""
+ self.user_agent = user_agent
+ if labels is None:
+ labels = []
+ self.labels = labels
+ self.tests = tests
+ self.pending_tests = pending_tests
+ self.running_tests = running_tests
+ if timeouts is None:
+ timeouts = {}
+ self.timeouts = timeouts
+ if status is None:
+ status = UNKNOWN
+ self.status = status
+ self.test_state = test_state
+ self.last_completed_test = last_completed_test
+ if recent_completed_count is None:
+ recent_completed_count = 0
+ self.recent_completed_count = recent_completed_count
+ self.date_created = date_created
+ self.date_started = date_started
+ self.date_finished = date_finished
+ if is_public is None:
+ is_public = False
+ self.is_public = is_public
+ if reference_tokens is None:
+ reference_tokens = []
+ self.reference_tokens = reference_tokens
+ self.browser = browser
+ self.expiration_date = expiration_date
+ self.type = type
+ if malfunctioning_tests is None:
+ malfunctioning_tests = []
+ self.malfunctioning_tests = malfunctioning_tests
diff --git a/testing/web-platform/tests/tools/wave/docs/README.md b/testing/web-platform/tests/tools/wave/docs/README.md
new file mode 100644
index 0000000000..88092b63e7
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/README.md
@@ -0,0 +1,14 @@
+# WAVE Test Runner Documentation
+
+As part of the [WAVE project](https://cta.tech/Resources/Standards/WAVE-Project)
+the WAVE Test Runner was implemented to run tests that confirm proper implementation
+of specified features. The code base is used in different subprojects, each of which
+may have different requirements and scopes, so some features and screenshots in
+this documentation may use specific contexts.
+
+## Contents
+
+- [Configuration](./config.md): How to configure the test runner
+- [REST API](./rest-api/README.md): Documentation of endpoints, parameters and payloads
+ - [Guides](./rest-api/guides/README.md): How to use certain API mechanisms
+- [Usage Guide](./usage/usage.md): General usage guide
diff --git a/testing/web-platform/tests/tools/wave/docs/config.md b/testing/web-platform/tests/tools/wave/docs/config.md
new file mode 100644
index 0000000000..afc7c0b05f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/config.md
@@ -0,0 +1,326 @@
+# Configuration - [WAVE Test Runner](./README.md)
+
+Using a configuration file, the WAVE Test Runner can be configured to be more
+functional in different use cases. This document lists all configuration
+parameters and what they are used for.
+
+## Contents
+
+1. [Location and structure](#1-location-and-structure)
+2. [Parameters](#2-parameters)
+ 1. [Results directory](#21-results-directory)
+ 2. [Test Timeouts](#22-test-timeouts)
+ 3. [Enable import of results](#23-enable-import-of-results)
+ 4. [Web namespace](#24-web-namespace)
+ 5. [Persisting interval](#25-persisting-interval)
+ 6. [API titles](#26-api-titles)
+ 7. [Enable listing all sessions](#27-enable-listing-all-sessions)
+ 8. [Event caching duration](#28-event-caching-duration)
+ 9. [Enable test type selection](#29-enable-test-type-selection)
+
+## 1. Location and structure
+
+Configuration parameters are defined in a JSON file called `config.json` in
+the project root of the WPT runner. This configuration file is also used by
+the WPT runner, so any WAVE Test Runner related configuration parameters are
+wrapped inside a `wave` object.
+
+```
+<PRJ_ROOT>/config.json
+```
+
+```json
+{
+ "wave": {
+ "results": "./results"
+ }
+}
+```
+
+All the default values are stored in a configuration file inside the wave
+directory:
+
+```
+<PRJ_ROOT>/tools/wave/config.default.json
+```
+
+```json
+{
+ "wave": {
+ "results": "./results",
+ "timeouts": {
+ "automatic": 60000,
+ "manual": 300000
+ },
+ "enable_import_results": false,
+ "web_root": "/_wave",
+ "persisting_interval": 20,
+ "api_titles": [],
+ "enable_read_sessions": false,
+ "event_cache_duration": 60000
+ }
+}
+```
+[🠑 top](#configuration---wave-test-runner)
+
+## 2. Parameters
+
+### 2.1 Results directory
+
+The results parameter sets where results and session information are stored.
+
+**Parameters**:
+
+```json
+{
+ "results": "<String>"
+}
+```
+
+- **results**: Path to the results directory. Can be absolute, or relative to
+ the project root.
+
+**Default**:
+
+```json
+{
+ "results": "./results"
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.2 Test Timeouts
+
+The test timeouts set the default test timeout for different test types.
+
+**Parameters**:
+
+```json
+{
+ "timeouts": {
+ "automatic": "<Number>",
+ "manual": "<Number>"
+ }
+}
+```
+
+- **timeouts**: Holds the key value pairs for different types of tests
+ - **automatic**: Default time to wait for automatic tests in milliseconds.
+ - **manual**: Default time to wait for manual tests in milliseconds.
+
+**Default**:
+
+```json
+{
+ "timeouts": {
+ "automatic": 600000,
+ "manual": 300000
+ }
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.3 Enable import of results
+
+This parameter enables the capability to import session results from other
+WAVE Test Runner instances into the current one.
+
+**Parameters**:
+
+```json
+{
+ "enable_import_results": "<Boolean>"
+}
+```
+
+- **enable_import_results**: Sets whether or not to enable the [REST API endpoint to import results](./rest-api/results-api/import.md)
+
+**Default**:
+
+```json
+{
+ "enable_import_results": "false"
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.4 Web namespace
+
+All static resources and REST API endpoints are accessible under a
+configurable namespace. This namespace can be set using the `web_root`
+parameter.
+
+**Parameters**:
+
+```json
+{
+ "web_root": "<String>"
+}
+```
+
+- **web_root**: The namespace to use
+
+**Default**:
+
+```json
+{
+ "web_root": "/_wave"
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.5 Persisting interval
+
+The persisting interval specifies how many tests have to be completed until
+all session information is updated in the results directory.
+
+For example, if set to 5, then every 5 completed tests the `info.json` in the
+results directory is updated with the current state of the session. When
+restarting the server, this state is used to reconstruct all sessions testing
+state.
+
+**Parameters**:
+
+```json
+{
+ "persisting_interval": "<Number>"
+}
+```
+
+- **persisting_interval**: The number of tests to execute until the persisted
+ session information gets updated
+
+**Default**:
+
+```json
+{
+ "persisting_interval": 20
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.6 API titles
+
+The API titles are used to display a more human readible representation of an
+API that tests are available for. Using the parameter it is possible to assign
+a name to an API subdirectory.
+
+**Parameters**:
+
+```json
+{
+ "api_titles": [
+ {
+ "title": "<String>",
+ "path": "<String>"
+ },
+ ...
+ ]
+}
+```
+
+- **api_titles**: An array of titles assigned to paths
+ - **title**: The displayed title of the API in the UI
+ - **path**: The path relative to the project root of the tested API
+
+**Default**:
+
+```json
+{
+ "api_titles": []
+}
+```
+
+**Example**:
+
+```json
+{
+ "api_titles": [
+ {
+ "title": "WebGL",
+ "path": "/webgl"
+ },
+ {
+ "title": "WebRTC Extensions",
+ "path": "/webrtc-extensions"
+ }
+ ]
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.7 Enable listing all sessions
+
+This parameter enables the [REST API endpoint to list all available sessions](./rest-api/sessions-api/read_sessions.md).
+
+**Parameters**:
+
+```json
+{
+ "enable_read_sessions": "<Boolean>"
+}
+```
+
+- **enable_import_results**: Sets whether or not to enable the REST API endpoint read all sessions
+
+**Default**:
+
+```json
+{
+ "enable_read_sessions": "false"
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.8 Event caching duration
+
+This parameters specifies how long events are hold in the cache. Depending on
+how fast clients are able to evaluate events, this value may be changed
+accordingly.
+
+**Parameters**:
+
+```json
+{
+ "event_cache_duration": "<Number>"
+}
+```
+
+- **event_cache_duration**: The duration events are hold in the cache in milliseconds
+
+**Default**:
+
+```json
+{
+ "event_cache_duration": 60000
+}
+```
+
+[🠑 top](#configuration---wave-test-runner)
+
+### 2.9 Enable test type selection
+
+Sets display of test type configuration UI elements.
+
+**Parameters**:
+
+```json
+{
+ "enable_test_type_selection": "<Boolean>"
+}
+```
+
+- **enable_test_type_selection**: Whether or not test type UI controls are displayed
+
+**Default**:
+
+False
+
+[🠑 top](#configuration---wave-test-runner)
diff --git a/testing/web-platform/tests/tools/wave/docs/res/configuration_page_bottom.jpg b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_bottom.jpg
new file mode 100644
index 0000000000..85d4bdc3fc
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_bottom.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_malfunctioning.jpg b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_malfunctioning.jpg
new file mode 100644
index 0000000000..28f42230d5
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_malfunctioning.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_prev_excluded.jpg b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_prev_excluded.jpg
new file mode 100644
index 0000000000..c71b34f668
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_prev_excluded.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_raw.jpg b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_raw.jpg
new file mode 100644
index 0000000000..f1428f313d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_exclude_add_raw.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/configuration_page_top.jpg b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_top.jpg
new file mode 100644
index 0000000000..93b6522bc7
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/configuration_page_top.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/landing_page.jpg b/testing/web-platform/tests/tools/wave/docs/res/landing_page.jpg
new file mode 100644
index 0000000000..c032a7b291
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/landing_page.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions.jpg b/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions.jpg
new file mode 100644
index 0000000000..642a009d4a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_filtered.jpg b/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_filtered.jpg
new file mode 100644
index 0000000000..266a5c1159
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_filtered.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_pinned_recent.jpg b/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_pinned_recent.jpg
new file mode 100644
index 0000000000..fb92a47bf4
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/overview_page_sessions_pinned_recent.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/overview_page_top.jpg b/testing/web-platform/tests/tools/wave/docs/res/overview_page_top.jpg
new file mode 100644
index 0000000000..860272796a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/overview_page_top.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/results_page_api_results.jpg b/testing/web-platform/tests/tools/wave/docs/res/results_page_api_results.jpg
new file mode 100644
index 0000000000..e0e2314a78
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/results_page_api_results.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/results_page_api_results_export.jpg b/testing/web-platform/tests/tools/wave/docs/res/results_page_api_results_export.jpg
new file mode 100644
index 0000000000..c85ce980fe
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/results_page_api_results_export.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/results_page_bottom.jpg b/testing/web-platform/tests/tools/wave/docs/res/results_page_bottom.jpg
new file mode 100644
index 0000000000..60244a8e46
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/results_page_bottom.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/results_page_last_timed_out.jpg b/testing/web-platform/tests/tools/wave/docs/res/results_page_last_timed_out.jpg
new file mode 100644
index 0000000000..bb63bd4d51
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/results_page_last_timed_out.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/results_page_malfunctioning_list.jpg b/testing/web-platform/tests/tools/wave/docs/res/results_page_malfunctioning_list.jpg
new file mode 100644
index 0000000000..fcd6b370fd
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/results_page_malfunctioning_list.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/res/results_page_top.jpg b/testing/web-platform/tests/tools/wave/docs/res/results_page_top.jpg
new file mode 100644
index 0000000000..3d0f876c7b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/res/results_page_top.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/README.md b/testing/web-platform/tests/tools/wave/docs/rest-api/README.md
new file mode 100644
index 0000000000..c6d21823a7
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/README.md
@@ -0,0 +1,76 @@
+# REST API - [WAVE Test Runner](../README.md)
+
+The REST API allows the WAVE server to be integrated into other systems. Every
+call must be preceded with a namespace or web root, which is omitted in this
+documentation. The default web root is `/_wave`, which can be changed in the
+config.json using the keyword `web_root`.
+
+Additional [REST API Guides](./guides/README.md) can help to understand how to
+use these endpoints in context.
+
+## Sessions API <a name="sessions-api"></a>
+
+| Name | Description |
+| -------------------------------------------------- | -------------------------------------------------------------- |
+| [`create`](./sessions-api/create.md) | Creates a new test session. |
+| [`read session`](./sessions-api/read.md) | Reads a sessions configuration. |
+| [`read sessions`](./sessions-api/read_sessions.md) | Reads all session tokens, expandable with configs and statuses |
+| [`read public`](./sessions-api/read-public.md) | Reads all public sessions tokens. |
+| [`update`](./sessions-api/update.md) | Updates a session configuration. |
+| [`delete`](./sessions-api/delete.md) | Deletes a test session. |
+| [`status`](./sessions-api/status.md) | Reads the status and progress of a session. |
+| [`start`](./sessions-api/control.md#start) | Starts a test session. |
+| [`stop`](./sessions-api/control.md#stop) | Stops a test session. |
+| [`pause`](./sessions-api/control.md#pause) | Pauses a test session. |
+| [`find`](./sessions-api/find.md) | Finds a session token by providing a token fragment. |
+| [`labels`](./sessions-api/labels.md) | Attach labels to sessions for organization purposes. |
+| [`listen events`](./sessions-api/events.md) | Register for sessions specific events. |
+| [`push events`](./sessions-api/events.md) | Push session specific events. |
+
+## Tests API <a name="tests-api"></a>
+
+| Name | Description |
+| --------------------------------------------------------------- | ------------------------------------------------------ |
+| [`read all`](./tests-api/read-all.md) | Reads all tests available. |
+| [`read session`](./tests-api/read-session.md) | Reads all tests that are part of a session. |
+| [`read next`](./tests-api/read-next.md) | Reads the next test to run in a session. |
+| [`read last completed`](./tests-api/read-last-completed.md) | Reads the last completed tests of a session. |
+| [`read malfunctioning`](./tests-api/read-malfunctioning.md) | Reads the list of malfunctioning tests of a session. |
+| [`update malfunctioning`](./tests-api/update-malfunctioning.md) | Updates the list of malfunctioning tests of a session. |
+| [`read available apis`](./tests-api/read-available-apis.md) | Reads all available APIs names and paths. |
+
+## Results API <a name="results-api"></a>
+
+| Name | Description |
+| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
+| [`create`](./results-api/create.md) | Create a new test result for a test in a session. |
+| [`read`](./results-api/read.md) | Read all test results of a session. |
+| [`read compact`](./results-api/read-compact.md) | Read the number of passed, failed, timed out and not run tests of a session. |
+| [`import session`](./results-api/import.md#1-import-session) | Import session results. |
+| [`import api results`](./results-api/import.md#2-import-api-results) | Import results of a specific API into existing session. |
+| [`download`](./results-api/download.md#1-download) | Download all session results to import into other WMATS instance. |
+| [`download api`](./results-api/download.md#2-download-api) | Download all results of an API. |
+| [`download all apis`](./results-api/download.md#3-download-all-apis) | Download all results of all APIs. |
+| [`view report`](./results-api/download.md#4-download-report) | View the WPT report of an API of a session. |
+| [`view multi report`](./results-api/download.md#5-download-multi-report) | View the WPT report of an API of multiple sessions. |
+| [`download overview`](./results-api/download.md#6-download-overview) | Download an overview of results of all APIs of a session. |
+| [`view report`](./results-api/view.md#1-view-report) | Read an url to a hosted version of a WPT report for an API of a session. |
+| [`view multi report`](./results-api/view.md#2-view-multi-report) | Read an url to a hosted version of a WPT report for an API of multiple session. |
+
+## Devices API <a name="devices-api"></a>
+
+| Name | Description |
+| -------------------------------------------------------------------- | -------------------------------------- |
+| [`create`](./devices-api/create.md) | Registers a new device. |
+| [`read device`](./devices-api/read-device.md) | Read information of a specific device. |
+| [`read devices`](./devices-api/read-devices.md) | Read a list of all available devices. |
+| [`register event listener`](./devices-api/register.md) | Register for a device specific event. |
+| [`send event`](./devices-api/send-event.md) | Sends a device specific event. |
+| [`register global event listener`](./devices-api/register-global.md) | Register for a global device event. |
+| [`send global event`](./devices-api/send-global-event.md) | Sends a global device event. |
+
+## General API <a name="general-api"></a>
+
+| Name | Description |
+| ----------------------------------- | ---------------------------------------------------- |
+| [`status`](./general-api/status.md) | Returns information on how the server is configured. |
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/create.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/create.md
new file mode 100644
index 0000000000..5ed1355ad2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/create.md
@@ -0,0 +1,33 @@
+# `create` - [Devices API](../README.md#devices-api)
+
+The `create` method of the devices API registers a new devices to remotely
+start test sessions on. The device will automatically be unregistered if its
+not registering for an [event](./register.md) for more than a minute.
+
+## HTTP Request
+
+`POST /api/devices`
+
+## Response Payload
+
+```json
+{
+ "token": "<String>"
+}
+```
+
+- **token** specifies the handle to reference the registered device by.
+
+## Example
+
+**Request:**
+
+`POST /api/devices`
+
+**Response:**
+
+```json
+{
+ "token": "e5f0b92e-8309-11ea-a1b1-0021ccd76152"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/event-types.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/event-types.md
new file mode 100644
index 0000000000..ead1f0695b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/event-types.md
@@ -0,0 +1,37 @@
+# Device Event Types - [Devices API](../README.md#devices-api)
+
+Device events are events that are triggered by actions related to devices.
+This document specifies what possible events can occur and what they mean.
+
+## Device specific <a name="device-specific"></a>
+
+Device specific events are always related to a specific device, referenced by
+its token.
+
+### Start session
+
+**Type identifier**: `start_session`
+**Payload**:
+```json
+{
+ "session_token": "<String>"
+}
+```
+**Description**: Triggered by a companion device, this event starts a
+pre-configured session on the registered device.
+
+## Global <a name="global"></a>
+
+Global device events have no special relation to any device.
+
+### Device added
+
+**Type identifier**: `device_added`
+**Payload**: Same as response of [`read device`](./read-device.md) method.
+**Description**: This event is triggered once a new device registers.
+
+### Device removed
+
+**Type identifier**: `device_removed`
+**Payload**: Same as response of [`read device`](./read-device.md) method.
+**Description**: This event is triggered once a device unregisters.
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-device.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-device.md
new file mode 100644
index 0000000000..9762b17e71
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-device.md
@@ -0,0 +1,41 @@
+# `read device` - [Devices API](../README.md#devices-api)
+
+The `read device` method of the devices API fetches available information regarding a
+specific device.
+
+## HTTP Request
+
+`GET /api/devices/<device_token>`
+
+## Response Payload
+
+```json
+{
+ "token": "<String>",
+ "user_agent": "<String>",
+ "last_active": "<String>",
+ "name": "<String>"
+}
+```
+
+- **token** is the unique identifier of the device.
+- **user_agent** is the user agent of the request the device was registered with.
+- **last_active** defines the point in time the device was last active. Expressed as ISO 8601 date and time format.
+- **name** the name the device was assign based on its user agent.
+
+## Example
+
+**Request:**
+
+`GET /api/devices/1d9f5d30-830f-11ea-8dcb-0021ccd76152`
+
+**Response:**
+
+```json
+{
+ "token": "1d9f5d30-830f-11ea-8dcb-0021ccd76152",
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36",
+ "last_active": 1587391153295,
+ "name": "Chrome 81.0.4044"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-devices.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-devices.md
new file mode 100644
index 0000000000..519b06c610
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/read-devices.md
@@ -0,0 +1,47 @@
+# `read devices` - [Devices API](../README.md#devices-api)
+
+The `read devices` method of the devices API fetches a list of all registered
+devices.
+
+## HTTP Request
+
+`GET /api/devices`
+
+## Response Payload
+
+```json
+[
+ {
+ "token": "<String>",
+ "user_agent": "<String>",
+ "last_active": "<String>",
+ "name": "<String>"
+ },
+ ...
+]
+```
+
+- **token** is the unique identifier of the device.
+- **user_agent** is the user agent of the request the device was registered with.
+- **last_active** defines the point in time the device was last active. Expressed as ISO 8601 date and time format.
+- **name** the name the device was assign based on its user agent.
+
+## Example
+
+**Request:**
+
+`GET /api/devices`
+
+**Response:**
+
+```json
+[
+ {
+ "token": "1d9f5d30-830f-11ea-8dcb-0021ccd76152",
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36",
+ "last_active": 1587391153295,
+ "name": "Chrome 81.0.4044"
+ },
+ ...
+]
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register-global.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register-global.md
new file mode 100644
index 0000000000..fd3a2ad998
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register-global.md
@@ -0,0 +1,54 @@
+# `register global event listener` - [Devices API](../README.md#devices-api)
+
+The `register global event listener` method of the devices API notifies a
+registered listener upon global device events. It uses HTTP long polling in
+send the event to this listener in real time, so upon receiving an event, the
+connection has to be reestablished by the client to receive further events.
+
+## HTTP Request
+
+`GET /api/devices/events`
+
+## Query Parameters
+
+| Parameter | Desciption | Example |
+| ---------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
+| `device_token` | The token of the device which performed the request. (Optional) Lets the server know the registered device is still active. | `device_token=7dafeec0-c351-11e9-84c5-3d1ede2e7d2e` |
+
+## Response Payload
+
+```json
+{
+ "type": "<String>",
+ "data": "<Any>"
+}
+```
+
+- **type** defines what type of event has been triggered.
+- **data** contains the event specific payload.
+
+## Event Types
+
+See [global events](./event-types.md#global)
+
+## Example
+
+**Request:**
+
+`GET /api/devices/events`
+
+**Response:**
+
+```json
+{
+ "type": "device_added",
+ "data": {
+ "token": "1d9f5d30-830f-11ea-8dcb-0021ccd76152",
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36",
+ "last_active": 1587391153295,
+ "name": "Chrome 81.0.4044"
+ }
+}
+```
+
+
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register.md
new file mode 100644
index 0000000000..adee3b4742
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/register.md
@@ -0,0 +1,52 @@
+# `register event listener` - [Devices API](../README.md#devices-api)
+
+The `register event listener` method of the devices API notifies a registered
+listener upon device specific events. It uses HTTP long polling in send the
+event to this listener in real time, so upon receiving an event, the
+connection has to be reestablished by the client to receive further events.
+
+## HTTP Request
+
+`GET /api/devices/<device_token>/events`
+
+## Query Parameters
+
+| Parameter | Desciption | Example |
+| ---------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
+| `device_token` | The token of the device which performed the request. (Optional) Lets the server know the registered device is still active. | `device_token=7dafeec0-c351-11e9-84c5-3d1ede2e7d2e` |
+
+## Response Payload
+
+```json
+{
+ "type": "<String>",
+ "data": "<Any>"
+}
+```
+
+- **type** defines what type of event has been triggered.
+- **data** contains the event specific payload.
+
+## Event Types
+
+### Start session
+
+See [device specific events](./event-types.md#device-specific)
+
+## Example
+
+**Request:**
+
+`GET /api/devices/1d9f5d30-830f-11ea-8dcb-0021ccd76152/events`
+
+**Response:**
+
+```json
+{
+ "type": "start_session",
+ "data": {
+ "session_token": "974c84e0-c35d-11e9-8f8d-47bb5bb0037d"
+ }
+}
+```
+
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-event.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-event.md
new file mode 100644
index 0000000000..0ec74aec5c
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-event.md
@@ -0,0 +1,43 @@
+# `send event` - [Devices API](../README.md#devices-api)
+
+The `send event` method of the devices API enables sending an event to
+listeners of specific devices events.
+
+## HTTP Request
+
+`POST /api/devices/<device_token>/events`
+
+## Request Payload
+
+```json
+{
+ "type": "<String>",
+ "data": "<Any>"
+}
+```
+
+- **type** defines what type of event has been triggered.
+- **data** contains the event specific payload.
+
+## Event Types
+
+See [device specific events](./event-types.md#device-specific)
+
+## Example
+
+**Request:**
+
+`POST /api/devices/1d9f5d30-830f-11ea-8dcb-0021ccd76152/events`
+
+```json
+{
+ "type": "start_session",
+ "data": {
+ "session_token": "974c84e0-c35d-11e9-8f8d-47bb5bb0037d"
+ }
+}
+```
+
+**Response:**
+
+`200 OK`
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-global-event.md b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-global-event.md
new file mode 100644
index 0000000000..aa5238dc7f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/devices-api/send-global-event.md
@@ -0,0 +1,46 @@
+# `send global event` - [Devices API](../README.md#devices-api)
+
+The `send global event` method of the devices API enables sending an event to
+listeners of global device events.
+
+## HTTP Request
+
+`POST /api/devices/events`
+
+## Request Payload
+
+```json
+{
+ "type": "<String>",
+ "data": "<Any>"
+}
+```
+
+- **type** defines what type of event has been triggered.
+- **data** contains the event specific payload.
+
+## Event Types
+
+See [global events](./event-types.md#global)
+
+## Example
+
+**Request:**
+
+`POST /api/devices/1d9f5d30-830f-11ea-8dcb-0021ccd76152/events`
+
+```json
+{
+ "type": "device_added",
+ "data": {
+ "token": "1d9f5d30-830f-11ea-8dcb-0021ccd76152",
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36",
+ "last_active": 1587391153295,
+ "name": "Chrome 81.0.4044"
+ }
+}
+```
+
+**Response:**
+
+`200 OK`
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/general-api/status.md b/testing/web-platform/tests/tools/wave/docs/rest-api/general-api/status.md
new file mode 100644
index 0000000000..8af510066a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/general-api/status.md
@@ -0,0 +1,41 @@
+# `status` - [General API](../README.md#general-api)
+
+The `status` method is used to ensure the server is reachable and to determine
+what features of different server APIs are enabled.
+
+## HTTP Request
+
+```
+GET /api/status
+```
+
+### Response
+
+```json
+{
+ "version_string": "String",
+ "import_results_enabled": "Boolean",
+ "reports_enabled": "Boolean",
+ "read_sessions_enabled": "Boolean"
+}
+```
+
+- **version_string**: The version of the server.
+- **import_results_enabled**: If true the [`import result`](../results-api/import.md) endpoint is available
+- **reports_enabled**: If true the server will generate reports for completed APIs in a given test session.
+- **read_sessions_enabled**: If true it is possible to list all sessions using the [`read sessions`](../sessions-api/read_sessions.md) endpoint of the sessions API
+
+## Example
+
+```
+GET /api/status
+```
+
+```json
+{
+ "version_string": "v2.0.0",
+ "import_results_enabled": false,
+ "reports_enabled": true,
+ "read_sessions_enabled": false
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/guides/README.md b/testing/web-platform/tests/tools/wave/docs/rest-api/guides/README.md
new file mode 100644
index 0000000000..c331bb8e66
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/guides/README.md
@@ -0,0 +1,10 @@
+# REST API Guides - [WAVE Test Runner](../../README.md)
+
+In addition to the [REST API documentation](../README.md), these guide shall
+provide a better understanding on how to properly use the different endpoints.
+
+[Starting sessions on a DUT using the devices API](./session-start-devices-api.md):
+How to register a DUT and start a pre-configured session on it.
+
+[Sending and receiving session events](./session-events.md):
+How to register for session events and push events to other listeners.
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-events.md b/testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-events.md
new file mode 100644
index 0000000000..462737c652
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-events.md
@@ -0,0 +1,52 @@
+# Sending and receiving session events
+
+The session event endpoints allow to listen for events related to a specific
+session and to send new events to all registered listeners.
+
+See all [REST API Guides](./README.md).
+
+## Register for session specific events
+
+To receive events of a session, simply perform a GET request to the desired
+sessions event endpoint. For example, if we want to receive any events that
+are related to the session with token `6fdbd1a0-c339-11e9-b775-6d49dd567772`:
+
+```
+GET /_wave/api/sessions/6fdbd1a0-c339-11e9-b775-6d49dd567772/events
+```
+
+```json
+{
+ "type": "status",
+ "data": "paused"
+}
+```
+
+As this endpoint makes use of the HTTP long polling, you will not immediately
+receive a response. The connection stays open either until an event gets
+triggered, in which case the server will respond with that events data, or
+there is no event within the timeout, which will return an empty response.
+
+With one request only one event can be received. To get any further events,
+additional requests are necessary. To not miss any events, it is important to
+perform the next request immediately after receiving a response.
+
+## Sending events
+
+To create a new event, simply send a POST request containing the event data to
+the desired sessions event endpoint. For example, if you want to trigger a new
+event for a session with token `6fdbd1a0-c339-11e9-b775-6d49dd567772`:
+
+```
+POST /_wave/api/sessions/6fdbd1a0-c339-11e9-b775-6d49dd567772/events
+```
+
+```json
+{
+ "type": "status",
+ "data": "paused"
+}
+```
+
+This will cause any client, that currently has a connection open as described
+in the preceding section, to receive the specified event.
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-start-devices-api.md b/testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-start-devices-api.md
new file mode 100644
index 0000000000..a376d31617
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/guides/session-start-devices-api.md
@@ -0,0 +1,60 @@
+# Starting sessions on a DUT using the devices API
+
+See all [REST API Guides](./README.md).
+
+## Connecting the DUT
+
+To start a session on a DUT using the devices API, first register the DUT at
+the test runner.
+
+```
+POST /api/devices
+```
+
+```json
+{
+ "token": "fa3fb226-98ef-11ea-a21d-0021ccd76152"
+}
+```
+
+Using the device token, you can listen for any events related to the device.
+
+```
+GET /api/devices/fa3fb226-98ef-11ea-a21d-0021ccd76152/events
+```
+
+Once an event occurs, the response to this call will contain the event data.
+If no event occurs until the request times out, you have to perfom another call.
+
+```json
+{
+ "type": "start_session",
+ "data": {
+ "session_token": "98ed4b8e-98ed-11ea-9de7-0021ccd76152"
+ }
+}
+```
+
+Using this data you can start the session and get the URL to the next test to
+open.
+
+## Triggering the session start
+
+Once a device is registered and waits for events, you can use the device's
+event channel to push an event to start a session on it.
+
+```
+POST /api/devices/fa3fb226-98ef-11ea-a21d-0021ccd76152/events
+```
+
+```json
+{
+ "type": "start_session",
+ "data": {
+ "session_token": "98ed4b8e-98ed-11ea-9de7-0021ccd76152"
+ }
+}
+```
+
+The session related to the provided token can be a newly created one or may
+already be running.
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/config.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/config.md
new file mode 100644
index 0000000000..a60485dadc
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/config.md
@@ -0,0 +1,34 @@
+# `config` - [Results API](../README.md#results-api)
+
+The `config` method is used to determine what features of the results API are
+enabled. Features that can be enabled or disabled are the
+[`import`](./import.md) method and the generation of reports and therefore
+[`download and view`](./download.md) methods.
+
+## HTTP Request
+
+`GET /api/results/config`
+
+## Response
+
+```json
+{
+ "import_enabled": "Boolean",
+ "reports_enabled": "Boolean"
+}
+```
+
+## Example
+
+**Request:**
+
+`GET /api/results/config`
+
+**Response:**
+
+```json
+{
+ "import_enabled": false,
+ "reports_enabled": true
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/create.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/create.md
new file mode 100644
index 0000000000..5839702eda
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/create.md
@@ -0,0 +1,65 @@
+# `create` - [Results API](../README.md#results-api)
+
+The `create` method of the results API creates a test result for a given test of a test session.
+
+## HTTP Request
+
+`POST /api/results/<session_token>`
+
+## Request Payload
+
+```json
+{
+ "test": "String",
+ "status": "Enum['OK', 'ERROR', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String",
+ "subtests": [
+ {
+ "name": "String",
+ "status": "Enum['PASS', 'FAIL', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String"
+ }
+ ]
+}
+```
+
+- **test** specifies the test to create the result for.
+- **status** specifies the overall status of the test. It does not represent a result, but rather if the contained tests were executed as intended or if something went wrong running the test.
+ - **OK**: All tests were executed without problems.
+ - **ERROR**: There was an error running one or multiple tests.
+ - **TIMEOUT**: It took too long for the tests to execute.
+ - **NOT_RUN**: This test was skipped.
+- **message** contains the reason for the overall status. If the status is `OK` the message should be `null`.
+- **subtests** contains the actual results of the tests executed in this file.
+ - **name**: The name of the test.
+ - **status**: The status of the result:
+ - **PASS**: The test was executed successfully.
+ - **FAIL**: The test did not meet at least one assertion.
+ - **TIMEOUT**: It took too long for this test to execute.
+ - **NOT_RUN**: This test was skipped.
+ - **message** contains the reason for the tests failure.
+
+## Example
+
+**Request:**
+
+`POST /api/results/d89bcc00-c35b-11e9-8bb7-9e3d7595d40c`
+
+```json
+{
+ "test": "/apiOne/test/one.html",
+ "status": "OK",
+ "message": null,
+ "subtests": [
+ {
+ "name": "Value should be X",
+ "status": "FAIL",
+ "message": "Expected value to be X but got Y"
+ }
+ ]
+}
+```
+
+**Response:**
+
+`200 OK` \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/download.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/download.md
new file mode 100644
index 0000000000..8cfa7e7531
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/download.md
@@ -0,0 +1,127 @@
+# Downloading and viewing results and reports - [Results API](../README.md#results-api)
+
+There are multiple methods to download or view reports generated by the WPT
+Report tool or just the plain json results with the structure as described in
+the [`create`](./create.md) method of the results API.
+
+## 1. `download`
+
+Downloads all results of a session as ZIP, which other instances of the WMAS
+Test Runner can import.
+
+### HTTP Request
+
+`GET /api/results/<session_token>/export`
+
+### Example
+
+`GET /api/results/f63700a0-c35f-11e9-af33-9e0d4c1f1370/export`
+
+## 2. `download api`
+
+Downloads all results of a single API in one json file.
+
+### HTTP Request
+
+`GET /api/results/<session_token>/<api_name>/json`
+
+### File Structure
+
+```json
+{
+ "results": [
+ {
+ "test": "String",
+ "status": "Enum['OK', 'ERROR', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String",
+ "subtests": [
+ {
+ "name": "String",
+ "status": "Enum['PASS', 'FAIL', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String"
+ }
+ ]
+ }
+ ]
+}
+```
+
+Results are structured as explained in the [`create`](./create.md) method of the results API.
+
+### Example
+
+`GET /api/results/f63700a0-c35f-11e9-af33-9e0d4c1f1370/apiOne/json`
+
+## 3. `download all apis`
+
+Downloads all results of all APIs of a session as zip file containing one json file per API.
+
+### HTTP Request
+
+`GET /api/results/<session_token>/json`
+
+### File Structure
+
+There is one json file per API, each structured as described in the [`download api`](#download-api) method.
+
+### Example
+
+`GET /api/results/f63700a0-c35f-11e9-af33-9e0d4c1f1370/json`
+
+## 4. `view report`
+
+Returns a URL to a report of an API of a session, generated by the WPT Report tool, which is a static HTML page.
+
+### HTTP Request
+
+`GET /api/results/<session_token>/<api_name>/reporturl`
+
+### Example
+
+`GET /api/results/f63700a0-c35f-11e9-af33-9e0d4c1f1370/apiOne/reporturl`
+
+**Response**
+
+```json
+{
+ "uri": "/results/8f7f2fdc-62eb-11ea-8615-b8ca3a7b18ad/2dcontext/all.html"
+}
+```
+
+## 5. `view multi report`
+
+Returns a URL to a report of an API of multiple session, generated by the WPT Report tool, which is a static HTML page.
+
+### HTTP Request
+
+`GET /api/results/<api_name>/reporturl`
+
+### Query Parameters
+
+| Parameter | Description | Default | Example |
+| --------- | ------------------------------------------------------------ | ------- | -------------------------------- |
+| `tokens` | Comma separated list of tokens to create a multi report for. | none | `tokens=token_a,token_b,token_c` |
+
+### Example
+
+`GET /api/results/apiOne/reporturl?tokens=8f7f2fdc-62eb-11ea-8615-b8ca3a7b18ad,990b4734-62eb-11ea-a9a5-b8ca3a7b18ad`
+
+**Response**
+
+```json
+{
+ "uri": "/results/comparison-8f7f2fdc-990b473401488e04/reporturl/all.html"
+}
+```
+
+## 6. `download overview`
+
+Downloads a zip file containing an overview for all APIs results of a session as a static HTML page.
+
+### HTTP Request
+
+`GET /api/results/<session_token>/overview`
+
+### Example
+
+`GET /api/results/f63700a0-c35f-11e9-af33-9e0d4c1f1370/overview`
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/import.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/import.md
new file mode 100644
index 0000000000..08c7de6ff7
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/import.md
@@ -0,0 +1,66 @@
+# Import results - [Results API](../README.md#results-api)
+
+If enabled, the WMAS Test Runner can import results exported by any arbitrary other instance.
+
+## 1. Import session
+
+Upload results and create a new, finished session
+
+### HTTP Request
+
+```
+POST /api/results/import
+```
+
+#### HTTP Response
+
+If successful, the server responds with the token of the imported session:
+
+```json
+{
+ "token": "String"
+}
+```
+
+However, if an error occured, the server responds the error message:
+
+```json
+{
+ "error": "String"
+}
+```
+
+## 2. Import API results
+
+Upload a results json file and overwrite results of a specific API.
+
+### HTTP Request
+
+```
+POST /api/results/<session_token>/<api_name>/json
+```
+
+### File structure
+
+```json
+{
+ "results": [
+ {
+ "test": "String",
+ "status": "Enum['OK', 'ERROR', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String",
+ "subtests": [
+ {
+ "name": "String",
+ "status": "Enum['PASS', 'FAIL', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String"
+ }
+ ]
+ }
+ ]
+}
+```
+
+### HTTP Response
+
+If successful, the server responds with status code 200.
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read-compact.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read-compact.md
new file mode 100644
index 0000000000..55b6f41d4b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read-compact.md
@@ -0,0 +1,59 @@
+# `read compact` - [Results API](../README.md#results-api)
+
+The `read compact` method of the results API returns the number of passed, failed, timed out and not run tests per API of a session.
+
+## HTTP Request
+
+`GET /api/results/<session_token>/compact`
+
+## Response Payload
+
+```json
+{
+ "<api_name>": {
+ "pass": "Integer",
+ "fail": "Integer",
+ "timeout": "Integer",
+ "not_run": "Integer",
+ "total": "Integer",
+ "complete": "Integer"
+ }
+}
+```
+
+## Example
+
+**Request:**
+
+`GET /api/results/620bbf70-c35e-11e9-bf9c-742c02629054/compact`
+
+**Response:**
+
+```json
+{
+ "apiOne": {
+ "pass": 311,
+ "fail": 59,
+ "timeout": 23,
+ "not_run": 20,
+ "total": 481,
+ "complete": 413
+ },
+ "apiTwo": {
+ "pass": 548,
+ "fail": 129,
+ "timeout": 53,
+ "not_run": 36,
+ "total": 766,
+ "complete": 766
+ },
+ "apiThree": {
+ "pass": 349,
+ "fail": 45,
+ "timeout": 14,
+ "not_run": 9,
+ "total": 523,
+ "complete": 417
+ }
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read.md
new file mode 100644
index 0000000000..66894e69ee
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/read.md
@@ -0,0 +1,63 @@
+# `read` - [Results API](../README.md#results-api)
+
+The `read` method of the results API returns all available results of a session, grouped by API. It is possible to filter the results to return by test directory or file.
+
+## HTTP Request
+
+`GET /api/results/<session_token>`
+
+## Query Parameters
+
+| Parameter | Description | Default | Example |
+| --------- | ------------------------------ | ------- | --------------------------- |
+| `path` | Path of test directory or file | `/` | `path=/apiOne/test/sub/dir` |
+
+## Response Payload
+
+```json
+{
+ "<api_name>": [
+ {
+ "test": "String",
+ "status": "Enum['OK', 'ERROR', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String",
+ "subtests": [
+ {
+ "name": "String",
+ "status": "Enum['PASS', 'FAIL', 'TIMEOUT', 'NOT_RUN']",
+ "message": "String"
+ }
+ ]
+ }
+ ]
+}
+```
+
+Arrays of results grouped by their respective APIs. Structure of results is the same as described in the [`create`](./create.md) method of the results API.
+
+## Example
+
+**Request:**
+
+`GET /api/results/974c84e0-c35d-11e9-8f8d-47bb5bb0037d?path=/apiOne/test/one.html`
+
+**Response:**
+
+```json
+{
+ "apiOne": [
+ {
+ "test": "/apiOne/test/one.html",
+ "status": "OK",
+ "message": null,
+ "subtests": [
+ {
+ "name": "Value should be X",
+ "status": "FAIL",
+ "message": "Expected value to be X but got Y"
+ }
+ ]
+ }
+ ]
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/view.md b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/view.md
new file mode 100644
index 0000000000..5b60d2ccf2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/results-api/view.md
@@ -0,0 +1,61 @@
+# Viewing Reports - [Results API](../README.md#results-api)
+
+It is possible to view the reports generated by the WPT Report tool directly in the browser using a version of the report that is hosted by the WAVE server. The methods listed here return urls to those hosted reports.
+
+## 1. `view report`
+
+Returns a URL to a report for an API of a single session, generated by the WPT Report tool.
+
+### HTTP Request
+
+`GET /api/results/<session_token>/<api_name>/reporturl`
+
+### Response Payload
+
+```json
+{
+ "uri": "String"
+}
+```
+
+### Example
+
+**Request:**
+
+`GET /api/results/d9caaae0-c362-11e9-943f-eedb305f22f6/apiOne/reporturl`
+
+**Response:**
+
+```json
+{
+ "uri": "/results/d9caaae0-c362-11e9-943f-eedb305f22f6/apiOne/all.html"
+}
+```
+
+## 2. `view multi report`
+
+Returns a URL to a report for an API of multiple session, generated by the WPT Report tool.
+
+### HTTP Request
+
+`GET /api/results/<api_name>/reporturl`
+
+### Query Parameters
+
+| Parameter | Description | Default | Example |
+| --------- | ------------------------------------------------------------ | ------- | -------------------------------- |
+| `tokens` | Comma separated list of tokens to create a multi report for. | none | `tokens=token_a,token_b,token_c` |
+
+### Example
+
+**Request:**
+
+`GET /api/results/apiOne/reporturl?tokens=ce2dc080-c283-11e9-b4d6-e046513784c2,cd922410-c344-11e9-858f-9063f6dd878f`
+
+**Response:**
+
+```json
+{
+ "uri": "/results/comparison-cd922410-ce2dc080-1709d631/apiOne/all.html"
+}
+``` \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/control.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/control.md
new file mode 100644
index 0000000000..c439c118f8
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/control.md
@@ -0,0 +1,25 @@
+# Controlling Sessions - [Sessions API](../README.md#sessions-api)
+
+It is possible to control the execution of tests on the device under test using the session APIs control methods. They change the status of a session and trigger the device under test to fetch a new url to change location to. Depending on the current status of the session this can be a test or a static page showing information about the current status.
+
+## `start`
+The `start` method changes the status of a session from either `PENDING` or `PAUSED` to `RUNNING` and triggers the device under test to execute tests when resuming a paused session.
+
+### HTTP Request
+
+`POST /api/sessions/<session_token>/start`
+
+## `pause`
+The `pause` method changes the status of a session from `RUNNING` to `PAUSED` and pauses the execution of tests on the device under test.
+
+### HTTP Request
+
+`POST /api/sessions/<session_token>/pause`
+
+## `stop`
+The `stop` method finishes a session early by skipping all pending tests, causing a change of the status to `ABORTED`. It is not possible to undo this action and can only be performed on sessions that are not `ABORTED` or `COMPLETED`.
+
+### HTTP Request
+
+`POST /api/sessions/<session_token>/stop`
+
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/create.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/create.md
new file mode 100644
index 0000000000..86c0674afd
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/create.md
@@ -0,0 +1,103 @@
+# `create` - [Sessions API](../README.md#sessions-api)
+
+The `create` method of the sessions API creates a new session. If provided with an configuration it creates a session accordingly. If no configuration is provided it uses default values. It returns the session token of the newly created session, which is the unique identifier of sessions. While a session has the status `PENDING` it is possible to modify the configuration using the [`update`](./update.md) method of the sessions API. As it is required to create the session from the device under test, this is really helpful, since it allows to configure the session using a second device.
+
+## HTTP Request
+
+`POST /api/sessions`
+
+## Request Payload
+
+```json
+{
+ "tests": {
+ "include": "Array<String>",
+ "exclude": "Array<String>"
+ },
+ "types": "Enum['automatic', 'manual']",
+ "timeouts": {
+ "automatic": "Integer",
+ "manual": "Integer",
+ "<test_path>": "Integer"
+ },
+ "reference_tokens": "Array<String>",
+ "labels": "Array<String>",
+ "type": "String"
+}
+```
+
+- **tests** specifies the tests of the session:
+ - **include** specifies what tests should be selected from all available tests. Can be a path to a test file or directory. Provided query parameters will be added to all matching test urls.
+ - **exclude** specifies what tests should be removed from the included tests. Can be a path to a test file or directory.
+- **types** what types of tests should be included. Possible values:
+ - **automatic** tests are tests that execute without user interaction.
+ - **manual** tests are tests that require user interaction.
+- **timeouts** specifies the time to wait for a test to finish in milliseconds.
+ - **automatic**: Sets the default timeout for all automatic tests.
+ - **manual**: Sets the default timeout for all manual tests.
+ - **custom test paths**: Set the timeout for a test file or directory by putting the path with all dots removed as the key.
+- **reference_tokens** specifies a set of completed sessions that is used to filter out all tests that have not passed in all those sessions from the session that is going to be created.
+- **labels** specifies the initial set of labels for the session.
+- **type** specifies the session type to trigger type specific behaviour like different control pages.
+
+### Default
+
+```json
+{
+ "tests": {
+ "include": ["/"],
+ "exclude": []
+ },
+ "types": ["automatic", "manual"],
+ "timeouts": {
+ "automatic": 60000,
+ "manual": 300000
+ },
+ "reference_tokens": [],
+ "labels": []
+}
+```
+
+## Response Payload
+
+If successful, the token of the new session is returned.
+
+```json
+{
+ "token": "String"
+}
+```
+
+## Example
+
+**Request:**
+
+`POST /api/sessions`
+
+```json
+{
+ "tests": {
+ "include": ["/apiOne", "/apiTwo/sub"],
+ "exclude": ["/apiOne/specials"]
+ },
+ "types": ["automatic"],
+ "timeouts": {
+ "automatic": 70000,
+ "/apiOne/example/dir": 30000,
+ "/apiOne/example/filehtml": 45000
+ },
+ "reference_tokens": [
+ "ce2dc080-c283-11e9-b4d6-e046513784c2",
+ "430f47d0-c283-11e9-8776-fcbc36b81035"
+ ],
+ "labels": ["label1", "label2", "label3"]
+}
+```
+
+**Response:**
+
+```json
+{
+ "token": "6fdbd1a0-c339-11e9-b775-6d49dd567772"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/delete.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/delete.md
new file mode 100644
index 0000000000..f11d86035b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/delete.md
@@ -0,0 +1,25 @@
+# `delete` - [Sessions API](../README.md#sessions-api)
+
+The `delete` method of the sessions API is used to delete a session and single results associated with it. However artifacts like generated reports or JSON files containing results of a whole API remain, therefore urls to those resources are still working.
+
+## HTTP Request
+
+`DELETE /api/sessions/<session_token>`
+
+## Example
+
+**Request:**
+
+`DELETE /api/sessions/1592b880-c339-11e9-b414-61af09c491b1`
+
+**Response:**
+
+`200 OK`
+
+**Request:**
+
+`GET /api/sessions/1592b880-c339-11e9-b414-61af09c491b1`
+
+**Response:**
+
+`404 NOT FOUND`
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/event-types.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/event-types.md
new file mode 100644
index 0000000000..455e0a122b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/event-types.md
@@ -0,0 +1,27 @@
+# Session Event Types - [Sessions API](../README.md#sessions-api)
+
+Session events are events that are triggered by actions related to sessions.
+The [`event`](./events.md) functions of the sessions API make use of these events.
+
+## Status change
+
+**Type identifier**: `status`
+**Payload**: `"<String>"`
+Possible Values: `paused`, `running`, `completed`, `aborted`
+**Description**: Triggered once the status of the session changes.
+
+## Resume
+
+**Type identifier**: `resume`
+**Payload**: `"<String>"`
+Contains the token of the session to resume.
+**Description**: Triggered when a specific session is supposed to be resumed.
+This will discard the current session and continue executing the session with
+the provided token.
+
+## Test Completed
+
+**Type identifier**: `test_completed`
+**Payload**: `"<String>"`
+Contains the test case that completed.
+**Description**: Triggered when the test runner received a result for a test.
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/events.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/events.md
new file mode 100644
index 0000000000..c1b693c88c
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/events.md
@@ -0,0 +1,104 @@
+# `events` - [Sessions API](../README.md#sessions-api)
+
+Session events can be used to send messages related to a specific session for
+others to receive. This can include status updates or action that running
+session react on.
+
+For possible events see [Session Event Types](./event-types.md)
+
+## 1. `listen events`
+
+Listen for session specific events by registering on the `events` endpoint using HTTP long polling.
+
+### HTTP Request
+
+```
+GET /api/sessions/<token>/events
+```
+
+### Query Parameters
+
+| Parameter | Desciption | Default | Example |
+| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | -------------- |
+| `last_event` | The number of the last received event. All events that are newer than `last_event` are returned immediately. If there are no newer events, connection stays open until a new event is triggered. | None | `last_event=5` |
+
+#### Response Payload
+
+```json
+[
+ {
+ "type": "String",
+ "data": "String",
+ "number": "Number"
+ },
+ ...
+]
+```
+
+- **type**: the type of event that occurred.
+- **data**: the actual payload of the event
+- **number**: the number of the event
+
+#### Example
+
+```
+GET /api/sessions/6fdbd1a0-c339-11e9-b775-6d49dd567772/events?last_event=8
+```
+
+```json
+[
+ {
+ "type": "status",
+ "data": "paused",
+ "number": 9
+ },
+ {
+ "type": "status",
+ "data": "running",
+ "number": 10
+ },
+ {
+ "type": "status",
+ "data": "paused",
+ "number": 11
+ },
+ {
+ "type": "status",
+ "data": "running",
+ "number": 12
+ }
+]
+```
+
+## 2. `push events`
+
+Push session specific events for any registered listeners to receive.
+
+### HTTP Request
+
+```
+POST /api/sessions/<token>/events
+```
+
+```json
+{
+ "type": "String",
+ "data": "String"
+}
+```
+
+- **type**: the type of event that occurred.
+- **data**: the actual payload of the event
+
+#### Example
+
+```
+POST /api/sessions/6fdbd1a0-c339-11e9-b775-6d49dd567772/events
+```
+
+```json
+{
+ "type": "status",
+ "data": "paused"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/find.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/find.md
new file mode 100644
index 0000000000..3ffc6f58c4
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/find.md
@@ -0,0 +1,29 @@
+# `find` - [Sessions API](../README.md#sessions-api)
+
+The `find` method of the sessions API searches for a session token using a provided token fragment, which is the beginning of a session token with at least 8 characters. Due to data protection, it is not possible to find multiple tokens using one fragment. If the server finds more than one session token, it returns none. In this case more characters need to be added to the fragment, until it matches only one session token.
+
+## HTTP Request
+
+`GET /api/sessions/<token_fragment>`
+
+## Response Payload
+
+```json
+{
+ "token": "String"
+}
+```
+
+### Example
+
+**Request:**
+
+`GET /api/sessions/afd4ecb0`
+
+**Response:**
+
+```json
+{
+ "token": "afd4ecb0-c339-11e9-b66c-eca76c2bea9c"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/labels.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/labels.md
new file mode 100644
index 0000000000..00a8defd98
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/labels.md
@@ -0,0 +1,75 @@
+# `labels` - [Sessions API](../README.md#sessions-api)
+
+The `labels` methods of the sessions API allow for better organization of sessions.
+
+## Read labels
+
+Reads all labels of a session.
+
+### HTTP Request
+
+`GET /api/sessions/<token>/labels`
+
+### Response Payload
+
+```json
+"Array<String>"
+```
+
+#### Example
+
+**Request:**
+
+`GET /api/sessions/afd4ecb0-c339-11e9-b66c-eca76c2bea9c/labels`
+
+**Response:**
+
+```json
+["label1", "label2", "label3"]
+```
+
+## Update labels
+
+Update all labels of a session.
+
+### HTTP Request
+
+`PUT /api/sessions/<token>/labels`
+
+### Request Payload
+
+```json
+"Array<String>"
+```
+
+The array of labels provided in the request payload will replace all existing labels of the session.
+
+#### Example
+
+**Request:**
+
+`GET /api/sessions/afd4ecb0-c339-11e9-b66c-eca76c2bea9c/labels`
+
+**Response:**
+
+```json
+["label1", "label2", "label3"]
+```
+
+**Request:**
+
+`PUT /api/sessions/afd4ecb0-c339-11e9-b66c-eca76c2bea9c/labels`
+
+```json
+["label4", "label5"]
+```
+
+**Request:**
+
+`GET /api/sessions/afd4ecb0-c339-11e9-b66c-eca76c2bea9c/labels`
+
+**Response:**
+
+```json
+["label4", "label5"]
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read-public.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read-public.md
new file mode 100644
index 0000000000..3e0e9089c4
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read-public.md
@@ -0,0 +1,30 @@
+# `read public` - [Sessions API](../README.md#sessions-api)
+
+The `read public` method of the sessions API fetches a list of all sessions that are publicly available. It is not possible to delete those sessions using the user interface or the REST API. Currently there is no way to change is-public-state of a session using the API.
+
+## HTTP Request
+
+`GET /api/sessions/public`
+
+## Response Payload
+
+```json
+"Array<String>"
+```
+
+## Example
+
+**Request:**
+
+`GET /api/sessions/public`
+
+**Response:**
+
+```json
+[
+ "bb7aafa0-6a92-11e9-8ec2-04f58dad2e4f",
+ "caf823e0-6a92-11e9-b732-3188d0065ebc",
+ "a50c6db0-6a94-11e9-8d1b-e23fc4555885",
+ "b2924d20-6a93-11e9-98b4-a11fb92a6d1c"
+]
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read.md
new file mode 100644
index 0000000000..4ec9c3f63f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read.md
@@ -0,0 +1,90 @@
+# `read session` - [Sessions API](../README.md#sessions-api)
+
+The `read` method of the sessions API fetches the configuration of a session, including values that can not be set by the user, but are created by the server upon creation.
+
+## HTTP Request
+
+`GET /api/sessions/<session_token>`
+
+## Response Payload
+
+```json
+{
+ "token": "String",
+ "tests": {
+ "include": "Array<String>",
+ "exclude": "Array<String>"
+ },
+ "types": "Enum['automatic', 'manual']",
+ "timeouts": {
+ "automatic": "Integer",
+ "manual": "Integer",
+ "<test_path>": "Integer"
+ },
+ "reference_tokens": "Array<String>",
+ "user_agent": "String",
+ "browser": {
+ "name": "String",
+ "version": "String"
+ },
+ "is_public": "Boolean",
+ "date_created": "String",
+ "labels": "Array<String>"
+}
+```
+
+- **token** is the unique identifier of the session.
+- **tests** specifies the tests of the session:
+ - **include** specifies what tests should be selected from all available tests. Can be a path to a test file or directory.
+ - **exclude** specifies what tests should be removed from the included tests. Can be a path to a test file or directory.
+- **types** what types of tests should be included. Possible values:
+ - **automatic** tests are tests that execute without user interaction.
+ - **manual** tests are tests that require user interaction.
+- **timeouts** specifies the time to wait for a test to finish in milliseconds.
+ - **automatic**: Sets the default timeout for all automatic tests.
+ - **manual**: Sets the default timeout for all manual tests.
+ - **custom test paths**: Set the timeout for a test file or directory by putting the path with all dots removed as the key.
+- **reference_tokens** specifies a set of completed sessions that is used to filter out all tests that have not passed in all those sessions from the session that is going to be created.
+- **user_agent** is the user agent string of the request that created the session. The request to create the session should performed by the device under test.
+- **browser** holds information about the browser, parsed from the user agent.
+ - **name**: The name of the browser.
+ - **version**: The version numbers of the browser.
+- **is_public** defines whether or not the session is listed when fetching the list of public session using [`read public`](./read-public.md).
+- **date_created**: The date the session was created in ISO 8601 format.
+- **labels**: A list of the sessions labels.
+
+## Example
+
+**Request:**
+
+`GET /api/sessions/47a6fa50-c331-11e9-8709-a8eaa0ecfd0e`
+
+**Response:**
+
+```json
+{
+ "token": "47a6fa50-c331-11e9-8709-a8eaa0ecfd0e",
+ "tests": {
+ "include": ["/apiOne", "/apiTwo/sub"],
+ "exclude": ["/apiOne/specials"]
+ },
+ "types": ["automatic"],
+ "timeouts": {
+ "automatic": 70000,
+ "/apiOne/example/dir": 30000,
+ "/apiOne/example/filehtml": 45000
+ },
+ "reference_tokens": [
+ "ce2dc080-c283-11e9-b4d6-e046513784c2",
+ "430f47d0-c283-11e9-8776-fcbc36b81035"
+ ],
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/76.0.3809.100 Chrome/76.0.3809.100 Safari/537.36",
+ "browser": {
+ "name": "Chromium",
+ "version": "76"
+ },
+ "is_public": "false",
+ "date_created": "2020-05-25T11:37:07",
+ "labels": ["labelA", "labelB"]
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read_sessions.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read_sessions.md
new file mode 100644
index 0000000000..d29371f006
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/read_sessions.md
@@ -0,0 +1,123 @@
+# `read sessions` - [Sessions API](../README.md#sessions-api)
+
+The `read sessions` method of the sessions API fetches a list of all available
+session's token with the option expand the returned data by all retrieved
+tokens corresponding session configurations or statuses.
+
+## HTTP Request
+
+```
+GET /api/sessions
+```
+
+### Query Parameters
+
+| Parameter | Description | Default |
+| --------- | ---------------------------------------------------------------------------------------------------- | ------- |
+| `index` | At what index of all session to start the returned list. | `0` |
+| `count` | How many entries to return starting from `index`. | `10` |
+| `expand` | Comma separated list of relations from `_links`. Includes additional data in the `_embedded` object. | none |
+
+### Response Payload
+
+```
+200 OK
+Content-Type: application/json+hal
+```
+
+```json
+{
+ "_links": {
+ "<relation>": {
+ "href": "String"
+ }
+ ...
+ },
+ "_embedded": {
+ "<relation>": "Array<Any>"
+ ...
+ },
+ "items": "Array<String>"
+}
+```
+
+- **\_links** contains URLs to related data. For more, see [HAL Specfication](https://tools.ietf.org/html/draft-kelly-json-hal).
+- **\_embedded** additional content specified by `expand` query paramater. For more, see [HAL Specfication](https://tools.ietf.org/html/draft-kelly-json-hal).
+- **items** contains the returned list of session tokens.
+
+## Example
+
+```
+GET /api/sessions?index=0&count=3&expand=status
+```
+
+```
+200 OK
+Content-Type: application/json+hal
+```
+
+```json
+{
+ "_links": {
+ "first": {
+ "href": "/_wave/api/sessions?index=0&count=3"
+ },
+ "last": {
+ "href": "/_wave/api/sessions?index=39&count=3"
+ },
+ "self": {
+ "href": "/_wave/api/sessions?index=0&count=3"
+ },
+ "next": {
+ "href": "/_wave/api/sessions?index=3&count=3"
+ },
+ "configuration": {
+ "href": "/_wave/api/sessions/{token}",
+ "templated": true
+ },
+ "status": {
+ "href": "/_wave/api/sessions/{token}/status",
+ "templated": true
+ }
+ },
+ "items": [
+ "13f80c84-9046-11ea-9c80-0021ccd76152",
+ "34db08e4-903b-11ea-89ce-0021ccd76152",
+ "a355f846-9465-11ea-ae9e-0021ccd76152"
+ ],
+ "_embedded": {
+ "status": [
+ {
+ "status": "completed",
+ "expiration_date": null,
+ "labels": [],
+ "date_finished": 1588844145897.157,
+ "token": "13f80c84-9046-11ea-9c80-0021ccd76152",
+ "date_created": null,
+ "date_started": 1588844127000,
+ "type": "wmas"
+ },
+ {
+ "status": "completed",
+ "expiration_date": null,
+ "labels": [],
+ "date_finished": 1588839822768.9568,
+ "token": "34db08e4-903b-11ea-89ce-0021ccd76152",
+ "date_created": null,
+ "date_started": 1588839522000,
+ "type": "wmas"
+ },
+ {
+ "status": "completed",
+ "expiration_date": null,
+ "labels": [],
+ "date_finished": 1589297485065.1802,
+ "token": "a355f846-9465-11ea-ae9e-0021ccd76152",
+ "date_created": null,
+ "date_started": 1589297484000,
+ "type": "wmas"
+ }
+ ]
+ }
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/status.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/status.md
new file mode 100644
index 0000000000..b2604a41df
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/status.md
@@ -0,0 +1,48 @@
+# `status` - [Sessions API](../README.md#sessions-api)
+
+The `status` method of the results API returns information about a sessions current status and progress.
+
+## HTTP Request
+
+`GET /api/sessions/<session_token>/status`
+
+## Response Payload
+
+```json
+{
+ "token": "String",
+ "status": "Enum['pending', 'running', 'paused', 'completed', 'aborted']",
+ "date_started": "String",
+ "date_finished": "String",
+ "expiration_date": "String"
+}
+```
+
+- **token** contains the token of the session corresponding to this status.
+- **status** specifies the current status of the session:
+ - **pending**: The session was created, can receive updates, however cannot execute tests.
+ - **running**: The session currently executes tests.
+ - **paused**: The execution of tests in this session is currently paused.
+ - **completed**: All tests files include in this session were executed and have a result.
+ - **aborted**: The session was finished before all tests were executed.
+- **date_started** contains the time the status changed from `PENDING` to `RUNNING` in ISO 8601.
+- **date_finished** contains the time the status changed to either `COMPLETED` or `ABORTED` in ISO 8601.
+- **expiration_date** contains the time at which the sessions will be deleted in ISO 8601.
+
+## Example
+
+**Request:**
+
+`GET /api/sessions/d9caaae0-c362-11e9-943f-eedb305f22f6/status`
+
+**Response:**
+
+```json
+{
+ "token": "d9caaae0-c362-11e9-943f-eedb305f22f6",
+ "status": "running",
+ "date_started": "2019-09-04T14:21:19",
+ "date_finished": null,
+ "expiration_date": "2019-09-04T14:26:19"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/update.md b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/update.md
new file mode 100644
index 0000000000..3817c11593
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/sessions-api/update.md
@@ -0,0 +1,102 @@
+# `update` - [Sessions API](../README.md#sessions-api)
+
+The `update` method of the sessions API makes it possible to modify a sessions configuration while its status is `PENDING`. This can be used to configure the session on a second device, rather than on the device under test.
+
+## HTTP Request
+
+`PUT /api/sessions/<session_token>`
+
+## Request Payload
+
+The request payload is the same as in the [`create`](./sessions-api/create.md) method of the sessions API. Only keys that are an inherent part of the configuration will stay the same if not specified in the `update` payload. All others will be deleted if not included.
+
+## Example
+
+**Request:**
+
+`GET /api/sessions/47a6fa50-c331-11e9-8709-a8eaa0ecfd0e`
+
+**Response:**
+
+```json
+{
+ "token": "47a6fa50-c331-11e9-8709-a8eaa0ecfd0e",
+ "tests": {
+ "include": ["/apiOne", "/apiTwo/sub"],
+ "exclude": ["/apiOne/specials"]
+ },
+ "types": ["automatic"],
+ "timeouts": {
+ "automatic": 70000,
+ "/apiOne/example/dir": 30000,
+ "/apiOne/example/filehtml": 45000
+ },
+ "reference_tokens": [
+ "ce2dc080-c283-11e9-b4d6-e046513784c2",
+ "430f47d0-c283-11e9-8776-fcbc36b81035"
+ ],
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/76.0.3809.100 Chrome/76.0.3809.100 Safari/537.36",
+ "browser": {
+ "name": "Chromium",
+ "version": "76"
+ },
+ "is_public": "false",
+ "labels": []
+}
+```
+
+**Request:**
+
+`PUT /api/sessions/47a6fa50-c331-11e9-8709-a8eaa0ecfd0e`
+
+```json
+{
+ "tests": {
+ "include": ["/apiOne", "/apiThree"]
+ },
+ "timeouts": {
+ "automatic": 60000
+ },
+ "reference_tokens": [
+ "bb7aafa0-6a92-11e9-8ec2-04f58dad2e4f",
+ "a50c6db0-6a94-11e9-8d1b-e23fc4555885"
+ ],
+ "labels": ["label1", "label2"]
+}
+```
+
+**Response:**
+
+`200 OK`
+
+**Request:**
+
+`GET /api/sessions/47a6fa50-c331-11e9-8709-a8eaa0ecfd0e`
+
+**Response:**
+
+```json
+{
+ "token": "47a6fa50-c331-11e9-8709-a8eaa0ecfd0e",
+ "tests": {
+ "include": ["/apiOne", "/apiThree"],
+ "exclude": ["/apiOne/specials"]
+ },
+ "types": ["automatic"],
+ "timeouts": {
+ "automatic": 60000,
+ "manual": 360000
+ },
+ "reference_tokens": [
+ "bb7aafa0-6a92-11e9-8ec2-04f58dad2e4f",
+ "a50c6db0-6a94-11e9-8d1b-e23fc4555885"
+ ],
+ "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/76.0.3809.100 Chrome/76.0.3809.100 Safari/537.36",
+ "browser": {
+ "name": "Chromium",
+ "version": "76"
+ },
+ "is_public": "false",
+ "labels": ["label1", "label2"]
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-all.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-all.md
new file mode 100644
index 0000000000..8480981b66
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-all.md
@@ -0,0 +1,43 @@
+# `read all` - [Tests API](../README.md#tests-api)
+
+The `read all` method of the tests API fetches all tests available to include into a test session.
+
+## HTTP Request
+
+`GET /api/tests`
+
+## Response Payload
+
+```json
+{
+ "<api_name>": "Array<String>"
+}
+```
+
+## Example
+
+**Request:**
+
+`GET /api/tests`
+
+**Response:**
+
+```json
+{
+ "apiOne": [
+ "/apiOne/test/one.html",
+ "/apiOne/test/two.html",
+ "/apiOne/test/three.html"
+ ],
+ "apiTwo": [
+ "/apiTwo/test/one.html",
+ "/apiTwo/test/two.html",
+ "/apiTWo/test/three.html"
+ ],
+ "apiThree": [
+ "/apiThree/test/one.html",
+ "/apiThree/test/two.html",
+ "/apiThree/test/three.html"
+ ]
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-available-apis.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-available-apis.md
new file mode 100644
index 0000000000..d197c2c21a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-available-apis.md
@@ -0,0 +1,43 @@
+# `read available apis` - [Tests API](../README.md#tests-api)
+
+The `read available apis` method return a list of all web APIs that the DUT
+can be tested for. It returns the human readable API name, as well as the
+directory name under which all corresponding tests reside.
+
+## HTTP Request
+
+`GET /api/tests/apis`
+
+## Response Payload
+
+```json
+[
+ {
+ "path": "String",
+ "name": "String"
+ },
+ ...
+]
+```
+
+## Example
+
+**Request:**
+
+`GET /api/tests/apis`
+
+**Response:**
+
+```json
+[
+ {
+ "path": "/2dcontext",
+ "name": "2D Context"
+ },
+ {
+ "path": "/media-source",
+ "name": "Media Source"
+ },
+ ...
+]
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-last-completed.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-last-completed.md
new file mode 100644
index 0000000000..1c1f87a726
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-last-completed.md
@@ -0,0 +1,47 @@
+# `read last completed` - [Tests API](../README.md#tests-api)
+
+The `read last completed` method of the tests API returns a list of test files, which most recently finished and have a result. The files are grouped by the status their respective result had.
+
+## HTTP Request
+
+`GET /api/tests/<session_token>/last_completed`
+
+## Query Parameters
+
+| Parameter | Desciption | Default | Example |
+| --------- | ------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------- |
+| `count` | Number of files per status to return | 5 | `count=5` |
+| `status` | The status the files results must have. Comma separated list. Possible values: `all`, `pass`, `fail` and `timeout` | `all` | `status=timeout,pass` |
+
+## Response Payload
+
+```json
+{
+ "pass": "Array<String>",
+ "fail": "Array<String>",
+ "timeout": "Array<String>"
+}
+```
+
+## Example
+
+**Request:**
+
+`GET /api/tests/7dafeec0-c351-11e9-84c5-3d1ede2e7d2e/last_completed?count=3&status=fail,timeout`
+
+**Response:**
+
+```json
+{
+ "fail": [
+ "/apiTwo/test/four.html",
+ "/apiOne/test/twentyfour.html",
+ "/apiOne/test/nineteen.html"
+ ],
+ "timeout": [
+ "/apiFive/test/eight.html",
+ "/apiThree/test/five.html",
+ "/apiThree/test/two.html"
+ ]
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-malfunctioning.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-malfunctioning.md
new file mode 100644
index 0000000000..755b2f7897
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-malfunctioning.md
@@ -0,0 +1,30 @@
+# `read malfunctioning` - [Tests API](../README.md#tests-api)
+
+The `read malfunctioning` method of the tests API returns a list of test files, which were flagged as not working properly in a specific session. This is useful to [add them to the exclude list](../../usage/excluding-tests.md) of further test sessions.
+
+## HTTP Request
+
+`GET /api/tests/<session_token>/malfunctioning`
+
+## Response Payload
+
+```json
+"Array<String>"
+```
+
+## Example
+
+**Request:**
+
+`GET /api/tests/7dafeec0-c351-11e9-84c5-3d1ede2e7d2e/malfunctioning`
+
+**Response:**
+
+```json
+[
+ "/apiOne/test/one.html",
+ "/apiOne/test/five.html",
+ "/apiThree/test/two.html",
+ "/apiThree/test/twenty.html"
+]
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-next.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-next.md
new file mode 100644
index 0000000000..c10ba81a12
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-next.md
@@ -0,0 +1,29 @@
+# `read next` - [Tests API](../README.md#tests-api)
+
+The `read next` method of the tests API returns the next test of a test session, that is due to be executed. If the sessions status is not `RUNNING` it returns a static page containing information about the session and its current status.
+
+## HTTP Request
+
+`GET /api/tests/<session_token>/next`
+
+## Response Payload
+
+```json
+{
+ "next_test": "String"
+}
+```
+
+## Example
+
+**Request:**
+
+`GET /api/tests/d6667670-c350-11e9-b504-4ac471cdd99d/next`
+
+**Response:**
+
+```json
+{
+ "next_test": "http://web-platform.test:8000/apiOne/test/one.html?&token=d6667670-c350-11e9-b504-4ac471cdd99d&timeout=60000"
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-session.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-session.md
new file mode 100644
index 0000000000..59344d5e68
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/read-session.md
@@ -0,0 +1,61 @@
+# `read session` - [Tests API](../README.md#tests-api)
+
+The `read session` method of the tests API fetches all tests contained in a test session grouped by their status.
+
+## HTTP Request
+
+`GET /api/tests/<session_token>`
+
+## Response Payload
+
+```json
+{
+ "token": "String",
+ "pending_tests": {
+ "<api_name>": "Array<String>"
+ },
+ "running_tests": {
+ "<api_name>": "Array<String>"
+ },
+ "completed_tests": {
+ "<api_name>": "Array<String>"
+ }
+}
+```
+
+- **pending_tests** are tests that have yet to be executed.
+- **running_tests** are tests that are currently executed by the device under test. Although only one test at a time is executed, test that time out or fail to send a result may still wait for the time out to occur. In this case there are multiple tests in this list.
+- **completed_tests** are tests that are finished and have a result.
+
+## Example
+
+**Request:**
+
+`GET /api/tests/cd922410-c344-11e9-858f-9063f6dd878f`
+
+**Response:**
+
+```json
+{
+ "token": "cd922410-c344-11e9-858f-9063f6dd878f",
+ "pending_tests": {
+ "apiTwo": ["/apiTwo/test/three.html"],
+ "apiThree": [
+ "/apiThree/test/one.html",
+ "/apiThree/test/two.html",
+ "/apiThree/test/three.html"
+ ]
+ },
+ "running_tests": {
+ "apiTwo": ["/apiTwo/test/two.html"]
+ },
+ "completed_tests": {
+ "apiOne": [
+ "/apiOne/test/one.html",
+ "/apiOne/test/two.html",
+ "/apiOne/test/three.html"
+ ],
+ "apiTwo": ["/apiTwo/test/one.html"]
+ }
+}
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/update-malfunctioning.md b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/update-malfunctioning.md
new file mode 100644
index 0000000000..327d1c14d1
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/rest-api/tests-api/update-malfunctioning.md
@@ -0,0 +1,56 @@
+# `update malfunctioning` - [Tests API](../README.md#tests-api)
+
+The `update malfunctioning` method of the tests API sets the list of test files, that are flagged as not working properly in a specific session. It replaces the existing list with the new provided list.
+
+## HTTP Request
+
+`PUT /api/tests/<session_token>/malfunctioning`
+
+## Request Payload
+
+```json
+"Array<String>"
+```
+
+## Example
+
+**Request:**
+
+`GET /api/tests/7dafeec0-c351-11e9-84c5-3d1ede2e7d2e/malfunctioning`
+
+**Response:**
+
+```json
+[
+ "/apiOne/test/one.html",
+ "/apiOne/test/five.html",
+ "/apiThree/test/two.html",
+ "/apiThree/test/twenty.html"
+]
+```
+
+**Request:**
+
+`PUT /api/tests/7dafeec0-c351-11e9-84c5-3d1ede2e7d2e/malfunctioning`
+
+```json
+[
+ "/apiOne/test/three.html",
+ "/apiOne/test/eight.html",
+ "/apiThree/test/one.html"
+]
+```
+
+**Request:**
+
+`GET /api/tests/7dafeec0-c351-11e9-84c5-3d1ede2e7d2e/malfunctioning`
+
+**Response:**
+
+```json
+[
+ "/apiOne/test/three.html",
+ "/apiOne/test/eight.html",
+ "/apiThree/test/one.html"
+]
+```
diff --git a/testing/web-platform/tests/tools/wave/docs/usage/usage.md b/testing/web-platform/tests/tools/wave/docs/usage/usage.md
new file mode 100644
index 0000000000..50a99e0d5a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/docs/usage/usage.md
@@ -0,0 +1,231 @@
+# Usage Guide - [WAVE Test Runner](../README.md)
+
+With WAVE Test Runner v1.0.0 all files and REST API endpoints are served under
+a configurable namespace, by default `/_wave/`, which will be used in this
+usage guide.
+
+In this document the usage is explained using screenshots from the context of
+the WMAS project. However, practices can be applied to different contexts as well.
+
+## Contents
+
+1. [Creating test sessions](#1-creating-test-sessions)
+ 1. [The landing page](#11-the-landing-page)
+ 2. [Configuring a new session](#12-configuring-a-new-session)
+ 3. [Exclude tests](#13-exclude-tests)
+ 1. [Manually specify tests to exclude](#131-manually-specify-tests-to-exclude)
+ 2. [Use a session's malfunctioning list to add tests to exclude](#132-use-a-sessions-malfunctioning-list-to-add-tests-to-exclude)
+ 3. [Use a previous session's exclude list to add tests to exclude](#133-use-a-previous-sessions-exclude-list-to-add-tests-to-exclude)
+2. [Resuming test sessions](#2-resuming-test-sessions)
+ 1. [Using the webinterface](#21-using-the-webinterface)
+ 2. [Using a URL](#22-using-a-url)
+3. [Monitoring test sessions](#3-monitoring-test-sessions)
+4. [Managing test sessions](#4-managing-test-sessions)
+
+# 1. Creating test sessions
+
+Test sessions hold information about one test run one a particular device, like the current status.
+Each session is identified using a UUIDv1 token string to gather these information or perform actions on it.
+Each new session is configured using several parameters before the run starts.
+
+## 1.1 The landing page
+
+Every new session is created from the landing page.
+It is recommended to create a new session from the device that is tested, as the user agent is part of the displayed information, as well as the browser and version, which gets parsed from it.
+However, this does not influence the execution of tests or the creation of test results.
+To create a new session, open the landing page on the URI path `/_wave/index.html`.
+
+![landing_page]
+
+The landing page is divided into two section, one to create a new session and one to resume a session.
+As soon as the landing is opened, a new test session is created.
+Its token is displayed next to the QR-Code on the right, along with the expiration date.
+As the session was created automatically, it gets removed automatically once it expires.
+However, if you start the session, the expiration date gets removed and the sessions is available until you delete it.
+
+## 1.2 Configuring a new session
+
+To configure and start the session, either click on "Configure Session" or scan the QR-Code.
+In most cases it is recommended to scan the QR-Code, as it does not require any interaction with the landing page on the DUT.
+
+![configuration_page]
+
+In the configuration screen you can set parameters for the new session and start it.
+At the top the session's token and expiration date is displayed. Next there is the "Labels" option, which allows adding any number of labels to the session, helping to better organize sessions and allowing to apply filters while searching.
+Labels can be added and modified at any point in the future.
+Next there is the API selection, which allows defining the set of APIs to test in the new session. To exclude specific test or subdirectories of those selected APIs, there is the "Excluded Tests" option right below it. Here you can specify what tests to exclude in three distinct ways. (More details in [1.3 Exclude tests](#13-exclude-tests))
+
+![configuration_page_bottom]
+
+With the "Test Types" option you specify what types of test should be included into the session: in contrast to automatic tests, manual tests require user interaction to execute properly.
+The "Reference Browsers" option lets you select browsers that are used to further filter the set of tests included in the session.
+Only tests that have passed the reference test session in all selected browsers are included.
+The reference browsers represent the status of implementation of all WAVE APIs in modern desktop browsers, at about the time the WAVE specification was published.
+To start the session press "Start Session", note that the landing page has to stay opened, as the test are going to be execute in the same window.
+
+[To the top](#usage-guide---wave-test-runner)
+
+## 1.3 Exclude tests
+
+To have a fine control over what test cases are executed when configuring a session, it is possible to provide a list of test cases, that are omitted in the run.
+
+### 1.3.1 Manually specify tests to exclude
+
+To add tests to exclude by providing a plain text list, click on "Add Raw" in the "Excluded Tests" setting.
+This opens a input field, where you can enter multiple full paths to test files or directories.
+
+![Exclude List Add Raw][configuration_page_add_raw]
+
+Each line will be interpreted as a path to exclude a single or a group of tests.
+All tests that have a path starting with one of the provided, will be excluded in the session.
+Lines starting with a # symbol will be ignored, in case you want to organize test paths in a text file using comments.
+Click "Add" and you will see the paths listed in the table below.
+
+### 1.3.2 Use a session's malfunctioning list to add tests to exclude
+
+When flagging tests in a running session as malfunctioning, e.g. when crashing the device, it is possible to add these test to the exclude list of the new session.
+To do this, click on "Add Malfunctioning" in the "Excluded Tests" section.
+
+![Exclude List Add Malfunctioning][configuration_page_add_malfunctioning]
+
+Enter the first eight characters or more into the text field labelled "Session Token" to import all tests from the session's malfunctioning list into the new session's exclude list.
+Click "Add" to confirm.
+The tests should now appear in the list below.
+
+### 1.3.3 Use a previous session's exclude list to add tests to exclude
+
+If you have already specified a suitable exclude list or want to expand an existing, you can apply the exclude list of a previous session.
+Click on "Add Previous Excluded" in the "Excluded Tests" section to open the corresponding controls.
+
+![Exclude List Add Previously Excluded][configuration_page_add_prev_excluded]
+
+Enter the first eight characters or more into the text field labelled "Session Token" to import all tests from the previous session's exclude list into the new session's exclude list.
+Click "Add" to confirm.
+The tests should now appear in the list below.
+
+[To the top](#usage-guide---wave-test-runner)
+
+# 2. Resuming test sessions
+
+Certain test cases may cause some devices to crash, which makes the test runner unable to automatically run the next test.
+In this case, external interaction is necessary.
+To alleviate the process of resuming the test session, the are two mechanisms integrated into the web interface that reduce interaction with the device to a minimum.
+There is also a mechanism that can be useful if a test framework with access to the tested browser is utilized.
+
+## 2.1 Using the webinterface
+
+In any case, it is necessary to open the landing page on the device, in order to resume the session.
+
+![Landing Page][landing_page]
+
+On the landing page, in the section "Resume running session", you can see the token of the last session this device has run.
+To resume this particular session, click on the "Resume" button next to it, or simply press enter or space.
+If the presented token is not the one of the session you want to resume, you can change it from the configuration screen.
+To get there, press the "Configure Session" button or scan the QR-Code.
+
+![Configuration Page][configuration_page]
+
+At the very bottom of the configuration page, there is a section called "Resume session", where you can see the token that was previously displayed on the landing page in a text box.
+Here you can change the token of the session to resume, just enter the first eight characters or more of the token.
+When you're done, press the "Resume" button.
+Note that it is necessary to keep the landing page open in order to automatically run the next test, as it is loaded in the same window.
+
+## 2.2 Using a URL
+
+If you have access to the DUTs browser programmatically, you may want to resume a crashed test session automatically.
+To load the next test of a specific session, simply open the following URL:
+
+`/next.html?token=<session_token>`
+
+For example:
+
+`/_wave/next.html?token=24fcd360-ef4d-11e9-a95f-d6e1ad4c5fdb`
+
+[To the top](#usage-guide---wave-test-runner)
+
+# 3. Monitoring test sessions
+
+While running test sessions, the results page for second screen devices provide a convenient summary of the sessions current state, as well as controls to manipulate the test execution.
+Additionally, you can flag tests in case they interrupt the test execution by, e.g. crashing the test, to exclude them in future sessions and download test results and reports.
+
+![results_page_top]
+
+On the top right-hand side, there are controls to stop, pause or delete the session.
+Stopping, as well as deleting the session is irreversible.
+Below you find the session's details, including the token, user agent, test paths, excluded test paths, total test file count, status, the different test timeouts, the date and time the session has been started, the date and time the session has finished, the duration and labels.
+
+![results_page_last_completed]
+
+Right below, tests that have recently completed with result status TIMEOUT are listed to add them to the list of malfunctioning tests by clicking the button with the + symbol.
+Now that test appears in the list of malfunctioning tests at the very bottom of the result page.
+This list can be used to exclude tests when creating a new session. (more details in [1.3.2 Use a session's malfunctioning list to add tests to exclude](#132-use-a-sessions-malfunctioning-list-to-add-tests-to-exclude))
+
+![results_page_api_results]
+
+In the section "API Results" you can see the progress of each individual API selected for the session.
+As each test file can contain multiple subtests, the count of passed, failed, timed out and not run tests does not correlate to the count of test files run, which indicates the overall progress.
+Keep in mind that only test files that received a result will count as run, so even if all tests finished executing on the device, some may have failed to send the result, in which case the internal timeout has to run out to create it.
+
+![results_page_api_results_export]
+
+Once all test files of an API have received a result, it is possible to download the result data or view a report for that API, by clicking the corresponding button in the far right column of the table.
+
+![results_page_bottom]
+
+Below the table of API results, there are more options to download the results of the session.
+The first option downloads the results the same way it is persisted on the serverside, along with some meta data.
+This form is especially useful if you want to import the session details with the results into other instances of the WAVE Test Runner.
+Furthermore, there is the option to download the raw result in JSON format of all finished APIs.
+This the same JSON you get by clicking on the "JSON" button in the API results column, but of all finished APIs in a ZIP file.
+Lastly, you can download a static HTML page, similiar to the results view.
+Finally, at the bottom of the page you can find the list of malfunctioning tests that have been added from the list of last timed-out test files.
+Remove tests by clicking their corresponding button with the trashcan icon.
+
+[To the top](#usage-guide---wave-test-runner)
+
+# 4. Managing test sessions
+
+The overview page provides features that help to manage and organize multiple sessions. You can access it from the URL `/_wave/overview.html`.
+
+![overview_page]
+
+In the "Manage Sessions" section you can add more sessions to the list below by entering the first eight or more characters of the token.
+Clicking on "Add Session" will add the session to the list if it was the only one that could be associated with the provided token.
+If there are multiple sessions that match the provided input, none will be added.
+Additionally, you can compare multiple session, given that they are completed, used the same reference sessions and share tested APIs.
+Simply select the desired session from the list below and click "Compare Selected".
+You can also import sessions in the "Import Sessions" section, however, this feature has to be enabled in the server configuration.
+Below the "Manage Sessions" section, there is the list of reference and recent sessions.
+
+![overview_page_sessions]
+
+In the sessions list, sessions are organized in three lists: Reference Browsers, which are test results everyone can see, containing the results of the reference browsers for the corresponding WAVE specification, recent sessions, which are sessions there have recently been viewed or executed on the device, and pinned sessions, which are sessions pinned by the user from the list of recent sessions.
+Add label filters to show only matching sessions.
+
+![overview_page_sessions_pinned_recent]
+
+You can pin a session by clicking the button with the tag on a session in the recent sessions list and unpin them the same way from the pinned sessions list.
+Click the trashcan icon to remove a session from its list, this will not delete the session results.
+Sort the list of sessions by clicking on the column to filter them by.
+
+![overview_page_sessions_filtered]
+
+Add one or more tags to the filter to conveniently find the sessions you are looking for. Add labels to session when creating them or in their corresponding results page.
+
+[To the top](#usage-guide---wave-test-runner)
+
+[landing_page]: ../res/landing_page.jpg "Landing Page"
+[configuration_page]: ../res/configuration_page_top.jpg "Configuration Page"
+[configuration_page_bottom]: ../res/configuration_page_bottom.jpg "Configuration Page"
+[configuration_page_add_raw]: ../res/configuration_page_exclude_add_raw.jpg "Exclude Tests - Add Raw"
+[configuration_page_add_malfunctioning]: ../res/configuration_page_exclude_add_malfunctioning.jpg "Exclude Tests - Add Malfunctioning"
+[configuration_page_add_prev_excluded]: ../res/configuration_page_exclude_add_prev_excluded.jpg "Exclude Tests - Add Previously Excluded"
+[results_page_top]: ../res/results_page_top.jpg "Results Page"
+[results_page_last_completed]: ../res/results_page_last_timed_out.jpg "Results Page"
+[results_page_api_results]: ../res/results_page_api_results.jpg "Results Page"
+[results_page_api_results_export]: ../res/results_page_api_results_export.jpg "Results Page"
+[results_page_bottom]: ../res/results_page_bottom.jpg "Results Page"
+[overview_page]: ../res/overview_page_top.jpg "Overview Page"
+[overview_page_sessions]: ../res/overview_page_sessions.jpg "Overview Page Sessions"
+[overview_page_sessions_pinned_recent]: ../res/overview_page_sessions_pinned_recent.jpg "Overview Page Sessions"
+[overview_page_sessions_filtered]: ../res/overview_page_sessions_filtered.jpg "Overview Page Filter"
diff --git a/testing/web-platform/tests/tools/wave/export/css/bulma.min.css b/testing/web-platform/tests/tools/wave/export/css/bulma.min.css
new file mode 100644
index 0000000000..70f6e4450e
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/export/css/bulma.min.css
@@ -0,0 +1 @@
+/*! bulma.io v0.7.4 | MIT License | github.com/jgthms/bulma */@-webkit-keyframes spinAround{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spinAround{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.breadcrumb,.button,.delete,.file,.is-unselectable,.modal-close,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless)::after,.select:not(.is-multiple):not(.is-loading)::after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:center;transform-origin:center;width:.625em}.block:not(:last-child),.box:not(:last-child),.breadcrumb:not(:last-child),.content:not(:last-child),.highlight:not(:last-child),.level:not(:last-child),.list:not(:last-child),.message:not(:last-child),.notification:not(:last-child),.progress:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.tabs:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.delete,.modal-close{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:0;position:relative;vertical-align:top;width:20px}.delete::after,.delete::before,.modal-close::after,.modal-close::before{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.delete::before,.modal-close::before{height:2px;width:50%}.delete::after,.modal-close::after{height:50%;width:2px}.delete:focus,.delete:hover,.modal-close:focus,.modal-close:hover{background-color:rgba(10,10,10,.3)}.delete:active,.modal-close:active{background-color:rgba(10,10,10,.4)}.is-small.delete,.is-small.modal-close{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete,.is-medium.modal-close{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete,.is-large.modal-close{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading::after,.control.is-loading::after,.loader,.select.is-loading::after{-webkit-animation:spinAround .5s infinite linear;animation:spinAround .5s infinite linear;border:2px solid #dbdbdb;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.image.is-16by9 .has-ratio,.image.is-16by9 img,.image.is-1by1 .has-ratio,.image.is-1by1 img,.image.is-1by2 .has-ratio,.image.is-1by2 img,.image.is-1by3 .has-ratio,.image.is-1by3 img,.image.is-2by1 .has-ratio,.image.is-2by1 img,.image.is-2by3 .has-ratio,.image.is-2by3 img,.image.is-3by1 .has-ratio,.image.is-3by1 img,.image.is-3by2 .has-ratio,.image.is-3by2 img,.image.is-3by4 .has-ratio,.image.is-3by4 img,.image.is-3by5 .has-ratio,.image.is-3by5 img,.image.is-4by3 .has-ratio,.image.is-4by3 img,.image.is-4by5 .has-ratio,.image.is-4by5 img,.image.is-5by3 .has-ratio,.image.is-5by3 img,.image.is-5by4 .has-ratio,.image.is-5by4 img,.image.is-9by16 .has-ratio,.image.is-9by16 img,.image.is-square .has-ratio,.image.is-square img,.is-overlay,.modal,.modal-background{bottom:0;left:0;position:absolute;right:0;top:0}.button,.file-cta,.file-name,.input,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.select select,.textarea{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(.375em - 1px);padding-left:calc(.625em - 1px);padding-right:calc(.625em - 1px);padding-top:calc(.375em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.file-cta:active,.file-cta:focus,.file-name:active,.file-name:focus,.input:active,.input:focus,.is-active.button,.is-active.file-cta,.is-active.file-name,.is-active.input,.is-active.pagination-ellipsis,.is-active.pagination-link,.is-active.pagination-next,.is-active.pagination-previous,.is-active.textarea,.is-focused.button,.is-focused.file-cta,.is-focused.file-name,.is-focused.input,.is-focused.pagination-ellipsis,.is-focused.pagination-link,.is-focused.pagination-next,.is-focused.pagination-previous,.is-focused.textarea,.pagination-ellipsis:active,.pagination-ellipsis:focus,.pagination-link:active,.pagination-link:focus,.pagination-next:active,.pagination-next:focus,.pagination-previous:active,.pagination-previous:focus,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{outline:0}.button[disabled],.file-cta[disabled],.file-name[disabled],.input[disabled],.pagination-ellipsis[disabled],.pagination-link[disabled],.pagination-next[disabled],.pagination-previous[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .button,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .input,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-previous,fieldset[disabled] .select select,fieldset[disabled] .textarea{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}embed,iframe,img,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0;text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#4a4a4a;font-size:1rem;font-weight:400;line-height:1.5}a{color:#3273dc;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:#f5f5f5;color:#ff3860;font-size:.875em;font-weight:400;padding:.25em .5em .25em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#363636;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{text-align:left;vertical-align:top}table th{color:#363636}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-clipped{overflow:hidden!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media screen and (min-width:769px),print{.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1087px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1088px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1280px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1472px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media screen and (min-width:769px),print{.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1087px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1087px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1088px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1088px) and (max-width:1279px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1280px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1280px) and (max-width:1471px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1472px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media screen and (min-width:769px),print{.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1087px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1087px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1088px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1088px) and (max-width:1279px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1280px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1280px) and (max-width:1471px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1472px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media screen and (min-width:769px),print{.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1087px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1087px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1088px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1088px) and (max-width:1279px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1280px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1280px) and (max-width:1471px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1472px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media screen and (min-width:769px),print{.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1087px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1087px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1088px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1088px) and (max-width:1279px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1280px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1280px) and (max-width:1471px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1472px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black{color:#0a0a0a!important}a.has-text-black:focus,a.has-text-black:hover{color:#000!important}.has-background-black{background-color:#0a0a0a!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:focus,a.has-text-light:hover{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:focus,a.has-text-dark:hover{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#00d1b2!important}a.has-text-primary:focus,a.has-text-primary:hover{color:#009e86!important}.has-background-primary{background-color:#00d1b2!important}.has-text-link{color:#3273dc!important}a.has-text-link:focus,a.has-text-link:hover{color:#205bbc!important}.has-background-link{background-color:#3273dc!important}.has-text-info{color:#209cee!important}a.has-text-info:focus,a.has-text-info:hover{color:#0f81cc!important}.has-background-info{background-color:#209cee!important}.has-text-success{color:#23d160!important}a.has-text-success:focus,a.has-text-success:hover{color:#1ca64c!important}.has-background-success{background-color:#23d160!important}.has-text-warning{color:#ffdd57!important}a.has-text-warning:focus,a.has-text-warning:hover{color:#ffd324!important}.has-background-warning{background-color:#ffdd57!important}.has-text-danger{color:#ff3860!important}a.has-text-danger:focus,a.has-text-danger:hover{color:#ff0537!important}.has-background-danger{background-color:#ff3860!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-monospace{font-family:monospace!important}.is-family-code{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile{display:block!important}}@media screen and (min-width:769px),print{.is-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-block-tablet-only{display:block!important}}@media screen and (max-width:1087px){.is-block-touch{display:block!important}}@media screen and (min-width:1088px){.is-block-desktop{display:block!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-block-desktop-only{display:block!important}}@media screen and (min-width:1280px){.is-block-widescreen{display:block!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width:1472px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width:768px){.is-flex-mobile{display:flex!important}}@media screen and (min-width:769px),print{.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1087px){.is-flex-touch{display:flex!important}}@media screen and (min-width:1088px){.is-flex-desktop{display:flex!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1280px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1472px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width:768px){.is-inline-mobile{display:inline!important}}@media screen and (min-width:769px),print{.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1087px){.is-inline-touch{display:inline!important}}@media screen and (min-width:1088px){.is-inline-desktop{display:inline!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1280px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1472px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-inline-block-mobile{display:inline-block!important}}@media screen and (min-width:769px),print{.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1087px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1088px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1280px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1472px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-inline-flex-mobile{display:inline-flex!important}}@media screen and (min-width:769px),print{.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1087px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1088px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1280px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1472px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-hidden-mobile{display:none!important}}@media screen and (min-width:769px),print{.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1087px){.is-hidden-touch{display:none!important}}@media screen and (min-width:1088px){.is-hidden-desktop{display:none!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1280px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1472px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile{visibility:hidden!important}}@media screen and (min-width:769px),print{.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1087px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width:1087px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width:1088px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width:1088px) and (max-width:1279px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width:1280px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width:1280px) and (max-width:1471px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1472px){.is-invisible-fullhd{visibility:hidden!important}}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.box{background-color:#fff;border-radius:6px;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);color:#4a4a4a;display:block;padding:1.25rem}a.box:focus,a.box:hover{box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px #3273dc}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2),0 0 0 1px #3273dc}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.375em - 1px);margin-right:.1875em}.button .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:calc(-.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.375em - 1px);margin-right:calc(-.375em - 1px)}.button.is-hovered,.button:hover{border-color:#b5b5b5;color:#363636}.button.is-focused,.button:focus{border-color:#3273dc;color:#363636}.button.is-focused:not(:active),.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#4a4a4a;text-decoration:underline}.button.is-text.is-focused,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text:hover{background-color:#f5f5f5;color:#363636}.button.is-text.is-active,.button.is-text:active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white.is-hovered,.button.is-white:hover{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white.is-focused,.button.is-white:focus{border-color:transparent;color:#0a0a0a}.button.is-white.is-focused:not(:active),.button.is-white:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.button.is-white.is-active,.button.is-white:active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:focus,.button.is-white.is-outlined:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined:hover{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black.is-hovered,.button.is-black:hover{background-color:#040404;border-color:transparent;color:#fff}.button.is-black.is-focused,.button.is-black:focus{border-color:transparent;color:#fff}.button.is-black.is-focused:not(:active),.button.is-black:focus:not(:active){box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.button.is-black.is-active,.button.is-black:active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:focus,.button.is-black.is-outlined:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined:hover{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#363636}.button.is-light.is-hovered,.button.is-light:hover{background-color:#eee;border-color:transparent;color:#363636}.button.is-light.is-focused,.button.is-light:focus{border-color:transparent;color:#363636}.button.is-light.is-focused:not(:active),.button.is-light:focus:not(:active){box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.button.is-light.is-active,.button.is-light:active{background-color:#e8e8e8;border-color:transparent;color:#363636}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:transparent;box-shadow:none}.button.is-light.is-inverted{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted:hover{background-color:#292929}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#363636;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent #363636 #363636!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:focus,.button.is-light.is-outlined:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined:hover{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark.is-hovered,.button.is-dark:hover{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark.is-focused,.button.is-dark:focus{border-color:transparent;color:#f5f5f5}.button.is-dark.is-focused:not(:active),.button.is-dark:focus:not(:active){box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.button.is-dark.is-active,.button.is-dark:active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:transparent;box-shadow:none}.button.is-dark.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted:hover{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined:hover{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary.is-hovered,.button.is-primary:hover{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary.is-focused,.button.is-primary:focus{border-color:transparent;color:#fff}.button.is-primary.is-focused:not(:active),.button.is-primary:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.button.is-primary.is-active,.button.is-primary:active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:transparent;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted:hover{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined:hover{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading::after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined:hover{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link{background-color:#3273dc;border-color:transparent;color:#fff}.button.is-link.is-hovered,.button.is-link:hover{background-color:#276cda;border-color:transparent;color:#fff}.button.is-link.is-focused,.button.is-link:focus{border-color:transparent;color:#fff}.button.is-link.is-focused:not(:active),.button.is-link:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-link.is-active,.button.is-link:active{background-color:#2366d1;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#3273dc;border-color:transparent;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#3273dc}.button.is-link.is-inverted:hover{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3273dc}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;color:#3273dc}.button.is-link.is-outlined:focus,.button.is-link.is-outlined:hover{background-color:#3273dc;border-color:#3273dc;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #3273dc #3273dc!important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;box-shadow:none;color:#3273dc}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined:hover{background-color:#fff;color:#3273dc}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info.is-hovered,.button.is-info:hover{background-color:#1496ed;border-color:transparent;color:#fff}.button.is-info.is-focused,.button.is-info:focus{border-color:transparent;color:#fff}.button.is-info.is-focused:not(:active),.button.is-info:focus:not(:active){box-shadow:0 0 0 .125em rgba(32,156,238,.25)}.button.is-info.is-active,.button.is-info:active{background-color:#118fe4;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:transparent;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted:hover{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined:focus,.button.is-info.is-outlined:hover{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined:hover{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#23d160;border-color:transparent;color:#fff}.button.is-success.is-hovered,.button.is-success:hover{background-color:#22c65b;border-color:transparent;color:#fff}.button.is-success.is-focused,.button.is-success:focus{border-color:transparent;color:#fff}.button.is-success.is-focused:not(:active),.button.is-success:focus:not(:active){box-shadow:0 0 0 .125em rgba(35,209,96,.25)}.button.is-success.is-active,.button.is-success:active{background-color:#20bc56;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#23d160;border-color:transparent;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#23d160}.button.is-success.is-inverted:hover{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#23d160}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#23d160;color:#23d160}.button.is-success.is-outlined:focus,.button.is-success.is-outlined:hover{background-color:#23d160;border-color:#23d160;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #23d160 #23d160!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#23d160;box-shadow:none;color:#23d160}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined:hover{background-color:#fff;color:#23d160}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-hovered,.button.is-warning:hover{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused,.button.is-warning:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused:not(:active),.button.is-warning:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,221,87,.25)}.button.is-warning.is-active,.button.is-warning:active{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:transparent;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);color:#ffdd57}.button.is-warning.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined:hover{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-danger{background-color:#ff3860;border-color:transparent;color:#fff}.button.is-danger.is-hovered,.button.is-danger:hover{background-color:#ff2b56;border-color:transparent;color:#fff}.button.is-danger.is-focused,.button.is-danger:focus{border-color:transparent;color:#fff}.button.is-danger.is-focused:not(:active),.button.is-danger:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.button.is-danger.is-active,.button.is-danger:active{background-color:#ff1f4b;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#ff3860;border-color:transparent;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted:hover{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ff3860}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;color:#ff3860}.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined:hover{background-color:#ff3860;border-color:#ff3860;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;box-shadow:none;color:#ff3860}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined:hover{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small{border-radius:2px;font-size:.75rem}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute!important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#7a7a7a;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:2px;font-size:.75rem}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button.is-hovered,.buttons.has-addons .button:hover{z-index:2}.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-focused,.buttons.has-addons .button.is-selected,.buttons.has-addons .button:active,.buttons.has-addons .button:focus{z-index:3}.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button.is-selected:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button:focus:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1}.buttons.is-centered{justify-content:center}.buttons.is-right{justify-content:flex-end}.container{margin:0 auto;position:relative}@media screen and (min-width:1088px){.container{max-width:960px;width:960px}.container.is-fluid{margin-left:64px;margin-right:64px;max-width:none;width:auto}}@media screen and (max-width:1279px){.container.is-widescreen{max-width:1152px;width:auto}}@media screen and (max-width:1471px){.container.is-fullhd{max-width:1344px;width:auto}}@media screen and (min-width:1280px){.container{max-width:1152px;width:1152px}}@media screen and (min-width:1472px){.container{max-width:1344px;width:1344px}}.content li+li{margin-top:.25em}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sub,.content sup{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#363636;text-align:left}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content.is-small{font-size:.75rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.input,.textarea{background-color:#fff;border-color:#dbdbdb;color:#363636;box-shadow:inset 0 1px 2px rgba(10,10,10,.1);max-width:100%;width:100%}.input::-moz-placeholder,.textarea::-moz-placeholder{color:rgba(54,54,54,.3)}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:rgba(54,54,54,.3)}.input:-moz-placeholder,.textarea:-moz-placeholder{color:rgba(54,54,54,.3)}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:rgba(54,54,54,.3)}.input.is-hovered,.input:hover,.textarea.is-hovered,.textarea:hover{border-color:#b5b5b5}.input.is-active,.input.is-focused,.input:active,.input:focus,.textarea.is-active,.textarea.is-focused,.textarea:active,.textarea:focus{border-color:#3273dc;box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.input[disabled],.textarea[disabled],fieldset[disabled] .input,fieldset[disabled] .textarea{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:rgba(122,122,122,.3)}.input[readonly],.textarea[readonly]{box-shadow:none}.input.is-white,.textarea.is-white{border-color:#fff}.input.is-white.is-active,.input.is-white.is-focused,.input.is-white:active,.input.is-white:focus,.textarea.is-white.is-active,.textarea.is-white.is-focused,.textarea.is-white:active,.textarea.is-white:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.input.is-black,.textarea.is-black{border-color:#0a0a0a}.input.is-black.is-active,.input.is-black.is-focused,.input.is-black:active,.input.is-black:focus,.textarea.is-black.is-active,.textarea.is-black.is-focused,.textarea.is-black:active,.textarea.is-black:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.input.is-light,.textarea.is-light{border-color:#f5f5f5}.input.is-light.is-active,.input.is-light.is-focused,.input.is-light:active,.input.is-light:focus,.textarea.is-light.is-active,.textarea.is-light.is-focused,.textarea.is-light:active,.textarea.is-light:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.input.is-dark,.textarea.is-dark{border-color:#363636}.input.is-dark.is-active,.input.is-dark.is-focused,.input.is-dark:active,.input.is-dark:focus,.textarea.is-dark.is-active,.textarea.is-dark.is-focused,.textarea.is-dark:active,.textarea.is-dark:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.input.is-primary,.textarea.is-primary{border-color:#00d1b2}.input.is-primary.is-active,.input.is-primary.is-focused,.input.is-primary:active,.input.is-primary:focus,.textarea.is-primary.is-active,.textarea.is-primary.is-focused,.textarea.is-primary:active,.textarea.is-primary:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.input.is-link,.textarea.is-link{border-color:#3273dc}.input.is-link.is-active,.input.is-link.is-focused,.input.is-link:active,.input.is-link:focus,.textarea.is-link.is-active,.textarea.is-link.is-focused,.textarea.is-link:active,.textarea.is-link:focus{box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.input.is-info,.textarea.is-info{border-color:#209cee}.input.is-info.is-active,.input.is-info.is-focused,.input.is-info:active,.input.is-info:focus,.textarea.is-info.is-active,.textarea.is-info.is-focused,.textarea.is-info:active,.textarea.is-info:focus{box-shadow:0 0 0 .125em rgba(32,156,238,.25)}.input.is-success,.textarea.is-success{border-color:#23d160}.input.is-success.is-active,.input.is-success.is-focused,.input.is-success:active,.input.is-success:focus,.textarea.is-success.is-active,.textarea.is-success.is-focused,.textarea.is-success:active,.textarea.is-success:focus{box-shadow:0 0 0 .125em rgba(35,209,96,.25)}.input.is-warning,.textarea.is-warning{border-color:#ffdd57}.input.is-warning.is-active,.input.is-warning.is-focused,.input.is-warning:active,.input.is-warning:focus,.textarea.is-warning.is-active,.textarea.is-warning.is-focused,.textarea.is-warning:active,.textarea.is-warning:focus{box-shadow:0 0 0 .125em rgba(255,221,87,.25)}.input.is-danger,.textarea.is-danger{border-color:#ff3860}.input.is-danger.is-active,.input.is-danger.is-focused,.input.is-danger:active,.input.is-danger:focus,.textarea.is-danger.is-active,.textarea.is-danger.is-focused,.textarea.is-danger:active,.textarea.is-danger:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.input.is-small,.textarea.is-small{border-radius:2px;font-size:.75rem}.input.is-medium,.textarea.is-medium{font-size:1.25rem}.input.is-large,.textarea.is-large{font-size:1.5rem}.input.is-fullwidth,.textarea.is-fullwidth{display:block;width:100%}.input.is-inline,.textarea.is-inline{display:inline;width:auto}.input.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:.625em;resize:vertical}.textarea:not([rows]){max-height:600px;min-height:120px}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#7a7a7a;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.25em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#3273dc;right:1.125em;z-index:4}.select.is-rounded select{border-radius:290486px;padding-left:1em}.select select{background-color:#fff;border-color:#dbdbdb;color:#363636;cursor:pointer;display:block;font-size:1em;max-width:100%;outline:0}.select select::-moz-placeholder{color:rgba(54,54,54,.3)}.select select::-webkit-input-placeholder{color:rgba(54,54,54,.3)}.select select:-moz-placeholder{color:rgba(54,54,54,.3)}.select select:-ms-input-placeholder{color:rgba(54,54,54,.3)}.select select.is-hovered,.select select:hover{border-color:#b5b5b5}.select select.is-active,.select select.is-focused,.select select:active,.select select:focus{border-color:#3273dc;box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.select select[disabled],fieldset[disabled] .select select{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.select select[disabled]::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder{color:rgba(122,122,122,.3)}.select select[disabled]::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder{color:rgba(122,122,122,.3)}.select select[disabled]:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder{color:rgba(122,122,122,.3)}.select select[disabled]:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder{color:rgba(122,122,122,.3)}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select.is-hovered,.select.is-white select:hover{border-color:#f2f2f2}.select.is-white select.is-active,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select.is-hovered,.select.is-black select:hover{border-color:#000}.select.is-black select.is-active,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select.is-hovered,.select.is-light select:hover{border-color:#e8e8e8}.select.is-light select.is-active,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.select.is-dark:not(:hover)::after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select.is-hovered,.select.is-dark select:hover{border-color:#292929}.select.is-dark select.is-active,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.select.is-primary:not(:hover)::after{border-color:#00d1b2}.select.is-primary select{border-color:#00d1b2}.select.is-primary select.is-hovered,.select.is-primary select:hover{border-color:#00b89c}.select.is-primary select.is-active,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.select.is-link:not(:hover)::after{border-color:#3273dc}.select.is-link select{border-color:#3273dc}.select.is-link select.is-hovered,.select.is-link select:hover{border-color:#2366d1}.select.is-link select.is-active,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select:focus{box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select.is-hovered,.select.is-info select:hover{border-color:#118fe4}.select.is-info select.is-active,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select:focus{box-shadow:0 0 0 .125em rgba(32,156,238,.25)}.select.is-success:not(:hover)::after{border-color:#23d160}.select.is-success select{border-color:#23d160}.select.is-success select.is-hovered,.select.is-success select:hover{border-color:#20bc56}.select.is-success select.is-active,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(35,209,96,.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select.is-hovered,.select.is-warning select:hover{border-color:#ffd83d}.select.is-warning select.is-active,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select:focus{box-shadow:0 0 0 .125em rgba(255,221,87,.25)}.select.is-danger:not(:hover)::after{border-color:#ff3860}.select.is-danger select{border-color:#ff3860}.select.is-danger select.is-hovered,.select.is-danger select:hover{border-color:#ff1f4b}.select.is-danger select.is-active,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#7a7a7a}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:.625em;top:.625em;-webkit-transform:none;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white.is-hovered .file-cta,.file.is-white:hover .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white.is-focused .file-cta,.file.is-white:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,255,255,.25);color:#0a0a0a}.file.is-white.is-active .file-cta,.file.is-white:active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black.is-hovered .file-cta,.file.is-black:hover .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black.is-focused .file-cta,.file.is-black:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(10,10,10,.25);color:#fff}.file.is-black.is-active .file-cta,.file.is-black:active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#363636}.file.is-light.is-hovered .file-cta,.file.is-light:hover .file-cta{background-color:#eee;border-color:transparent;color:#363636}.file.is-light.is-focused .file-cta,.file.is-light:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(245,245,245,.25);color:#363636}.file.is-light.is-active .file-cta,.file.is-light:active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#363636}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#f5f5f5}.file.is-dark.is-hovered .file-cta,.file.is-dark:hover .file-cta{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.file.is-dark.is-focused .file-cta,.file.is-dark:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(54,54,54,.25);color:#f5f5f5}.file.is-dark.is-active .file-cta,.file.is-dark:active .file-cta{background-color:#292929;border-color:transparent;color:#f5f5f5}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary.is-hovered .file-cta,.file.is-primary:hover .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary.is-focused .file-cta,.file.is-primary:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,209,178,.25);color:#fff}.file.is-primary.is-active .file-cta,.file.is-primary:active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#3273dc;border-color:transparent;color:#fff}.file.is-link.is-hovered .file-cta,.file.is-link:hover .file-cta{background-color:#276cda;border-color:transparent;color:#fff}.file.is-link.is-focused .file-cta,.file.is-link:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(50,115,220,.25);color:#fff}.file.is-link.is-active .file-cta,.file.is-link:active .file-cta{background-color:#2366d1;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info.is-hovered .file-cta,.file.is-info:hover .file-cta{background-color:#1496ed;border-color:transparent;color:#fff}.file.is-info.is-focused .file-cta,.file.is-info:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(32,156,238,.25);color:#fff}.file.is-info.is-active .file-cta,.file.is-info:active .file-cta{background-color:#118fe4;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#23d160;border-color:transparent;color:#fff}.file.is-success.is-hovered .file-cta,.file.is-success:hover .file-cta{background-color:#22c65b;border-color:transparent;color:#fff}.file.is-success.is-focused .file-cta,.file.is-success:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(35,209,96,.25);color:#fff}.file.is-success.is-active .file-cta,.file.is-success:active .file-cta{background-color:#20bc56;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-hovered .file-cta,.file.is-warning:hover .file-cta{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-focused .file-cta,.file.is-warning:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,221,87,.25);color:rgba(0,0,0,.7)}.file.is-warning.is-active .file-cta,.file.is-warning:active .file-cta{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-danger .file-cta{background-color:#ff3860;border-color:transparent;color:#fff}.file.is-danger.is-hovered .file-cta,.file.is-danger:hover .file-cta{background-color:#ff2b56;border-color:transparent;color:#fff}.file.is-danger.is-focused .file-cta,.file.is-danger:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,56,96,.25);color:#fff}.file.is-danger.is-active .file-cta,.file.is-danger:active .file-cta{background-color:#ff1f4b;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:0;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#3273dc}.help.is-info{color:#209cee}.help.is-success{color:#23d160}.help.is-warning{color:#ffdd57}.help.is-danger{color:#ff3860}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width:769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media screen and (min-width:769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width:769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:left}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#7a7a7a}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.25em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.25em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:290486px}.image.is-16by9 .has-ratio,.image.is-16by9 img,.image.is-1by1 .has-ratio,.image.is-1by1 img,.image.is-1by2 .has-ratio,.image.is-1by2 img,.image.is-1by3 .has-ratio,.image.is-1by3 img,.image.is-2by1 .has-ratio,.image.is-2by1 img,.image.is-2by3 .has-ratio,.image.is-2by3 img,.image.is-3by1 .has-ratio,.image.is-3by1 img,.image.is-3by2 .has-ratio,.image.is-3by2 img,.image.is-3by4 .has-ratio,.image.is-3by4 img,.image.is-3by5 .has-ratio,.image.is-3by5 img,.image.is-4by3 .has-ratio,.image.is-4by3 img,.image.is-4by5 .has-ratio,.image.is-4by5 img,.image.is-5by3 .has-ratio,.image.is-5by3 img,.image.is-5by4 .has-ratio,.image.is-5by4 img,.image.is-9by16 .has-ratio,.image.is-9by16 img,.image.is-square .has-ratio,.image.is-square img{height:100%;width:100%}.image.is-1by1,.image.is-square{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:0 0}.notification>.delete{position:absolute;right:.5rem;top:.5rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#363636}.notification.is-dark{background-color:#363636;color:#f5f5f5}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-link{background-color:#3273dc;color:#fff}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-success{background-color:#23d160;color:#fff}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.notification.is-danger{background-color:#ff3860;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#dbdbdb}.progress::-webkit-progress-value{background-color:#4a4a4a}.progress::-moz-progress-bar{background-color:#4a4a4a}.progress::-ms-fill{background-color:#4a4a4a;border:none}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#dbdbdb;background-image:linear-gradient(to right,#4a4a4a 30%,#dbdbdb 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right,#fff 30%,#dbdbdb 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right,#0a0a0a 30%,#dbdbdb 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right,#f5f5f5 30%,#dbdbdb 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right,#363636 30%,#dbdbdb 30%)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(to right,#00d1b2 30%,#dbdbdb 30%)}.progress.is-link::-webkit-progress-value{background-color:#3273dc}.progress.is-link::-moz-progress-bar{background-color:#3273dc}.progress.is-link::-ms-fill{background-color:#3273dc}.progress.is-link:indeterminate{background-image:linear-gradient(to right,#3273dc 30%,#dbdbdb 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right,#209cee 30%,#dbdbdb 30%)}.progress.is-success::-webkit-progress-value{background-color:#23d160}.progress.is-success::-moz-progress-bar{background-color:#23d160}.progress.is-success::-ms-fill{background-color:#23d160}.progress.is-success:indeterminate{background-image:linear-gradient(to right,#23d160 30%,#dbdbdb 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right,#ffdd57 30%,#dbdbdb 30%)}.progress.is-danger::-webkit-progress-value{background-color:#ff3860}.progress.is-danger::-moz-progress-bar{background-color:#ff3860}.progress.is-danger::-ms-fill{background-color:#ff3860}.progress.is-danger:indeterminate{background-image:linear-gradient(to right,#ff3860 30%,#dbdbdb 30%)}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#f5f5f5}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#3273dc;border-color:#3273dc;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#23d160;border-color:#23d160;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,.7)}.table td.is-danger,.table th.is-danger{background-color:#ff3860;border-color:#ff3860;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table th{color:#363636;text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#4a4a4a;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:#363636}.tag:not(body).is-dark{background-color:#363636;color:#f5f5f5}.tag:not(body).is-primary{background-color:#00d1b2;color:#fff}.tag:not(body).is-link{background-color:#3273dc;color:#fff}.tag:not(body).is-info{background-color:#209cee;color:#fff}.tag:not(body).is-success{background-color:#23d160;color:#fff}.tag:not(body).is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.tag:not(body).is-danger{background-color:#ff3860;color:#fff}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete::after,.tag:not(body).is-delete::before{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.tag:not(body).is-delete::before{height:1px;width:50%}.tag:not(body).is-delete::after{height:50%;width:1px}.tag:not(body).is-delete:focus,.tag:not(body).is-delete:hover{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:290486px}a.tag:hover{text-decoration:underline}.subtitle,.title{word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.title sub{font-size:.75em}.subtitle sup,.title sup{font-size:.75em}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title+.highlight{margin-top:-.75rem}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}.highlight pre{overflow:auto;max-width:100%}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#3273dc;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#363636;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ol,.breadcrumb ul{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);color:#4a4a4a;max-width:100%;position:relative}.card-header{background-color:transparent;align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,.1);display:flex}.card-header-title{align-items:center;color:#363636;display:flex;flex-grow:1;font-weight:700;padding:.75rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.card-image{display:block;position:relative}.card-content{background-color:transparent;padding:1.5rem}.card-footer{background-color:transparent;border-top:1px solid #dbdbdb;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #dbdbdb}.card .media:not(:last-child){margin-bottom:.75rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#3273dc;color:#fff}.dropdown-divider{background-color:#dbdbdb;border:none;display:block;height:1px;margin:.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width:769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}@media screen and (max-width:768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width:769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width:768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width:769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width:769px),print{.level-right{display:flex}}.list{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1)}.list-item{display:block;padding:.5em 1em}.list-item:not(a){color:#4a4a4a}.list-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:last-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:not(:last-child){border-bottom:1px solid #dbdbdb}.list-item.is-active{background-color:#3273dc;color:#fff}a.list-item{background-color:#f5f5f5;cursor:pointer}.media{align-items:flex-start;display:flex;text-align:left}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(219,219,219,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(219,219,219,.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width:768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#4a4a4a;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#3273dc;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff;color:#4d4d4d}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a;color:#090909}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#363636}.message.is-light .message-body{border-color:#f5f5f5;color:#505050}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#f5f5f5}.message.is-dark .message-body{border-color:#363636;color:#2a2a2a}.message.is-primary{background-color:#f5fffd}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#021310}.message.is-link{background-color:#f6f9fe}.message.is-link .message-header{background-color:#3273dc;color:#fff}.message.is-link .message-body{border-color:#3273dc;color:#22509a}.message.is-info{background-color:#f6fbfe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#12537e}.message.is-success{background-color:#f6fef9}.message.is-success .message-header{background-color:#23d160;color:#fff}.message.is-success .message-body{border-color:#23d160;color:#0e301a}.message.is-warning{background-color:#fffdf5}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#3b3108}.message.is-danger{background-color:#fff5f7}.message.is-danger .message-header{background-color:#ff3860;color:#fff}.message.is-danger .message-body{border-color:#ff3860;color:#cd0930}.message-header{align-items:center;background-color:#4a4a4a;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#4a4a4a;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:transparent}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,.86)}.modal-card,.modal-content{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width:769px),print{.modal-card,.modal-content{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:0 0;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-foot,.modal-card-head{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#363636;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:10px}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link,.navbar.is-white .navbar-brand>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link.is-active,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width:1088px){.navbar.is-white .navbar-end .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-start>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link.is-active,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link::after,.navbar.is-white .navbar-start .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand .navbar-link,.navbar.is-black .navbar-brand>.navbar-item{color:#fff}.navbar.is-black .navbar-brand .navbar-link.is-active,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width:1088px){.navbar.is-black .navbar-end .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-start>.navbar-item{color:#fff}.navbar.is-black .navbar-end .navbar-link.is-active,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-end .navbar-link::after,.navbar.is-black .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#363636}.navbar.is-light .navbar-brand .navbar-link,.navbar.is-light .navbar-brand>.navbar-item{color:#363636}.navbar.is-light .navbar-brand .navbar-link.is-active,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand>a.navbar-item:hover{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-brand .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-burger{color:#363636}@media screen and (min-width:1088px){.navbar.is-light .navbar-end .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-start>.navbar-item{color:#363636}.navbar.is-light .navbar-end .navbar-link.is-active,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start>a.navbar-item:hover{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-end .navbar-link::after,.navbar.is-light .navbar-start .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#363636}}.navbar.is-dark{background-color:#363636;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link,.navbar.is-dark .navbar-brand>.navbar-item{color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link.is-active,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand>a.navbar-item:hover{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-burger{color:#f5f5f5}@media screen and (min-width:1088px){.navbar.is-dark .navbar-end .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-start>.navbar-item{color:#f5f5f5}.navbar.is-dark .navbar-end .navbar-link.is-active,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start>a.navbar-item:hover{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-end .navbar-link::after,.navbar.is-dark .navbar-start .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#f5f5f5}}.navbar.is-primary{background-color:#00d1b2;color:#fff}.navbar.is-primary .navbar-brand .navbar-link,.navbar.is-primary .navbar-brand>.navbar-item{color:#fff}.navbar.is-primary .navbar-brand .navbar-link.is-active,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width:1088px){.navbar.is-primary .navbar-end .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-start>.navbar-item{color:#fff}.navbar.is-primary .navbar-end .navbar-link.is-active,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-end .navbar-link::after,.navbar.is-primary .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#00d1b2;color:#fff}}.navbar.is-link{background-color:#3273dc;color:#fff}.navbar.is-link .navbar-brand .navbar-link,.navbar.is-link .navbar-brand>.navbar-item{color:#fff}.navbar.is-link .navbar-brand .navbar-link.is-active,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand>a.navbar-item:hover{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width:1088px){.navbar.is-link .navbar-end .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-start>.navbar-item{color:#fff}.navbar.is-link .navbar-end .navbar-link.is-active,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start>a.navbar-item:hover{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-end .navbar-link::after,.navbar.is-link .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#3273dc;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand .navbar-link,.navbar.is-info .navbar-brand>.navbar-item{color:#fff}.navbar.is-info .navbar-brand .navbar-link.is-active,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand>a.navbar-item:hover{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width:1088px){.navbar.is-info .navbar-end .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-start>.navbar-item{color:#fff}.navbar.is-info .navbar-end .navbar-link.is-active,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start>a.navbar-item:hover{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-end .navbar-link::after,.navbar.is-info .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#23d160;color:#fff}.navbar.is-success .navbar-brand .navbar-link,.navbar.is-success .navbar-brand>.navbar-item{color:#fff}.navbar.is-success .navbar-brand .navbar-link.is-active,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand>a.navbar-item:hover{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width:1088px){.navbar.is-success .navbar-end .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-start>.navbar-item{color:#fff}.navbar.is-success .navbar-end .navbar-link.is-active,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start>a.navbar-item:hover{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-end .navbar-link::after,.navbar.is-success .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#23d160;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link,.navbar.is-warning .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link.is-active,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand>a.navbar-item:hover{background-color:#ffd83d;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1088px){.navbar.is-warning .navbar-end .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link.is-active,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start>a.navbar-item:hover{background-color:#ffd83d;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link::after,.navbar.is-warning .navbar-start .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link{background-color:#ffd83d;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,.7)}}.navbar.is-danger{background-color:#ff3860;color:#fff}.navbar.is-danger .navbar-brand .navbar-link,.navbar.is-danger .navbar-brand>.navbar-item{color:#fff}.navbar.is-danger .navbar-brand .navbar-link.is-active,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand>a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width:1088px){.navbar.is-danger .navbar-end .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-start>.navbar-item{color:#fff}.navbar.is-danger .navbar-end .navbar-link.is-active,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start>a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-end .navbar-link::after,.navbar.is-danger .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#ff3860;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:3.25rem}body.has-navbar-fixed-bottom,html.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;-webkit-transform-origin:center;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,-webkit-transform;transition-property:background-color,opacity,transform;transition-property:background-color,opacity,transform,-webkit-transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:nth-child(1){-webkit-transform:translateY(5px) rotate(45deg);transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){-webkit-transform:translateY(-5px) rotate(-45deg);transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}.navbar-link,a.navbar-item{cursor:pointer}.navbar-link.is-active,.navbar-link:hover,a.navbar-item.is-active,a.navbar-item:hover{background-color:#fafafa;color:#3273dc}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#3273dc}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#3273dc;border-bottom-style:solid;border-bottom-width:3px;color:#3273dc;padding-bottom:calc(.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#3273dc;margin-top:-.375em;right:1.125em}.navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:.5rem 0}@media screen and (max-width:1087px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}body.has-navbar-fixed-top-touch,html.has-navbar-fixed-top-touch{padding-top:3.25rem}body.has-navbar-fixed-bottom-touch,html.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width:1088px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-end,.navbar.is-spaced .navbar-start{align-items:center}.navbar.is-spaced .navbar-link,.navbar.is-spaced a.navbar-item{border-radius:4px}.navbar.is-transparent .navbar-link.is-active,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent a.navbar-item:hover{background-color:transparent!important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent!important}.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{-webkit-transform:rotate(135deg) translate(.25em,-.25em);transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,.1);display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-dropdown{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));-webkit-transform:translateY(-5px);transform:translateY(-5px);transition-duration:86ms;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-desktop{top:0}body.has-navbar-fixed-top-desktop,html.has-navbar-fixed-top-desktop{padding-top:3.25rem}body.has-navbar-fixed-bottom-desktop,html.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}body.has-spaced-navbar-fixed-top,html.has-spaced-navbar-fixed-top{padding-top:5.25rem}body.has-spaced-navbar-fixed-bottom,html.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}.navbar-link.is-active,a.navbar-item.is-active{color:#0a0a0a}.navbar-link.is-active:not(:hover),a.navbar-item.is-active:not(:hover){background-color:transparent}.navbar-item.has-dropdown.is-active .navbar-link,.navbar-item.has-dropdown:hover .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{padding-left:1em;padding-right:1em;border-radius:290486px}.pagination.is-rounded .pagination-link{border-radius:290486px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{font-size:1em;padding-left:.5em;padding-right:.5em;justify-content:center;margin:.25rem;text-align:center}.pagination-link,.pagination-next,.pagination-previous{border-color:#dbdbdb;color:#363636;min-width:2.25em}.pagination-link:hover,.pagination-next:hover,.pagination-previous:hover{border-color:#b5b5b5;color:#363636}.pagination-link:focus,.pagination-next:focus,.pagination-previous:focus{border-color:#3273dc}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2)}.pagination-link[disabled],.pagination-next[disabled],.pagination-previous[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:.5}.pagination-next,.pagination-previous{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#3273dc;border-color:#3273dc;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width:769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel-block,.panel-heading,.panel-tabs{border-bottom:1px solid #dbdbdb;border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.panel-block:first-child,.panel-heading:first-child,.panel-tabs:first-child{border-top:1px solid #dbdbdb}.panel-heading{background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#363636;font-size:1.25em;font-weight:300;line-height:1.25;padding:.5em .75em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#4a4a4a}.panel-list a:hover{color:#3273dc}.panel-block{align-items:center;color:#363636;display:flex;justify-content:flex-start;padding:.5em .75em}.panel-block input[type=checkbox]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#3273dc;color:#363636}.panel-block.is-active .panel-icon{color:#3273dc}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#7a7a7a;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#4a4a4a;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#363636}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#3273dc;color:#3273dc}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em;padding-right:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:transparent!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-radius:4px 0 0 4px}.tabs.is-toggle li:last-child a{border-radius:0 4px 4px 0}.tabs.is-toggle li.is-active a{background-color:#3273dc;border-color:#3273dc;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-1{flex:none;width:8.33333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333%}.columns.is-mobile>.column.is-2{flex:none;width:16.66667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333%}.columns.is-mobile>.column.is-5{flex:none;width:41.66667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333%}.columns.is-mobile>.column.is-8{flex:none;width:66.66667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333%}.columns.is-mobile>.column.is-11{flex:none;width:91.66667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-1-mobile{flex:none;width:8.33333%}.column.is-offset-1-mobile{margin-left:8.33333%}.column.is-2-mobile{flex:none;width:16.66667%}.column.is-offset-2-mobile{margin-left:16.66667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333%}.column.is-offset-4-mobile{margin-left:33.33333%}.column.is-5-mobile{flex:none;width:41.66667%}.column.is-offset-5-mobile{margin-left:41.66667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333%}.column.is-offset-7-mobile{margin-left:58.33333%}.column.is-8-mobile{flex:none;width:66.66667%}.column.is-offset-8-mobile{margin-left:66.66667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333%}.column.is-offset-10-mobile{margin-left:83.33333%}.column.is-11-mobile{flex:none;width:91.66667%}.column.is-offset-11-mobile{margin-left:91.66667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width:769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width:1087px){.column.is-narrow-touch{flex:none}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-1-touch{flex:none;width:8.33333%}.column.is-offset-1-touch{margin-left:8.33333%}.column.is-2-touch{flex:none;width:16.66667%}.column.is-offset-2-touch{margin-left:16.66667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333%}.column.is-offset-4-touch{margin-left:33.33333%}.column.is-5-touch{flex:none;width:41.66667%}.column.is-offset-5-touch{margin-left:41.66667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333%}.column.is-offset-7-touch{margin-left:58.33333%}.column.is-8-touch{flex:none;width:66.66667%}.column.is-offset-8-touch{margin-left:66.66667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333%}.column.is-offset-10-touch{margin-left:83.33333%}.column.is-11-touch{flex:none;width:91.66667%}.column.is-offset-11-touch{margin-left:91.66667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width:1088px){.column.is-narrow-desktop{flex:none}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-1-desktop{flex:none;width:8.33333%}.column.is-offset-1-desktop{margin-left:8.33333%}.column.is-2-desktop{flex:none;width:16.66667%}.column.is-offset-2-desktop{margin-left:16.66667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333%}.column.is-offset-4-desktop{margin-left:33.33333%}.column.is-5-desktop{flex:none;width:41.66667%}.column.is-offset-5-desktop{margin-left:41.66667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333%}.column.is-offset-7-desktop{margin-left:58.33333%}.column.is-8-desktop{flex:none;width:66.66667%}.column.is-offset-8-desktop{margin-left:66.66667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333%}.column.is-offset-10-desktop{margin-left:83.33333%}.column.is-11-desktop{flex:none;width:91.66667%}.column.is-offset-11-desktop{margin-left:91.66667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width:1280px){.column.is-narrow-widescreen{flex:none}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-1-widescreen{flex:none;width:8.33333%}.column.is-offset-1-widescreen{margin-left:8.33333%}.column.is-2-widescreen{flex:none;width:16.66667%}.column.is-offset-2-widescreen{margin-left:16.66667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333%}.column.is-offset-4-widescreen{margin-left:33.33333%}.column.is-5-widescreen{flex:none;width:41.66667%}.column.is-offset-5-widescreen{margin-left:41.66667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333%}.column.is-offset-7-widescreen{margin-left:58.33333%}.column.is-8-widescreen{flex:none;width:66.66667%}.column.is-offset-8-widescreen{margin-left:66.66667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333%}.column.is-offset-10-widescreen{margin-left:83.33333%}.column.is-11-widescreen{flex:none;width:91.66667%}.column.is-offset-11-widescreen{margin-left:91.66667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width:1472px){.column.is-narrow-fullhd{flex:none}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-1-fullhd{flex:none;width:8.33333%}.column.is-offset-1-fullhd{margin-left:8.33333%}.column.is-2-fullhd{flex:none;width:16.66667%}.column.is-offset-2-fullhd{margin-left:16.66667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333%}.column.is-offset-4-fullhd{margin-left:33.33333%}.column.is-5-fullhd{flex:none;width:41.66667%}.column.is-offset-5-fullhd{margin-left:41.66667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333%}.column.is-offset-7-fullhd{margin-left:58.33333%}.column.is-8-fullhd{flex:none;width:66.66667%}.column.is-offset-8-fullhd{margin-left:66.66667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333%}.column.is-offset-10-fullhd{margin-left:83.33333%}.column.is-11-fullhd{flex:none;width:91.66667%}.column.is-offset-11-fullhd{margin-left:91.66667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width:769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1088px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap:0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap:0rem}@media screen and (max-width:768px){.columns.is-variable.is-0-mobile{--columnGap:0rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-0-tablet{--columnGap:0rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-0-tablet-only{--columnGap:0rem}}@media screen and (max-width:1087px){.columns.is-variable.is-0-touch{--columnGap:0rem}}@media screen and (min-width:1088px){.columns.is-variable.is-0-desktop{--columnGap:0rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-0-desktop-only{--columnGap:0rem}}@media screen and (min-width:1280px){.columns.is-variable.is-0-widescreen{--columnGap:0rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-0-widescreen-only{--columnGap:0rem}}@media screen and (min-width:1472px){.columns.is-variable.is-0-fullhd{--columnGap:0rem}}.columns.is-variable.is-1{--columnGap:0.25rem}@media screen and (max-width:768px){.columns.is-variable.is-1-mobile{--columnGap:0.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-1-tablet{--columnGap:0.25rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-1-tablet-only{--columnGap:0.25rem}}@media screen and (max-width:1087px){.columns.is-variable.is-1-touch{--columnGap:0.25rem}}@media screen and (min-width:1088px){.columns.is-variable.is-1-desktop{--columnGap:0.25rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-1-desktop-only{--columnGap:0.25rem}}@media screen and (min-width:1280px){.columns.is-variable.is-1-widescreen{--columnGap:0.25rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-1-widescreen-only{--columnGap:0.25rem}}@media screen and (min-width:1472px){.columns.is-variable.is-1-fullhd{--columnGap:0.25rem}}.columns.is-variable.is-2{--columnGap:0.5rem}@media screen and (max-width:768px){.columns.is-variable.is-2-mobile{--columnGap:0.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-2-tablet{--columnGap:0.5rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-2-tablet-only{--columnGap:0.5rem}}@media screen and (max-width:1087px){.columns.is-variable.is-2-touch{--columnGap:0.5rem}}@media screen and (min-width:1088px){.columns.is-variable.is-2-desktop{--columnGap:0.5rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-2-desktop-only{--columnGap:0.5rem}}@media screen and (min-width:1280px){.columns.is-variable.is-2-widescreen{--columnGap:0.5rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-2-widescreen-only{--columnGap:0.5rem}}@media screen and (min-width:1472px){.columns.is-variable.is-2-fullhd{--columnGap:0.5rem}}.columns.is-variable.is-3{--columnGap:0.75rem}@media screen and (max-width:768px){.columns.is-variable.is-3-mobile{--columnGap:0.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-3-tablet{--columnGap:0.75rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-3-tablet-only{--columnGap:0.75rem}}@media screen and (max-width:1087px){.columns.is-variable.is-3-touch{--columnGap:0.75rem}}@media screen and (min-width:1088px){.columns.is-variable.is-3-desktop{--columnGap:0.75rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-3-desktop-only{--columnGap:0.75rem}}@media screen and (min-width:1280px){.columns.is-variable.is-3-widescreen{--columnGap:0.75rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-3-widescreen-only{--columnGap:0.75rem}}@media screen and (min-width:1472px){.columns.is-variable.is-3-fullhd{--columnGap:0.75rem}}.columns.is-variable.is-4{--columnGap:1rem}@media screen and (max-width:768px){.columns.is-variable.is-4-mobile{--columnGap:1rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-4-tablet{--columnGap:1rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-4-tablet-only{--columnGap:1rem}}@media screen and (max-width:1087px){.columns.is-variable.is-4-touch{--columnGap:1rem}}@media screen and (min-width:1088px){.columns.is-variable.is-4-desktop{--columnGap:1rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-4-desktop-only{--columnGap:1rem}}@media screen and (min-width:1280px){.columns.is-variable.is-4-widescreen{--columnGap:1rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-4-widescreen-only{--columnGap:1rem}}@media screen and (min-width:1472px){.columns.is-variable.is-4-fullhd{--columnGap:1rem}}.columns.is-variable.is-5{--columnGap:1.25rem}@media screen and (max-width:768px){.columns.is-variable.is-5-mobile{--columnGap:1.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-5-tablet{--columnGap:1.25rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-5-tablet-only{--columnGap:1.25rem}}@media screen and (max-width:1087px){.columns.is-variable.is-5-touch{--columnGap:1.25rem}}@media screen and (min-width:1088px){.columns.is-variable.is-5-desktop{--columnGap:1.25rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-5-desktop-only{--columnGap:1.25rem}}@media screen and (min-width:1280px){.columns.is-variable.is-5-widescreen{--columnGap:1.25rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-5-widescreen-only{--columnGap:1.25rem}}@media screen and (min-width:1472px){.columns.is-variable.is-5-fullhd{--columnGap:1.25rem}}.columns.is-variable.is-6{--columnGap:1.5rem}@media screen and (max-width:768px){.columns.is-variable.is-6-mobile{--columnGap:1.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-6-tablet{--columnGap:1.5rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-6-tablet-only{--columnGap:1.5rem}}@media screen and (max-width:1087px){.columns.is-variable.is-6-touch{--columnGap:1.5rem}}@media screen and (min-width:1088px){.columns.is-variable.is-6-desktop{--columnGap:1.5rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-6-desktop-only{--columnGap:1.5rem}}@media screen and (min-width:1280px){.columns.is-variable.is-6-widescreen{--columnGap:1.5rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-6-widescreen-only{--columnGap:1.5rem}}@media screen and (min-width:1472px){.columns.is-variable.is-6-fullhd{--columnGap:1.5rem}}.columns.is-variable.is-7{--columnGap:1.75rem}@media screen and (max-width:768px){.columns.is-variable.is-7-mobile{--columnGap:1.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-7-tablet{--columnGap:1.75rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-7-tablet-only{--columnGap:1.75rem}}@media screen and (max-width:1087px){.columns.is-variable.is-7-touch{--columnGap:1.75rem}}@media screen and (min-width:1088px){.columns.is-variable.is-7-desktop{--columnGap:1.75rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-7-desktop-only{--columnGap:1.75rem}}@media screen and (min-width:1280px){.columns.is-variable.is-7-widescreen{--columnGap:1.75rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-7-widescreen-only{--columnGap:1.75rem}}@media screen and (min-width:1472px){.columns.is-variable.is-7-fullhd{--columnGap:1.75rem}}.columns.is-variable.is-8{--columnGap:2rem}@media screen and (max-width:768px){.columns.is-variable.is-8-mobile{--columnGap:2rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-8-tablet{--columnGap:2rem}}@media screen and (min-width:769px) and (max-width:1087px){.columns.is-variable.is-8-tablet-only{--columnGap:2rem}}@media screen and (max-width:1087px){.columns.is-variable.is-8-touch{--columnGap:2rem}}@media screen and (min-width:1088px){.columns.is-variable.is-8-desktop{--columnGap:2rem}}@media screen and (min-width:1088px) and (max-width:1279px){.columns.is-variable.is-8-desktop-only{--columnGap:2rem}}@media screen and (min-width:1280px){.columns.is-variable.is-8-widescreen{--columnGap:2rem}}@media screen and (min-width:1280px) and (max-width:1471px){.columns.is-variable.is-8-widescreen-only{--columnGap:2rem}}@media screen and (min-width:1472px){.columns.is-variable.is-8-fullhd{--columnGap:2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media screen and (min-width:769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333%}.tile.is-2{flex:none;width:16.66667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333%}.tile.is-5{flex:none;width:41.66667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333%}.tile.is-8{flex:none;width:66.66667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333%}.tile.is-11{flex:none;width:91.66667%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:0 0}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width:1087px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,.7)}.hero.is-white .navbar-link.is-active,.hero.is-white .navbar-link:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width:1087px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,.7)}.hero.is-black .navbar-link.is-active,.hero.is-black .navbar-link:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black a.navbar-item:hover{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#363636}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#363636}.hero.is-light .subtitle{color:rgba(54,54,54,.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#363636}@media screen and (max-width:1087px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(54,54,54,.7)}.hero.is-light .navbar-link.is-active,.hero.is-light .navbar-link:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light a.navbar-item:hover{background-color:#e8e8e8;color:#363636}.hero.is-light .tabs a{color:#363636;opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#363636}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}}.hero.is-dark{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#f5f5f5}.hero.is-dark .subtitle{color:rgba(245,245,245,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#f5f5f5}@media screen and (max-width:1087px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:rgba(245,245,245,.7)}.hero.is-dark .navbar-link.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark a.navbar-item:hover{background-color:#292929;color:#f5f5f5}.hero.is-dark .tabs a{color:#f5f5f5;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#f5f5f5}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width:1087px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:rgba(255,255,255,.7)}.hero.is-primary .navbar-link.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary a.navbar-item:hover{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}}.hero.is-link{background-color:#3273dc;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width:1087px){.hero.is-link .navbar-menu{background-color:#3273dc}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,.7)}.hero.is-link .navbar-link.is-active,.hero.is-link .navbar-link:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link a.navbar-item:hover{background-color:#2366d1;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3273dc}.hero.is-link.is-bold{background-image:linear-gradient(141deg,#1577c6 0,#3273dc 71%,#4366e5 100%)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1577c6 0,#3273dc 71%,#4366e5 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width:1087px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,.7)}.hero.is-info .navbar-link.is-active,.hero.is-info .navbar-link:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info a.navbar-item:hover{background-color:#118fe4;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#04a6d7 0,#209cee 71%,#3287f5 100%)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#04a6d7 0,#209cee 71%,#3287f5 100%)}}.hero.is-success{background-color:#23d160;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width:1087px){.hero.is-success .navbar-menu{background-color:#23d160}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,.7)}.hero.is-success .navbar-link.is-active,.hero.is-success .navbar-link:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success a.navbar-item:hover{background-color:#20bc56;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#23d160}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#12af2f 0,#23d160 71%,#2ce28a 100%)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#12af2f 0,#23d160 71%,#2ce28a 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1087px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,.7)}.hero.is-warning .navbar-link.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning a.navbar-item:hover{background-color:#ffd83d;color:rgba(0,0,0,.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffaf24 0,#ffdd57 71%,#fffa70 100%)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffaf24 0,#ffdd57 71%,#fffa70 100%)}}.hero.is-danger{background-color:#ff3860;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width:1087px){.hero.is-danger .navbar-menu{background-color:#ff3860}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,.7)}.hero.is-danger .navbar-link.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ff3860}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#ff0561 0,#ff3860 71%,#ff5257 100%)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ff0561 0,#ff3860 71%,#ff5257 100%)}}.hero.is-small .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width:769px),print{.hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width:769px),print{.hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media screen and (min-width:769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width:1088px){.section.is-medium{padding:9rem 1.5rem}.section.is-large{padding:18rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/export/css/result.css b/testing/web-platform/tests/tools/wave/export/css/result.css
new file mode 100644
index 0000000000..9e7c4dc0ba
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/export/css/result.css
@@ -0,0 +1,75 @@
+body {
+ margin: 0;
+ padding: 0;
+ display: flex;
+ justify-content: center;
+ font-family: "Noto Sans" sans-serif;
+ background-color: white;
+ color: #000;
+}
+
+.header {
+ display: flex;
+ margin: 50px 0 30px 0;
+}
+
+.header :first-child {
+ flex: 1;
+}
+
+.site-logo {
+ max-width: 300px;
+ margin-left: -15px;
+}
+
+.content {
+ width: 1000px;
+}
+
+#test-path,
+#token {
+ font-family: monospace;
+ font-size: 12pt;
+}
+
+.pass {
+ color: green;
+}
+
+.fail {
+ color: red;
+}
+
+.timeout {
+ color: rgb(224, 127, 0);
+}
+
+.not-run {
+ color: blue;
+}
+
+.api-result-timeoutfiles {
+ display: none; /* don't display for now */
+ flex-basis: 100%;
+}
+
+#header {
+ display: flex;
+ align-items: center;
+}
+
+#header > :first-child {
+ flex: 1;
+}
+
+#controls-wrapper {
+ display: flex;
+}
+
+.no-border-radius {
+ border-radius: 0;
+}
+
+#results-table .button {
+ margin: 0 2px;
+}
diff --git a/testing/web-platform/tests/tools/wave/export/index.html b/testing/web-platform/tests/tools/wave/export/index.html
new file mode 100644
index 0000000000..73de099eef
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/export/index.html
@@ -0,0 +1,375 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>Results - Web Platform Test</title>
+ <link rel="stylesheet" href="css/bulma.min.css" />
+ <link rel="stylesheet" href="css/result.css" />
+ <script src="lib/utils.js"></script>
+ <script src="lib/ui.js"></script>
+ <script src="results.json.js"></script>
+ <script src="details.json.js"></script>
+ </head>
+ <body>
+ <script>
+ window.onload = () => {
+ resultUi.render();
+ resultUi.loadData();
+ };
+
+ const resultUi = {
+ state: { details: null, results: null },
+ loadData: () => {
+ resultUi.loadSessionDetails();
+ resultUi.loadSessionResults();
+ },
+ loadSessionDetails(callback = () => {}) {
+ resultUi.state.details = details;
+ resultUi.renderSessionDetails();
+ callback(details);
+ },
+ loadSessionResults(callback = () => {}) {
+ const { details } = resultUi.state;
+ Object.keys(details.test_files_count).forEach(api =>
+ !results[api] ? (results[api] = {}) : null
+ );
+ for (let api in results) {
+ let { pass, fail, timeout, not_run } = results[api];
+ let complete = 0;
+ if (pass) complete += pass;
+ if (fail) complete += fail;
+ if (timeout) complete += timeout;
+ if (not_run) complete += not_run;
+ results[api].complete = complete;
+ const { test_files_count, test_files_completed } = details;
+ results[api].isDone =
+ test_files_count[api] === test_files_completed[api];
+ results[api].testFilesCount = test_files_count[api];
+ results[api].testFilesCompleted = test_files_completed[api];
+ }
+ resultUi.state.results = results;
+ resultUi.renderApiResults();
+ callback(results);
+ },
+ render() {
+ const resultView = UI.createElement({
+ className: "content",
+ style: "margin-bottom: 40px;",
+ children: [
+ {
+ className: "header",
+ children: [
+ {
+ children: [
+ {
+ element: "img",
+ src: "res/wavelogo_2016.jpg",
+ className: "site-logo"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ id: "header",
+ children: [
+ { className: "title", text: "Result" },
+ { id: "controls" }
+ ]
+ },
+ { id: "session-details" },
+ { id: "api-results" },
+ { id: "timeout-files" },
+ { id: "export" }
+ ]
+ });
+ const root = UI.getRoot();
+ root.innerHTML = "";
+ root.appendChild(resultView);
+ resultUi.renderSessionDetails();
+ resultUi.renderApiResults();
+ },
+ renderSessionDetails() {
+ const { state } = resultUi;
+ const { details } = state;
+ if (!details) return;
+ const sessionDetailsView = UI.createElement({
+ style: "margin-bottom: 20px"
+ });
+
+ const heading = UI.createElement({
+ text: "Session details",
+ className: "title is-4"
+ });
+ sessionDetailsView.appendChild(heading);
+
+ const getTagStyle = status => {
+ switch (status) {
+ case "completed":
+ return "is-success";
+ case "running":
+ return "is-info";
+ case "aborted":
+ return "is-danger";
+ case "paused":
+ return "is-warning";
+ }
+ };
+
+ const { test_files_count, token } = details;
+ const detailsTable = UI.createElement({
+ element: "table",
+ children: {
+ element: "tbody",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Token:", style: "width: 140px;" },
+ {
+ element: "td",
+ text: token,
+ className: "is-family-monospace"
+ }
+ ]
+ },
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "User Agent:" },
+ { element: "td", text: details.user_agent || "" }
+ ]
+ },
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Test Path:" },
+ { element: "td", text: details.path || "" }
+ ]
+ },
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Total Test Files:" },
+ {
+ element: "td",
+ text: Object.keys(test_files_count).reduce(
+ (sum, api) => (sum += test_files_count[api]),
+ 0
+ )
+ }
+ ]
+ },
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Test Timeout:" },
+ { element: "td", text: details.test_timeout || "" }
+ ]
+ },
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Started:" },
+ {
+ element: "td",
+ text: new Date(details.date_started).toLocaleString()
+ }
+ ]
+ },
+ details.date_finished
+ ? {
+ element: "tr",
+ children: [
+ { element: "td", text: "Finished:" },
+ {
+ element: "td",
+ text: new Date(details.date_finished).toLocaleString()
+ }
+ ]
+ }
+ : null,
+
+ details.date_finished
+ ? {
+ element: "tr",
+ children: [
+ { element: "td", text: "Duration:" },
+ {
+ element: "td",
+ id: "duration",
+ text: utils.millisToTimeString(
+ details.date_finished
+ ? parseInt(details.date_finished) -
+ parseInt(details.date_started)
+ : Date.now() - parseInt(details.date_started)
+ )
+ }
+ ]
+ }
+ : null
+ ]
+ }
+ });
+ sessionDetailsView.appendChild(detailsTable);
+
+ const sessionDetails = UI.getElement("session-details");
+ sessionDetails.innerHTML = "";
+ sessionDetails.appendChild(sessionDetailsView);
+ },
+ renderApiResults() {
+ const { results } = resultUi.state;
+ if (!results) return;
+
+ const apiResultsView = UI.createElement({
+ style: "margin-bottom: 20px"
+ });
+
+ const heading = UI.createElement({
+ text: "API Results",
+ className: "title is-4"
+ });
+ apiResultsView.appendChild(heading);
+
+ const header = UI.createElement({
+ element: "thead",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "th", text: "API" },
+ { element: "th", text: "Pass" },
+ { element: "th", text: "Fail" },
+ { element: "th", text: "Timeout" },
+ { element: "th", text: "Not Run" },
+ { element: "th", text: "Test Files Run" }
+ ]
+ }
+ ]
+ });
+
+ const apis = Object.keys(results).sort((apiA, apiB) =>
+ apiA.toLowerCase() > apiB.toLowerCase() ? 1 : -1
+ );
+
+ const rows = apis.map(api => {
+ const {
+ complete = 0,
+ pass = 0,
+ fail = 0,
+ timeout = 0,
+ timeoutfiles = [],
+ not_run: notRun = 0,
+ isDone = false,
+ testFilesCount,
+ testFilesCompleted = 0
+ } = results[api];
+ return UI.createElement({
+ element: "tr",
+ children: [
+ { element: "td", text: api },
+ {
+ element: "td",
+ style: "color: hsl(141, 71%, 38%)",
+ text: `${pass} (${utils.percent(pass, complete)}%)`
+ },
+ {
+ element: "td",
+ className: "has-text-danger",
+ text: `${fail} (${utils.percent(fail, complete)}%)`
+ },
+ {
+ element: "td",
+ style: "color: hsl(48, 100%, 40%)",
+ text: `${timeout} (${utils.percent(timeout, complete)}%)`
+ },
+ {
+ element: "td",
+ className: "has-text-info",
+ text: `${notRun} (${utils.percent(notRun, complete)}%)`
+ },
+ {
+ element: "td",
+ text: `${testFilesCompleted}/${testFilesCount} (${utils.percent(
+ testFilesCompleted,
+ testFilesCount
+ )}%)`
+ }
+ ]
+ });
+ });
+
+ const { pass, fail, timeout, not_run, complete } = apis.reduce(
+ (sum, api) => {
+ Object.keys(sum).forEach(
+ key => (sum[key] += results[api][key] ? results[api][key] : 0)
+ );
+ return sum;
+ },
+ { complete: 0, pass: 0, fail: 0, timeout: 0, not_run: 0 }
+ );
+ const testFilesCount = Object.keys(results).reduce(
+ (sum, api) => (sum += results[api].testFilesCount),
+ 0
+ );
+ const testFilesCompleted = Object.keys(results).reduce(
+ (sum, api) => (sum += results[api].testFilesCompleted || 0),
+ 0
+ );
+
+ const footer = UI.createElement({
+ element: "tfoot",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "th", text: "Total" },
+ {
+ element: "th",
+ style: "color: hsl(141, 71%, 38%)",
+ text: `${pass} (${utils.percent(pass, complete)}%)`
+ },
+ {
+ element: "th",
+ className: "has-text-danger",
+ text: `${fail} (${utils.percent(fail, complete)}%)`
+ },
+ {
+ element: "th",
+ style: "color: hsl(48, 100%, 40%)",
+ text: `${timeout} (${utils.percent(timeout, complete)}%)`
+ },
+ {
+ element: "th",
+ className: "has-text-info",
+ text: `${not_run} (${utils.percent(not_run, complete)}%)`
+ },
+ {
+ element: "th",
+ text: `${testFilesCompleted}/${testFilesCount} (${utils.percent(
+ testFilesCompleted,
+ testFilesCount
+ )}%)`
+ }
+ ]
+ }
+ ]
+ });
+
+ const resultsTable = UI.createElement({
+ element: "table",
+ className: "table",
+ id: "results-table",
+ style: "border-radius: 3px; border: 2px solid hsl(0, 0%, 86%);",
+ children: [header, { element: "tbody", children: rows }, footer]
+ });
+ apiResultsView.appendChild(resultsTable);
+
+ const apiResults = UI.getElement("api-results");
+ apiResults.innerHTML = "";
+ apiResults.appendChild(apiResultsView);
+ }
+ };
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/export/lib/ui.js b/testing/web-platform/tests/tools/wave/export/lib/ui.js
new file mode 100644
index 0000000000..59e2b786e5
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/export/lib/ui.js
@@ -0,0 +1,64 @@
+const UI = {
+ createElement: config => {
+ if (!config) return document.createElement("div");
+ const elementType = config.element || "div";
+ const element = document.createElement(elementType);
+
+ Object.keys(config).forEach(property => {
+ const value = config[property];
+ switch (property.toLowerCase()) {
+ case "id":
+ case "src":
+ case "style":
+ case "placeholder":
+ case "title":
+ element.setAttribute(property, value);
+ return;
+ case "classname":
+ element.setAttribute("class", value);
+ return;
+ case "text":
+ element.innerText = value;
+ return;
+ case "html":
+ element.innerHTML = value;
+ return;
+ case "onclick":
+ element.onclick = value.bind(element);
+ return;
+ case "onchange":
+ element.onchange = value.bind(element);
+ return;
+ case "onkeydown":
+ element.onkeydown = value.bind(element);
+ return;
+ case "type":
+ if (elementType === "input") element.setAttribute("type", value);
+ return;
+ case "children":
+ if (value instanceof Array) {
+ value.forEach(child =>
+ element.appendChild(
+ child instanceof Element ? child : UI.createElement(child)
+ )
+ );
+ } else {
+ element.appendChild(
+ value instanceof Element ? value : UI.createElement(value)
+ );
+ }
+ return;
+ case "disabled":
+ if (value) element.setAttribute("disabled", true);
+ return;
+ }
+ });
+ return element;
+ },
+ getElement: id => {
+ return document.getElementById(id);
+ },
+ getRoot: () => {
+ return document.getElementsByTagName("body")[0];
+ }
+};
diff --git a/testing/web-platform/tests/tools/wave/export/lib/utils.js b/testing/web-platform/tests/tools/wave/export/lib/utils.js
new file mode 100644
index 0000000000..cbd75b5216
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/export/lib/utils.js
@@ -0,0 +1,40 @@
+const utils = {
+ parseQuery: queryString => {
+ if (queryString.indexOf("?") === -1) return {};
+ queryString = queryString.split("?")[1];
+ const query = {};
+ for (let part of queryString.split("&")) {
+ const keyValue = part.split("=");
+ query[keyValue[0]] = keyValue[1] ? keyValue[1] : null;
+ }
+ return query;
+ },
+ percent: (count, total) => {
+ const percent = Math.floor((count / total) * 10000) / 100;
+ if (!percent) {
+ return 0;
+ }
+ return percent;
+ },
+ saveBlobAsFile: (blob, filename) => {
+ const url = URL.createObjectURL(blob);
+ const a = document.createElement("a");
+ a.style.display = "none";
+ document.body.appendChild(a);
+ a.href = url;
+ a.download = filename;
+ a.click();
+ document.body.removeChild(a);
+ },
+ millisToTimeString(totalMilliseconds) {
+ let milliseconds = (totalMilliseconds % 1000) + "";
+ milliseconds = milliseconds.padStart(3, "0");
+ let seconds = (Math.floor(totalMilliseconds / 1000) % 60) + "";
+ seconds = seconds.padStart(2, "0");
+ let minutes = (Math.floor(totalMilliseconds / 60000) % 60) + "";
+ minutes = minutes.padStart(2, "0");
+ let hours = Math.floor(totalMilliseconds / 3600000) + "";
+ hours = hours.padStart(2, "0");
+ return `${hours}:${minutes}:${seconds}`;
+ }
+};
diff --git a/testing/web-platform/tests/tools/wave/export/res/wavelogo_2016.jpg b/testing/web-platform/tests/tools/wave/export/res/wavelogo_2016.jpg
new file mode 100644
index 0000000000..3881409597
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/export/res/wavelogo_2016.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/network/__init__.py b/testing/web-platform/tests/tools/wave/network/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/network/api/__init__.py b/testing/web-platform/tests/tools/wave/network/api/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/network/api/api_handler.py b/testing/web-platform/tests/tools/wave/network/api/api_handler.py
new file mode 100644
index 0000000000..9c67e6c0cd
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/api_handler.py
@@ -0,0 +1,99 @@
+# mypy: allow-untyped-defs
+
+import json
+import sys
+import traceback
+import logging
+
+from urllib.parse import parse_qsl
+
+global logger
+logger = logging.getLogger("wave-api-handler")
+
+
+class ApiHandler:
+ def __init__(self, web_root):
+ self._web_root = web_root
+
+ def set_headers(self, response, headers):
+ if not isinstance(response.headers, list):
+ response.headers = []
+ for header in headers:
+ response.headers.append(header)
+
+ def send_json(self, data, response, status=None):
+ if status is None:
+ status = 200
+ json_string = json.dumps(data, indent=4)
+ response.content = json_string
+ self.set_headers(response, [("Content-Type", "application/json")])
+ response.status = status
+
+ def send_file(self, blob, file_name, response):
+ self.set_headers(response,
+ [("Content-Disposition",
+ "attachment;filename=" + file_name)])
+ response.content = blob
+
+ def send_zip(self, data, file_name, response):
+ response.headers = [("Content-Type", "application/x-compressed")]
+ self.send_file(data, file_name, response)
+
+ def parse_uri(self, request):
+ path = request.url_parts.path
+ if self._web_root is not None:
+ path = path[len(self._web_root):]
+
+ uri_parts = list(filter(None, path.split("/")))
+ return uri_parts
+
+ def parse_query_parameters(self, request):
+ return dict(parse_qsl(request.url_parts.query))
+
+ def handle_exception(self, message):
+ info = sys.exc_info()
+ traceback.print_tb(info[2])
+ logger.error(f"{message}: {info[0].__name__}: {info[1].args[0]}")
+
+ def create_hal_list(self, items, uris, index, count, total):
+ hal_list = {}
+ links = {}
+ if uris is not None:
+ for relation in uris:
+ if relation == "self":
+ continue
+ uri = uris[relation]
+ templated = "{" in uri
+ links[relation] = {"href": uri, "templated": templated}
+
+ if "self" in uris:
+ self_uri = uris["self"]
+ self_uri += f"?index={index}&count={count}"
+ links["self"] = {"href": self_uri}
+
+ first_uri = uris["self"]
+ first_uri += f"?index={0}&count={count}"
+ links["first"] = {"href": first_uri}
+
+ last_uri = uris["self"]
+ last_uri += f"?index={total - (total % count)}&count={count}"
+ links["last"] = {"href": last_uri}
+
+ if index + count <= total:
+ next_index = index + count
+ next_uri = uris["self"]
+ next_uri += f"?index={next_index}&count={count}"
+ links["next"] = {"href": next_uri}
+
+ if index != 0:
+ previous_index = index - count
+ if previous_index < 0:
+ previous_index = 0
+ previous_uri = uris["self"]
+ previous_uri += f"?index={previous_index}&count={count}"
+ links["previous"] = {"href": previous_uri}
+
+ hal_list["_links"] = links
+ hal_list["items"] = items
+
+ return hal_list
diff --git a/testing/web-platform/tests/tools/wave/network/api/devices_api_handler.py b/testing/web-platform/tests/tools/wave/network/api/devices_api_handler.py
new file mode 100644
index 0000000000..ecd9a96770
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/devices_api_handler.py
@@ -0,0 +1,202 @@
+# mypy: allow-untyped-defs
+
+import json
+import threading
+
+from .api_handler import ApiHandler
+from ...data.http_polling_event_listener import HttpPollingEventListener
+from ...testing.event_dispatcher import DEVICES
+from ...utils.serializer import serialize_device
+from ...testing.devices_manager import DEVICE_TIMEOUT, RECONNECT_TIME
+from ...data.exceptions.not_found_exception import NotFoundException
+
+
+class DevicesApiHandler(ApiHandler):
+ def __init__(self, devices_manager, event_dispatcher, web_root):
+ super().__init__(web_root)
+ self._devices_manager = devices_manager
+ self._event_dispatcher = event_dispatcher
+
+ def create_device(self, request, response):
+ try:
+ user_agent = request.headers[b"user-agent"].decode("utf-8")
+
+ device = self._devices_manager.create_device(user_agent)
+
+ self.send_json({"token": device.token}, response)
+ except Exception:
+ self.handle_exception("Failed to create device")
+ response.status = 500
+
+ def read_device(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ device = self._devices_manager.read_device(token)
+
+ device_object = serialize_device(device)
+
+ self.send_json(device_object, response)
+ except NotFoundException:
+ self.handle_exception("Failed to read device")
+ response.status = 404
+ except Exception:
+ self.handle_exception("Failed to read device")
+ response.status = 500
+
+ def read_devices(self, request, response):
+ try:
+ devices = self._devices_manager.read_devices()
+
+ device_objects = []
+ for device in devices:
+ device_object = serialize_device(device)
+ device_objects.append(device_object)
+
+ self.send_json(device_objects, response)
+ except Exception:
+ self.handle_exception("Failed to read devices")
+ response.status = 500
+
+ def register_event_listener(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ query = self.parse_query_parameters(request)
+
+ if "device_token" in query:
+ self._devices_manager.refresh_device(query["device_token"])
+
+ event = threading.Event()
+ timer = threading.Timer(
+ (DEVICE_TIMEOUT - RECONNECT_TIME) / 1000,
+ event.set,
+ [])
+ timer.start()
+ http_polling_event_listener = HttpPollingEventListener(token, event)
+ event_listener_token = self._event_dispatcher.add_event_listener(http_polling_event_listener)
+
+ event.wait()
+
+ message = http_polling_event_listener.message
+ if message is not None:
+ self.send_json(data=message, response=response)
+ self._event_dispatcher.remove_event_listener(event_listener_token)
+ except Exception:
+ self.handle_exception("Failed to register event listener")
+ response.status = 500
+
+ def register_global_event_listener(self, request, response):
+ try:
+ query = self.parse_query_parameters(request)
+
+ if "device_token" in query:
+ self._devices_manager.refresh_device(query["device_token"])
+
+ event = threading.Event()
+ timer = threading.Timer(
+ (DEVICE_TIMEOUT - RECONNECT_TIME) / 1000,
+ event.set,
+ [])
+ timer.start()
+ http_polling_event_listener = HttpPollingEventListener(DEVICES, event)
+ event_listener_token = self._event_dispatcher.add_event_listener(http_polling_event_listener)
+
+ event.wait()
+
+ message = http_polling_event_listener.message
+ if message is not None:
+ self.send_json(data=message, response=response)
+ self._event_dispatcher.remove_event_listener(event_listener_token)
+ except Exception:
+ self.handle_exception("Failed to register global event listener")
+ response.status = 500
+
+ def post_global_event(self, request, response):
+ try:
+ event = {}
+ body = request.body.decode("utf-8")
+ if body != "":
+ event = json.loads(body)
+
+ query = self.parse_query_parameters(request)
+ if "device_token" in query:
+ self._devices_manager.refresh_device(query["device_token"])
+
+ event_type = None
+ if "type" in event:
+ event_type = event["type"]
+ data = None
+ if "data" in event:
+ data = event["data"]
+ self._devices_manager.post_global_event(event_type, data)
+
+ except Exception:
+ self.handle_exception("Failed to post global event")
+ response.status = 500
+
+ def post_event(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ event = {}
+ body = request.body.decode("utf-8")
+ if body != "":
+ event = json.loads(body)
+
+ query = self.parse_query_parameters(request)
+ if "device_token" in query:
+ self._devices_manager.refresh_device(query["device_token"])
+
+ event_type = None
+ if "type" in event:
+ event_type = event["type"]
+ data = None
+ if "data" in event:
+ data = event["data"]
+ self._devices_manager.post_event(token, event_type, data)
+
+ except Exception:
+ self.handle_exception("Failed to post event")
+ response.status = 500
+
+ def handle_request(self, request, response):
+ method = request.method
+ uri_parts = self.parse_uri(request)
+
+ # /api/devices
+ if len(uri_parts) == 2:
+ if method == "POST":
+ self.create_device(request, response)
+ return
+ if method == "GET":
+ self.read_devices(request, response)
+ return
+
+ # /api/devices/<function>
+ if len(uri_parts) == 3:
+ function = uri_parts[2]
+ if method == "GET":
+ if function == "events":
+ self.register_global_event_listener(request, response)
+ return
+ self.read_device(request, response)
+ return
+ if method == "POST":
+ if function == "events":
+ self.post_global_event(request, response)
+ return
+
+ # /api/devices/<token>/<function>
+ if len(uri_parts) == 4:
+ function = uri_parts[3]
+ if method == "GET":
+ if function == "events":
+ self.register_event_listener(request, response)
+ return
+ if method == "POST":
+ if function == "events":
+ self.post_event(request, response)
+ return
diff --git a/testing/web-platform/tests/tools/wave/network/api/general_api_handler.py b/testing/web-platform/tests/tools/wave/network/api/general_api_handler.py
new file mode 100644
index 0000000000..65883a9b75
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/general_api_handler.py
@@ -0,0 +1,76 @@
+# mypy: allow-untyped-defs
+
+from .api_handler import ApiHandler
+
+TOKEN_LENGTH = 36
+
+
+class GeneralApiHandler(ApiHandler):
+ def __init__(
+ self,
+ web_root,
+ read_sessions_enabled,
+ import_results_enabled,
+ reports_enabled,
+ version_string,
+ test_type_selection_enabled,
+ test_file_selection_enabled
+ ):
+ super().__init__(web_root)
+ self.read_sessions_enabled = read_sessions_enabled
+ self.import_results_enabled = import_results_enabled
+ self.reports_enabled = reports_enabled
+ self.version_string = version_string
+ self.test_type_selection_enabled = test_type_selection_enabled
+ self.test_file_selection_enabled = test_file_selection_enabled
+
+ def read_status(self):
+ try:
+ return {
+ "format": "application/json",
+ "data": {
+ "version_string": self.version_string,
+ "read_sessions_enabled": self.read_sessions_enabled,
+ "import_results_enabled": self.import_results_enabled,
+ "reports_enabled": self.reports_enabled,
+ "test_type_selection_enabled": self.test_type_selection_enabled,
+ "test_file_selection_enabled": self.test_file_selection_enabled
+ }
+ }
+ except Exception:
+ self.handle_exception("Failed to read server configuration")
+ return {"status": 500}
+
+ def handle_request(self, request, response):
+ method = request.method
+ uri_parts = self.parse_uri(request)
+
+ result = None
+ # /api/<function>
+ if len(uri_parts) == 2:
+ function = uri_parts[1]
+ if method == "GET":
+ if function == "status":
+ result = self.read_status()
+
+ if result is None:
+ response.status = 404
+ return
+
+ format = None
+ if "format" in result:
+ format = result["format"]
+ if format == "application/json":
+ data = None
+ if "data" in result:
+ data = result["data"]
+ status = 200
+ if "status" in result:
+ status = result["status"]
+ self.send_json(data, response, status)
+ return
+
+ status = 404
+ if "status" in result:
+ status = result["status"]
+ response.status = status
diff --git a/testing/web-platform/tests/tools/wave/network/api/results_api_handler.py b/testing/web-platform/tests/tools/wave/network/api/results_api_handler.py
new file mode 100644
index 0000000000..a9da0df10f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/results_api_handler.py
@@ -0,0 +1,232 @@
+# mypy: allow-untyped-defs
+
+import json
+
+from .api_handler import ApiHandler
+from ...data.exceptions.duplicate_exception import DuplicateException
+from ...data.exceptions.invalid_data_exception import InvalidDataException
+
+
+class ResultsApiHandler(ApiHandler):
+ def __init__(self, results_manager, session_manager, web_root):
+ super().__init__(web_root)
+ self._results_manager = results_manager
+ self._sessions_manager = session_manager
+
+ def create_result(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ data = None
+ body = request.body.decode("utf-8")
+ if body != "":
+ data = json.loads(body)
+
+ self._results_manager.create_result(token, data)
+
+ except Exception:
+ self.handle_exception("Failed to create result")
+ response.status = 500
+
+ def read_results(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ response.status = 404
+ return
+
+ results = self._results_manager.read_results(token)
+
+ self.send_json(response=response, data=results)
+
+ except Exception:
+ self.handle_exception("Failed to read results")
+ response.status = 500
+
+ def read_results_compact(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ results = self._results_manager.read_flattened_results(token)
+
+ self.send_json(response=response, data=results)
+
+ except Exception:
+ self.handle_exception("Failed to read compact results")
+ response.status = 500
+
+ def read_results_api_wpt_report_url(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ api = uri_parts[3]
+
+ uri = self._results_manager.read_results_wpt_report_uri(token, api)
+ self.send_json({"uri": uri}, response)
+ except Exception:
+ self.handle_exception("Failed to read results report url")
+ response.status = 500
+
+ def read_results_api_wpt_multi_report_uri(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ api = uri_parts[2]
+ query = self.parse_query_parameters(request)
+ tokens = query["tokens"].split(",")
+ uri = self._results_manager.read_results_wpt_multi_report_uri(
+ tokens,
+ api
+ )
+ self.send_json({"uri": uri}, response)
+ except Exception:
+ self.handle_exception("Failed to read results multi report url")
+ response.status = 500
+
+ def download_results_api_json(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ api = uri_parts[3]
+ blob = self._results_manager.export_results_api_json(token, api)
+ if blob is None:
+ response.status = 404
+ return
+ file_path = self._results_manager.get_json_path(token, api)
+ file_name = "{}-{}-{}".format(
+ token.split("-")[0],
+ api,
+ file_path.split("/")[-1]
+ )
+ self.send_zip(blob, file_name, response)
+ except Exception:
+ self.handle_exception("Failed to download api json")
+ response.status = 500
+
+ def import_results_api_json(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ api = uri_parts[3]
+ blob = request.body
+
+ self._results_manager.import_results_api_json(token, api, blob)
+
+ response.status = 200
+ except Exception:
+ self.handle_exception("Failed to upload api json")
+ response.status = 500
+
+ def download_results_all_api_jsons(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ blob = self._results_manager.export_results_all_api_jsons(token)
+ file_name = token.split("-")[0] + "_results_json.zip"
+ self.send_zip(blob, file_name, response)
+ except Exception:
+ self.handle_exception("Failed to download all api jsons")
+ response.status = 500
+
+ def download_results(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ blob = self._results_manager.export_results(token)
+ if blob is None:
+ response.status = 404
+ return
+ file_name = token + ".zip"
+ self.send_zip(blob, file_name, response)
+ except Exception:
+ self.handle_exception("Failed to download results")
+ response.status = 500
+
+ def download_results_overview(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ blob = self._results_manager.export_results_overview(token)
+ if blob is None:
+ response.status = 404
+ return
+ file_name = token.split("-")[0] + "_results_html.zip"
+ self.send_zip(blob, file_name, response)
+ except Exception:
+ self.handle_exception("Failed to download results overview")
+ response.status = 500
+
+ def import_results(self, request, response):
+ try:
+ blob = request.body
+ token = self._results_manager.import_results(blob)
+ self.send_json({"token": token}, response)
+ except DuplicateException:
+ self.handle_exception("Failed to import results")
+ self.send_json({"error": "Session already exists!"}, response, 400)
+ return
+ except InvalidDataException:
+ self.handle_exception("Failed to import results")
+ self.send_json({"error": "Invalid input data!"}, response, 400)
+ return
+ except Exception:
+ self.handle_exception("Failed to import results")
+ response.status = 500
+
+ def handle_request(self, request, response):
+ method = request.method
+ uri_parts = self.parse_uri(request)
+
+ # /api/results/<token>
+ if len(uri_parts) == 3:
+ if method == "POST":
+ if uri_parts[2] == "import":
+ self.import_results(request, response)
+ return
+ self.create_result(request, response)
+ return
+
+ if method == "GET":
+ self.read_results(request, response)
+ return
+
+ # /api/results/<token>/<function>
+ if len(uri_parts) == 4:
+ function = uri_parts[3]
+ if method == "GET":
+ if function == "compact":
+ self.read_results_compact(request, response)
+ return
+ if function == "reporturl":
+ return self.read_results_api_wpt_multi_report_uri(request,
+ response)
+ if function == "json":
+ self.download_results_all_api_jsons(request, response)
+ return
+ if function == "export":
+ self.download_results(request, response)
+ return
+ if function == "overview":
+ self.download_results_overview(request, response)
+ return
+
+ # /api/results/<token>/<api>/<function>
+ if len(uri_parts) == 5:
+ function = uri_parts[4]
+ if method == "GET":
+ if function == "reporturl":
+ self.read_results_api_wpt_report_url(request, response)
+ return
+ if function == "json":
+ self.download_results_api_json(request, response)
+ return
+ if method == "POST":
+ if function == "json":
+ self.import_results_api_json(request, response)
+ return
+
+ response.status = 404
diff --git a/testing/web-platform/tests/tools/wave/network/api/sessions_api_handler.py b/testing/web-platform/tests/tools/wave/network/api/sessions_api_handler.py
new file mode 100644
index 0000000000..9eb896b807
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/sessions_api_handler.py
@@ -0,0 +1,458 @@
+# mypy: allow-untyped-defs
+
+import json
+import threading
+
+from .api_handler import ApiHandler
+
+from ...utils.serializer import serialize_session
+from ...data.exceptions.not_found_exception import NotFoundException
+from ...data.exceptions.invalid_data_exception import InvalidDataException
+from ...data.http_polling_event_listener import HttpPollingEventListener
+
+TOKEN_LENGTH = 36
+
+
+class SessionsApiHandler(ApiHandler):
+ def __init__(
+ self,
+ sessions_manager,
+ results_manager,
+ event_dispatcher,
+ web_root,
+ read_sessions_enabled
+ ):
+ super().__init__(web_root)
+ self._sessions_manager = sessions_manager
+ self._results_manager = results_manager
+ self._event_dispatcher = event_dispatcher
+ self._read_sessions_enabled = read_sessions_enabled
+
+ def create_session(self, body, headers):
+ try:
+ config = {}
+ body = body.decode("utf-8")
+ if body != "":
+ config = json.loads(body)
+ tests = {}
+ if "tests" in config:
+ tests = config["tests"]
+ test_types = None
+ if "types" in config:
+ test_types = config["types"]
+ timeouts = {}
+ if "timeouts" in config:
+ timeouts = config["timeouts"]
+ reference_tokens = []
+ if "reference_tokens" in config:
+ reference_tokens = config["reference_tokens"]
+ user_agent = headers[b"user-agent"].decode("utf-8")
+ labels = []
+ if "labels" in config:
+ labels = config["labels"]
+ expiration_date = None
+ if "expiration_date" in config:
+ expiration_date = config["expiration_date"]
+ type = None
+ if "type" in config:
+ type = config["type"]
+
+ session = self._sessions_manager.create_session(
+ tests,
+ test_types,
+ timeouts,
+ reference_tokens,
+ user_agent,
+ labels,
+ expiration_date,
+ type
+ )
+
+ return {
+ "format": "application/json",
+ "data": {"token": session.token}
+ }
+
+ except InvalidDataException:
+ self.handle_exception("Failed to create session")
+ return {
+ "format": "application/json",
+ "data": {"error": "Invalid input data!"},
+ "status": 400
+ }
+
+ except Exception:
+ self.handle_exception("Failed to create session")
+ return {"status": 500}
+
+ def read_session(self, token):
+ try:
+
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ return {"status": 404}
+
+ data = serialize_session(session)
+
+ return {
+ "format": "application/json",
+ "data": {
+ "token": data["token"],
+ "tests": data["tests"],
+ "types": data["types"],
+ "timeouts": data["timeouts"],
+ "reference_tokens": data["reference_tokens"],
+ "user_agent": data["user_agent"],
+ "browser": data["browser"],
+ "is_public": data["is_public"],
+ "date_created": data["date_created"],
+ "labels": data["labels"]
+ }
+ }
+ except Exception:
+ self.handle_exception("Failed to read session")
+ return {"status": 500}
+
+ def read_sessions(self, query_parameters, uri_path):
+ try:
+ index = 0
+ if "index" in query_parameters:
+ index = int(query_parameters["index"])
+ count = 10
+ if "count" in query_parameters:
+ count = int(query_parameters["count"])
+ expand = []
+ if "expand" in query_parameters:
+ expand = query_parameters["expand"].split(",")
+
+ session_tokens = self._sessions_manager.read_sessions(index=index, count=count)
+ total_sessions = self._sessions_manager.get_total_sessions()
+
+ embedded = {}
+
+ for relation in expand:
+ if relation == "configuration":
+ configurations = []
+ for token in session_tokens:
+ result = self.read_session(token)
+ if "status" in result and result["status"] != 200:
+ continue
+ configurations.append(result["data"])
+ embedded["configuration"] = configurations
+
+ if relation == "status":
+ statuses = []
+ for token in session_tokens:
+ result = self.read_session_status(token)
+ if "status" in result and result["status"] != 200:
+ continue
+ statuses.append(result["data"])
+ embedded["status"] = statuses
+
+ uris = {
+ "self": uri_path,
+ "configuration": self._web_root + "api/sessions/{token}",
+ "status": self._web_root + "api/sessions/{token}/status"
+ }
+
+ data = self.create_hal_list(session_tokens, uris, index, count, total=total_sessions)
+
+ if len(embedded) > 0:
+ data["_embedded"] = embedded
+
+ return {
+ "format": "application/json",
+ "data": data
+ }
+ except Exception:
+ self.handle_exception("Failed to read session")
+ return {"status": 500}
+
+ def read_session_status(self, token):
+ try:
+ session = self._sessions_manager.read_session_status(token)
+ if session is None:
+ return {"status": 404}
+
+ data = serialize_session(session)
+
+ return {
+ "format": "application/json",
+ "data": {
+ "token": data["token"],
+ "status": data["status"],
+ "date_started": data["date_started"],
+ "date_finished": data["date_finished"],
+ "expiration_date": data["expiration_date"]
+ }
+ }
+ except Exception:
+ self.handle_exception("Failed to read session status")
+ return {"status": 500}
+
+ def read_public_sessions(self, request, response):
+ try:
+ session_tokens = self._sessions_manager.read_public_sessions()
+
+ self.send_json(session_tokens, response)
+ except Exception:
+ self.handle_exception("Failed to read public sessions")
+ response.status = 500
+
+ def update_session_configuration(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ config = {}
+ body = request.body.decode("utf-8")
+ if body != "":
+ config = json.loads(body)
+
+ tests = {}
+ if "tests" in config:
+ tests = config["tests"]
+ test_types = None
+ if "types" in config:
+ test_types = config["types"]
+ timeouts = {}
+ if "timeouts" in config:
+ timeouts = config["timeouts"]
+ reference_tokens = []
+ if "reference_tokens" in config:
+ reference_tokens = config["reference_tokens"]
+ type = None
+ if "type" in config:
+ type = config["type"]
+
+ self._sessions_manager.update_session_configuration(
+ token,
+ tests,
+ test_types,
+ timeouts,
+ reference_tokens,
+ type
+ )
+ except NotFoundException:
+ self.handle_exception("Failed to update session configuration")
+ response.status = 404
+ except Exception:
+ self.handle_exception("Failed to update session configuration")
+ response.status = 500
+
+ def update_labels(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ # convert unicode to ascii to get a text type, ignore special chars
+ token = uri_parts[2]
+ body = request.body.decode("utf-8")
+ labels = None
+ if body != "":
+ labels = json.loads(body)
+ if "labels" in labels:
+ labels = labels["labels"]
+
+ self._sessions_manager.update_labels(token=token, labels=labels)
+ except Exception:
+ self.handle_exception("Failed to update labels")
+ response.status = 500
+
+ def delete_session(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ response.status = 404
+ return
+
+ self._sessions_manager.delete_session(token)
+ self._results_manager.delete_results(token)
+ except Exception:
+ self.handle_exception("Failed to delete session")
+ response.status = 500
+
+ def start_session(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ self._sessions_manager.start_session(token)
+ except Exception:
+ self.handle_exception("Failed to start session")
+ response.status = 500
+
+ def pause_session(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ self._sessions_manager.pause_session(token)
+ except Exception:
+ self.handle_exception("Failed to pause session")
+ response.status = 500
+
+ def stop_session(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ self._sessions_manager.stop_session(token)
+ except Exception:
+ self.handle_exception("Failed to stop session")
+ response.status = 500
+
+ def resume_session(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ resume_token = None
+ body = request.body.decode("utf-8")
+ if body != "":
+ resume_token = json.loads(body)["resume_token"]
+
+ self._sessions_manager.resume_session(token, resume_token)
+ except Exception:
+ self.handle_exception("Failed to resume session")
+ response.status = 500
+
+ def find_session(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ fragment = uri_parts[2]
+ token = self._sessions_manager.find_token(fragment)
+ if token is None:
+ response.status = 404
+ return
+ self.send_json({"token": token}, response)
+ except Exception:
+ self.handle_exception("Failed to find session")
+ response.status = 500
+
+ def register_event_listener(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ query_parameters = self.parse_query_parameters(request)
+ last_event_number = None
+ if ("last_event" in query_parameters):
+ last_event_number = int(query_parameters["last_event"])
+
+ event = threading.Event()
+ http_polling_event_listener = HttpPollingEventListener(token, event)
+ event_listener_token = self._event_dispatcher.add_event_listener(http_polling_event_listener, last_event_number)
+
+ event.wait()
+
+ message = http_polling_event_listener.message
+ self.send_json(data=message, response=response)
+ self._event_dispatcher.remove_event_listener(event_listener_token)
+ except Exception:
+ self.handle_exception("Failed to register event listener")
+ response.status = 500
+
+ def push_event(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ message = None
+ body = request.body.decode("utf-8")
+ if body != "":
+ message = json.loads(body)
+
+ self._event_dispatcher.dispatch_event(
+ token,
+ message["type"],
+ message["data"])
+ except Exception:
+ self.handle_exception("Failed to push session event")
+
+ def handle_request(self, request, response):
+ method = request.method
+ uri_parts = self.parse_uri(request)
+ body = request.body
+ headers = request.headers
+ query_parameters = self.parse_query_parameters(request)
+ uri_path = request.url_parts.path
+
+ result = None
+ # /api/sessions
+ if len(uri_parts) == 2:
+ if method == "POST":
+ result = self.create_session(body, headers)
+ if method == "GET":
+ if self._read_sessions_enabled:
+ result = self.read_sessions(query_parameters, uri_path)
+
+ # /api/sessions/<token>
+ if len(uri_parts) == 3:
+ function = uri_parts[2]
+ if method == "GET":
+ if function == "public":
+ self.read_public_sessions(request, response)
+ return
+ if len(function) != TOKEN_LENGTH:
+ self.find_session(request, response)
+ return
+ result = self.read_session(token=uri_parts[2])
+ if method == "PUT":
+ self.update_session_configuration(request, response)
+ return
+ if method == "DELETE":
+ self.delete_session(request, response)
+ return
+
+ # /api/sessions/<token>/<function>
+ if len(uri_parts) == 4:
+ function = uri_parts[3]
+ if method == "GET":
+ if function == "status":
+ result = self.read_session_status(token=uri_parts[2])
+ if function == "events":
+ self.register_event_listener(request, response)
+ return
+ if method == "POST":
+ if function == "start":
+ self.start_session(request, response)
+ return
+ if function == "pause":
+ self.pause_session(request, response)
+ return
+ if function == "stop":
+ self.stop_session(request, response)
+ return
+ if function == "resume":
+ self.resume_session(request, response)
+ return
+ if function == "events":
+ self.push_event(request, response)
+ return
+ if method == "PUT":
+ if function == "labels":
+ self.update_labels(request, response)
+ return
+
+ if result is None:
+ response.status = 404
+ return
+
+ format = None
+ if "format" in result:
+ format = result["format"]
+ if format == "application/json":
+ data = None
+ if "data" in result:
+ data = result["data"]
+ status = 200
+ if "status" in result:
+ status = result["status"]
+ self.send_json(data, response, status)
+ return
+
+ status = 404
+ if "status" in result:
+ status = result["status"]
+ response.status = status
diff --git a/testing/web-platform/tests/tools/wave/network/api/tests_api_handler.py b/testing/web-platform/tests/tools/wave/network/api/tests_api_handler.py
new file mode 100644
index 0000000000..3803583771
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/api/tests_api_handler.py
@@ -0,0 +1,298 @@
+# mypy: allow-untyped-defs
+
+import json
+
+from urllib.parse import urlunsplit
+
+from .api_handler import ApiHandler
+from ...utils.serializer import serialize_session
+from ...data.session import PAUSED, COMPLETED, ABORTED, PENDING, RUNNING
+
+DEFAULT_LAST_COMPLETED_TESTS_COUNT = 5
+DEFAULT_LAST_COMPLETED_TESTS_STATUS = ["ALL"]
+
+EXECUTION_MODE_AUTO = "auto"
+EXECUTION_MODE_MANUAL = "manual"
+EXECUTION_MODE_PROGRAMMATIC = "programmatic"
+
+
+class TestsApiHandler(ApiHandler):
+ def __init__(
+ self,
+ wpt_port,
+ wpt_ssl_port,
+ tests_manager,
+ sessions_manager,
+ hostname,
+ web_root,
+ test_loader
+ ):
+ super().__init__(web_root)
+ self._tests_manager = tests_manager
+ self._sessions_manager = sessions_manager
+ self._wpt_port = wpt_port
+ self._wpt_ssl_port = wpt_ssl_port
+ self._hostname = hostname
+ self._web_root = web_root
+ self._test_loader = test_loader
+
+ def read_tests(self, response):
+ tests = self._tests_manager.read_tests()
+ self.send_json(tests, response)
+
+ def read_session_tests(self, request, response):
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ session = self._sessions_manager.read_session(token)
+
+ if session is None:
+ response.status = 404
+ return
+
+ data = serialize_session(session)
+ tests = {
+ "token": token,
+ "pending_tests": data["pending_tests"],
+ "running_tests": data["running_tests"]
+ }
+ self.send_json(tests, response)
+
+ def read_next_test(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ hostname = self._hostname
+
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ response.status = 404
+ return
+
+ if session.status == PAUSED:
+ url = self._generate_wave_url(
+ hostname=hostname,
+ uri="pause.html",
+ token=token
+ )
+ self.send_json({"next_test": url}, response)
+ return
+ if session.status == COMPLETED or session.status == ABORTED:
+ url = self._generate_wave_url(
+ hostname=hostname,
+ uri="finish.html",
+ token=token
+ )
+ self.send_json({"next_test": url}, response)
+ return
+ if session.status == PENDING:
+ url = self._generate_wave_url(
+ hostname=hostname,
+ uri="newsession.html",
+ token=token
+ )
+ self.send_json({"next_test": url}, response)
+ return
+
+ test = self._tests_manager.next_test(session)
+
+ if test is None:
+ if session.status != RUNNING:
+ return
+ url = self._generate_wave_url(
+ hostname=hostname,
+ uri="finish.html",
+ token=token
+ )
+ self.send_json({"next_test": url}, response)
+ self._sessions_manager.complete_session(token)
+ return
+
+ test_timeout = self._tests_manager.get_test_timeout(
+ test=test, session=session)
+
+ test = self._sessions_manager.get_test_path_with_query(test, session)
+ url = self._generate_test_url(
+ test=test,
+ token=token,
+ test_timeout=test_timeout,
+ hostname=hostname)
+
+ self.send_json({
+ "next_test": url
+ }, response)
+ except Exception:
+ self.handle_exception("Failed to read next test")
+ response.status = 500
+
+ def read_last_completed(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ query = self.parse_query_parameters(request)
+ count = None
+ if "count" in query:
+ count = query["count"]
+ else:
+ count = DEFAULT_LAST_COMPLETED_TESTS_COUNT
+
+ status = None
+ if "status" in query:
+ status = query["status"].split(",")
+ else:
+ status = DEFAULT_LAST_COMPLETED_TESTS_STATUS
+
+ completed_tests = self._tests_manager.read_last_completed_tests(
+ token, count)
+ tests = {}
+ for one_status in status:
+ one_status = one_status.lower()
+ if one_status == "pass":
+ tests["pass"] = completed_tests["pass"]
+ continue
+ if one_status == "fail":
+ tests["fail"] = completed_tests["fail"]
+ continue
+ if one_status == "timeout":
+ tests["timeout"] = completed_tests["timeout"]
+ continue
+ if one_status == "all":
+ tests["pass"] = completed_tests["pass"]
+ tests["fail"] = completed_tests["fail"]
+ tests["timeout"] = completed_tests["timeout"]
+ break
+ self.send_json(data=tests, response=response)
+ except Exception:
+ self.handle_exception("Failed to read last completed tests")
+ response.status = 500
+
+ def read_malfunctioning(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+ tm = self._tests_manager
+ malfunctioning_tests = tm.read_malfunctioning_tests(token)
+
+ self.send_json(data=malfunctioning_tests, response=response)
+ except Exception:
+ self.handle_exception("Failed to read malfunctioning tests")
+ response.status = 500
+
+ def update_malfunctioning(self, request, response):
+ try:
+ uri_parts = self.parse_uri(request)
+ token = uri_parts[2]
+
+ data = None
+ body = request.body.decode("utf-8")
+ if body != "":
+ data = json.loads(body)
+
+ self._tests_manager.update_malfunctioning_tests(token, data)
+ except Exception:
+ self.handle_exception("Failed to update malfunctioning tests")
+ response.status = 500
+
+ def read_available_apis(self, request, response):
+ try:
+ apis = self._test_loader.get_apis()
+ self.send_json(apis, response)
+ except Exception:
+ self.handle_exception("Failed to read available APIs")
+ response.status = 500
+
+ def handle_request(self, request, response):
+ method = request.method
+ uri_parts = self.parse_uri(request)
+
+ # /api/tests
+ if len(uri_parts) == 2:
+ if method == "GET":
+ self.read_tests(response)
+ return
+
+ # /api/tests/<token>
+ if len(uri_parts) == 3:
+ if method == "GET":
+ if uri_parts[2] == "apis":
+ self.read_available_apis(request, response)
+ return
+ self.read_session_tests(request, response)
+ return
+
+ # /api/tests/<token>/<function>
+ if len(uri_parts) == 4:
+ function = uri_parts[3]
+ if method == "GET":
+ if function == "next":
+ self.read_next_test(request, response)
+ return
+ if function == "last_completed":
+ self.read_last_completed(request, response)
+ return
+ if function == "malfunctioning":
+ self.read_malfunctioning(request, response)
+ return
+ if method == "PUT":
+ if function == "malfunctioning":
+ self.update_malfunctioning(request, response)
+ return
+
+ response.status = 404
+
+ def _generate_wave_url(self, hostname, uri, token):
+ if self._web_root is not None:
+ uri = self._web_root + uri
+
+ return self._generate_url(
+ hostname=hostname,
+ uri=uri,
+ port=self._wpt_port,
+ query="token=" + token
+ )
+
+ def _generate_test_url(self, hostname, test, token, test_timeout):
+ protocol = "http"
+ port = self._wpt_port
+
+ if "https" in test:
+ protocol = "https"
+ port = self._wpt_ssl_port
+
+ test_query = ""
+ split = test.split("?")
+ if len(split) > 1:
+ test = split[0]
+ test_query = split[1]
+
+ query = "token={}&timeout={}&https_port={}&web_root={}&{}".format(
+ token,
+ test_timeout,
+ self._wpt_ssl_port,
+ self._web_root,
+ test_query
+ )
+
+ return self._generate_url(
+ protocol=protocol,
+ hostname=hostname,
+ port=port,
+ uri=test,
+ query=query
+ )
+
+ def _generate_url(self,
+ hostname,
+ port=None,
+ uri=None,
+ query=None,
+ protocol=None):
+ if port is None:
+ port = 80
+ if uri is None:
+ uri = "/"
+ if query is None:
+ query = ""
+ if protocol is None:
+ protocol = "http"
+ return urlunsplit([protocol, f"{hostname}:{port}", uri, query, ''])
diff --git a/testing/web-platform/tests/tools/wave/network/http_handler.py b/testing/web-platform/tests/tools/wave/network/http_handler.py
new file mode 100644
index 0000000000..b76f711cf1
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/http_handler.py
@@ -0,0 +1,122 @@
+# mypy: allow-untyped-defs
+
+import http.client as httplib
+import sys
+import logging
+import traceback
+
+
+global logger
+logger = logging.getLogger("wave-api-handler")
+
+class HttpHandler:
+ def __init__(
+ self,
+ static_handler,
+ sessions_api_handler,
+ tests_api_handler,
+ results_api_handler,
+ devices_api_handler,
+ general_api_handler,
+ http_port,
+ web_root
+ ):
+ self.static_handler = static_handler
+ self.sessions_api_handler = sessions_api_handler
+ self.tests_api_handler = tests_api_handler
+ self.results_api_handler = results_api_handler
+ self.general_api_handler = general_api_handler
+ self.devices_api_handler = devices_api_handler
+ self._http_port = http_port
+ self._web_root = web_root
+
+ def handle_request(self, request, response):
+ response.headers = [
+ ("Access-Control-Allow-Origin", "*"),
+ ("Access-Control-Allow-Headers", "*"),
+ ("Access-Control-Allow-Methods", "*")
+ ]
+ if request.method == "OPTIONS":
+ return
+
+ path = self._remove_web_root(request.request_path)
+
+ is_api_call = False
+ for index, part in enumerate(path.split("/")):
+ if index > 2:
+ break
+ if part != "api":
+ continue
+
+ is_api_call = True
+
+ if (is_api_call):
+ if request.url_parts.scheme == "https":
+ self._proxy(request, response)
+ return
+ self.handle_api(request, response)
+ else:
+ self.handle_static_file(request, response)
+
+ def handle_api(self, request, response):
+ path = self._remove_web_root(request.request_path)
+ path = path.split("?")[0]
+ api_name = path.split("/")[1]
+
+ if api_name is None:
+ return
+
+ if api_name == "sessions":
+ self.sessions_api_handler.handle_request(request, response)
+ return
+ if api_name == "tests":
+ self.tests_api_handler.handle_request(request, response)
+ return
+ if api_name == "results":
+ self.results_api_handler.handle_request(request, response)
+ return
+ if api_name == "devices":
+ self.devices_api_handler.handle_request(request, response)
+ return
+
+ self.general_api_handler.handle_request(request, response)
+
+ def handle_static_file(self, request, response):
+ self.static_handler.handle_request(request, response)
+
+ def _remove_web_root(self, path):
+ if self._web_root is not None:
+ path = path[len(self._web_root):]
+ return path
+
+
+ def _proxy(self, request, response):
+ host = 'localhost'
+ port = int(self._http_port)
+ uri = request.url_parts.path
+ uri = uri + "?" + request.url_parts.query
+ content_length = request.headers.get('Content-Length')
+ data = ""
+ if content_length is not None:
+ data = request.raw_input.read(int(content_length))
+ method = request.method
+
+ headers = {}
+ for key in request.headers:
+ value = request.headers[key]
+ headers[key.decode("utf-8")] = value.decode("utf-8")
+
+ try:
+ proxy_connection = httplib.HTTPConnection(host, port)
+ proxy_connection.request(method, uri, data, headers)
+ proxy_response = proxy_connection.getresponse()
+ response.content = proxy_response.read()
+ response.headers = proxy_response.getheaders()
+ response.status = proxy_response.status
+
+ except OSError:
+ message = "Failed to perform proxy request"
+ info = sys.exc_info()
+ traceback.print_tb(info[2])
+ logger.error(f"{message}: {info[0].__name__}: {info[1].args[0]}")
+ response.status = 500
diff --git a/testing/web-platform/tests/tools/wave/network/static_handler.py b/testing/web-platform/tests/tools/wave/network/static_handler.py
new file mode 100644
index 0000000000..230af8da1a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/network/static_handler.py
@@ -0,0 +1,60 @@
+# mypy: allow-untyped-defs
+
+import os
+
+
+class StaticHandler:
+ def __init__(self, web_root, http_port, https_port):
+ self.static_dir = os.path.join(
+ os.getcwd(), "tools/wave/www")
+ self._web_root = web_root
+ self._http_port = http_port
+ self._https_port = https_port
+
+ def handle_request(self, request, response):
+ file_path = request.request_path
+
+ if self._web_root is not None:
+ if not file_path.startswith(self._web_root):
+ response.status = 404
+ return
+ file_path = file_path[len(self._web_root):]
+
+ if file_path == "":
+ file_path = "index.html"
+
+ file_path = file_path.split("?")[0]
+ file_path = os.path.join(self.static_dir, file_path)
+
+ if not os.path.exists(file_path):
+ response.status = 404
+ return
+
+ headers = []
+
+ content_types = {
+ "html": "text/html",
+ "js": "text/javascript",
+ "css": "text/css",
+ "jpg": "image/jpeg",
+ "jpeg": "image/jpeg",
+ "ttf": "font/ttf",
+ "woff": "font/woff",
+ "woff2": "font/woff2"
+ }
+
+ headers.append(
+ ("Content-Type", content_types[file_path.split(".")[-1]]))
+
+ data = None
+ with open(file_path, "rb") as file:
+ data = file.read()
+
+ if file_path.split("/")[-1] == "wave-service.js":
+ data = data.decode("UTF-8")
+ data = data.replace("{{WEB_ROOT}}", str(self._web_root))
+ data = data.replace("{{HTTP_PORT}}", str(self._http_port))
+ data = data.replace("{{HTTPS_PORT}}", str(self._https_port))
+
+ response.content = data
+ response.headers = headers
diff --git a/testing/web-platform/tests/tools/wave/package-lock.json b/testing/web-platform/tests/tools/wave/package-lock.json
new file mode 100644
index 0000000000..cb481388c2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/package-lock.json
@@ -0,0 +1,35 @@
+{
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ }
+ }
+}
diff --git a/testing/web-platform/tests/tools/wave/package.json b/testing/web-platform/tests/tools/wave/package.json
new file mode 100644
index 0000000000..f365f7c238
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/package.json
@@ -0,0 +1,7 @@
+{
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "fs-extra": "^7.0.1"
+ }
+}
diff --git a/testing/web-platform/tests/tools/wave/requirements.txt b/testing/web-platform/tests/tools/wave/requirements.txt
new file mode 100644
index 0000000000..f814994b48
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/requirements.txt
@@ -0,0 +1,2 @@
+ua-parser==0.16.1
+python-dateutil==2.8.2
diff --git a/testing/web-platform/tests/tools/wave/resources/testharnessreport.js b/testing/web-platform/tests/tools/wave/resources/testharnessreport.js
new file mode 100644
index 0000000000..394b4bf3a8
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/resources/testharnessreport.js
@@ -0,0 +1,284 @@
+/* global add_completion_callback */
+/* global setup */
+
+/*
+ * This file is intended for vendors to implement code needed to integrate
+ * testharness.js tests with their own test systems.
+ *
+ * Typically test system integration will attach callbacks when each test has
+ * run, using add_result_callback(callback(test)), or when the whole test file
+ * has completed, using
+ * add_completion_callback(callback(tests, harness_status)).
+ *
+ * For more documentation about the callback functions and the
+ * parameters they are called with see testharness.js
+ */
+
+/*
+ * If the query parameter token is available means that the test was loaded by
+ * the WAVE test runner and the results need to be reported to the server using
+ * the provided token to identify the session associated this token.
+ */
+if (location.search && location.search.indexOf("token=") != -1) {
+ var __WAVE__HOSTNAME = location.hostname;
+ var __WAVE__PORT = location.port;
+ var __WAVE__PROTOCOL = location.protocol.replace(/:/, "");
+ var __WAVE__QUERY = location.search;
+ var queryParameters = {};
+ var keysAndValues = location.search.replace("?", "").split("&");
+ for (var i = 0; i < keysAndValues.length; i++) {
+ var key = keysAndValues[i].split("=")[0];
+ var value = keysAndValues[i].split("=")[1];
+ queryParameters[key] = value;
+ }
+ var __HTTPS_PORT = parseInt(queryParameters["https_port"] || 443);
+ var __WAVE__TIMEOUT = parseInt(queryParameters["timeout"] || 65000);
+ var __WAVE__WEB_ROOT = queryParameters["web_root"] || "/_wave/";
+ var __WAVE__TOKEN = queryParameters["token"] || null;
+ var __WAVE__TEST = location.pathname;
+ var nextUrl = null;
+ var resultSent = false;
+ var screenConsole;
+
+ try {
+ var documentRoot = document.body ? document.body : document.documentElement;
+ documentRoot.style["background-color"] = "#FFF";
+ window.open = function () {
+ logToConsole(
+ "window.open() is overridden in testharnessreport.js and has not effect"
+ );
+ var dummyWin = {
+ close: function () {
+ logToConsole(
+ "dummyWindow.close() in testharnessreport.js and has not effect"
+ );
+ },
+ };
+ return dummyWin;
+ };
+ window.close = function () {
+ logToConsole(
+ "window.close() is overridden in testharnessreport.js and has not effect"
+ );
+ };
+ } catch (err) {}
+
+ setTimeout(function () {
+ loadNext();
+ }, __WAVE__TIMEOUT);
+
+ function logToConsole() {
+ var text = "";
+ for (var i = 0; i < arguments.length; i++) {
+ text += arguments[i] + " ";
+ }
+ if (console && console.log) {
+ console.log(text);
+ }
+ if (screenConsole) {
+ try {
+ text = text.replace(/ /gm, "&nbsp;");
+ text = text.replace(/\n/gm, "<br/>");
+ screenConsole.innerHTML += "<br/>" + text;
+ } catch (error) {
+ screenConsole.innerText += "\n" + text;
+ }
+ }
+ }
+
+ function dump_and_report_test_results(tests, status) {
+ var results_element = document.createElement("script");
+ results_element.type = "text/json";
+ results_element.id = "__testharness__results__";
+ var test_results = tests.map(function (x) {
+ return {
+ name: x.name,
+ status: x.status,
+ message: x.message,
+ stack: x.stack,
+ };
+ });
+ var data = {
+ test: window.location.href,
+ tests: test_results,
+ status: status.status,
+ message: status.message,
+ stack: status.stack,
+ };
+ results_element.textContent = JSON.stringify(data);
+
+ // To avoid a HierarchyRequestError with XML documents, ensure that 'results_element'
+ // is inserted at a location that results in a valid document.
+ var parent = document.body
+ ? document.body // <body> is required in XHTML documents
+ : document.documentElement; // fallback for optional <body> in HTML5, SVG, etc.
+
+ parent.appendChild(results_element);
+
+ screenConsole = document.getElementById("console");
+ if (!screenConsole) {
+ screenConsole = document.createElement("div");
+ screenConsole.setAttribute("id", "console");
+ screenConsole.setAttribute("style", "font-family: monospace; padding: 5px");
+ parent.appendChild(screenConsole);
+ }
+ window.onerror = logToConsole;
+
+ finishWptTest(data);
+ }
+
+ function finishWptTest(data) {
+ logToConsole("Creating result ...");
+ data.test = __WAVE__TEST;
+ createResult(
+ __WAVE__TOKEN,
+ data,
+ function () {
+ logToConsole("Result created.");
+ loadNext();
+ },
+ function () {
+ logToConsole("Failed to create result.");
+ logToConsole("Trying alternative method ...");
+ createResultAlt(__WAVE__TOKEN, data);
+ }
+ );
+ }
+
+ function loadNext() {
+ logToConsole("Loading next test ...");
+ readNextTest(
+ __WAVE__TOKEN,
+ function (url) {
+ logToConsole("Redirecting to " + url);
+ location.href = url;
+ },
+ function () {
+ logToConsole("Could not load next test.");
+ logToConsole("Trying alternative method ...");
+ readNextAlt(__WAVE__TOKEN);
+ }
+ );
+ }
+
+ function readNextTest(token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/tests/" + token + "/next",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject.next_test);
+ },
+ onError
+ );
+ }
+
+ function readNextAlt(token) {
+ location.href =
+ location.protocol +
+ "//" +
+ location.host +
+ getWaveUrl("next.html?token=" + token);
+ }
+
+ function createResult(token, result, onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/results/" + token,
+ {
+ "Content-Type": "application/json",
+ },
+ JSON.stringify(result),
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ }
+
+ function createResultAlt(token, result) {
+ location.href =
+ __WAVE__WEB_ROOT +
+ "submitresult.html" +
+ "?token=" +
+ token +
+ "&result=" +
+ encodeURIComponent(JSON.stringify(result));
+ }
+
+ function sendRequest(method, uri, headers, data, onSuccess, onError) {
+ var url = getWaveUrl(uri);
+ url = location.protocol + "//" + location.host + url;
+ var xhr = new XMLHttpRequest();
+ xhr.addEventListener("load", function () {
+ onSuccess(xhr.response);
+ });
+ xhr.addEventListener("error", function () {
+ if (onError) onError();
+ });
+ logToConsole("Sending", method, 'request to "' + url + '"');
+ xhr.open(method, url, true);
+ if (headers) {
+ for (var header in headers) {
+ xhr.setRequestHeader(header, headers[header]);
+ }
+ }
+ xhr.send(data);
+ }
+
+ function getWaveUrl(uri) {
+ var url = __WAVE__WEB_ROOT + uri;
+ return url;
+ }
+
+ add_completion_callback(dump_and_report_test_results);
+} else {
+ function dump_test_results(tests, status) {
+ var results_element = document.createElement("script");
+ results_element.type = "text/json";
+ results_element.id = "__testharness__results__";
+ var test_results = tests.map(function (x) {
+ return {
+ name: x.name,
+ status: x.status,
+ message: x.message,
+ stack: x.stack,
+ };
+ });
+ var data = {
+ test: window.location.href,
+ tests: test_results,
+ status: status.status,
+ message: status.message,
+ stack: status.stack,
+ };
+ results_element.textContent = JSON.stringify(data);
+
+ // To avoid a HierarchyRequestError with XML documents, ensure that 'results_element'
+ // is inserted at a location that results in a valid document.
+ var parent = document.body
+ ? document.body // <body> is required in XHTML documents
+ : document.documentElement; // fallback for optional <body> in HTML5, SVG, etc.
+
+ parent.appendChild(results_element);
+ }
+
+ add_completion_callback(dump_test_results);
+
+ /* If the parent window has a testharness_properties object,
+ * we use this to provide the test settings. This is used by the
+ * default in-browser runner to configure the timeout and the
+ * rendering of results
+ */
+ try {
+ if (window.opener && "testharness_properties" in window.opener) {
+ /* If we pass the testharness_properties object as-is here without
+ * JSON stringifying and reparsing it, IE fails & emits the message
+ * "Could not complete the operation due to error 80700019".
+ */
+ setup(JSON.parse(JSON.stringify(window.opener.testharness_properties)));
+ }
+ } catch (e) {}
+}
diff --git a/testing/web-platform/tests/tools/wave/test/WAVE Local.postman_environment.json b/testing/web-platform/tests/tools/wave/test/WAVE Local.postman_environment.json
new file mode 100644
index 0000000000..b1a6a089ab
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/test/WAVE Local.postman_environment.json
@@ -0,0 +1,34 @@
+{
+ "id": "37be8ec4-7855-4554-867e-7a5d2a4f99e6",
+ "name": "WAVE Local",
+ "values": [
+ {
+ "key": "host",
+ "value": "web-platform.test",
+ "enabled": true
+ },
+ {
+ "key": "port",
+ "value": "8000",
+ "enabled": true
+ },
+ {
+ "key": "protocol",
+ "value": "http",
+ "enabled": true
+ },
+ {
+ "key": "web_root",
+ "value": "_wave",
+ "enabled": true
+ },
+ {
+ "key": "device_timeout",
+ "value": "60000",
+ "enabled": true
+ }
+ ],
+ "_postman_variable_scope": "environment",
+ "_postman_exported_at": "2020-05-25T12:12:37.098Z",
+ "_postman_exported_using": "Postman/7.25.0"
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/test/WAVE Server REST API Tests.postman_collection.json b/testing/web-platform/tests/tools/wave/test/WAVE Server REST API Tests.postman_collection.json
new file mode 100644
index 0000000000..93cbedb504
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/test/WAVE Server REST API Tests.postman_collection.json
@@ -0,0 +1,9833 @@
+{
+ "info": {
+ "_postman_id": "ccd6117a-6d61-4617-a6a1-7115db4d4d92",
+ "name": "WAVE Server REST API Tests",
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ "item": [
+ {
+ "name": "Read Available Tests",
+ "item": [
+ {
+ "name": "Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "051bef94-5544-4ddb-9d85-167677ebecb2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof availableTests).to.equal(\"object\");",
+ " for (var api of Object.keys(availableTests)) {",
+ " pm.expect(availableTests[api]).to.be.an.instanceof(Array);",
+ " var apiRegExp = new RegExp(\"^/\" + api, \"i\");",
+ " for (var test of availableTests[api]) {",
+ " pm.expect(test).to.match(apiRegExp);",
+ " }",
+ " }",
+ "});",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests);",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part).join(\"/\").split(\"/\")[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "pm.globals.set(\"available_tests\", JSON.stringify(availableTests));",
+ "pm.globals.set(\"included_tests\", JSON.stringify(includedTests));",
+ "pm.globals.set(\"excluded_tests\", JSON.stringify(excludedTests));",
+ "pm.globals.set(\"special_timeout_test\", specialTimeoutTest.replace(\".\", \"\"));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Create and Read Sessions",
+ "item": [
+ {
+ "name": "Start expiring session remove expiration date",
+ "item": [
+ {
+ "name": "Create Session With Expiration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a8bf3e41-a7df-4c6b-8a20-3a1e6d8a51d9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "4370546f-b08c-4f77-9bd9-1cd14400665e",
+ "exec": [
+ "var expirationDate = Date.now() + 10000;",
+ "pm.globals.set(\"expiration_date\", expirationDate);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"expiration_date\": {{expiration_date}}\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3dcb5b6c-9151-49f7-a1a6-74475927b304",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure contains expiration date\", function () {",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ "});",
+ "",
+ "var expirationDate = pm.globals.get(\"expiration_date\");",
+ "",
+ "pm.test(\"Expiration date is as specified\", function () {",
+ " pm.expect(Date.parse(jsonData.expiration_date)).to.equal(expirationDate);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8d05578a-e2d6-41e9-a2a4-aa7d92bfbbce",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4c5e3ba4-e27b-4341-8cf8-74ed047a8747",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure contains expiration date\", function () {",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ "});",
+ "",
+ "pm.test(\"Expiration date is null\", function () {",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Read Public Sessions",
+ "item": [
+ {
+ "name": "Read Public Sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1081afd8-a772-4565-b03d-b58f773cbb65",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Response is JSON Array\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.be.an.instanceof(Array);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/public",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "public"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Find Session",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "268e8a31-87bb-4ec5-81d5-87dc74096828",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Find Session Token",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "625fcc2a-f7b1-403c-b5c5-56db7c5bcee5",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "pm.globals.set(\"session_token_fragment\", token.split(\"-\").shift());"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "8e04212f-e259-413f-98ee-e366cd3adfdd",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const sessionToken = pm.globals.get(\"session_token\");",
+ "",
+ "pm.test(\"Found token is original token\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.token).to.equal(sessionToken);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token_fragment}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token_fragment}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Find Session Too Short Fragment",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "6f8429e3-9c12-423c-baaf-8f8de0e4ea49",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "pm.globals.set(\"session_token_fragment\", token.split(\"-\").shift());"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "7f6ef567-274e-4f9d-b7fc-50f8240547e9",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/1234567",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "1234567"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Read Next Test",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Invalid Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "11f5c620-dc3b-4a8c-8d2f-f9663025c79f",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session \\w Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c67cde7e-7237-479c-a0c6-b84a533c3b1e",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "24b38d64-5c24-415f-b6f6-f8d252d69ac8",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);",
+ "",
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "const test1 = availableTests[Object.keys(availableTests)[0]][0];",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\"]\n },\n \"types\": [\n \"automatic\",\n \"manual\"\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Pending Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0806e4e0-bd1b-40ba-a7d5-74d41473a141",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/newsession.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9b1f2dec-9949-49ff-b466-f602b11dde5d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Running Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7fea2977-5ccb-49ee-8f07-79a7f2245f9c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "const api = test.split(\"/\").filter(part => !!part)[0]",
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "",
+ "pm.test(\"Returned test is valid test\", function () {",
+ " pm.expect(availableTests).to.have.property(api);",
+ " pm.expect(availableTests[api]).to.contain(test)",
+ "});",
+ "",
+ "",
+ "setTimeout(function () {}, 1000);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7cc27ee8-2f06-4e25-98fb-9872c6cf0d93",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Completed Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0a73a5eb-3edb-4d15-924d-260dd22bd831",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/finish.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session \\w Configuration Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "94877ec6-70ea-4c78-acb5-20060a535653",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "dcc29092-b7a1-40fc-8359-ecc655dba482",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\",\n \"manual\"\n ],\n \"timeouts\": {\n \"automatic\": 1000\n },\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8f6e2bf2-6c1e-434e-83c5-9bcc57880692",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a0a80c05-a2ca-430a-8bed-46ad7978c684",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Aborted Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "00d823e0-2059-4cab-81d6-8d1de9e5b62a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/pause.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b8211c13-667d-4970-aedc-6398c25cc40c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Aborted Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8aad813d-53fe-49fd-bdfc-f16ce2233ae2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/finish.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Control Session",
+ "item": [
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "305cb915-8496-4577-b17a-e8189d66c3d1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Pending Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9d903165-9667-43b0-b210-a950d0fa1fa2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0307919b-6630-48ff-ac18-10c0a47ea254",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is pending\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Pending Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f66408d5-5438-4d4f-9bfc-6d24b15e5a90",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bae5542d-446b-4064-88ff-cc355a8f4f62",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "pm.test(\"Status is running\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "});",
+ "",
+ "pm.test(\"Start date is set\", function () {",
+ " pm.expect(Date.parse(jsonData.date_started)).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Running Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3b386952-8a37-471a-9192-f28974d975a3",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8e56d842-325b-4356-ae1a-2465e9efe188",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is running\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Running Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a183cb0b-31f0-48f6-9c20-605a16488d7d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f2610594-813a-4079-afae-1510486efab4",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is paused\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"paused\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Paused Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6b8ec98a-ad91-4d5c-aa07-6b3cc1255902",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "91a38eb8-a501-457f-a9f4-b63221c957f6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is paused\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"paused\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Paused Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6e3a8c64-04cb-4c4f-b23d-64655f6e4d22",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "dcf7f6f4-6eef-4a90-a63d-df70446eb209",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is running\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Running Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bee7a70d-af1f-4ad1-9c40-7abdbcc983ae",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "217ed267-1ddb-496a-a7c5-6e29bad97c60",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "pm.test(\"Status is aborted\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});",
+ "",
+ "pm.test(\"Finish date is set\", function () {",
+ " pm.expect(Date.parse(jsonData.date_finished)).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Aborted Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a255ea61-5c5a-4f0d-8a67-c244510a608c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9cc7599b-d378-4b04-bada-9d76f6ca610f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "81e44e3f-5d91-42a7-b0ab-4704eb121868",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "a44180cb-3b13-421b-b146-82901f2b45bd",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Aborted Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "47fb1fa9-4849-4ea9-b36e-fcec8decf62e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1923ced4-4361-4a4a-bf7c-4fcdf3df50f6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "226043e5-1a81-4d36-aa7f-67b10bf407af",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "840bf970-0984-452e-9076-b6f66d0b4511",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Aborted Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "88c4072f-538b-4d68-9d61-f0fb017e544c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2ae00eb3-49e8-4487-b27f-e7c7955fe4f4",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "70e0c783-c405-481c-b9c8-5c8bee392f97",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "85c45e3b-fae6-4a90-afd0-97678769e32c",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "df4a00d1-d4f8-4b0b-892d-21528165a2cf",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "4fa59617-c922-4826-abc6-6d910e918ea4",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "d83f449d-4a2e-41c8-b2cd-5cf0cd1c404e",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Pending Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "98da2b86-4f9f-47dd-afc9-22ce96e73e84",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6d8a8202-c85d-4ada-b443-45108a372aea",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0f9df486-91cd-46fc-a711-5cf9bebb2706",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "80ee91fd-98ca-4b8e-83b6-32bf3e55a295",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "47f4d26a-84c2-4980-984d-dac0e95503e1",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "6bd9e85f-eb73-47be-83b0-01be77868899",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "43ebfadb-dc68-4c41-b34e-462e427dc2ef",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Paused Session Copy",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "029ec84b-e41b-4744-8745-58c50e52bb11",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "071d757c-41aa-4b52-9ab4-6c2afd6ed2af",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "305720a0-2c84-43d3-8fe5-55f8fdf511d8",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "84e4ab04-5acc-4428-a81a-c0b0c53b5fd9",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session One Test",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b7a9d459-9b39-40b2-abdc-fd8fe8b21d61",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "fcbfb0e3-a10d-4ff8-afed-f5f3c9d52090",
+ "exec": [
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "const test = availableTests[Object.keys(availableTests)[0]][0]",
+ "",
+ "pm.globals.set(\"single_test\", test);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "937ef61d-d6d6-4e24-bc3a-696a23cc95d6",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "29f0554b-66f5-4e26-80ff-39b3faba920a",
+ "exec": [
+ "const response = pm.response.json();",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "9bf66427-6f39-4f0a-b065-1849d679eee6",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "8d1f3837-1f05-47e4-897c-b7c74da9bd43",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Completed Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9bf0fb70-24a0-4136-99fe-8e0e488afd1e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7e3184bf-1741-44c8-8cd3-cff30c2deca1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is completed\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Completed Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e323c6af-d4e5-4a05-b203-09ba67f77d28",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "40cd04ce-850f-4903-bc24-2e62a4df98fe",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is completed\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Completed Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "db7d5209-37b2-46bd-88ab-ce4e241401b2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "477dc63d-0b43-4226-b86e-163e2de92b67",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is completed\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Clean Up",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Update and Read Sessions",
+ "item": [
+ {
+ "name": "Create Default",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b923d95e-a7b4-49d4-ab2a-1f435c454387",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "81f36759-7ae2-42b9-81d2-79f57046b46e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2873d554-9816-41f0-9051-fb2cb1272a76",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData.date_started).to.satisfy(value => !value || typeof value === \"number\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ " pm.expect(jsonData.date_finished).to.satisfy(value => !value || typeof value === \"number\");",
+ "});",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "53605764-d4f0-4b32-9a30-67e84dd104d9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "console.log(pm.globals.get(\"available_tests\"))",
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "",
+ "pm.test(\"All available tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(availableTests[api]).to.include(test);",
+ " }",
+ " }",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "cf165ae9-1c44-483c-8fe4-bd7cdaa20710",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "6938d456-afd5-431b-a95f-a2c45a3ac479",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Update With Configuration",
+ "item": [
+ {
+ "name": "Update Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "657be5b3-4a99-4415-a1ef-9dfdcf541e46",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "093a0019-a84c-44fc-b890-36369d51b7d5",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\",\n \"manual\"\n ],\n \"timeouts\": {\n \"automatic\": {{automatic_timeout}},\n \"manual\": {{manual_timeout}},\n \"{{special_timeout_test}}\": {{special_timeout}}\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4ac55601-9bdf-41f8-9d59-ff1ee20fa471",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "var includedTests = JSON.parse(pm.globals.get(\"included_tests\"));",
+ "var excludedTests = JSON.parse(pm.globals.get(\"excluded_tests\"));",
+ "var automaticTimeout = pm.globals.get(\"automatic_timeout\");",
+ "var manualTimeout = pm.globals.get(\"manual_timeout\");",
+ "var specialTimeout = pm.globals.get(\"special_timeout\");",
+ "var specialTimeoutTest = pm.globals.get(\"special_timeout_test\");",
+ "",
+ "pm.test(\"Configuration is as specified\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " for (var test of includedTests) {",
+ " pm.expect(jsonData.tests.include).to.include(test);",
+ " }",
+ " for (var test of excludedTests) {",
+ " pm.expect(jsonData.tests.exclude).to.include(test);",
+ " }",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(automaticTimeout);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(manualTimeout);",
+ " pm.expect(jsonData.timeouts[specialTimeoutTest]).to.equal(specialTimeout);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0b49c01b-e943-4879-b441-4093836d05e9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const includedTests = pm.globals.get(\"included_tests\");",
+ "const excludedTests = pm.globals.get(\"excluded_tests\");",
+ "",
+ "pm.test(\"Selected subset of tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var includedTest of includedTests) {",
+ " if (includedTest.split(\"/\").find(part => !!part) === api) {",
+ " var includeRegExp = new RegExp(\"^\" + includedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " for (var excludedTest of excludedTests) {",
+ " if (excludedTest.split(\"/\").find(part => !!part) === api) {",
+ " var excludeRegExp = new RegExp(\"^\" + excludedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.not.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const sessionTests = jsonData.pending_tests;",
+ "",
+ "pm.globals.set(\"session_tests\", JSON.stringify(sessionTests));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b9cba19f-88d2-41f6-940a-a0979da05500",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData.date_started).to.satisfy(value => !value || typeof value === \"number\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ " pm.expect(jsonData.date_finished).to.satisfy(value => !value || typeof value === \"number\");",
+ "});",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})",
+ "",
+ "pm.test(\"Start and Finish date not set\", function () {",
+ " pm.expect(jsonData.date_started).to.be.null;",
+ " pm.expect(jsonData.date_finished).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "3669c70a-88bc-4854-abac-5cb80a21c392",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "1a81f5c5-28d8-4935-b8ae-822e33c23da9",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Update Session Labels",
+ "item": [
+ {
+ "name": "Create Session \\w Configuration Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9de9321c-ae78-4abd-a740-6634e2cbb9b9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "739284e7-17ac-4c34-baa1-933353eb7ecc",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5b15f338-c773-4f48-8f78-1d7c926beb81",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"labels\");",
+ " pm.expect(jsonData.labels).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.include(\"label1\");",
+ " pm.expect(jsonData.labels).to.include(\"label2\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update Labels Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e69b7188-b3c9-4f66-8c6c-3f3348f84f6a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"labels\": [\"new\", \"labels\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/labels",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "labels"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "86e20c4d-5797-4b6e-a8cc-14e284e7c491",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"labels\");",
+ " pm.expect(jsonData.labels).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.include(\"new\");",
+ " pm.expect(jsonData.labels).to.include(\"labels\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Delete Session",
+ "item": [
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e85fd539-4598-47a9-8768-656656f29fec",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Delete Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8e9fe4af-0d50-49eb-8a4a-00e13021b4a6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9418112a-03f6-4641-893e-076c8922c0af",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Create and Read Results",
+ "item": [
+ {
+ "name": "Create Session",
+ "item": [
+ {
+ "name": "Create Session Two Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a6995ff1-d626-4f4f-a1e0-567f3429bf52",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "85c7ad8d-5fc9-403d-8715-c65d5ff1323e",
+ "exec": [
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "const keys = Object.keys(availableTests).sort();",
+ "const test1 = availableTests[keys[0]][0];",
+ "const test2 = availableTests[keys[1]][0];",
+ "",
+ "console.log(test1, test2)",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);",
+ "pm.globals.set(\"single_test_2\", test2);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\", \"{{single_test_2}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "35cf4745-0301-4c9c-b6b3-40945299533f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6dc082ef-80ff-407a-a562-e25e37476eee",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Responds with no results\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " pm.expect(Object.keys(jsonData)).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ],
+ "query": [
+ {
+ "key": "path",
+ "value": "/2dcontext/drawing-images-to-the-canvas",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements/2d.missingargs.html",
+ "disabled": true
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results Compact",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fcade663-dbd8-42c9-8344-53ae1feb6fcb",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var singleTest1 = pm.globals.get(\"single_test_1\");",
+ "var singleTest2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "var api1 = singleTest1.split(\"/\").find(part => !!part);",
+ "var api2 = singleTest2.split(\"/\").find(part => !!part);",
+ "",
+ "pm.test(\"Responds with no results\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(api1);",
+ " pm.expect(jsonData).to.have.property(api2);",
+ " pm.expect(jsonData[api1].complete).to.equal(0);",
+ " pm.expect(jsonData[api2].complete).to.equal(0);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Last Completed Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "36d70d08-3caa-4312-9bbd-aed15fd238dd",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ " ",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(3);",
+ " pm.expect(jsonData).to.have.property(\"pass\");",
+ " pm.expect(jsonData).to.have.property(\"fail\");",
+ " pm.expect(jsonData).to.have.property(\"timeout\");",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.an.instanceof(Array);",
+ " }",
+ "});",
+ "",
+ "pm.test(\"Responds with no last completed tests\", function () {",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.empty;",
+ " }",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/last_completed",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "last_completed"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "211adcf7-d71a-4b0f-94ab-d285fc8367df",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const sessionTests = jsonData.pending_tests;",
+ "",
+ "pm.globals.set(\"session_tests\", JSON.stringify(sessionTests));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Create First Result",
+ "item": [
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5410c9c2-ebbe-4bc1-ac12-e2602d8ade57",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "pm.globals.set(\"current_test\", test);",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"Returned test is first of two specified tests\", function () {",
+ " console.log(test);",
+ " console.log(test1);",
+ " console.log(pm.globals.get(\"single_test_2\"))",
+ " pm.expect(test).to.equal(test1);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e4f9a03f-c731-4192-a9a9-aa9e315c3c44",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"One test is pending, one test is running\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(1);",
+ " var api = Object.keys(jsonData.pending_tests)[0];",
+ " pm.expect(jsonData.pending_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.pending_tests[api]).to.include(test2);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(1);",
+ " api = Object.keys(jsonData.running_tests)[0];",
+ " pm.expect(jsonData.running_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.running_tests[api]).to.include(test1);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9f684f77-4ed0-4cd2-99a4-b1c134432e9f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "33601dd0-6786-4c8a-a6b5-7f1386129de7",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"One test is pending, one test is completed\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(1);",
+ " var api = Object.keys(jsonData.pending_tests)[0];",
+ " pm.expect(jsonData.pending_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.pending_tests[api]).to.include(test2);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "97be92f1-a8d1-41ea-b41d-0ca08113e6e1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ "});",
+ "",
+ "pm.test(\"Session status is running\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Last Completed Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "24ec2b79-c266-473f-8579-7b694079d640",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ " ",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(3);",
+ " pm.expect(jsonData).to.have.property(\"pass\");",
+ " pm.expect(jsonData).to.have.property(\"fail\");",
+ " pm.expect(jsonData).to.have.property(\"timeout\");",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.an.instanceof(Array);",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"Responds with one last completed tests as failed\", function () {",
+ " pm.expect(jsonData[\"pass\"]).to.be.empty;",
+ " pm.expect(jsonData[\"fail\"]).to.have.lengthOf(1);",
+ " pm.expect(jsonData[\"fail\"][0]).to.equal(test1);",
+ " pm.expect(jsonData[\"timeout\"]).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/last_completed",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "last_completed"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1f47b39f-727f-43b4-934d-c7f62b268baa",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.be.an.instanceof(Array);",
+ " for (var result of jsonData[api]) {",
+ " pm.expect(typeof result).to.equal(\"object\");",
+ " pm.expect(Object.keys(result)).to.have.lengthOf(4);",
+ " pm.expect(result).to.have.property(\"test\");",
+ " pm.expect(typeof result.test).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"status\");",
+ " pm.expect(typeof result.status).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"message\");",
+ " pm.expect(result.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " pm.expect(result).to.have.property(\"subtests\");",
+ " pm.expect(result.subtests).to.be.an.instanceof(Array);",
+ " for (var subtest of result.subtests) {",
+ " pm.expect(typeof subtest).to.equal(\"object\");",
+ " pm.expect(Object.keys(subtest)).to.have.lengthOf(3);",
+ " pm.expect(subtest).to.have.property(\"name\");",
+ " pm.expect(typeof subtest.name).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"status\");",
+ " pm.expect(typeof subtest.status).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"message\");",
+ " pm.expect(subtest.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"Test is first test, successful run and failed\", function () {",
+ " var api = Object.keys(jsonData)[0];",
+ " pm.expect(api).to.equal(test1.split(\"/\").find(part => !!part))",
+ " var result = jsonData[api][0];",
+ " pm.expect(result.test).to.equal(test1);",
+ " pm.expect(result.status).to.equal(\"OK\");",
+ " pm.expect(result.message).to.be.null;",
+ " var subtest = result.subtests[0];",
+ " pm.expect(subtest.status).to.equal(\"FAIL\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ],
+ "query": [
+ {
+ "key": "path",
+ "value": "/2dcontext/drawing-images-to-the-canvas",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements/2d.missingargs.html",
+ "disabled": true
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results Compact",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e734f074-a0c2-4e54-b427-2827fa732843",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "var test = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.have.property(\"pass\");",
+ " pm.expect(typeof jsonData[api].pass).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"fail\");",
+ " pm.expect(typeof jsonData[api].fail).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"timeout\");",
+ " pm.expect(typeof jsonData[api].timeout).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"not_run\");",
+ " pm.expect(typeof jsonData[api].not_run).to.equal(\"number\");",
+ " }",
+ "})",
+ "",
+ "pm.test(\"Responds with one test failed\", function () {",
+ " var api = test.split(\"/\").find(part => !!part);",
+ " pm.expect(jsonData[api].pass).to.equal(0);",
+ " pm.expect(jsonData[api].fail).to.equal(1);",
+ " pm.expect(jsonData[api].timeout).to.equal(0);",
+ " pm.expect(jsonData[api].not_run).to.equal(0);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Create Last Result",
+ "item": [
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fd2c11ee-5eca-43f3-89a7-133602c8034a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "pm.globals.set(\"current_test\", test);",
+ "",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"Returned test is second of two specified tests\", function () {",
+ " pm.expect(test).to.equal(test2);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "112ee3d5-d4e0-4838-879e-f74c38d0218c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"One test is running\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(1);",
+ " var api = Object.keys(jsonData.running_tests)[0];",
+ " pm.expect(jsonData.running_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.running_tests[api]).to.include(test2);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "79a84ed9-bb07-493d-ab34-8e7693b3ebbd",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"PASS\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c1829043-18dd-4cc1-8091-41981349f4e3",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ "});",
+ "",
+ "pm.test(\"Session status is completed\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "})",
+ "",
+ "pm.test(\"Finish date is set\", function () {",
+ " pm.expect(Date.parse(jsonData.date_finished)).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "59fee9df-9945-4fdf-a102-9c1b92d915c1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "var test1Api = test1.split(\"/\").find(part => !!part);",
+ "var test2Api = test1.split(\"/\").find(part => !!part);",
+ "",
+ "pm.test(\"One test is pending, one test is completed\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Last Completed Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "91fa38ac-3b06-488a-892e-59458e88a4da",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ " ",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(3);",
+ " pm.expect(jsonData).to.have.property(\"pass\");",
+ " pm.expect(jsonData).to.have.property(\"fail\");",
+ " pm.expect(jsonData).to.have.property(\"timeout\");",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.an.instanceof(Array);",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"Responds with one last completed tests as failed and one last completed test as passed\", function () {",
+ " pm.expect(jsonData[\"pass\"]).to.have.lengthOf(1);",
+ " pm.expect(jsonData[\"pass\"][0]).to.equal(test2);",
+ " pm.expect(jsonData[\"fail\"]).to.have.lengthOf(1);",
+ " pm.expect(jsonData[\"fail\"][0]).to.equal(test1);",
+ " pm.expect(jsonData[\"timeout\"]).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/last_completed",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "last_completed"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "dca0b42e-9054-4354-87e5-e8d236216050",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.be.an.instanceof(Array);",
+ " for (var result of jsonData[api]) {",
+ " pm.expect(typeof result).to.equal(\"object\");",
+ " pm.expect(Object.keys(result)).to.have.lengthOf(4);",
+ " pm.expect(result).to.have.property(\"test\");",
+ " pm.expect(typeof result.test).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"status\");",
+ " pm.expect(typeof result.status).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"message\");",
+ " pm.expect(result.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " pm.expect(result).to.have.property(\"subtests\");",
+ " pm.expect(result.subtests).to.be.an.instanceof(Array);",
+ " for (var subtest of result.subtests) {",
+ " pm.expect(typeof subtest).to.equal(\"object\");",
+ " pm.expect(Object.keys(subtest)).to.have.lengthOf(3);",
+ " pm.expect(subtest).to.have.property(\"name\");",
+ " pm.expect(typeof subtest.name).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"status\");",
+ " pm.expect(typeof subtest.status).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"message\");",
+ " pm.expect(subtest.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"Test is first and second test, successful run and failed, and successful run and passed\", function () {",
+ " var api = Object.keys(jsonData)[0];",
+ " for (var result of jsonData[api]) {",
+ " if (result.test === test1) {",
+ " pm.expect(result.test).to.equal(test1); ",
+ " pm.expect(result.status).to.equal(\"OK\");",
+ " pm.expect(result.message).to.be.null;",
+ " var subtest = result.subtests[0];",
+ " pm.expect(subtest.status).to.equal(\"FAIL\");",
+ " } else {",
+ " pm.expect(result.test).to.equal(test2); ",
+ " pm.expect(result.status).to.equal(\"OK\");",
+ " pm.expect(result.message).to.be.null;",
+ " subtest = result.subtests[0];",
+ " pm.expect(subtest.status).to.equal(\"PASS\");",
+ " }",
+ " }",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ],
+ "query": [
+ {
+ "key": "path",
+ "value": "/2dcontext/drawing-images-to-the-canvas",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements/2d.missingargs.html",
+ "disabled": true
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results Compact",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "14ec9254-5a40-4c86-9a7f-72f43a35a79b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.have.property(\"pass\");",
+ " pm.expect(typeof jsonData[api].pass).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"fail\");",
+ " pm.expect(typeof jsonData[api].fail).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"timeout\");",
+ " pm.expect(typeof jsonData[api].timeout).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"not_run\");",
+ " pm.expect(typeof jsonData[api].not_run).to.equal(\"number\");",
+ " }",
+ "})",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "var test1Api = test1.split(\"/\").find(part => !!part);",
+ "var test2Api = test1.split(\"/\").find(part => !!part);",
+ "",
+ "pm.test(\"Responds with one test failed\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(2);",
+ " var api = Object.keys(jsonData)[0];",
+ " if (api === test1Api) {",
+ " pm.expect(jsonData[api].pass).to.equal(0);",
+ " pm.expect(jsonData[api].fail).to.equal(1);",
+ " } else {",
+ " pm.expect(jsonData[api].pass).to.equal(1);",
+ " pm.expect(jsonData[api].fail).to.equal(0);",
+ " }",
+ " pm.expect(jsonData[api].timeout).to.equal(0);",
+ " pm.expect(jsonData[api].not_run).to.equal(0);",
+ " api = Object.keys(jsonData)[1];",
+ " if (api === test1Api) {",
+ " pm.expect(jsonData[api].pass).to.equal(0);",
+ " pm.expect(jsonData[api].fail).to.equal(1);",
+ " } else {",
+ " pm.expect(jsonData[api].pass).to.equal(1);",
+ " pm.expect(jsonData[api].fail).to.equal(0);",
+ " }",
+ " pm.expect(jsonData[api].timeout).to.equal(0);",
+ " pm.expect(jsonData[api].not_run).to.equal(0);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "132574dc-3688-47e3-8f50-3235f18806f7",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test finish page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/finish.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Clean Up",
+ "item": [
+ {
+ "name": "Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Viewing and Downloading Reports",
+ "item": [
+ {
+ "name": "Create Sessions",
+ "item": [
+ {
+ "name": "First Session",
+ "item": [
+ {
+ "name": "Create Session One Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2f233dcf-d934-4479-8908-b1349e6ea54d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "2930a821-2c6e-47b9-89d9-90ebe1cff52a",
+ "exec": [
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "const keys = Object.keys(availableTests).sort();",
+ "const test1 = availableTests[keys[0]][0];",
+ "const test2 = availableTests[keys[1]][0];",
+ "const apiName = test1.split(\"/\").find(part => !!part);",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);",
+ "pm.globals.set(\"single_test_2\", test2);",
+ "pm.globals.set(\"api_name\", apiName);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "12f3616b-707e-4a71-8db8-89fc195c1fcd",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f35f1509-383f-49af-a30e-41e1df4efa04",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "pm.globals.set(\"current_test\", test);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b015f161-e390-4224-9f26-92395f44c772",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Second Session",
+ "item": [
+ {
+ "name": "Create Session One Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "da3d0c17-6b2b-4d61-ad01-dba736425388",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token_comp\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "7da81e81-d344-4459-b700-19b93d49d3c9",
+ "exec": [
+ "const availableTests = JSON.parse(pm.globals.get(\"available_tests\"));",
+ "const keys = Object.keys(availableTests).sort();",
+ "const test1 = availableTests[keys[0]][0];",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3296c7ba-67a6-405d-a78a-51dd64432301",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token_comp}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token_comp}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "72deb55c-4583-4741-9cf8-97713762b894",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "pm.globals.set(\"current_test\", test);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token_comp}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token_comp}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d695f300-a773-4654-b346-95c536cad19e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token_comp}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token_comp}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Download reports",
+ "item": [
+ {
+ "name": "Download Results Overview",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6838965f-7a27-48d5-8c27-f55d4756588f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/overview",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "overview"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download All Apis Json",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bcc2c8c4-94c0-4227-a627-3e0d5be2e7b8",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download WPT Multi Report Url",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7b370723-0506-4b5e-941a-f31a628a29f6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Uri returned\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData.uri).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{api_name}}/reporturl?tokens={{session_token}},{{session_token_comp}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{api_name}}",
+ "reporturl"
+ ],
+ "query": [
+ {
+ "key": "tokens",
+ "value": "{{session_token}},{{session_token_comp}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download Results Api Json",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b5243979-b63a-4bbf-bd51-1529da1e1f6d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "81f3da29-8a0c-4403-929d-86590b01ef2f",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download WPT Report Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0168ea3f-9bf7-4ea7-a3ad-745c2704d97e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Uri returned\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData.uri).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "e4efdac9-2d00-4853-b145-18a6d44ff139",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/reporturl",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "reporturl"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Malfunctioning List",
+ "item": [
+ {
+ "name": "Create Session \\w Configuration Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e685a989-8ef7-4e8f-a3c7-b579c66430f9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "8517360b-2e66-4ca9-9339-017622c39888",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\"\n ],\n \"timeouts\": {\n \"automatic\": {{automatic_timeout}},\n \"manual\": {{manual_timeout}},\n \"{{special_timeout_test}}\": {{special_timeout}}\n },\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Malfunctioning Empty",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4e85ecaf-4364-4681-ab8a-221d40681c44",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Return empty array\", function() {",
+ " pm.expect(jsonData).to.be.an.instanceof(Array)",
+ " pm.expect(jsonData).to.have.length(0)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update Session Malfunctioning Insert Two",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a6221560-9eba-4fb4-a7cb-a1570a37425d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t\"/test/file/one.html\",\n\t\"/test/file/two.html\"\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Malfunctioning Two Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "77d14567-4600-44fd-98e4-99e113da6781",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Return array with two tests\", function() {",
+ " pm.expect(jsonData).to.be.an.instanceof(Array)",
+ " pm.expect(jsonData).to.have.length(2)",
+ " pm.expect(jsonData).to.include(\"/test/file/one.html\")",
+ " pm.expect(jsonData).to.include(\"/test/file/two.html\")",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update Session Malfunctioning Empty Array",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "55b486da-c5ae-49d4-b11a-247387267c9a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Malfunctioning Empty",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "953002ec-d8df-477a-a0dc-f4e4a2efd031",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Return empty array\", function() {",
+ " pm.expect(jsonData).to.be.an.instanceof(Array)",
+ " pm.expect(jsonData).to.have.length(0)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Sessions API",
+ "item": [
+ {
+ "name": "create session",
+ "item": [
+ {
+ "name": "With Defaults",
+ "item": [
+ {
+ "name": "Prep: Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fc15d329-d132-4abf-90e4-f549eee99b60",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof availableTests).to.equal(\"object\");",
+ " for (var api of Object.keys(availableTests)) {",
+ " pm.expect(availableTests[api]).to.be.an.instanceof(Array);",
+ " var apiRegExp = new RegExp(\"^/\" + api, \"i\");",
+ " for (var test of availableTests[api]) {",
+ " pm.expect(test).to.match(apiRegExp);",
+ " }",
+ " }",
+ "});",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests);",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part).join(\"/\").split(\"/\")[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "pm.globals.set(\"available_tests\", availableTests);",
+ "pm.globals.set(\"included_tests\", JSON.stringify(includedTests));",
+ "pm.globals.set(\"excluded_tests\", JSON.stringify(excludedTests));",
+ "pm.globals.set(\"special_timeout_test\", specialTimeoutTest.replace(\".\", \"\"));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "ebb192ce-48e5-4aac-b99d-68894378eac8",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "159976cd-de00-4f88-8f9f-47db13ca4a30",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.be.empty;",
+ " pm.expect(new Date(jsonData.date_created).getTime()).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5058b07b-5e55-44e0-ad88-5c7b5884fa3c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})",
+ "",
+ "pm.test(\"Start, Finish and Expiration date not set\", function () {",
+ " pm.expect(jsonData.date_started).to.be.null;",
+ " pm.expect(jsonData.date_finished).to.be.null;",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "62a8c853-bf0b-47b0-9cee-7611d2b48cde",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "",
+ "pm.test(\"All available tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(availableTests[api]).to.include(test);",
+ " }",
+ " }",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "878420c3-575a-4194-9a72-cebe07823674",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "6672030f-5a8a-4bea-9792-c24b980392e9",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With Configuration",
+ "item": [
+ {
+ "name": "Prep: Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "504b76ca-6870-443c-8c33-0cccc52cddae",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof availableTests).to.equal(\"object\");",
+ " for (var api of Object.keys(availableTests)) {",
+ " pm.expect(availableTests[api]).to.be.an.instanceof(Array);",
+ " var apiRegExp = new RegExp(\"^/\" + api, \"i\");",
+ " for (var test of availableTests[api]) {",
+ " pm.expect(test).to.match(apiRegExp);",
+ " }",
+ " }",
+ "});",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests).sort();",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part).join(\"/\").split(\"/\")[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "pm.globals.set(\"available_tests\", availableTests);",
+ "pm.globals.set(\"included_tests\", JSON.stringify(includedTests));",
+ "pm.globals.set(\"excluded_tests\", JSON.stringify(excludedTests));",
+ "pm.globals.set(\"special_timeout_test\", specialTimeoutTest.replace(\".\", \"\"));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session \\w Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fa956871-503a-421c-9822-4e2a11e1cf1c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "213bdf59-9f98-4b5e-bacc-ae3cb31ae26a",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const apiNames = Object.keys(availableTests).sort();",
+ "const apiName = apiNames[0];",
+ "",
+ "pm.globals.set(\"api_name\", apiName);",
+ "pm.globals.set(\"special_timeout_test\", \"/\" + apiName);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"/{{api_name}}\"]\n },\n \"timeouts\": {\n \"automatic\": {{automatic_timeout}},\n \"manual\": {{manual_timeout}},\n \"{{special_timeout_test}}\": {{special_timeout}}\n },\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a0434a56-04b8-4987-8f44-2d71b440ef03",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "var includedTests = JSON.parse(pm.globals.get(\"included_tests\"));",
+ "var excludedTests = JSON.parse(pm.globals.get(\"excluded_tests\"));",
+ "var automaticTimeout = pm.globals.get(\"automatic_timeout\");",
+ "var manualTimeout = pm.globals.get(\"manual_timeout\");",
+ "var specialTimeout = pm.globals.get(\"special_timeout\");",
+ "var specialTimeoutTest = pm.globals.get(\"special_timeout_test\");",
+ "",
+ "pm.test(\"Configuration is as specified\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " for (var test of includedTests) {",
+ " pm.expect(jsonData.tests.include).to.include(test);",
+ " }",
+ " for (var test of excludedTests) {",
+ " pm.expect(jsonData.tests.exclude).to.include(test);",
+ " }",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(automaticTimeout);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(manualTimeout);",
+ " pm.expect(jsonData.timeouts[specialTimeoutTest]).to.equal(specialTimeout);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.include(\"label1\");",
+ " pm.expect(jsonData.labels).to.include(\"label2\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2a7524e5-7394-4177-8267-42d5b32bc474",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})",
+ "",
+ "pm.test(\"Start and Finish date not set\", function () {",
+ " pm.expect(jsonData.date_started).to.be.null;",
+ " pm.expect(jsonData.date_finished).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "448b6a0c-135d-42ef-8bc0-b4b1ce4ab8a0",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const includedTests = pm.globals.get(\"included_tests\");",
+ "const excludedTests = pm.globals.get(\"excluded_tests\");",
+ "",
+ "pm.test(\"Selected subset of tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var includedTest of includedTests) {",
+ " if (includedTest.split(\"/\").find(part => !!part) === api) {",
+ " var includeRegExp = new RegExp(\"^\" + includedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " for (var excludedTest of excludedTests) {",
+ " if (excludedTest.split(\"/\").find(part => !!part) === api) {",
+ " var excludeRegExp = new RegExp(\"^\" + excludedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.not.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const sessionTests = jsonData.pending_tests;",
+ "",
+ "pm.globals.set(\"session_tests\", JSON.stringify(sessionTests));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "a16eac8e-9609-4314-abd8-a5c470537b52",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "5df55957-0bbb-4db8-9ab9-d8a70ce37bc5",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With Expiration",
+ "item": [
+ {
+ "name": "Create Session With Expiration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6c4aa702-ae3a-44a4-b886-b3e883de4d32",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "893672a9-c666-4790-b6a7-e0ce7afda482",
+ "exec": [
+ "var expirationDate = Date.now() + 3000;",
+ "pm.globals.set(\"expiration_date\", expirationDate);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"expiration_date\": {{expiration_date}}\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Expired Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f6b31d37-a98b-4110-80a2-f78db6f2e26f",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "d41cf31b-c8e8-455f-aa69-527af5fbd66b",
+ "exec": [
+ "var expirationDate = pm.globals.get(\"expiration_date\");",
+ "",
+ "var timeout = expirationDate - Date.now() + 1000",
+ "",
+ "console.log(timeout)",
+ "",
+ "setTimeout(function () {}, timeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read session",
+ "item": [
+ {
+ "name": "Prep: Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "090ca1bc-cbee-4d7b-b19f-fc1f4bb879a0",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "232aff11-3cdc-4994-af42-5e3574583814",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"labels\");",
+ " pm.expect(jsonData.labels).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"date_created\");",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.be.empty;",
+ " pm.expect(new Date(jsonData.date_created).getTime()).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read session status",
+ "item": [
+ {
+ "name": "Prep: Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "73cbeeb0-019b-4331-b0ec-ef9d3f1e0494",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "ba142b55-2454-4472-bcf9-669b0bb7bab9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read sessions",
+ "item": [
+ {
+ "name": "Without query parameters",
+ "item": [
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f443955f-b57e-4801-8eac-547597381615",
+ "exec": [
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Containing created session",
+ "item": [
+ {
+ "name": "Prep: Create session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2ca80dee-f9a5-4e0b-bead-6ab871d9edf8",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fbf5eafb-0ae7-4105-8df5-51bb53b0c595",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in response\", function() {",
+ " pm.expect(response.items).to.contain(token);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions?index=0&count=1000",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ],
+ "query": [
+ {
+ "key": "index",
+ "value": "0"
+ },
+ {
+ "key": "count",
+ "value": "1000"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With configuration expansion",
+ "item": [
+ {
+ "name": "Prep: Create session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bdd64594-c874-4eb2-8b36-4c37cea0f0cb",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6732aedf-d99d-416f-b93d-98bc0404ef61",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ " pm.expect(response).to.have.property(\"_embedded\");",
+ " pm.expect(response[\"_embedded\"]).to.be.instanceof(Object);",
+ " pm.expect(response[\"_embedded\"]).to.have.property(\"configuration\");",
+ " pm.expect(response[\"_embedded\"][\"configuration\"]).to.be.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in response\", function() {",
+ " pm.expect(response.items).to.contain(token);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in embedded configuration\", function() {",
+ " let tokenInConfigurationList = false;",
+ " let configurations = response._embedded.configuration;",
+ " for (let configuration of configurations) {",
+ " if (configuration.token !== token) continue;",
+ " tokenInConfigurationList = true;",
+ " }",
+ " pm.expect(tokenInConfigurationList).to.equal(true);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions?index=0&count=1000&expand=configuration",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ],
+ "query": [
+ {
+ "key": "index",
+ "value": "0"
+ },
+ {
+ "key": "count",
+ "value": "1000"
+ },
+ {
+ "key": "expand",
+ "value": "configuration"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With status expansion",
+ "item": [
+ {
+ "name": "Prep: Create session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3319e417-dd54-495f-a452-5519d2a61082",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6ca3480a-3224-4bf8-a466-fdcb06338795",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ " pm.expect(response).to.have.property(\"_embedded\");",
+ " pm.expect(response[\"_embedded\"]).to.be.instanceof(Object);",
+ " pm.expect(response[\"_embedded\"]).to.have.property(\"status\");",
+ " pm.expect(response[\"_embedded\"][\"status\"]).to.be.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in response\", function() {",
+ " pm.expect(response.items).to.contain(token);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in embedded status\", function() {",
+ " let tokenInStatusList = false;",
+ " let statuses = response._embedded.status;",
+ " for (let status of statuses) {",
+ " if (status.token !== token) continue;",
+ " tokenInStatusList = true;",
+ " }",
+ " pm.expect(tokenInStatusList).to.equal(true);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions?index=0&count=1000&expand=status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ],
+ "query": [
+ {
+ "key": "index",
+ "value": "0"
+ },
+ {
+ "key": "count",
+ "value": "1000"
+ },
+ {
+ "key": "expand",
+ "value": "status"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Results API",
+ "item": [
+ {
+ "name": "upload api",
+ "item": [
+ {
+ "name": "create session",
+ "item": [
+ {
+ "name": "Prep: Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1f3d8b67-aab8-44a0-abf4-e320a6b27755",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests);",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part)[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "var usedApi = apis[0];",
+ "",
+ "pm.globals.set(\"api_name\", usedApi);",
+ "pm.globals.set(\"test\", availableTests[usedApi][0]);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session With One test",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f42479d4-f723-4843-ba91-f30019ebd975",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{test}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "9f8fc606-25ee-45de-bcd8-57735900701b",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "be2341a8-1598-41b0-96a6-cfd049badd07",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "create results",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "897e04ae-d0a2-4a67-9488-2bdeb55db06b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "95b382c6-9d08-41b9-80d1-40dc0217cc09",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "",
+ "const parameters = nextTest.split(\"?\")[1].split(\"&\");",
+ "let test = parameters.find(parameter => parameter.split(\"=\")[0] === \"test_url\").split(\"=\")[1];",
+ "test = decodeURIComponent(test);",
+ "test = \"/\" + test.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "pm.globals.set(\"current_test\", test);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "67b23ac9-5254-4b7b-90bf-930a9661a614",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "upload new results",
+ "item": [
+ {
+ "name": "Download current results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "984c79db-5ae1-4c22-8b62-6eccabfaeb98",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "var results = jsonData.results;",
+ "",
+ "pm.globals.set(\"results\", results);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "a9a46b5f-2dd3-4fa7-a482-7186ac01a4d6",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Current Compact Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f4974495-2e84-4962-9259-1d5501fb7a3f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.globals.set(\"compact_results\", jsonData);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Upload Results Api Json",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4a7df46d-546c-4cf4-8c6a-9b13eaa0be32",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "e2196348-a4a0-48d3-bd72-f591f0b65cf0",
+ "exec": [
+ "var results = pm.globals.get(\"results\");",
+ "var newSubResult = ",
+ " {",
+ " \"name\": \"placeholder sub test\",",
+ " \"status\": \"PASS\",",
+ " \"message\": \"this is a placeholder sub test\"",
+ " };",
+ "",
+ "results[0].subtests.push(newSubResult);",
+ "resultsString = JSON.stringify(results);",
+ "pm.globals.set(\"resultsString\", resultsString);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"results\": {{resultsString}}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Check if changes took effect",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8c45fd6d-ca98-4393-ace6-c01563d7c1ec",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Returned results contain new result\", function () {",
+ " var jsonData = pm.response.json();",
+ " var results = jsonData.results;",
+ "",
+ " var oldResults = pm.globals.get(\"results\");",
+ "",
+ " pm.expect(oldResults[0].subtests.length + 1).to.equal(results[0].subtests.length);",
+ "});",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "0c9e31fc-1931-4dcd-978f-39e2a38f9a3f",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Check changes in Compact Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6e30b533-18f9-41bc-af65-bdde323c215a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "var test = pm.globals.get(\"test\");",
+ "var oldCompactResults = pm.globals.get(\"compact_results\");",
+ "",
+ "pm.test(\"passed test increased\", function () {",
+ " var api = test.split(\"/\").find(part => !!part);",
+ " pm.expect(jsonData[api].pass).to.equal(oldCompactResults[api].pass + 1);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "clean up",
+ "item": [
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "General API",
+ "item": [
+ {
+ "name": "server status",
+ "item": [
+ {
+ "name": "Read server status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8b5b4c23-db0a-4b81-9349-ce8ead64bb7a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"import_results_enabled\");",
+ " pm.expect(typeof jsonData.import_results_enabled).to.equal(\"boolean\");",
+ " pm.expect(jsonData).to.have.property(\"reports_enabled\");",
+ " pm.expect(typeof jsonData.reports_enabled).to.equal(\"boolean\");",
+ " pm.expect(jsonData).to.have.property(\"read_sessions_enabled\");",
+ " pm.expect(typeof jsonData.read_sessions_enabled).to.equal(\"boolean\");",
+ " pm.expect(jsonData).to.have.property(\"version_string\");",
+ " pm.expect(typeof jsonData.version_string).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Devices API",
+ "item": [
+ {
+ "name": "create",
+ "item": [
+ {
+ "name": "Create device",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "286426ec-c394-48a4-a90f-c6dd80c7bef1",
+ "exec": [
+ "pm.test(\"Successful POST request\", function () {",
+ " pm.expect(pm.response.code).to.be.oneOf([200,201,202]);",
+ "});",
+ "",
+ "var response = pm.response.json();",
+ "",
+ "pm.test('Schema is valid', function() {",
+ " pm.expect(response).to.have.property(\"token\");",
+ "});",
+ "",
+ "pm.test('Data is valid', function() {",
+ " pm.expect(typeof response.token).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Wait device timeout",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3bdb0f7c-1261-465e-9b02-0070005f0c43",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "a1cf5880-7b8e-4bc6-9d92-59632a719c54",
+ "exec": [
+ "var timeout = parseInt(pm.environment.get(\"device_timeout\")) + 500",
+ "",
+ "setTimeout(function () {}, timeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read device",
+ "item": [
+ {
+ "name": "Device not found",
+ "item": [
+ {
+ "name": "Read device",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a4401cbc-0a3a-4c2d-b1ed-e7d6867614ff",
+ "exec": [
+ "pm.test(\"Successful GET request\", function () {",
+ " pm.expect(pm.response.code).to.equal(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "1644fd70-b4c4-4207-8e12-67752a984417",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/invalid_token",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ "invalid_token"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Device found",
+ "item": [
+ {
+ "name": "Prep: Create device",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c4f14137-5ced-449b-a872-b7d541e2f6af",
+ "exec": [
+ "var response = pm.response.json();",
+ "var token = response.token;",
+ "",
+ "pm.globals.set(\"device_token\", token)"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read device",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "61a840f1-d3cd-4d7a-a54f-30da1266e48f",
+ "exec": [
+ "pm.test(\"Successful GET request\", function () {",
+ " pm.expect(pm.response.code).to.be.oneOf([200]);",
+ "});",
+ "",
+ "var response = pm.response.json();",
+ "",
+ "pm.test('Schema is valid', function() {",
+ " pm.expect(response).to.have.property(\"token\");",
+ " pm.expect(response).to.have.property(\"user_agent\");",
+ " pm.expect(response).to.have.property(\"last_active\");",
+ " pm.expect(response).to.have.property(\"name\");",
+ "});",
+ "",
+ "pm.test('Data is valid', function() {",
+ " pm.expect(typeof response.token).to.equal(\"string\");",
+ " pm.expect(typeof response.user_agent).to.equal(\"string\");",
+ " pm.expect(typeof response.last_active).to.equal(\"string\");",
+ " pm.expect(typeof response.name).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/{{device_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ "{{device_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Wait device timeout",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "17112336-b962-472d-86a8-7872ff9876d1",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "912939cc-1685-4e1f-b0a6-696b264870ca",
+ "exec": [
+ "var timeout = parseInt(pm.environment.get(\"device_timeout\")) + 500",
+ "",
+ "setTimeout(function () {}, timeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Timed out device",
+ "item": [
+ {
+ "name": "Prep: Create device",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c99b9318-1e50-4702-9d81-53d87faa1080",
+ "exec": [
+ "var response = pm.response.json();",
+ "var token = response.token;",
+ "",
+ "pm.globals.set(\"device_token\", token)"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Wait device timeout",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "89517dc9-31b4-40e7-89e4-99dd6e792e6a",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "ed20bbf6-4f31-4d91-a07b-7a0b4afcf161",
+ "exec": [
+ "var timeout = parseInt(pm.environment.get(\"device_timeout\")) + 500",
+ "",
+ "setTimeout(function () {}, timeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read device",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7b7496f5-2fdc-470c-b394-2a5ae7d29da2",
+ "exec": [
+ "pm.test(\"Successful GET request\", function () {",
+ " pm.expect(pm.response.code).to.equal(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "1807f152-7ef4-4277-9db6-1bff53d6cc8b",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/{{device_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ "{{device_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read devices",
+ "item": [
+ {
+ "name": "Prep: Create device A",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a7803c5c-f371-4ae0-8b08-1c06995c9b60",
+ "exec": [
+ "var response = pm.response.json();",
+ "var token = response.token;",
+ "",
+ "pm.globals.set(\"device_token_a\", token)"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Prep: Create device B",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "02450903-aef9-4ee6-9d48-94ba9b5fd54c",
+ "exec": [
+ "var response = pm.response.json();",
+ "var token = response.token;",
+ "",
+ "pm.globals.set(\"device_token_b\", token)"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read devices",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1612417b-bed8-48d5-a6a3-39d0d0fe6932",
+ "exec": [
+ "pm.test(\"Successful GET request\", function () {",
+ " pm.expect(pm.response.code).to.be.oneOf([200]);",
+ "});",
+ "",
+ "var response = pm.response.json();",
+ "",
+ "pm.test('Schema is valid', function() {",
+ " pm.expect(response).to.be.instanceof(Array);",
+ " response.forEach(element => {",
+ " pm.expect(element).to.have.property(\"token\");",
+ " pm.expect(element).to.have.property(\"user_agent\");",
+ " pm.expect(element).to.have.property(\"last_active\");",
+ " pm.expect(element).to.have.property(\"name\");",
+ " })",
+ "});",
+ "",
+ "pm.test('Data is valid', function() {",
+ " pm.expect(response).to.have.lengthOf(2);",
+ " var devices_left = [",
+ " pm.globals.get(\"device_token_a\"), ",
+ " pm.globals.get(\"device_token_b\")",
+ " ]",
+ " response.forEach(element => {",
+ " pm.expect(typeof element.token).to.equal(\"string\");",
+ " pm.expect(typeof element.user_agent).to.equal(\"string\");",
+ " pm.expect(typeof element.last_active).to.equal(\"string\");",
+ " pm.expect(typeof element.name).to.equal(\"string\");",
+ " pm.expect(devices_left).to.include(element.token);",
+ " devices_left.splice(devices_left.indexOf(element.token), 1);",
+ " })",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Wait device timeout",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9b7ff623-8aac-46d1-9c56-1ceb8acc2de6",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "c0fbf742-f75e-4f3b-a576-75c9d5e0f72d",
+ "exec": [
+ "var timeout = parseInt(pm.environment.get(\"device_timeout\")) + 500",
+ "",
+ "setTimeout(function () {}, timeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/devices/",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "devices",
+ ""
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ }
+ ],
+ "protocolProfileBehavior": {}
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/testing/__init__.py b/testing/web-platform/tests/tools/wave/testing/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/testing/devices_manager.py b/testing/web-platform/tests/tools/wave/testing/devices_manager.py
new file mode 100644
index 0000000000..935782d137
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/devices_manager.py
@@ -0,0 +1,119 @@
+# mypy: allow-untyped-defs
+
+import time
+import uuid
+
+from threading import Timer
+
+from ..data.device import Device
+from ..testing.event_dispatcher import DEVICES, DEVICE_ADDED_EVENT, DEVICE_REMOVED_EVENT
+from ..utils.user_agent_parser import parse_user_agent
+from ..utils.serializer import serialize_device
+from ..data.exceptions.not_found_exception import NotFoundException
+
+
+DEVICE_TIMEOUT = 60000 # 60sec
+RECONNECT_TIME = 5000 # 5sec
+
+class DevicesManager:
+ def initialize(self, event_dispatcher):
+ self.devices = {}
+ self._event_dispatcher = event_dispatcher
+ self._timer = None
+
+ def create_device(self, user_agent):
+ browser = parse_user_agent(user_agent)
+ name = "{} {}".format(browser["name"], browser["version"])
+ token = str(uuid.uuid1())
+ last_active = int(time.time() * 1000)
+
+ device = Device(token, user_agent, name, last_active)
+
+ self._event_dispatcher.dispatch_event(
+ DEVICES,
+ DEVICE_ADDED_EVENT,
+ serialize_device(device))
+ self.add_to_cache(device)
+
+ self._set_timer(DEVICE_TIMEOUT)
+
+ return device
+
+ def read_device(self, token):
+ if token not in self.devices:
+ raise NotFoundException(f"Could not find device '{token}'")
+ return self.devices[token]
+
+ def read_devices(self):
+ devices = []
+ for key in self.devices:
+ devices.append(self.devices[key])
+
+ return devices
+
+ def update_device(self, device):
+ if device.token not in self.devices:
+ return
+ self.devices[device.token] = device
+
+ def delete_device(self, token):
+ if token not in self.devices:
+ return
+ device = self.devices[token]
+ del self.devices[token]
+ self._event_dispatcher.dispatch_event(
+ DEVICES,
+ DEVICE_REMOVED_EVENT,
+ serialize_device(device))
+
+ def refresh_device(self, token):
+ if token not in self.devices:
+ return
+ device = self.devices[token]
+ device.last_active = int(time.time() * 1000)
+ self.update_device(device)
+
+ def post_event(self, handle, event_type, data):
+ if event_type is None:
+ return
+ self._event_dispatcher.dispatch_event(handle, event_type, data)
+
+ def post_global_event(self, event_type, data):
+ self.post_event(DEVICES, event_type, data)
+
+ def _set_timer(self, timeout):
+ if self._timer is not None:
+ return
+
+ def handle_timeout(self):
+ self._timer = None
+ now = int(time.time() * 1000)
+ timed_out_devices = []
+ for token in self.devices:
+ device = self.devices[token]
+ if now - device.last_active < DEVICE_TIMEOUT:
+ continue
+ timed_out_devices.append(token)
+
+ for token in timed_out_devices:
+ self.delete_device(token)
+
+ oldest_active_time = None
+ for token in self.devices:
+ device = self.devices[token]
+ if oldest_active_time is None:
+ oldest_active_time = device.last_active
+ else:
+ if oldest_active_time > device.last_active:
+ oldest_active_time = device.last_active
+ if oldest_active_time is not None:
+ self._set_timer(now - oldest_active_time)
+
+ self._timer = Timer(timeout / 1000.0, handle_timeout, [self])
+ self._timer.start()
+
+ def add_to_cache(self, device):
+ if device.token in self.devices:
+ return
+
+ self.devices[device.token] = device
diff --git a/testing/web-platform/tests/tools/wave/testing/event_dispatcher.py b/testing/web-platform/tests/tools/wave/testing/event_dispatcher.py
new file mode 100644
index 0000000000..9bfb6ed712
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/event_dispatcher.py
@@ -0,0 +1,148 @@
+# mypy: allow-untyped-defs
+
+import uuid
+import time
+from threading import Timer
+
+
+STATUS_EVENT = "status"
+RESUME_EVENT = "resume"
+TEST_COMPLETED_EVENT = "test_completed"
+
+DEVICES = "devices"
+DEVICE_ADDED_EVENT = "device_added"
+DEVICE_REMOVED_EVENT = "device_removed"
+
+class EventDispatcher:
+ def __init__(self, event_cache_duration):
+ self._listeners = {}
+ self._events = {}
+ self._current_events = {}
+ self._cache_duration = event_cache_duration
+ self._cache_timeout = None
+
+ def add_event_listener(self, listener, last_event_number=None):
+ token = listener.dispatcher_token
+
+ if last_event_number is not None \
+ and token in self._current_events \
+ and self._current_events[token] > last_event_number:
+ diff_events = self._get_diff_events(token, last_event_number)
+ if len(diff_events) > 0:
+ listener.send_message(diff_events)
+ return
+
+ if token not in self._listeners:
+ self._listeners[token] = []
+ self._listeners[token].append(listener)
+ listener.token = str(uuid.uuid1())
+ return listener.token
+
+ def remove_event_listener(self, listener_token):
+ if listener_token is None:
+ return
+
+ for dispatcher_token in self._listeners:
+ for listener in self._listeners[dispatcher_token]:
+ if listener.token == listener_token:
+ self._listeners[dispatcher_token].remove(listener)
+ if len(self._listeners[dispatcher_token]) == 0:
+ del self._listeners[dispatcher_token]
+ return
+
+ def dispatch_event(self, dispatcher_token, event_type, data=None):
+ if dispatcher_token not in self._current_events:
+ self._current_events[dispatcher_token] = -1
+
+ if dispatcher_token not in self._events:
+ self._events[dispatcher_token] = []
+
+ self._add_to_cache(dispatcher_token, event_type, data)
+ self._set_cache_timer()
+
+ if dispatcher_token not in self._listeners:
+ return
+
+ event = {
+ "type": event_type,
+ "data": data,
+ "number": self._current_events[dispatcher_token]
+ }
+
+ for listener in self._listeners[dispatcher_token]:
+ listener.send_message([event])
+
+ def _get_diff_events(self, dispatcher_token, last_event_number):
+ token = dispatcher_token
+ diff_events = []
+ if token not in self._events:
+ return diff_events
+ for event in self._events[token]:
+ if event["number"] <= last_event_number:
+ continue
+ diff_events.append({
+ "type": event["type"],
+ "data": event["data"],
+ "number": event["number"]
+ })
+ return diff_events
+
+ def _set_cache_timer(self):
+ if self._cache_timeout is not None:
+ return
+
+ events = self._read_cached_events()
+ if len(events) == 0:
+ return
+
+ next_event = events[0]
+ for event in events:
+ if next_event["expiration_date"] > event["expiration_date"]:
+ next_event = event
+
+ timeout = next_event["expiration_date"] / 1000.0 - time.time()
+ if timeout < 0:
+ timeout = 0
+
+ def handle_timeout(self):
+ self._delete_expired_events()
+ self._cache_timeout = None
+ self._set_cache_timer()
+
+ self._cache_timeout = Timer(timeout, handle_timeout, [self])
+ self._cache_timeout.start()
+
+ def _delete_expired_events(self):
+ events = self._read_cached_events()
+ now = int(time.time() * 1000)
+
+ for event in events:
+ if event["expiration_date"] < now:
+ self._remove_from_cache(event)
+
+ def _add_to_cache(self, dispatcher_token, event_type, data):
+ self._current_events[dispatcher_token] += 1
+ current_event_number = self._current_events[dispatcher_token]
+ event = {
+ "type": event_type,
+ "data": data,
+ "number": current_event_number,
+ "expiration_date": int(time.time() * 1000) + self._cache_duration
+ }
+ self._events[dispatcher_token].append(event)
+
+ def _remove_from_cache(self, event):
+ for dispatcher_token in self._events:
+ for cached_event in self._events[dispatcher_token]:
+ if cached_event is not event:
+ continue
+ self._events[dispatcher_token].remove(cached_event)
+ if len(self._events[dispatcher_token]) == 0:
+ del self._events[dispatcher_token]
+ return
+
+ def _read_cached_events(self):
+ events = []
+ for dispatcher_token in self._events:
+ events = events + self._events[dispatcher_token]
+ return events
diff --git a/testing/web-platform/tests/tools/wave/testing/results_manager.py b/testing/web-platform/tests/tools/wave/testing/results_manager.py
new file mode 100644
index 0000000000..13dfcbad7d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/results_manager.py
@@ -0,0 +1,674 @@
+# mypy: allow-untyped-defs
+
+import os
+import shutil
+import re
+import json
+import hashlib
+import zipfile
+import time
+from threading import Timer
+
+from ..utils.user_agent_parser import parse_user_agent, abbreviate_browser_name
+from ..utils.serializer import serialize_session
+from ..utils.deserializer import deserialize_session
+from ..data.exceptions.invalid_data_exception import InvalidDataException
+from ..data.exceptions.duplicate_exception import DuplicateException
+from ..data.exceptions.not_found_exception import NotFoundException
+from ..data.exceptions.permission_denied_exception import PermissionDeniedException
+from .wpt_report import generate_report, generate_multi_report
+from ..data.session import COMPLETED
+
+WAVE_SRC_DIR = "./tools/wave"
+RESULTS_FILE_REGEX = r"^\w\w\d\d\d?\.json$"
+RESULTS_FILE_PATTERN = re.compile(RESULTS_FILE_REGEX)
+SESSION_RESULTS_TIMEOUT = 60*30 # 30min
+
+
+class ResultsManager:
+ def initialize(
+ self,
+ results_directory_path,
+ sessions_manager,
+ tests_manager,
+ import_results_enabled,
+ reports_enabled,
+ persisting_interval
+ ):
+ self._results_directory_path = results_directory_path
+ self._sessions_manager = sessions_manager
+ self._tests_manager = tests_manager
+ self._import_results_enabled = import_results_enabled
+ self._reports_enabled = reports_enabled
+ self._results = {}
+ self._persisting_interval = persisting_interval
+ self._timeouts = {}
+
+ def create_result(self, token, data):
+ result = self.prepare_result(data)
+ test = result["test"]
+
+ session = self._sessions_manager.read_session(token)
+
+ if session is None:
+ return
+ if not self._sessions_manager.test_in_session(test, session):
+ return
+ if not self._sessions_manager.is_test_running(test, session):
+ return
+ self._tests_manager.complete_test(test, session)
+ self._push_to_cache(token, result)
+ self._update_test_state(result, session)
+
+ session.last_completed_test = test
+ session.recent_completed_count += 1
+ self._sessions_manager.update_session(session)
+
+ api = next((p for p in test.split("/") if p != ""), None)
+ if session.recent_completed_count >= self._persisting_interval \
+ or self._sessions_manager.is_api_complete(api, session):
+ self.persist_session(session)
+
+ if not self._sessions_manager.is_api_complete(api, session):
+ return
+ self.generate_report(token, api)
+
+ test_state = session.test_state
+ apis = list(test_state.keys())
+ all_apis_complete = True
+ for api in apis:
+ if not self._sessions_manager.is_api_complete(api, session):
+ all_apis_complete = False
+ if not all_apis_complete:
+ return
+ self._sessions_manager.complete_session(token)
+ self.create_info_file(session)
+
+ def read_results(self, token, filter_path=None):
+ filter_api = None
+ if filter_path is not None:
+ filter_api = next((p for p in filter_path.split("/")
+ if p is not None), None)
+ results = self._read_from_cache(token)
+ if results == []:
+ results = self.load_results(token)
+ self._set_session_cache(token, results)
+
+ filtered_results = {}
+
+ for api in results:
+ if filter_api is not None and api.lower() != filter_api.lower():
+ continue
+ for result in results[api]:
+ if filter_path is not None:
+ pattern = re.compile("^" + filter_path.replace(".", ""))
+ if pattern.match(result["test"].replace(".", "")) \
+ is None:
+ continue
+ if api not in filtered_results:
+ filtered_results[api] = []
+ filtered_results[api].append(result)
+
+ return filtered_results
+
+ def read_flattened_results(self, token):
+ session = self._sessions_manager.read_session(token)
+ return session.test_state
+
+ def _update_test_state(self, result, session):
+ api = next((p for p in result["test"].split("/") if p != ""), None)
+ if "subtests" not in result:
+ if result["status"] == "OK":
+ session.test_state[api]["pass"] += 1
+ elif result["status"] == "ERROR":
+ session.test_state[api]["fail"] += 1
+ elif result["status"] == "TIMEOUT":
+ session.test_state[api]["timeout"] += 1
+ elif result["status"] == "NOTRUN":
+ session.test_state[api]["not_run"] += 1
+ else:
+ for test in result["subtests"]:
+ if test["status"] == "PASS":
+ session.test_state[api]["pass"] += 1
+ elif test["status"] == "FAIL":
+ session.test_state[api]["fail"] += 1
+ elif test["status"] == "TIMEOUT":
+ session.test_state[api]["timeout"] += 1
+ elif test["status"] == "NOTRUN":
+ session.test_state[api]["not_run"] += 1
+
+ session.test_state[api]["complete"] += 1
+ self._sessions_manager.update_session(session)
+
+ def parse_test_state(self, results):
+ test_state = {}
+ for api in list(results.keys()):
+ test_state[api] = {
+ "pass": 0,
+ "fail": 0,
+ "timeout": 0,
+ "not_run": 0,
+ "total": len(results[api]),
+ "complete": 0,
+ }
+ for result in results[api]:
+ if "subtests" not in result:
+ if result["status"] == "OK":
+ test_state[api]["pass"] += 1
+ elif result["status"] == "ERROR":
+ test_state[api]["fail"] += 1
+ elif result["status"] == "TIMEOUT":
+ test_state[api]["timeout"] += 1
+ elif result["status"] == "NOTRUN":
+ test_state[api]["not_run"] += 1
+ else:
+ for test in result["subtests"]:
+ if test["status"] == "PASS":
+ test_state[api]["pass"] += 1
+ elif test["status"] == "FAIL":
+ test_state[api]["fail"] += 1
+ elif test["status"] == "TIMEOUT":
+ test_state[api]["timeout"] += 1
+ elif test["status"] == "NOTRUN":
+ test_state[api]["not_run"] += 1
+ test_state[api]["complete"] += 1
+ return test_state
+
+ def read_common_passed_tests(self, tokens=None):
+ if tokens is None or len(tokens) == 0:
+ return None
+
+ session_results = []
+
+ for token in tokens:
+ session_result = self.read_results(token)
+ session_results.append(session_result)
+
+ passed_tests = {}
+ failed_tests = {}
+
+ for result in session_results:
+ for api in result:
+ if api not in passed_tests:
+ passed_tests[api] = []
+ if api not in failed_tests:
+ failed_tests[api] = []
+
+ for api_result in result[api]:
+ passed = True
+ for subtest in api_result["subtests"]:
+ if subtest["status"] == "PASS":
+ continue
+ passed = False
+ break
+
+ test = api_result["test"]
+
+ if passed:
+ if test in failed_tests[api]:
+ continue
+ if test in passed_tests[api]:
+ continue
+ passed_tests[api].append(test)
+ else:
+ if test in passed_tests[api]:
+ passed_tests[api].remove(test)
+ if test in failed_tests[api]:
+ continue
+ failed_tests[api].append(test)
+ return passed_tests
+
+ def read_results_wpt_report_uri(self, token, api):
+ api_directory = os.path.join(self._results_directory_path, token, api)
+ if not os.path.isdir(api_directory):
+ return None
+ return f"/results/{token}/{api}/all.html"
+
+ def read_results_wpt_multi_report_uri(self, tokens, api):
+ comparison_directory_name = self.get_comparison_identifier(tokens)
+
+ relative_api_directory_path = os.path.join(comparison_directory_name,
+ api)
+
+ api_directory_path = os.path.join(
+ self._results_directory_path,
+ relative_api_directory_path
+ )
+
+ if not os.path.isdir(api_directory_path):
+ self.generate_multi_report(tokens, api)
+
+ return f"/results/{relative_api_directory_path}/all.html"
+
+ def delete_results(self, token):
+ results_directory = os.path.join(self._results_directory_path, token)
+ if not os.path.isdir(results_directory):
+ return
+ shutil.rmtree(results_directory)
+
+ def persist_session(self, session):
+ token = session.token
+ if token not in self._results:
+ return
+ for api in list(self._results[token].keys())[:]:
+ self.save_api_results(token, api)
+ self.create_info_file(session)
+ session.recent_completed_count = 0
+ self._sessions_manager.update_session(session)
+
+ def load_results(self, token):
+ results_directory = os.path.join(self._results_directory_path, token)
+ if not os.path.isdir(results_directory):
+ return {}
+ results = {}
+ apis = os.listdir(results_directory)
+ for api in apis:
+ api_directory = os.path.join(results_directory, api)
+ if not os.path.isdir(api_directory):
+ continue
+ files = os.listdir(api_directory)
+ for file_name in files:
+ if re.match(r"\w\w\d{1,3}\.json", file_name) is None:
+ continue
+ file_path = os.path.join(api_directory, file_name)
+ data = None
+ with open(file_path) as file:
+ data = file.read()
+ result = json.loads(data)
+ results[api] = result["results"]
+ break
+ return results
+
+ def _push_to_cache(self, token, result):
+ if token is None:
+ return
+ if token not in self._results:
+ self._results[token] = {}
+ test = result["test"]
+ api = next((p for p in test.split("/") if p != ""), None)
+ if api not in self._results[token]:
+ self._results[token][api] = []
+ self._results[token][api].append(result)
+ self._set_timeout(token)
+
+ def _set_session_cache(self, token, results):
+ if token is None:
+ return
+ self._results[token] = results
+ self._set_timeout(token)
+
+ def _read_from_cache(self, token):
+ if token is None:
+ return []
+ if token not in self._results:
+ return []
+ self._set_timeout(token)
+ return self._results[token]
+
+ def _clear_session_cache(self, token):
+ if token is None:
+ return
+ if token not in self._results:
+ return
+ del self._results[token]
+
+ def _combine_results_by_api(self, result_a, result_b):
+ combined_result = {}
+ for api in result_a:
+ if api in result_b:
+ combined_result[api] = result_a[api] + result_b[api]
+ else:
+ combined_result[api] = result_a[api]
+
+ for api in result_b:
+ if api in combined_result:
+ continue
+ combined_result[api] = result_b[api]
+
+ return combined_result
+
+ def prepare_result(self, result):
+ harness_status_map = {
+ 0: "OK",
+ 1: "ERROR",
+ 2: "TIMEOUT",
+ 3: "NOTRUN",
+ "OK": "OK",
+ "ERROR": "ERROR",
+ "TIMEOUT": "TIMEOUT",
+ "NOTRUN": "NOTRUN"
+ }
+
+ subtest_status_map = {
+ 0: "PASS",
+ 1: "FAIL",
+ 2: "TIMEOUT",
+ 3: "NOTRUN",
+ "PASS": "PASS",
+ "FAIL": "FAIL",
+ "TIMEOUT": "TIMEOUT",
+ "NOTRUN": "NOTRUN"
+ }
+
+ if "tests" in result:
+ for test in result["tests"]:
+ test["status"] = subtest_status_map[test["status"]]
+ if "stack" in test:
+ del test["stack"]
+ result["subtests"] = result["tests"]
+ del result["tests"]
+
+ if "stack" in result:
+ del result["stack"]
+ result["status"] = harness_status_map[result["status"]]
+
+ return result
+
+ def get_json_path(self, token, api):
+ session = self._sessions_manager.read_session(token)
+ api_directory = os.path.join(self._results_directory_path, token, api)
+
+ browser = parse_user_agent(session.user_agent)
+ abbreviation = abbreviate_browser_name(browser["name"])
+ version = browser["version"]
+ if "." in version:
+ version = version.split(".")[0]
+ version = version.zfill(2)
+ file_name = abbreviation + version + ".json"
+
+ return os.path.join(api_directory, file_name)
+
+ def save_api_results(self, token, api):
+ results = self._read_from_cache(token)
+ if api not in results:
+ return
+ results = results[api]
+ session = self._sessions_manager.read_session(token)
+ self._ensure_results_directory_existence(api, token, session)
+
+ file_path = self.get_json_path(token, api)
+ file_exists = os.path.isfile(file_path)
+
+ with open(file_path, "r+" if file_exists else "w") as file:
+ api_results = None
+ if file_exists:
+ data = file.read()
+ api_results = json.loads(data)
+ else:
+ api_results = {"results": []}
+
+ api_results["results"] = api_results["results"] + results
+
+ file.seek(0)
+ file.truncate()
+ file.write(json.dumps(api_results, indent=4, separators=(',', ': ')))
+
+ def _ensure_results_directory_existence(self, api, token, session):
+ directory = os.path.join(self._results_directory_path, token, api)
+ if not os.path.exists(directory):
+ os.makedirs(directory)
+
+ def generate_report(self, token, api):
+ file_path = self.get_json_path(token, api)
+ dir_path = os.path.dirname(file_path)
+ generate_report(
+ input_json_directory_path=dir_path,
+ output_html_directory_path=dir_path,
+ spec_name=api
+ )
+
+ def generate_multi_report(self, tokens, api):
+ comparison_directory_name = self.get_comparison_identifier(tokens)
+
+ api_directory_path = os.path.join(
+ self._results_directory_path,
+ comparison_directory_name,
+ api
+ )
+
+ if os.path.isdir(api_directory_path):
+ return None
+
+ os.makedirs(api_directory_path)
+
+ result_json_files = []
+ for token in tokens:
+ result_json_files.append({
+ "token": token,
+ "path": self.get_json_path(token, api)
+ })
+ for file in result_json_files:
+ if not os.path.isfile(file["path"]):
+ return None
+ generate_multi_report(
+ output_html_directory_path=api_directory_path,
+ spec_name=api,
+ result_json_files=result_json_files
+ )
+
+ def get_comparison_identifier(self, tokens, ref_tokens=None):
+ if ref_tokens is None:
+ ref_tokens = []
+ comparison_directory = "comparison"
+ tokens.sort()
+ for token in tokens:
+ short_token = token.split("-")[0]
+ comparison_directory += "-" + short_token
+ hash = hashlib.sha1()
+ ref_tokens.sort()
+ for token in ref_tokens:
+ hash.update(token.encode("utf-8"))
+ for token in tokens:
+ hash.update(token.encode("utf-8"))
+ hash = hash.hexdigest()
+ comparison_directory += hash[0:8]
+ return comparison_directory
+
+ def create_info_file(self, session):
+ token = session.token
+ info_file_path = os.path.join(
+ self._results_directory_path,
+ token,
+ "info.json"
+ )
+ info = serialize_session(session)
+ del info["running_tests"]
+ del info["pending_tests"]
+
+ file_content = json.dumps(info, indent=2)
+ with open(info_file_path, "w+") as file:
+ file.write(file_content)
+
+ def export_results_api_json(self, token, api):
+ results = self.read_results(token)
+ if api in results:
+ return json.dumps({"results": results[api]}, indent=4)
+
+ file_path = self.get_json_path(token, api)
+ if not os.path.isfile(file_path):
+ return None
+
+ with open(file_path) as file:
+ blob = file.read()
+ return blob
+
+ def export_results_all_api_jsons(self, token):
+ self._sessions_manager.read_session(token)
+ results_directory = os.path.join(self._results_directory_path, token)
+ results = self.read_results(token)
+
+ zip_file_name = str(time.time()) + ".zip"
+ zip = zipfile.ZipFile(zip_file_name, "w")
+ for api, result in results.items():
+ zip.writestr(
+ api + ".json",
+ json.dumps({"results": result}, indent=4),
+ zipfile.ZIP_DEFLATED
+ )
+
+ results_directory = os.path.join(self._results_directory_path, token)
+ if os.path.isdir(results_directory):
+ persisted_apis = os.listdir(results_directory)
+
+ for api in persisted_apis:
+ if api in results:
+ continue
+ blob = self.export_results_api_json(token, api)
+ if blob is None:
+ continue
+ zip.writestr(api + ".json", blob, zipfile.ZIP_DEFLATED)
+
+ zip.close()
+
+ with open(zip_file_name, "rb") as file:
+ blob = file.read()
+ os.remove(zip_file_name)
+
+ return blob
+
+ def export_results(self, token):
+ if token is None:
+ return
+ session = self._sessions_manager.read_session(token)
+ if session.status != COMPLETED:
+ return None
+
+ session_results_directory = os.path.join(self._results_directory_path,
+ token)
+ if not os.path.isdir(session_results_directory):
+ return None
+
+ zip_file_name = str(time.time()) + ".zip"
+ zip = zipfile.ZipFile(zip_file_name, "w")
+ for root, dirs, files in os.walk(session_results_directory):
+ for file in files:
+ file_name = os.path.join(root.split(token)[1], file)
+ file_path = os.path.join(root, file)
+ zip.write(file_path, file_name, zipfile.ZIP_DEFLATED)
+ zip.close()
+
+ with open(zip_file_name) as file:
+ blob = file.read()
+ os.remove(zip_file_name)
+
+ return blob
+
+ def export_results_overview(self, token):
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ raise NotFoundException(f"Could not find session {token}")
+
+ tmp_file_name = str(time.time()) + ".zip"
+ zip = zipfile.ZipFile(tmp_file_name, "w")
+
+ flattened_results = self.read_flattened_results(token)
+ results_script = "const results = " + json.dumps(flattened_results,
+ indent=4)
+ zip.writestr("results.json.js", results_script)
+
+ session_dict = serialize_session(session)
+ del session_dict["running_tests"]
+ del session_dict["pending_tests"]
+ details_script = "const details = " + json.dumps(session_dict,
+ indent=4)
+ zip.writestr("details.json.js", details_script)
+
+ for root, dirs, files in os.walk(os.path.join(WAVE_SRC_DIR, "export")):
+ for file in files:
+ file_name = os.path.join(root.split("export")[1], file)
+ file_path = os.path.join(root, file)
+ zip.write(file_path, file_name, zipfile.ZIP_DEFLATED)
+
+ zip.close()
+
+ with open(tmp_file_name, "rb") as file:
+ blob = file.read()
+
+ self.remove_tmp_files()
+
+ return blob
+
+ def is_import_results_enabled(self):
+ return self._import_results_enabled
+
+ def are_reports_enabled(self):
+ return self._reports_enabled
+
+ def load_session_from_info_file(self, info_file_path):
+ if not os.path.isfile(info_file_path):
+ return None
+
+ with open(info_file_path) as info_file:
+ data = info_file.read()
+ info_file.close()
+ info = json.loads(str(data))
+ return deserialize_session(info)
+
+ def import_results(self, blob):
+ if not self.is_import_results_enabled:
+ raise PermissionDeniedException()
+ tmp_file_name = f"{str(time.time())}.zip"
+
+ with open(tmp_file_name, "w") as file:
+ file.write(blob)
+
+ zip = zipfile.ZipFile(tmp_file_name)
+ if "info.json" not in zip.namelist():
+ raise InvalidDataException("Invalid session ZIP!")
+ zipped_info = zip.open("info.json")
+ info = zipped_info.read()
+ zipped_info.close()
+ parsed_info = json.loads(info)
+ token = parsed_info["token"]
+ session = self._sessions_manager.read_session(token)
+ if session is not None:
+ raise DuplicateException("Session already exists!")
+ destination_path = os.path.join(self._results_directory_path, token)
+ os.makedirs(destination_path)
+ zip.extractall(destination_path)
+ self.remove_tmp_files()
+ self.load_results(token)
+ return token
+
+ def import_results_api_json(self, token, api, blob):
+ if not self.is_import_results_enabled:
+ raise PermissionDeniedException()
+ destination_path = os.path.join(self._results_directory_path, token, api)
+ files = os.listdir(destination_path)
+ file_name = ""
+ for file in files:
+ if RESULTS_FILE_PATTERN.match(file):
+ file_name = file
+ break
+ destination_file_path = os.path.join(destination_path, file_name)
+ with open(destination_file_path, "wb") as file:
+ file.write(blob)
+
+ self.generate_report(token, api)
+
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ raise NotFoundException()
+
+ results = self.load_results(token)
+ test_state = self.parse_test_state(results)
+ session.test_state = test_state
+
+ self._sessions_manager.update_session(session)
+
+ def remove_tmp_files(self):
+ files = os.listdir(".")
+
+ for file in files:
+ if re.match(r"\d{10}\.\d{2}\.zip", file) is None:
+ continue
+ os.remove(file)
+
+ def _set_timeout(self, token):
+ if token in self._timeouts:
+ self._timeouts[token].cancel()
+
+ def handler(self, token):
+ self._clear_session_cache(token)
+
+ self._timeouts[token] = Timer(SESSION_RESULTS_TIMEOUT, handler, [self, token])
diff --git a/testing/web-platform/tests/tools/wave/testing/sessions_manager.py b/testing/web-platform/tests/tools/wave/testing/sessions_manager.py
new file mode 100644
index 0000000000..093c3cffe8
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/sessions_manager.py
@@ -0,0 +1,478 @@
+# mypy: allow-untyped-defs
+
+import uuid
+import time
+import os
+import json
+import re
+
+from threading import Timer
+
+from .test_loader import AUTOMATIC, MANUAL
+from ..data.session import Session, PENDING, PAUSED, RUNNING, ABORTED, COMPLETED
+from ..utils.user_agent_parser import parse_user_agent
+from .event_dispatcher import STATUS_EVENT, RESUME_EVENT
+from ..data.exceptions.not_found_exception import NotFoundException
+from ..data.exceptions.invalid_data_exception import InvalidDataException
+from ..utils.deserializer import deserialize_session
+
+DEFAULT_TEST_TYPES = [AUTOMATIC, MANUAL]
+DEFAULT_TEST_PATHS = ["/"]
+DEFAULT_TEST_AUTOMATIC_TIMEOUT = 60000
+DEFAULT_TEST_MANUAL_TIMEOUT = 300000
+
+
+class SessionsManager:
+ def initialize(self,
+ test_loader,
+ event_dispatcher,
+ tests_manager,
+ results_directory,
+ results_manager,
+ configuration):
+ self._test_loader = test_loader
+ self._sessions = {}
+ self._expiration_timeout = None
+ self._event_dispatcher = event_dispatcher
+ self._tests_manager = tests_manager
+ self._results_directory = results_directory
+ self._results_manager = results_manager
+ self._configuration = configuration
+
+ def create_session(
+ self,
+ tests=None,
+ test_types=None,
+ timeouts=None,
+ reference_tokens=None,
+ user_agent=None,
+ labels=None,
+ expiration_date=None,
+ type=None
+ ):
+ if tests is None:
+ tests = {}
+ if timeouts is None:
+ timeouts = {}
+ if reference_tokens is None:
+ reference_tokens = []
+ if user_agent is None:
+ user_agent = ""
+ if labels is None:
+ labels = []
+
+ if "include" not in tests:
+ tests["include"] = DEFAULT_TEST_PATHS
+ if "exclude" not in tests:
+ tests["exclude"] = []
+ if "automatic" not in timeouts:
+ timeouts["automatic"] = self._configuration["timeouts"]["automatic"]
+ if "manual" not in timeouts:
+ timeouts["manual"] = self._configuration["timeouts"]["manual"]
+ if test_types is None:
+ test_types = DEFAULT_TEST_TYPES
+
+ for test_type in test_types:
+ if test_type != "automatic" and test_type != "manual":
+ raise InvalidDataException(f"Unknown type '{test_type}'")
+
+ token = str(uuid.uuid1())
+ pending_tests = self._test_loader.get_tests(
+ test_types,
+ include_list=tests["include"],
+ exclude_list=tests["exclude"],
+ reference_tokens=reference_tokens)
+
+ browser = parse_user_agent(user_agent)
+
+ test_files_count = self._tests_manager.calculate_test_files_count(
+ pending_tests
+ )
+
+ test_state = {}
+ for api in test_files_count:
+ test_state[api] = {
+ "pass": 0,
+ "fail": 0,
+ "timeout": 0,
+ "not_run": 0,
+ "total": test_files_count[api],
+ "complete": 0}
+
+ date_created = int(time.time() * 1000)
+
+ session = Session(
+ token=token,
+ tests=tests,
+ user_agent=user_agent,
+ browser=browser,
+ test_types=test_types,
+ timeouts=timeouts,
+ pending_tests=pending_tests,
+ running_tests={},
+ test_state=test_state,
+ status=PENDING,
+ reference_tokens=reference_tokens,
+ labels=labels,
+ type=type,
+ expiration_date=expiration_date,
+ date_created=date_created
+ )
+
+ self._push_to_cache(session)
+ if expiration_date is not None:
+ self._set_expiration_timer()
+
+ return session
+
+ def read_session(self, token):
+ if token is None:
+ return None
+ session = self._read_from_cache(token)
+ if session is None or session.test_state is None:
+ print("loading session from file system")
+ session = self.load_session(token)
+ if session is not None:
+ self._push_to_cache(session)
+ return session
+
+ def read_sessions(self, index=None, count=None):
+ if index is None:
+ index = 0
+ if count is None:
+ count = 10
+ self.load_all_sessions_info()
+ sessions = []
+ for it_index, token in enumerate(self._sessions):
+ if it_index < index:
+ continue
+ if len(sessions) == count:
+ break
+ sessions.append(token)
+ return sessions
+
+ def read_session_status(self, token):
+ if token is None:
+ return None
+ session = self._read_from_cache(token)
+ if session is None:
+ session = self.load_session_info(token)
+ if session is None:
+ return None
+ if session.test_state is None:
+ session = self.load_session(token)
+ if session is not None:
+ self._push_to_cache(session)
+ return session
+
+ def read_public_sessions(self):
+ self.load_all_sessions_info()
+ session_tokens = []
+ for token in self._sessions:
+ session = self._sessions[token]
+ if not session.is_public:
+ continue
+ session_tokens.append(token)
+
+ return session_tokens
+
+ def update_session(self, session):
+ self._push_to_cache(session)
+
+ def update_session_configuration(
+ self, token, tests, test_types, timeouts, reference_tokens, type
+ ):
+ session = self.read_session(token)
+ if session is None:
+ raise NotFoundException("Could not find session")
+ if session.status != PENDING:
+ return
+
+ if tests is not None:
+ if "include" not in tests:
+ tests["include"] = session.tests["include"]
+ if "exclude" not in tests:
+ tests["exclude"] = session.tests["exclude"]
+ if reference_tokens is None:
+ reference_tokens = session.reference_tokens
+ if test_types is None:
+ test_types = session.test_types
+
+ pending_tests = self._test_loader.get_tests(
+ include_list=tests["include"],
+ exclude_list=tests["exclude"],
+ reference_tokens=reference_tokens,
+ test_types=test_types
+ )
+ session.pending_tests = pending_tests
+ session.tests = tests
+ test_files_count = self._tests_manager.calculate_test_files_count(
+ pending_tests)
+ test_state = {}
+ for api in test_files_count:
+ test_state[api] = {
+ "pass": 0,
+ "fail": 0,
+ "timeout": 0,
+ "not_run": 0,
+ "total": test_files_count[api],
+ "complete": 0,
+ }
+ session.test_state = test_state
+
+ if test_types is not None:
+ session.test_types = test_types
+ if timeouts is not None:
+ if AUTOMATIC not in timeouts:
+ timeouts[AUTOMATIC] = session.timeouts[AUTOMATIC]
+ if MANUAL not in timeouts:
+ timeouts[MANUAL] = session.timeouts[MANUAL]
+ session.timeouts = timeouts
+ if reference_tokens is not None:
+ session.reference_tokens = reference_tokens
+ if type is not None:
+ session.type = type
+
+ self._push_to_cache(session)
+ return session
+
+ def update_labels(self, token, labels):
+ if token is None or labels is None:
+ return
+ session = self.read_session(token)
+ if session is None:
+ return
+ if session.is_public:
+ return
+ session.labels = labels
+ self._push_to_cache(session)
+
+ def delete_session(self, token):
+ session = self.read_session(token)
+ if session is None:
+ return
+ if session.is_public is True:
+ return
+ del self._sessions[token]
+
+ def add_session(self, session):
+ if session is None:
+ return
+ self._push_to_cache(session)
+
+ def load_all_sessions(self):
+ if not os.path.isdir(self._results_directory):
+ return
+ tokens = os.listdir(self._results_directory)
+ for token in tokens:
+ self.load_session(token)
+
+ def load_all_sessions_info(self):
+ if not os.path.isdir(self._results_directory):
+ return
+ tokens = os.listdir(self._results_directory)
+ for token in tokens:
+ if token in self._sessions:
+ continue
+ self.load_session_info(token)
+
+ def load_session(self, token):
+ session = self.load_session_info(token)
+ if session is None:
+ return None
+
+ if session.test_state is None:
+ results = self._results_manager.load_results(token)
+ test_state = self._results_manager.parse_test_state(results)
+ session.test_state = test_state
+ self._results_manager.create_info_file(session)
+
+ self._push_to_cache(session)
+ return session
+
+ def load_session_info(self, token):
+ result_directory = os.path.join(self._results_directory, token)
+ if not os.path.isdir(result_directory):
+ return None
+ info_file = os.path.join(result_directory, "info.json")
+ if not os.path.isfile(info_file):
+ return None
+
+ info_data = None
+ with open(info_file) as file:
+ info_data = file.read()
+ parsed_info_data = json.loads(info_data)
+
+ session = deserialize_session(parsed_info_data)
+ self._push_to_cache(session)
+ return session
+
+ def _push_to_cache(self, session):
+ self._sessions[session.token] = session
+
+ def _read_from_cache(self, token):
+ if token not in self._sessions:
+ return None
+ return self._sessions[token]
+
+ def _set_expiration_timer(self):
+ expiring_sessions = self._read_expiring_sessions()
+ if len(expiring_sessions) == 0:
+ return
+
+ next_session = expiring_sessions[0]
+ for session in expiring_sessions:
+ if next_session.expiration_date > session.expiration_date:
+ next_session = session
+
+ if self._expiration_timeout is not None:
+ self._expiration_timeout.cancel()
+
+ timeout = next_session.expiration_date / 1000 - time.time()
+ if timeout < 0:
+ timeout = 0
+
+ def handle_timeout(self):
+ self._delete_expired_sessions()
+ self._set_expiration_timer()
+
+ self._expiration_timeout = Timer(timeout, handle_timeout, [self])
+ self._expiration_timeout.start()
+
+ def _delete_expired_sessions(self):
+ expiring_sessions = self._read_expiring_sessions()
+ now = int(time.time() * 1000)
+
+ for session in expiring_sessions:
+ if session.expiration_date < now:
+ self.delete_session(session.token)
+
+ def _read_expiring_sessions(self):
+ expiring_sessions = []
+ for token in self._sessions:
+ session = self._sessions[token]
+ if session.expiration_date is None:
+ continue
+ expiring_sessions.append(session)
+ return expiring_sessions
+
+ def start_session(self, token):
+ session = self.read_session(token)
+
+ if session is None:
+ return
+
+ if session.status != PENDING and session.status != PAUSED:
+ return
+
+ if session.status == PENDING:
+ session.date_started = int(time.time() * 1000)
+ session.expiration_date = None
+
+ session.status = RUNNING
+ self.update_session(session)
+
+ self._event_dispatcher.dispatch_event(
+ token,
+ event_type=STATUS_EVENT,
+ data=session.status
+ )
+
+ def pause_session(self, token):
+ session = self.read_session(token)
+ if session.status != RUNNING:
+ return
+ session.status = PAUSED
+ self.update_session(session)
+ self._event_dispatcher.dispatch_event(
+ token,
+ event_type=STATUS_EVENT,
+ data=session.status
+ )
+ self._results_manager.persist_session(session)
+
+ def stop_session(self, token):
+ session = self.read_session(token)
+ if session.status == ABORTED or session.status == COMPLETED:
+ return
+ session.status = ABORTED
+ session.date_finished = int(time.time() * 1000)
+ self.update_session(session)
+ self._event_dispatcher.dispatch_event(
+ token,
+ event_type=STATUS_EVENT,
+ data=session.status
+ )
+
+ def resume_session(self, token, resume_token):
+ session = self.read_session(token)
+ if session.status != PENDING:
+ return
+ self._event_dispatcher.dispatch_event(
+ token,
+ event_type=RESUME_EVENT,
+ data=resume_token
+ )
+ self.delete_session(token)
+
+ def complete_session(self, token):
+ session = self.read_session(token)
+ if session.status == COMPLETED or session.status == ABORTED:
+ return
+ session.status = COMPLETED
+ session.date_finished = int(time.time() * 1000)
+ self.update_session(session)
+ self._event_dispatcher.dispatch_event(
+ token,
+ event_type=STATUS_EVENT,
+ data=session.status
+ )
+
+ def test_in_session(self, test, session):
+ return self._test_list_contains_test(test, session.pending_tests) \
+ or self._test_list_contains_test(test, session.running_tests)
+
+ def is_test_complete(self, test, session):
+ return not self._test_list_contains_test(test, session.pending_tests) \
+ and not self._test_list_contains_test(test, session.running_tests)
+
+ def is_test_running(self, test, session):
+ return self._test_list_contains_test(test, session.running_tests)
+
+ def _test_list_contains_test(self, test, test_list):
+ for api in list(test_list.keys()):
+ if test in test_list[api]:
+ return True
+ return False
+
+ def is_api_complete(self, api, session):
+ return api not in session.pending_tests \
+ and api not in session.running_tests
+
+ def get_test_path_with_query(self, test, session):
+ query_string = ""
+ include_list = session.tests["include"]
+ for include_test in include_list:
+ split = include_test.split("?")
+ query = ""
+ if len(split) > 1:
+ include_test = split[0]
+ query = split[1]
+ pattern = re.compile("^" + include_test)
+ if pattern.match(test) is not None:
+ query_string += query + "&"
+ return f"{test}?{query_string}"
+
+ def find_token(self, fragment):
+ if len(fragment) < 8:
+ return None
+ tokens = []
+ for token in self._sessions:
+ if token.startswith(fragment):
+ tokens.append(token)
+ if len(tokens) != 1:
+ return None
+ return tokens[0]
+
+ def get_total_sessions(self):
+ return len(self._sessions)
diff --git a/testing/web-platform/tests/tools/wave/testing/test_loader.py b/testing/web-platform/tests/tools/wave/testing/test_loader.py
new file mode 100644
index 0000000000..8d751260d9
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/test_loader.py
@@ -0,0 +1,200 @@
+# mypy: allow-untyped-defs
+
+import os
+import re
+
+AUTOMATIC = "automatic"
+MANUAL = "manual"
+
+TEST_TYPES = [AUTOMATIC, MANUAL]
+
+
+class TestLoader:
+ def initialize(
+ self,
+ exclude_list_file_path,
+ include_list_file_path,
+ results_manager,
+ api_titles
+ ):
+ self._exclude_list_file_path = exclude_list_file_path
+ self._include_list_file_path = include_list_file_path
+ self._results_manager = results_manager
+ self._tests = {}
+ self._tests[AUTOMATIC] = {}
+ self._tests[MANUAL] = {}
+ self._api_titles = api_titles
+
+ def load_tests(self, tests):
+ include_list = self._load_test_list(self._include_list_file_path)
+ exclude_list = self._load_test_list(self._exclude_list_file_path)
+
+ if "testharness" in tests:
+ self._tests[AUTOMATIC] = self._load_tests(
+ tests=tests["testharness"],
+ exclude_list=exclude_list
+ )
+
+ if "manual" in tests:
+ self._tests[MANUAL] = self._load_tests(
+ tests=tests["manual"],
+ include_list=include_list
+ )
+
+ for api in self._tests[AUTOMATIC]:
+ for test_path in self._tests[AUTOMATIC][api][:]:
+ if "manual" not in test_path:
+ continue
+ self._tests[AUTOMATIC][api].remove(test_path)
+
+ if not self._is_valid_test(test_path,
+ include_list=include_list):
+ continue
+
+ if api not in self._tests[MANUAL]:
+ self._tests[MANUAL][api] = []
+ self._tests[MANUAL][api].append(test_path)
+
+ def _load_tests(self, tests, exclude_list=None, include_list=None):
+ loaded_tests = {}
+
+ def get_next_part(tests):
+ paths = []
+ for test in tests:
+ if isinstance(tests[test], dict):
+ subs = get_next_part(tests[test])
+ for sub in subs:
+ if sub is None:
+ continue
+ paths.append(test + "/" + sub)
+ continue
+ if test.endswith(".html"):
+ paths.append(test)
+ continue
+ if test.endswith(".js"):
+ for element in tests[test][1:]:
+ paths.append(element[0])
+ continue
+ return paths
+
+ test_paths = get_next_part(tests)
+ for test_path in test_paths:
+ if not test_path.startswith("/"):
+ test_path = "/" + test_path
+ if self._is_valid_test(test_path, exclude_list, include_list):
+ api_name = self._parse_api_name(test_path)
+ if api_name not in loaded_tests:
+ loaded_tests[api_name] = []
+ loaded_tests[api_name].append(test_path)
+ return loaded_tests
+
+ def _parse_api_name(self, test_path):
+ for part in test_path.split("/"):
+ if part == "":
+ continue
+ return part
+
+ def _is_valid_test(self, test_path, exclude_list=None, include_list=None):
+ is_valid = True
+
+ if include_list is not None and len(include_list) > 0:
+ is_valid = False
+ for include_test in include_list:
+ include_test = include_test.split("?")[0]
+ pattern = re.compile("^" + include_test)
+ if pattern.match(test_path) is not None:
+ is_valid = True
+ break
+
+ if not is_valid:
+ return is_valid
+
+ if exclude_list is not None and len(exclude_list) > 0:
+ is_valid = True
+ for exclude_test in exclude_list:
+ exclude_test = exclude_test.split("?")[0]
+ pattern = re.compile("^" + exclude_test)
+ if pattern.match(test_path) is not None:
+ is_valid = False
+ break
+
+ return is_valid
+
+ def _load_test_list(self, file_path):
+ tests = []
+ if not os.path.isfile(file_path):
+ return tests
+
+ file_content = None
+ with open(file_path) as file_handle:
+ file_content = file_handle.read()
+
+ for line in file_content.split():
+ line = line.replace(" ", "")
+ line = re.sub(r"^#", "", line)
+ if line == "":
+ continue
+ tests.append(line)
+
+ return tests
+
+ def get_tests(
+ self,
+ test_types=None,
+ include_list=None,
+ exclude_list=None,
+ reference_tokens=None
+ ):
+ if test_types is None:
+ test_types = [AUTOMATIC, MANUAL]
+ if include_list is None:
+ include_list = []
+ if exclude_list is None:
+ exclude_list = []
+ if reference_tokens is None:
+ reference_tokens = []
+
+ loaded_tests = {}
+
+ reference_results = self._results_manager.read_common_passed_tests(
+ reference_tokens)
+
+ for test_type in test_types:
+ if test_type not in TEST_TYPES:
+ continue
+ for api in self._tests[test_type]:
+ for test_path in self._tests[test_type][api]:
+ if not self._is_valid_test(test_path, exclude_list,
+ include_list):
+ continue
+ if reference_results is not None and \
+ (api not in reference_results or
+ (api in reference_results and test_path not in reference_results[api])):
+ continue
+ if api not in loaded_tests:
+ loaded_tests[api] = []
+ loaded_tests[api].append(test_path)
+ return loaded_tests
+
+ def get_apis(self):
+ apis = []
+ for test_type in TEST_TYPES:
+ for api in self._tests[test_type]:
+ in_list = False
+ for item in apis:
+ if item["path"] == "/" + api:
+ in_list = True
+ break
+ if in_list:
+ continue
+ title = None
+ for item in self._api_titles:
+ if item["path"] == "/" + api:
+ title = item["title"]
+ break
+
+ if title is None:
+ apis.append({"title": api, "path": "/" + api})
+ else:
+ apis.append({"title": title, "path": "/" + api})
+ return apis
diff --git a/testing/web-platform/tests/tools/wave/testing/tests_manager.py b/testing/web-platform/tests/tools/wave/testing/tests_manager.py
new file mode 100644
index 0000000000..8187eb4a7d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/tests_manager.py
@@ -0,0 +1,374 @@
+# mypy: allow-untyped-defs
+
+import re
+from threading import Timer
+
+from .event_dispatcher import TEST_COMPLETED_EVENT
+
+from ..data.exceptions.not_found_exception import NotFoundException
+from ..data.session import COMPLETED, ABORTED
+
+
+class TestsManager:
+ def initialize(
+ self,
+ test_loader,
+ sessions_manager,
+ results_manager,
+ event_dispatcher
+ ):
+ self._test_loader = test_loader
+ self._sessions_manager = sessions_manager
+ self._results_manager = results_manager
+ self._event_dispatcher = event_dispatcher
+
+ self._timeouts = []
+
+ def next_test(self, session):
+ if session.status == COMPLETED or session.status == ABORTED:
+ return None
+
+ pending_tests = session.pending_tests
+ running_tests = session.running_tests
+ token = session.token
+
+ if pending_tests is None:
+ pending_tests = self.load_tests(session)
+ session.pending_tests = pending_tests
+ self._sessions_manager.update_session(session)
+
+ if running_tests is None:
+ running_tests = {}
+
+ test = self._get_next_test_from_list(pending_tests)
+ if test is None:
+ return None
+
+ pending_tests = self.remove_test_from_list(pending_tests, test)
+ running_tests = self.add_test_to_list(running_tests, test)
+
+ test_timeout = self.get_test_timeout(test, session) / 1000.0
+
+ def handler(self, token, test):
+ self._on_test_timeout(token, test)
+
+ timer = Timer(test_timeout, handler, [self, token, test])
+ self._timeouts.append({
+ "test": test,
+ "timeout": timer
+ })
+
+ session.pending_tests = pending_tests
+ session.running_tests = running_tests
+ self._sessions_manager.update_session(session)
+
+ timer.start()
+ return test
+
+ def read_last_completed_tests(self, token, count):
+ results = self._results_manager.read_results(token)
+
+ results_tests = {}
+ for api in list(results.keys()):
+ results_tests[api] = []
+ for result in results[api]:
+ results_tests[api].append(result["test"])
+
+ sorted_results_tests = self._sort_tests_by_execution(results_tests)
+ sorted_results_tests.reverse()
+
+ tests = {"pass": [], "fail": [], "timeout": []}
+
+ for test in sorted_results_tests:
+ api = None
+ for part in test.split("/"):
+ if part != "":
+ api = part
+ break
+
+ result = None
+ for potential_result in results[api]:
+ if potential_result["test"] == test:
+ result = potential_result
+ break
+ if result is None:
+ break
+
+ if result["status"] == "ERROR":
+ if len(tests["fail"]) < count:
+ tests["fail"].append(result["test"])
+ elif result["status"] == "TIMEOUT":
+ if len(tests["timeout"]) < count:
+ tests["timeout"].append(result["test"])
+ passes = True
+ for test in result["subtests"]:
+ if test["status"] != "PASS":
+ passes = False
+ break
+
+ if passes and len(tests["pass"]) < count:
+ tests["pass"].append(result["test"])
+ if not passes and len(tests["fail"]) < count:
+ tests["fail"].append(result["test"])
+ if len(tests["pass"]) == count and len(tests["fail"]) == count \
+ and len(tests["timeout"]) == count:
+ return tests
+ return tests
+
+ def _sort_tests_by_execution(self, tests):
+ sorted_tests = []
+
+ for api in list(tests.keys()):
+ for test in tests[api]:
+ sorted_tests.append(test)
+
+ class compare:
+ def __init__(self, tests_manager, test):
+ self.test = test
+ self.tests_manager = tests_manager
+
+ def __lt__(self, test_b):
+ test_a = self.test
+ test_b = test_b.test
+ micro_test_list = {}
+ api_a = ""
+ for part in test_a.split("/"):
+ if part != "":
+ api_a = part
+ break
+ api_b = ""
+ for part in test_b.split("/"):
+ if part != "":
+ api_b = part
+ break
+ if api_a == api_b:
+ micro_test_list[api_a] = [test_a, test_b]
+ else:
+ micro_test_list[api_a] = [test_a]
+ micro_test_list[api_b] = [test_b]
+ next_test = self.tests_manager._get_next_test_from_list(micro_test_list)
+ return next_test == test_b
+
+ sorted_tests.sort(key=lambda test: compare(self, test))
+ return sorted_tests
+
+ def _get_next_test_from_list(self, tests):
+ test = None
+ api = None
+ has_http = True
+ has_manual = True
+ current_api = 0
+ current_test = 0
+
+ apis = list(tests.keys())
+ apis.sort(key=lambda api: api.lower())
+
+ for api in apis:
+ tests[api].sort(key=lambda test: test.replace("/", "").lower())
+
+ while test is None:
+ if len(apis) <= current_api:
+ return None
+ api = apis[current_api]
+
+ if len(tests[api]) <= current_test:
+ current_api = current_api + 1
+ current_test = 0
+
+ if current_api == len(apis):
+ if has_http:
+ has_http = False
+ current_api = 0
+ test = None
+ continue
+
+ if has_manual:
+ has_manual = False
+ current_api = 0
+ test = None
+ has_http = True
+ continue
+
+ return None
+
+ test = None
+ continue
+ test = tests[api][current_test]
+
+ if "manual" in test and "https" not in test:
+ return test
+
+ if "manual" in test and "https" in test:
+ if not has_http:
+ return test
+
+ if "manual" not in test and "https" not in test:
+ if not has_manual:
+ return test
+
+ if "manual" not in test and "https" in test:
+ if not has_manual and not has_http:
+ return test
+
+ current_test = current_test + 1
+ test = None
+
+ return test
+
+ def skip_to(self, test_list, test):
+ sorted_tests = self._sort_tests_by_execution(test_list)
+ if test not in sorted_tests:
+ return test_list
+ index = sorted_tests.index(test)
+ remaining_tests = sorted_tests[index + 1:]
+ remaining_tests_by_api = {}
+ current_api = "___"
+ for test in remaining_tests:
+ if not test.startswith("/" + current_api) and \
+ not test.startswith(current_api):
+ current_api = next((p for p in test.split("/") if p != ""),
+ None)
+ if current_api not in remaining_tests_by_api:
+ remaining_tests_by_api[current_api] = []
+ remaining_tests_by_api[current_api].append(test)
+ return remaining_tests_by_api
+
+ def remove_test_from_list(self, test_list, test):
+ api = None
+ for part in test.split("/"):
+ if part is None or part == "":
+ continue
+ api = part
+ break
+ if api not in test_list:
+ return test_list
+ if test not in test_list[api]:
+ return test_list
+ test_list[api].remove(test)
+ if len(test_list[api]) == 0:
+ del test_list[api]
+
+ return test_list
+
+ def add_test_to_list(self, test_list, test):
+ api = None
+ for part in test.split("/"):
+ if part is None or part == "":
+ continue
+ api = part
+ break
+ if api in test_list and test in test_list[api]:
+ return test_list
+ if api not in test_list:
+ test_list[api] = []
+ test_list[api].append(test)
+ return test_list
+
+ def get_test_timeout(self, test, session):
+ timeouts = session.timeouts
+ test_timeout = None
+
+ for path in list(timeouts.keys()):
+ pattern = re.compile("^" + path.replace(".", ""))
+ if pattern.match(test.replace(".", "")) is not None:
+ test_timeout = timeouts[path]
+ break
+
+ if test_timeout is None:
+ if "manual" in test:
+ test_timeout = timeouts["manual"]
+ else:
+ test_timeout = timeouts["automatic"]
+
+ return test_timeout
+
+ def _on_test_timeout(self, token, test):
+ data = {
+ "test": test,
+ "status": "TIMEOUT",
+ "message": None,
+ "subtests": [
+ {
+ "status": "TIMEOUT",
+ "xstatus": "SERVERTIMEOUT"
+ }
+ ]
+ }
+
+ self._results_manager.create_result(token, data)
+
+ def read_tests(self):
+ return self._test_loader.get_tests()
+
+ def complete_test(self, test, session):
+ running_tests = session.running_tests
+
+ running_tests = self.remove_test_from_list(running_tests, test)
+ session.running_tests = running_tests
+
+ timeout = next((t for t in self._timeouts if t["test"] == test), None)
+ timeout["timeout"].cancel()
+ self._timeouts.remove(timeout)
+
+ self.update_tests(
+ running_tests=running_tests,
+ session=session
+ )
+
+ self._event_dispatcher.dispatch_event(
+ dispatcher_token=session.token,
+ event_type=TEST_COMPLETED_EVENT,
+ data=test
+ )
+
+ def update_tests(
+ self,
+ pending_tests=None,
+ running_tests=None,
+ session=None
+ ):
+ if pending_tests is not None:
+ session.pending_tests = pending_tests
+
+ if running_tests is not None:
+ session.running_tests = running_tests
+
+ self._sessions_manager.update_session(session)
+
+ def calculate_test_files_count(self, tests):
+ count = {}
+ for api in tests:
+ count[api] = len(tests[api])
+ return count
+
+ def read_malfunctioning_tests(self, token):
+ session = self._sessions_manager.read_session(token)
+ return session.malfunctioning_tests
+
+ def update_malfunctioning_tests(self, token, tests):
+ if token is None:
+ return
+ if tests is None:
+ return
+
+ session = self._sessions_manager.read_session(token)
+ if session is None:
+ raise NotFoundException("Could not find session using token: " + token)
+ if session.is_public:
+ return
+ session.malfunctioning_tests = tests
+ self._sessions_manager.update_session(session)
+
+ def load_tests(self, session):
+ pending_tests = self._test_loader.get_tests(
+ session.test_types,
+ include_list=session.tests["include"],
+ exclude_list=session.tests["exclude"],
+ reference_tokens=session.reference_tokens
+ )
+
+ last_completed_test = session.last_completed_test
+ if last_completed_test is not None:
+ pending_tests = self.skip_to(pending_tests, last_completed_test)
+
+ return pending_tests
diff --git a/testing/web-platform/tests/tools/wave/testing/wpt_report.py b/testing/web-platform/tests/tools/wave/testing/wpt_report.py
new file mode 100644
index 0000000000..b84119ed85
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/testing/wpt_report.py
@@ -0,0 +1,57 @@
+# mypy: allow-untyped-defs
+
+import subprocess
+import os
+import ntpath
+import sys
+from shutil import copyfile
+
+
+def generate_report(
+ input_json_directory_path=None,
+ output_html_directory_path=None,
+ spec_name=None,
+ is_multi=None,
+ reference_dir=None):
+ if is_multi is None:
+ is_multi = False
+ try:
+ command = [
+ "wptreport",
+ "--input", input_json_directory_path,
+ "--output", output_html_directory_path,
+ "--spec", spec_name,
+ "--sort", "true",
+ "--failures", "true",
+ "--tokenFileName", "true" if is_multi else "false",
+ "--pass", "100",
+ "--ref", reference_dir if reference_dir is not None else ""]
+ whole_command = ""
+ for command_part in command:
+ whole_command += command_part + " "
+ subprocess.call(command, shell=False)
+ except subprocess.CalledProcessError as e:
+ info = sys.exc_info()
+ raise Exception("Failed to execute wptreport: " + str(info[0].__name__) + ": " + e.output)
+
+
+def generate_multi_report(
+ output_html_directory_path=None,
+ spec_name=None,
+ result_json_files=None,
+ reference_dir=None):
+ for file in result_json_files:
+ if not os.path.isfile(file["path"]):
+ continue
+ file_name = ntpath.basename(file["path"])
+ copyfile(file["path"], os.path.join(
+ output_html_directory_path,
+ file["token"] + "-" + file_name
+ ))
+
+ generate_report(
+ input_json_directory_path=output_html_directory_path,
+ output_html_directory_path=output_html_directory_path,
+ spec_name=spec_name,
+ is_multi=True,
+ reference_dir=reference_dir)
diff --git a/testing/web-platform/tests/tools/wave/tests/WAVE Local.postman_environment.json b/testing/web-platform/tests/tools/wave/tests/WAVE Local.postman_environment.json
new file mode 100644
index 0000000000..b1a6a089ab
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/tests/WAVE Local.postman_environment.json
@@ -0,0 +1,34 @@
+{
+ "id": "37be8ec4-7855-4554-867e-7a5d2a4f99e6",
+ "name": "WAVE Local",
+ "values": [
+ {
+ "key": "host",
+ "value": "web-platform.test",
+ "enabled": true
+ },
+ {
+ "key": "port",
+ "value": "8000",
+ "enabled": true
+ },
+ {
+ "key": "protocol",
+ "value": "http",
+ "enabled": true
+ },
+ {
+ "key": "web_root",
+ "value": "_wave",
+ "enabled": true
+ },
+ {
+ "key": "device_timeout",
+ "value": "60000",
+ "enabled": true
+ }
+ ],
+ "_postman_variable_scope": "environment",
+ "_postman_exported_at": "2020-05-25T12:12:37.098Z",
+ "_postman_exported_using": "Postman/7.25.0"
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/tests/WAVE Server REST API Tests.postman_collection.json b/testing/web-platform/tests/tools/wave/tests/WAVE Server REST API Tests.postman_collection.json
new file mode 100644
index 0000000000..c5a07a3352
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/tests/WAVE Server REST API Tests.postman_collection.json
@@ -0,0 +1,8549 @@
+{
+ "info": {
+ "_postman_id": "69fb733b-51ec-49b2-aa04-e2330c1d26b6",
+ "name": "WAVE Server REST API Tests copy",
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ "item": [
+ {
+ "name": "Read Available Tests",
+ "item": [
+ {
+ "name": "Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7c432e7c-d0f9-4583-977a-55ca5d1e42a2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof availableTests).to.equal(\"object\");",
+ " for (var api of Object.keys(availableTests)) {",
+ " pm.expect(availableTests[api]).to.be.an.instanceof(Array);",
+ " var apiRegExp = new RegExp(\"^/\" + api, \"i\");",
+ " for (var test of availableTests[api]) {",
+ " pm.expect(test).to.match(apiRegExp);",
+ " }",
+ " }",
+ "});",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests);",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part).join(\"/\").split(\"/\")[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "pm.globals.set(\"available_tests\", availableTests);",
+ "pm.globals.set(\"included_tests\", JSON.stringify(includedTests));",
+ "pm.globals.set(\"excluded_tests\", JSON.stringify(excludedTests));",
+ "pm.globals.set(\"special_timeout_test\", specialTimeoutTest.replace(\".\", \"\"));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Create and Read Sessions",
+ "item": [
+ {
+ "name": "Start expiring session remove expiration date",
+ "item": [
+ {
+ "name": "Create Session With Expiration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "71470bf7-293b-4863-a74e-193d86f2e6ac",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "7d59b7a7-78f8-46fc-a3f1-bd06f7ec31b7",
+ "exec": [
+ "var expirationDate = Date.now() + 10000;",
+ "pm.globals.set(\"expiration_date\", expirationDate);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"expiration_date\": {{expiration_date}}\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "daaa5a98-f330-4ca5-afc5-c4051e7a94c1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure contains expiration date\", function () {",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ "});",
+ "",
+ "var expirationDate = pm.globals.get(\"expiration_date\");",
+ "",
+ "pm.test(\"Expiration date is as specified\", function () {",
+ " pm.expect(Date.parse(jsonData.expiration_date)).to.equal(expirationDate);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d6e7a096-5bed-44b0-8772-ab80c1f53447",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "66075d71-55ed-4835-b6b5-ada854653d04",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure contains expiration date\", function () {",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ "});",
+ "",
+ "pm.test(\"Expiration date is null\", function () {",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Read Public Sessions",
+ "item": [
+ {
+ "name": "Read Public Sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a365eb0b-ba55-490a-8cd9-7286a1d39cd2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Response is JSON Array\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.be.an.instanceof(Array);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/public",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "public"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Find Session",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "52719d31-ef36-4b74-8c5c-05d554e916c0",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Find Session Token",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "753a7451-2a92-4de0-a2e2-d0d9c66de134",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "pm.globals.set(\"session_token_fragment\", token.split(\"-\").shift());"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "2a465de6-f66e-4161-ad7e-7c1c3738befd",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const sessionToken = pm.globals.get(\"session_token\");",
+ "",
+ "pm.test(\"Found token is original token\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.token).to.equal(sessionToken);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token_fragment}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token_fragment}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Find Session Too Short Fragment",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "0e7ff96f-8c5a-46f3-a1a0-258ad59b96e0",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "pm.globals.set(\"session_token_fragment\", token.split(\"-\").shift());"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "eb36e017-4cdc-458a-b399-8998df800fa1",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/1234567",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "1234567"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Read Next Test",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Invalid Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9c8af59c-8d9b-4264-acb5-a0bdf3af434a",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session \\w Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c16bf66e-283e-40b9-b98d-8b058ec1575a",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "66780bc8-88e6-44d2-a6c8-5c649141accd",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const test1 = availableTests[Object.keys(availableTests)[0]][0];",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\"]\n },\n \"types\": [\n \"automatic\"\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Pending Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "82ca12ad-3be5-419a-9a45-14164b0eaf60",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/newsession.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "135d7d9e-1869-4c02-9c6a-7c0ea522e140",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Running Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1bfe8c41-2144-46de-824d-2d1e3c88205b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "const api = test.split(\"/\").filter(part => !!part)[0]",
+ "const availableTests = pm.globals.get(\"available_tests\")",
+ "",
+ "pm.test(\"Returned test is valid test\", function () {",
+ " pm.expect(availableTests).to.have.property(api);",
+ " pm.expect(availableTests[api]).to.contain(test)",
+ "});",
+ "",
+ "",
+ "setTimeout(function () {}, 1000);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "02cfcc68-43ed-4533-a80c-699954900390",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Completed Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c8f3d89b-34ca-4d39-977e-638d3630ee5b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/finish.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session \\w Configuration Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bcde140e-51cf-4d7c-b745-5e56f9b59034",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "c4354118-88ff-4b5a-9252-dac19264c262",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\"\n ],\n \"timeouts\": {\n \"automatic\": 1000\n },\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "737fc854-7901-4819-96eb-4883f5b15bc9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a28a515f-0e48-4c23-a418-3b30c1e6dc71",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Aborted Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1b842c47-c67c-4bfe-a77d-7d5b553e001b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/pause.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e2318e93-7446-43be-ad52-99201a85fcbf",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Aborted Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c3bdd37f-c048-4a2a-979b-deca61758292",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const nextTest = jsonData.next_test;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test is new session page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/finish.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Control Session",
+ "item": [
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "506a2f52-ab98-4e61-943c-ca0f7cab7f28",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Pending Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "85ee0aec-9fbd-4544-a938-fb821e576fac",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f42cdf2c-5304-420d-b79d-f3345ac4455d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is pending\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Pending Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "01d6bfab-8ec5-4317-8595-667778be42d8",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "dec9ab62-5014-4b6e-a747-be83dce71a3d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "pm.test(\"Status is running\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "});",
+ "",
+ "pm.test(\"Start date is set\", function () {",
+ " pm.expect(Date.parse(jsonData.date_started)).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Running Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1db3770b-6fa9-40b9-875c-56d113d0ff5b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "84ccae85-36d6-4226-850c-269cbfddff8e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is running\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Running Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "29e3a3ed-7b75-43a2-99b3-7300bd39044a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "614689fb-9d26-4ac1-b89c-eca305a957f2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is paused\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"paused\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Paused Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "221d9b75-af5c-4aa9-b13b-6d3af10578aa",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "34147223-f4f2-4c11-a60b-09396d46c152",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is paused\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"paused\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Paused Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "41b686b9-80e9-4c16-906d-ca948c0873a6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7a053b4c-87c6-426c-95d6-750c5d478aba",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is running\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Running Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "52600705-47f5-4ec7-bf3c-ff2243022625",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "39c0a314-3efe-4977-8c20-33666ea8e0e6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "pm.test(\"Status is aborted\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});",
+ "",
+ "pm.test(\"Finish date is set\", function () {",
+ " pm.expect(Date.parse(jsonData.date_finished)).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Aborted Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0d53b83e-5b8b-4d69-980f-ddc2736d2a5f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4217abb8-3e6e-4125-8aaf-92b378136f87",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "f66a7794-ade7-41e7-abc6-560af7acfd53",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "04ca0247-e30e-470a-8282-d7a5eafc5b92",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Aborted Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0a17b42b-dc5e-4588-88c5-b8bc29065dd0",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5b908a57-2fe5-4309-86ab-933c196badfd",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "fe61b75f-f106-43f6-bcaf-ad4400ae1ef4",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "f94a7f25-72eb-4bcf-9ddb-573ca2cfbb1f",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Aborted Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c3915b66-bcd4-4a23-8b74-2fd9c16210d8",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c94d14bf-e48f-4a85-8939-e45bc66be6d0",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "eb6a4051-3cd7-4d75-93ec-8f0c4463cc98",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "64295661-300d-4773-8856-6c3ecbe158b0",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "4d33ee50-4368-42f3-b8a4-ab0ff27f00f6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "6a217097-fdf7-4c99-b005-723acf9b8389",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "37c80a2a-9508-4e8d-93d5-dfbfac837bed",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Pending Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6d0635aa-2b63-4e0f-89d2-da4d47741160",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "90895f8b-5398-4eeb-9f35-5869736dc46c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e4929021-a5b2-4839-8537-bfb7ea1935c2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2e2703a2-d74f-46ba-b168-9f3b64888086",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "df98f07d-4bb3-467d-92aa-e9122db42e31",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "c3e166ef-de4b-4c02-89c3-547aaa7a6555",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "a86891f3-8f1d-48c6-9e08-0a792bb1627a",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Paused Session Copy",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3ea151c0-8286-419f-bed6-0c06da912850",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f10cf08b-9a1a-4f3e-8b3e-8be52f82734e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is aborted\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"aborted\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "a1b3bf2e-4d09-4ee1-9063-6c4c842fcd94",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "a6745e90-5382-445d-9d65-db74aff7af1b",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session One Test",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "da2ec442-44fd-432e-b335-abe4dd73c182",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "47665454-d468-4964-8167-bd80051a3937",
+ "exec": [
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const test = availableTests[Object.keys(availableTests)[0]][0]",
+ "",
+ "pm.globals.set(\"single_test\", test);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8a575b02-40ff-404c-a344-d768c218caba",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e8ab1a02-2be0-43ee-be8b-04967b5aaff3",
+ "exec": [
+ "const response = pm.response.json();",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "be410b75-d674-4ef3-8dda-5731f4dbcbd5",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "706efcea-90f2-4206-8246-b82240e719fb",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Start Completed Session",
+ "item": [
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a68edf67-0a80-450d-8f4e-921626491163",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d3495b7e-e4b7-47a0-9589-f2d145915846",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is completed\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Pause Completed Session",
+ "item": [
+ {
+ "name": "Pause Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f1ca8fab-80d3-4d92-887e-018cb6536a9f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/pause",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "pause"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c220fdc3-b483-40fa-ae88-bf7f57415d90",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is completed\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Stop Completed Session",
+ "item": [
+ {
+ "name": "Stop Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a9130ab9-562e-48d9-a7c1-f8cb3bb8d85e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/stop",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "stop"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "013fa69e-f98b-4124-ac3f-cbc1bb4c5078",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Status is completed\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Clean Up",
+ "item": [
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Update and Read Sessions",
+ "item": [
+ {
+ "name": "Create Default",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "6ed4bed9-b4d6-4463-beca-4c4c09a23e44",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e2eba0d4-9e38-4a5c-9aa0-9874c70f0788",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "22d812a9-5d6f-4cbb-924e-cbe4392072ad",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData.date_started).to.satisfy(value => !value || typeof value === \"number\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ " pm.expect(jsonData.date_finished).to.satisfy(value => !value || typeof value === \"number\");",
+ "});",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d06b4cb9-f5b9-4a88-8a24-a195e59c298e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\"); ",
+ "",
+ "pm.test(\"All available tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(availableTests[api]).to.include(test);",
+ " }",
+ " }",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "bcf419eb-495a-4558-95de-45dea07bd6b0",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "86795630-9b19-49f3-988e-ac089ef76187",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Update With Configuration",
+ "item": [
+ {
+ "name": "Update Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "181e1f95-34d7-4c2c-bc3c-b6d5f411807d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "46e33bfe-0783-49f8-a9bc-98e26a34b55e",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\"\n ],\n \"timeouts\": {\n \"automatic\": {{automatic_timeout}},\n \"manual\": {{manual_timeout}},\n \"{{special_timeout_test}}\": {{special_timeout}}\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "dd86be15-3e08-491e-b56b-274531c348e6",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "var includedTests = JSON.parse(pm.globals.get(\"included_tests\"));",
+ "var excludedTests = JSON.parse(pm.globals.get(\"excluded_tests\"));",
+ "var automaticTimeout = pm.globals.get(\"automatic_timeout\");",
+ "var manualTimeout = pm.globals.get(\"manual_timeout\");",
+ "var specialTimeout = pm.globals.get(\"special_timeout\");",
+ "var specialTimeoutTest = pm.globals.get(\"special_timeout_test\");",
+ "",
+ "pm.test(\"Configuration is as specified\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " for (var test of includedTests) {",
+ " pm.expect(jsonData.tests.include).to.include(test);",
+ " }",
+ " for (var test of excludedTests) {",
+ " pm.expect(jsonData.tests.exclude).to.include(test);",
+ " }",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.not.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(automaticTimeout);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(manualTimeout);",
+ " pm.expect(jsonData.timeouts[specialTimeoutTest]).to.equal(specialTimeout);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "569dc8f6-39d4-4ec6-9466-64154671e4bc",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const includedTests = pm.globals.get(\"included_tests\");",
+ "const excludedTests = pm.globals.get(\"excluded_tests\");",
+ "",
+ "pm.test(\"Selected subset of tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var includedTest of includedTests) {",
+ " if (includedTest.split(\"/\").find(part => !!part) === api) {",
+ " var includeRegExp = new RegExp(\"^\" + includedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " for (var excludedTest of excludedTests) {",
+ " if (excludedTest.split(\"/\").find(part => !!part) === api) {",
+ " var excludeRegExp = new RegExp(\"^\" + excludedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.not.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const sessionTests = jsonData.pending_tests;",
+ "",
+ "pm.globals.set(\"session_tests\", JSON.stringify(sessionTests));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "db83ae93-7a70-4267-8a2f-3d2e7cb40b88",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData.date_started).to.satisfy(value => !value || typeof value === \"number\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ " pm.expect(jsonData.date_finished).to.satisfy(value => !value || typeof value === \"number\");",
+ "});",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})",
+ "",
+ "pm.test(\"Start and Finish date not set\", function () {",
+ " pm.expect(jsonData.date_started).to.be.null;",
+ " pm.expect(jsonData.date_finished).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "52cc597e-30b7-426e-a15e-3a628c66619a",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "60d6def7-cb5b-433f-8a4e-33bd8e20be53",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Update Session Labels",
+ "item": [
+ {
+ "name": "Create Session \\w Configuration Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a1c2e070-9309-4dee-ae71-6edf4cbe3630",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "1f03ad23-73c7-4e64-9de9-abe902e2b90c",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bf76f47c-960c-4007-a59b-92793e470082",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"labels\");",
+ " pm.expect(jsonData.labels).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.include(\"label1\");",
+ " pm.expect(jsonData.labels).to.include(\"label2\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update Labels Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "20cc9f7d-b4bb-4bb2-a628-4cfddd86112a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"labels\": [\"new\", \"labels\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/labels",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "labels"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "11fcc51b-effd-4522-8126-6b6a20435927",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"labels\");",
+ " pm.expect(jsonData.labels).to.be.an.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.include(\"new\");",
+ " pm.expect(jsonData.labels).to.include(\"labels\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean Up",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Delete Session",
+ "item": [
+ {
+ "name": "Setup",
+ "item": [
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2b7198ef-6051-40ee-af4f-466bf41e3768",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Delete Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "cabccfe1-882e-48bf-9946-4b8f67b09f04",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "cad95ed0-822a-433b-b411-adf3b2e5ea77",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Create and Read Results",
+ "item": [
+ {
+ "name": "Create Session",
+ "item": [
+ {
+ "name": "Create Session Two Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3c82b199-e27f-4b86-b98d-9f10ad2b363f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "70ad16d3-5df7-4c94-9498-f5abd0b6f76c",
+ "exec": [
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const test1 = availableTests[Object.keys(availableTests)[0]][0];",
+ "const test2 = availableTests[Object.keys(availableTests)[1]][0];",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);",
+ "pm.globals.set(\"single_test_2\", test2);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\", \"{{single_test_2}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "074aff68-931d-4d31-b138-d9068bc57422",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9440583c-b8a5-4488-93aa-e37daf96485a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Responds with no results\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " pm.expect(Object.keys(jsonData)).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ],
+ "query": [
+ {
+ "key": "path",
+ "value": "/2dcontext/drawing-images-to-the-canvas",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements/2d.missingargs.html",
+ "disabled": true
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results Compact",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "50b9afe7-63ef-40ae-a6ea-5abbd40f254d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var singleTest1 = pm.globals.get(\"single_test_1\");",
+ "var singleTest2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "var api1 = singleTest1.split(\"/\").find(part => !!part);",
+ "var api2 = singleTest2.split(\"/\").find(part => !!part);",
+ "",
+ "pm.test(\"Responds with no results\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(api1);",
+ " pm.expect(jsonData).to.have.property(api2);",
+ " pm.expect(jsonData[api1].complete).to.equal(0);",
+ " pm.expect(jsonData[api2].complete).to.equal(0);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Last Completed Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f0c77dd0-d424-4b6e-8bfa-3e0ea5908514",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ " ",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(3);",
+ " pm.expect(jsonData).to.have.property(\"pass\");",
+ " pm.expect(jsonData).to.have.property(\"fail\");",
+ " pm.expect(jsonData).to.have.property(\"timeout\");",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.an.instanceof(Array);",
+ " }",
+ "});",
+ "",
+ "pm.test(\"Responds with no last completed tests\", function () {",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.empty;",
+ " }",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/last_completed",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "last_completed"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "bfdb82c2-1411-4e22-810b-a1f7edb8d2f4",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const sessionTests = jsonData.pending_tests;",
+ "",
+ "pm.globals.set(\"session_tests\", JSON.stringify(sessionTests));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Create First Result",
+ "item": [
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2a60296d-953b-430d-a21d-df99265b90c1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"Returned test is first of two specified tests\", function () {",
+ " pm.expect(test).to.equal(test1);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "42168b0e-8be9-4211-8c4a-5a0776a3d131",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"One test is pending, one test is running\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(1);",
+ " var api = Object.keys(jsonData.pending_tests)[0];",
+ " pm.expect(jsonData.pending_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.pending_tests[api]).to.include(test2);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(1);",
+ " api = Object.keys(jsonData.running_tests)[0];",
+ " pm.expect(jsonData.running_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.running_tests[api]).to.include(test1);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "95a23ee1-f9e9-4b6a-abf5-4afa48ba5254",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "707c403b-7135-4e0b-aae8-4fa4f07daac9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"One test is pending, one test is completed\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(1);",
+ " var api = Object.keys(jsonData.pending_tests)[0];",
+ " pm.expect(jsonData.pending_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.pending_tests[api]).to.include(test2);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7b77cb94-4159-462c-877b-23b48446a1bb",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ "});",
+ "",
+ "pm.test(\"Session status is running\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"running\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Last Completed Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8ba5726b-ed37-48f5-9389-4f6041b1eeaa",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ " ",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(3);",
+ " pm.expect(jsonData).to.have.property(\"pass\");",
+ " pm.expect(jsonData).to.have.property(\"fail\");",
+ " pm.expect(jsonData).to.have.property(\"timeout\");",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.an.instanceof(Array);",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"Responds with one last completed tests as failed\", function () {",
+ " pm.expect(jsonData[\"pass\"]).to.be.empty;",
+ " pm.expect(jsonData[\"fail\"]).to.have.lengthOf(1);",
+ " pm.expect(jsonData[\"fail\"][0]).to.equal(test1);",
+ " pm.expect(jsonData[\"timeout\"]).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/last_completed",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "last_completed"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5ac4de17-caf3-43b2-8eb8-fee26eed5c96",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.be.an.instanceof(Array);",
+ " for (var result of jsonData[api]) {",
+ " pm.expect(typeof result).to.equal(\"object\");",
+ " pm.expect(Object.keys(result)).to.have.lengthOf(4);",
+ " pm.expect(result).to.have.property(\"test\");",
+ " pm.expect(typeof result.test).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"status\");",
+ " pm.expect(typeof result.status).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"message\");",
+ " pm.expect(result.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " pm.expect(result).to.have.property(\"subtests\");",
+ " pm.expect(result.subtests).to.be.an.instanceof(Array);",
+ " for (var subtest of result.subtests) {",
+ " pm.expect(typeof subtest).to.equal(\"object\");",
+ " pm.expect(Object.keys(subtest)).to.have.lengthOf(3);",
+ " pm.expect(subtest).to.have.property(\"name\");",
+ " pm.expect(typeof subtest.name).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"status\");",
+ " pm.expect(typeof subtest.status).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"message\");",
+ " pm.expect(subtest.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "",
+ "pm.test(\"Test is first test, successful run and failed\", function () {",
+ " var api = Object.keys(jsonData)[0];",
+ " pm.expect(api).to.equal(test1.split(\"/\").find(part => !!part))",
+ " var result = jsonData[api][0];",
+ " pm.expect(result.test).to.equal(test1);",
+ " pm.expect(result.status).to.equal(\"OK\");",
+ " pm.expect(result.message).to.be.null;",
+ " var subtest = result.subtests[0];",
+ " pm.expect(subtest.status).to.equal(\"FAIL\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ],
+ "query": [
+ {
+ "key": "path",
+ "value": "/2dcontext/drawing-images-to-the-canvas",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements/2d.missingargs.html",
+ "disabled": true
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results Compact",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "38afbc94-502e-4aa7-85c2-70dbbdae7e13",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.have.property(\"pass\");",
+ " pm.expect(typeof jsonData[api].pass).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"fail\");",
+ " pm.expect(typeof jsonData[api].fail).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"timeout\");",
+ " pm.expect(typeof jsonData[api].timeout).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"not_run\");",
+ " pm.expect(typeof jsonData[api].not_run).to.equal(\"number\");",
+ " }",
+ "})",
+ "",
+ "pm.test(\"Responds with one test failed\", function () {",
+ " var api = Object.keys(jsonData)[0];",
+ " pm.expect(jsonData[api].pass).to.equal(0);",
+ " pm.expect(jsonData[api].fail).to.equal(1);",
+ " pm.expect(jsonData[api].timeout).to.equal(0);",
+ " pm.expect(jsonData[api].not_run).to.equal(0);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Create Last Result",
+ "item": [
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "85cf7940-73d0-4419-81a1-390c9c4c3a1c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);",
+ "",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"Returned test is second of two specified tests\", function () {",
+ " pm.expect(test).to.equal(test2);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3e288d2c-865a-48ab-ac53-cddd160a9840",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"One test is running\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(1);",
+ " var api = Object.keys(jsonData.running_tests)[0];",
+ " pm.expect(jsonData.running_tests[api]).to.have.lengthOf(1);",
+ " pm.expect(jsonData.running_tests[api]).to.include(test2);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "786dbb67-47e8-4009-991c-1670d0ab04e1",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"PASS\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "db8fcfe2-89f3-4e1c-be82-059412218073",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ "});",
+ "",
+ "pm.test(\"Session status is completed\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"completed\");",
+ "})",
+ "",
+ "pm.test(\"Finish date is set\", function () {",
+ " pm.expect(Date.parse(jsonData.date_finished)).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f8938178-c924-4038-a1cb-5d6fc88c08d2",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "var test1Api = test1.split(\"/\").find(part => !!part);",
+ "var test2Api = test1.split(\"/\").find(part => !!part);",
+ "",
+ "pm.test(\"One test is pending, one test is completed\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Last Completed Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "5ff3fe93-2649-4874-9ae6-ce0bc2887685",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ " ",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(3);",
+ " pm.expect(jsonData).to.have.property(\"pass\");",
+ " pm.expect(jsonData).to.have.property(\"fail\");",
+ " pm.expect(jsonData).to.have.property(\"timeout\");",
+ " for (var key of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[key]).to.be.an.instanceof(Array);",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"Responds with one last completed tests as failed and one last completed test as passed\", function () {",
+ " pm.expect(jsonData[\"pass\"]).to.have.lengthOf(1);",
+ " pm.expect(jsonData[\"pass\"][0]).to.equal(test2);",
+ " pm.expect(jsonData[\"fail\"]).to.have.lengthOf(1);",
+ " pm.expect(jsonData[\"fail\"][0]).to.equal(test1);",
+ " pm.expect(jsonData[\"timeout\"]).to.be.empty;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/last_completed",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "last_completed"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "fee15d71-abfc-46f6-ad63-bdf67c42905d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON format is as expected\", function () {",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.be.an.instanceof(Array);",
+ " for (var result of jsonData[api]) {",
+ " pm.expect(typeof result).to.equal(\"object\");",
+ " pm.expect(Object.keys(result)).to.have.lengthOf(4);",
+ " pm.expect(result).to.have.property(\"test\");",
+ " pm.expect(typeof result.test).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"status\");",
+ " pm.expect(typeof result.status).to.equal(\"string\");",
+ " pm.expect(result).to.have.property(\"message\");",
+ " pm.expect(result.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " pm.expect(result).to.have.property(\"subtests\");",
+ " pm.expect(result.subtests).to.be.an.instanceof(Array);",
+ " for (var subtest of result.subtests) {",
+ " pm.expect(typeof subtest).to.equal(\"object\");",
+ " pm.expect(Object.keys(subtest)).to.have.lengthOf(3);",
+ " pm.expect(subtest).to.have.property(\"name\");",
+ " pm.expect(typeof subtest.name).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"status\");",
+ " pm.expect(typeof subtest.status).to.equal(\"string\");",
+ " pm.expect(subtest).to.have.property(\"message\");",
+ " pm.expect(subtest.message).to.satisfy(message => !message || typeof message === \"string\");",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "pm.test(\"Test is first and second test, successful run and failed, and successful run and passed\", function () {",
+ " var api = Object.keys(jsonData)[0];",
+ " for (var result of jsonData[api]) {",
+ " if (result.test === test1) {",
+ " pm.expect(result.test).to.equal(test1); ",
+ " pm.expect(result.status).to.equal(\"OK\");",
+ " pm.expect(result.message).to.be.null;",
+ " var subtest = result.subtests[0];",
+ " pm.expect(subtest.status).to.equal(\"FAIL\");",
+ " } else {",
+ " pm.expect(result.test).to.equal(test2); ",
+ " pm.expect(result.status).to.equal(\"OK\");",
+ " pm.expect(result.message).to.be.null;",
+ " subtest = result.subtests[0];",
+ " pm.expect(subtest.status).to.equal(\"PASS\");",
+ " }",
+ " }",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ],
+ "query": [
+ {
+ "key": "path",
+ "value": "/2dcontext/drawing-images-to-the-canvas",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements",
+ "disabled": true
+ },
+ {
+ "key": "path",
+ "value": "/2dcontext/conformance-requirements/2d.missingargs.html",
+ "disabled": true
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Results Compact",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9f739832-3e90-4efc-96cf-2889f08af718",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof jsonData).to.equal(\"object\");",
+ " for (var api of Object.keys(jsonData)) {",
+ " pm.expect(jsonData[api]).to.have.property(\"pass\");",
+ " pm.expect(typeof jsonData[api].pass).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"fail\");",
+ " pm.expect(typeof jsonData[api].fail).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"timeout\");",
+ " pm.expect(typeof jsonData[api].timeout).to.equal(\"number\");",
+ " pm.expect(jsonData[api]).to.have.property(\"not_run\");",
+ " pm.expect(typeof jsonData[api].not_run).to.equal(\"number\");",
+ " }",
+ "})",
+ "",
+ "const test1 = pm.globals.get(\"single_test_1\");",
+ "const test2 = pm.globals.get(\"single_test_2\");",
+ "",
+ "var test1Api = test1.split(\"/\").find(part => !!part);",
+ "var test2Api = test1.split(\"/\").find(part => !!part);",
+ "",
+ "pm.test(\"Responds with one test failed\", function () {",
+ " pm.expect(Object.keys(jsonData)).to.have.lengthOf(2);",
+ " var api = Object.keys(jsonData)[0];",
+ " if (api === test1Api) {",
+ " pm.expect(jsonData[api].pass).to.equal(0);",
+ " pm.expect(jsonData[api].fail).to.equal(1);",
+ " } else {",
+ " pm.expect(jsonData[api].pass).to.equal(1);",
+ " pm.expect(jsonData[api].fail).to.equal(0);",
+ " }",
+ " pm.expect(jsonData[api].timeout).to.equal(0);",
+ " pm.expect(jsonData[api].not_run).to.equal(0);",
+ " api = Object.keys(jsonData)[1];",
+ " if (api === test1Api) {",
+ " pm.expect(jsonData[api].pass).to.equal(0);",
+ " pm.expect(jsonData[api].fail).to.equal(1);",
+ " } else {",
+ " pm.expect(jsonData[api].pass).to.equal(1);",
+ " pm.expect(jsonData[api].fail).to.equal(0);",
+ " }",
+ " pm.expect(jsonData[api].timeout).to.equal(0);",
+ " pm.expect(jsonData[api].not_run).to.equal(0);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/compact",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "compact"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "353cde4e-5c57-4df7-b69e-7dac5cf408e3",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(Object.keys(response)).to.have.lengthOf(1);",
+ " pm.expect(response).to.have.property(\"next_test\");",
+ " pm.expect(typeof response.next_test).to.equal(\"string\");",
+ "});",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);",
+ "",
+ "const web_root = pm.environment.get(\"web_root\");",
+ "",
+ "pm.test(\"Returned test finish page\", function () {",
+ " pm.expect(test).to.equal(\"/\" + web_root + \"/finish.html\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Clean Up",
+ "item": [
+ {
+ "name": "Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Viewing and Downloading Reports",
+ "item": [
+ {
+ "name": "Create Sessions",
+ "item": [
+ {
+ "name": "First Session",
+ "item": [
+ {
+ "name": "Create Session One Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "84a0a44c-fdac-42e5-a3f8-7bbe7fc01fd8",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "6748c537-4286-48bb-9a10-7c1828d7f6e8",
+ "exec": [
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const test1 = availableTests[Object.keys(availableTests)[0]][0];",
+ "const test2 = availableTests[Object.keys(availableTests)[0]][1];",
+ "const apiName = test1.split(\"/\").filter(part => !!part)[0];",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);",
+ "pm.globals.set(\"single_test_2\", test2);",
+ "pm.globals.set(\"api_name\", apiName);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "579feb39-25c5-482a-95e1-be6861144110",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2399a9f6-0689-4035-8f01-22ad4726232b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "75177890-a772-4bcc-9d94-6a7f485b647b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Second Session",
+ "item": [
+ {
+ "name": "Create Session One Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e35de151-f1d5-4cb4-b403-953bb7dca87f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token_comp\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "30b29828-cd1c-469a-873c-77a31ce7b7f4",
+ "exec": [
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const test1 = availableTests[Object.keys(availableTests)[0]][0];",
+ "const test2 = availableTests[Object.keys(availableTests)[0]][1];",
+ "",
+ "pm.globals.set(\"single_test_1\", test1);",
+ "pm.globals.set(\"single_test_2\", test2);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": [\"{{single_test_1}}\"]\n }\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Start Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "29cdd92a-28c4-426e-9f53-8563bc3a36e7",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token_comp}}/start",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token_comp}}",
+ "start"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Next Test of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8cc61693-a77c-467c-a7df-5c239a3bf569",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const response = pm.response.json();",
+ "",
+ "const nextTest = response.next_test;",
+ "pm.globals.set(\"current_test_url\", nextTest);",
+ "if (!nextTest) return;",
+ "const test = \"/\" + nextTest.split(\"/\").slice(3).join(\"/\").split(\"?\")[0];",
+ "pm.globals.set(\"current_test\", test);",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token_comp}}/next",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token_comp}}",
+ "next"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Result",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "ae30e47e-bb3d-4479-9455-3823bc2adf88",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"test\": \"{{current_test}}\",\n \"status\": \"OK\",\n \"message\": null,\n \"subtests\": [\n {\n \"name\": \"Subtest testing feature xy\",\n \"status\": \"FAIL\",\n \"message\": \"Error message\"\n }\n ]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token_comp}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token_comp}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Download reports",
+ "item": [
+ {
+ "name": "Download Results Overview",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e614e97d-15e4-4c9b-987f-bd9f272bd295",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/overview",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "overview"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download All Apis Json",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e72a7387-bd42-4221-be2a-21bca702d1fe",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download WPT Multi Report Url",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "dbcd722b-480a-4544-807a-6f7d6edcb441",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Uri returned\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData.uri).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{api_name}}/reporturl?tokens={{session_token}},{{session_token_comp}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{api_name}}",
+ "reporturl"
+ ],
+ "query": [
+ {
+ "key": "tokens",
+ "value": "{{session_token}},{{session_token_comp}}"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download Results Api Json",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9e302610-c7a7-4de0-989a-9903e77499eb",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "9d79c233-e3a3-4972-af76-aa3dfa2ade4b",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/json",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "json"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Download WPT Report Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0a43dacd-8106-414c-b9b4-750c2a0375a4",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"Uri returned\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(typeof jsonData.uri).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "4b29e651-47e5-48ae-aa5d-b04b62e47e54",
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/results/{{session_token}}/{{api_name}}/reporturl",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "results",
+ "{{session_token}}",
+ "{{api_name}}",
+ "reporturl"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Malfunctioning List",
+ "item": [
+ {
+ "name": "Create Session \\w Configuration Copy",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d0ededde-44a0-48f3-bc21-eab3302b7b4d",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "ef1d181c-10b8-4bdd-9b5c-f14d6d9ca046",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\"\n ],\n \"timeouts\": {\n \"automatic\": {{automatic_timeout}},\n \"manual\": {{manual_timeout}},\n \"{{special_timeout_test}}\": {{special_timeout}}\n },\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Malfunctioning Empty",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "e4ed838e-02e3-4fe7-9f27-b9aed6d72d02",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Return empty array\", function() {",
+ " pm.expect(jsonData).to.be.an.instanceof(Array)",
+ " pm.expect(jsonData).to.have.length(0)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update Session Malfunctioning Insert Two",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "40b5a135-a839-4ffc-98e5-6d8923d53743",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[\n\t\"/test/file/one.html\",\n\t\"/test/file/two.html\"\n]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Malfunctioning Two Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "32953640-3b13-4df0-8af2-36544ebfe59e",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Return array with two tests\", function() {",
+ " pm.expect(jsonData).to.be.an.instanceof(Array)",
+ " pm.expect(jsonData).to.have.length(2)",
+ " pm.expect(jsonData).to.include(\"/test/file/one.html\")",
+ " pm.expect(jsonData).to.include(\"/test/file/two.html\")",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update Session Malfunctioning Empty Array",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "784734d2-61db-4ff3-b063-ba9fc07176d3",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "[]",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Malfunctioning Empty",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "75a2bbc5-47aa-4708-b783-2c5e36f59e1a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Return empty array\", function() {",
+ " pm.expect(jsonData).to.be.an.instanceof(Array)",
+ " pm.expect(jsonData).to.have.length(0)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}/malfunctioning",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}",
+ "malfunctioning"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "Sessions API",
+ "item": [
+ {
+ "name": "create session",
+ "item": [
+ {
+ "name": "With Defaults",
+ "item": [
+ {
+ "name": "Prep: Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2f9076bb-59aa-43f9-992d-49723c0487e7",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof availableTests).to.equal(\"object\");",
+ " for (var api of Object.keys(availableTests)) {",
+ " pm.expect(availableTests[api]).to.be.an.instanceof(Array);",
+ " var apiRegExp = new RegExp(\"^/\" + api, \"i\");",
+ " for (var test of availableTests[api]) {",
+ " pm.expect(test).to.match(apiRegExp);",
+ " }",
+ " }",
+ "});",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests);",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part).join(\"/\").split(\"/\")[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "pm.globals.set(\"available_tests\", availableTests);",
+ "pm.globals.set(\"included_tests\", JSON.stringify(includedTests));",
+ "pm.globals.set(\"excluded_tests\", JSON.stringify(excludedTests));",
+ "pm.globals.set(\"special_timeout_test\", specialTimeoutTest.replace(\".\", \"\"));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "3279e145-d372-4feb-a496-8e3cce73e839",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "2f52b046-49d6-4ae3-bd84-111c5f9e534a",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.be.empty;",
+ " pm.expect(new Date(jsonData.date_created).getTime()).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "86966d77-4519-415d-b893-5af6e18a0acf",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})",
+ "",
+ "pm.test(\"Start, Finish and Expiration date not set\", function () {",
+ " pm.expect(jsonData.date_started).to.be.null;",
+ " pm.expect(jsonData.date_finished).to.be.null;",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b67d346a-b2c9-4d67-af7b-27d2f5b8854f",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"pending_tests\");",
+ " pm.expect(typeof jsonData.pending_tests).to.equal(\"object\");",
+ " pm.expect(jsonData).to.have.property(\"running_tests\");",
+ " pm.expect(typeof jsonData.running_tests).to.equal(\"object\");",
+ "});",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\"); ",
+ "",
+ "pm.test(\"All available tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(availableTests[api]).to.include(test);",
+ " }",
+ " }",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "a4ad3a47-e64a-491b-91cf-57b36a8eb88f",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "ee4ad964-e66e-45fd-9c7a-7895fcbc9e10",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With Configuration",
+ "item": [
+ {
+ "name": "Prep: Read Available Tests",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1a955154-d0c2-4d20-84a7-445da8ecc722",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var availableTests = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(typeof availableTests).to.equal(\"object\");",
+ " for (var api of Object.keys(availableTests)) {",
+ " pm.expect(availableTests[api]).to.be.an.instanceof(Array);",
+ " var apiRegExp = new RegExp(\"^/\" + api, \"i\");",
+ " for (var test of availableTests[api]) {",
+ " pm.expect(test).to.match(apiRegExp);",
+ " }",
+ " }",
+ "});",
+ "",
+ "var includedTests = [];",
+ "var excludedTests = [];",
+ "var specialTimeoutTest = \"\";",
+ "",
+ "var apis = Object.keys(availableTests);",
+ "for(var api of apis) {",
+ " if (availableTests[api].length > 50) {",
+ " var subDirs = availableTests[api].map(test => test.split(\"/\").filter(part => !!part).join(\"/\").split(\"/\")[1]).reduce((acc, curr) => acc.indexOf(curr) === -1 ? acc.concat([curr]) : acc, []);",
+ " if (subDirs.length > 2) {",
+ " includedTests.push(\"/\" + api);",
+ " excludedTests.push(\"/\" + api + \"/\" + subDirs[0]);",
+ " specialTimeoutTest = availableTests[api][availableTests[api].length - 1];",
+ " break;",
+ " }",
+ " ",
+ " }",
+ "}",
+ "",
+ "pm.globals.set(\"available_tests\", availableTests);",
+ "pm.globals.set(\"included_tests\", JSON.stringify(includedTests));",
+ "pm.globals.set(\"excluded_tests\", JSON.stringify(excludedTests));",
+ "pm.globals.set(\"special_timeout_test\", specialTimeoutTest.replace(\".\", \"\"));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create Session \\w Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "38973bf0-0737-469d-b2ed-819c1acc6cf3",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "cc54eb7d-209f-4659-8119-ade100bb37ef",
+ "exec": [
+ "var automaticTimeout = 120000;",
+ "var manualTimeout = 1000000;",
+ "var specialTimeout = 2000;",
+ "",
+ "pm.globals.set(\"automatic_timeout\", automaticTimeout);",
+ "pm.globals.set(\"manual_timeout\", manualTimeout);",
+ "pm.globals.set(\"special_timeout\", specialTimeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"tests\": {\n \"include\": {{included_tests}},\n \"exclude\": {{excluded_tests}}\n },\n \"types\": [\n \"automatic\"\n ],\n \"timeouts\": {\n \"automatic\": {{automatic_timeout}},\n \"manual\": {{manual_timeout}},\n \"{{special_timeout_test}}\": {{special_timeout}}\n },\n \"labels\": [\"label1\", \"label2\"]\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "dbe16a67-70ba-4989-ab50-bafc8acab84c",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "var includedTests = JSON.parse(pm.globals.get(\"included_tests\"));",
+ "var excludedTests = JSON.parse(pm.globals.get(\"excluded_tests\"));",
+ "var automaticTimeout = pm.globals.get(\"automatic_timeout\");",
+ "var manualTimeout = pm.globals.get(\"manual_timeout\");",
+ "var specialTimeout = pm.globals.get(\"special_timeout\");",
+ "var specialTimeoutTest = pm.globals.get(\"special_timeout_test\");",
+ "",
+ "pm.test(\"Configuration is as specified\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " for (var test of includedTests) {",
+ " pm.expect(jsonData.tests.include).to.include(test);",
+ " }",
+ " for (var test of excludedTests) {",
+ " pm.expect(jsonData.tests.exclude).to.include(test);",
+ " }",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.not.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(automaticTimeout);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(manualTimeout);",
+ " pm.expect(jsonData.timeouts[specialTimeoutTest]).to.equal(specialTimeout);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.include(\"label1\");",
+ " pm.expect(jsonData.labels).to.include(\"label2\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "c1514c3e-fd96-4e9c-b799-6fd04185bb63",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"Session status is pending\", function () {",
+ " pm.expect(jsonData.status).to.equal(\"pending\");",
+ "})",
+ "",
+ "pm.test(\"Start and Finish date not set\", function () {",
+ " pm.expect(jsonData.date_started).to.be.null;",
+ " pm.expect(jsonData.date_finished).to.be.null;",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Tests of Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d31b10eb-4a59-4f92-98b2-73707e37a03b",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"All tests are pending tests\", function () {",
+ " pm.expect(Object.keys(jsonData.pending_tests)).to.not.have.lengthOf(0);",
+ " pm.expect(Object.keys(jsonData.running_tests)).to.have.lengthOf(0);",
+ "})",
+ "",
+ "const availableTests = pm.globals.get(\"available_tests\");",
+ "const includedTests = pm.globals.get(\"included_tests\");",
+ "const excludedTests = pm.globals.get(\"excluded_tests\");",
+ "",
+ "pm.test(\"Selected subset of tests are part of the session\", function () {",
+ " for (var api of Object.keys(jsonData.pending_tests)) {",
+ " for (var includedTest of includedTests) {",
+ " if (includedTest.split(\"/\").find(part => !!part) === api) {",
+ " var includeRegExp = new RegExp(\"^\" + includedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " for (var excludedTest of excludedTests) {",
+ " if (excludedTest.split(\"/\").find(part => !!part) === api) {",
+ " var excludeRegExp = new RegExp(\"^\" + excludedTest, \"i\");",
+ " for (var test of jsonData.pending_tests[api]) {",
+ " pm.expect(test).to.not.match(regex);",
+ " }",
+ " break;",
+ " }",
+ " }",
+ " }",
+ "});",
+ "",
+ "const sessionTests = jsonData.pending_tests;",
+ "",
+ "pm.globals.set(\"session_tests\", JSON.stringify(sessionTests));"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/tests/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "tests",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "daf759dc-ea36-4d8f-a524-4dae0cc841dc",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "id": "b50f4e6b-23b6-41e1-9bab-cd2ca90b7f43",
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With Expiration",
+ "item": [
+ {
+ "name": "Create Session With Expiration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "53183c44-31d1-48de-89ae-17950ef47363",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "6dadba7e-5352-4b9c-9601-f0eb429341ce",
+ "exec": [
+ "var expirationDate = Date.now() + 3000;",
+ "pm.globals.set(\"expiration_date\", expirationDate);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"expiration_date\": {{expiration_date}}\n}"
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Expired Session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "f2bc16d6-099b-487c-a7a6-d48d198ff826",
+ "exec": [
+ "pm.test(\"Status code is 404\", function () {",
+ " pm.response.to.have.status(404);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "prerequest",
+ "script": {
+ "id": "57f858cd-b882-4fc0-9170-60078cfe5af8",
+ "exec": [
+ "var expirationDate = pm.globals.get(\"expiration_date\");",
+ "",
+ "var timeout = expirationDate - Date.now() + 1000",
+ "",
+ "console.log(timeout)",
+ "",
+ "setTimeout(function () {}, timeout);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read session",
+ "item": [
+ {
+ "name": "Prep: Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "b50313e7-7fd2-434b-a86e-7ff5fb0af1d8",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "ef9e2d68-6b36-4ce7-8dba-27ebc7153015",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"tests\");",
+ " pm.expect(typeof jsonData.tests).to.equal(\"object\");",
+ " pm.expect(jsonData.tests).to.have.property(\"include\");",
+ " pm.expect(jsonData.tests.include).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData.tests).to.have.property(\"exclude\");",
+ " pm.expect(jsonData.tests.exclude).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"types\");",
+ " pm.expect(jsonData.types).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"user_agent\");",
+ " pm.expect(typeof jsonData.user_agent).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"timeouts\");",
+ " pm.expect(typeof jsonData.timeouts).to.equal(\"object\")",
+ " pm.expect(jsonData.timeouts).to.have.property(\"automatic\");",
+ " pm.expect(typeof jsonData.timeouts.automatic).to.equal(\"number\");",
+ " pm.expect(jsonData.timeouts).to.have.property(\"manual\");",
+ " pm.expect(typeof jsonData.timeouts.manual).to.equal(\"number\");",
+ " pm.expect(jsonData).to.have.property(\"browser\");",
+ " pm.expect(typeof jsonData.browser).to.equal(\"object\");",
+ " pm.expect(jsonData.browser).to.have.property(\"name\");",
+ " pm.expect(typeof jsonData.browser.name).to.equal(\"string\");",
+ " pm.expect(jsonData.browser).to.have.property(\"version\");",
+ " pm.expect(typeof jsonData.browser.version).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"reference_tokens\");",
+ " pm.expect(jsonData.reference_tokens).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"labels\");",
+ " pm.expect(jsonData.labels).to.be.an.instanceof(Array);",
+ " pm.expect(jsonData).to.have.property(\"date_created\");",
+ "});",
+ "",
+ "pm.test(\"Configuration is default\", function () {",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ " pm.expect(jsonData.tests.include).to.include(\"/\");",
+ " pm.expect(jsonData.types).to.include(\"automatic\");",
+ " pm.expect(jsonData.types).to.include(\"manual\");",
+ " pm.expect(jsonData.user_agent).to.include(\"PostmanRuntime\");",
+ " pm.expect(jsonData.timeouts.automatic).to.equal(60000);",
+ " pm.expect(jsonData.timeouts.manual).to.equal(300000);",
+ " pm.expect(jsonData.browser.name).to.equal(\"Other\");",
+ " pm.expect(jsonData.browser.version).to.equal(\"0\");",
+ " pm.expect(jsonData.is_public).to.equal(false);",
+ " pm.expect(jsonData.reference_tokens).to.be.empty;",
+ " pm.expect(jsonData.labels).to.be.empty;",
+ " pm.expect(new Date(jsonData.date_created).getTime()).to.be.below(Date.now());",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read session status",
+ "item": [
+ {
+ "name": "Prep: Create Session No Configuration",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8c7bcb56-cd2a-4d99-ad6e-ac4bc4767dce",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "const tokenRegex = new RegExp(\"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$\");",
+ "",
+ "pm.test(\"Responds with token in JSON format\", function () {",
+ " var jsonData = pm.response.json();",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(jsonData.token).to.match(tokenRegex);",
+ "});",
+ "",
+ "",
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "type": "text",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": ""
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read Session Status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "0639b5a0-d419-4642-baf1-5aa4aedf33c9",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"token\");",
+ " pm.expect(typeof jsonData.token).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"status\");",
+ " pm.expect(typeof jsonData.status).to.equal(\"string\");",
+ " pm.expect(jsonData).to.have.property(\"expiration_date\");",
+ " pm.expect(jsonData.expiration_date).to.be.null;",
+ " pm.expect(jsonData).to.have.property(\"date_started\");",
+ " pm.expect(jsonData).to.have.property(\"date_finished\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "read sessions",
+ "item": [
+ {
+ "name": "Without query parameters",
+ "item": [
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "a1fe1580-1807-45d1-93bb-e54596895c00",
+ "exec": [
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "Containing created session",
+ "item": [
+ {
+ "name": "Prep: Create session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "8c6722cf-7d5c-4b03-8404-3bdf17e543d9",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "7478f8f8-c838-4ae0-87ef-9889afc1041d",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in response\", function() {",
+ " pm.expect(response.items).to.contain(token);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions?index=0&count=1000",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ],
+ "query": [
+ {
+ "key": "index",
+ "value": "0"
+ },
+ {
+ "key": "count",
+ "value": "1000"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With configuration expansion",
+ "item": [
+ {
+ "name": "Prep: Create session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "9f59683a-df99-4e3c-b461-85c606196218",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "1cb72090-e989-4f6d-b19a-cd57388b18dc",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ " pm.expect(response).to.have.property(\"_embedded\");",
+ " pm.expect(response[\"_embedded\"]).to.be.instanceof(Object);",
+ " pm.expect(response[\"_embedded\"]).to.have.property(\"configuration\");",
+ " pm.expect(response[\"_embedded\"][\"configuration\"]).to.be.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in response\", function() {",
+ " pm.expect(response.items).to.contain(token);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in embedded configuration\", function() {",
+ " let tokenInConfigurationList = false;",
+ " let configurations = response._embedded.configuration;",
+ " for (let configuration of configurations) {",
+ " if (configuration.token !== token) continue;",
+ " tokenInConfigurationList = true;",
+ " }",
+ " pm.expect(tokenInConfigurationList).to.equal(true);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions?index=0&count=1000&expand=configuration",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ],
+ "query": [
+ {
+ "key": "index",
+ "value": "0"
+ },
+ {
+ "key": "count",
+ "value": "1000"
+ },
+ {
+ "key": "expand",
+ "value": "configuration"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ },
+ {
+ "name": "With status expansion",
+ "item": [
+ {
+ "name": "Prep: Create session",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "268fd1fa-4dba-401b-8072-8177a0f250c6",
+ "exec": [
+ "const response = pm.response.json();",
+ "const token = response.token;",
+ "pm.globals.set(\"session_token\", token);"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "body": {
+ "mode": "raw",
+ "raw": "",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions"
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Read sessions",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "93db4741-b574-4433-8dbd-008611311442",
+ "exec": [
+ "const token = pm.globals.get(\"session_token\");",
+ "const response = pm.response.json();",
+ "",
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "pm.test(\"JSON structure as expected\", function() {",
+ " pm.expect(response).to.have.property(\"items\");",
+ " pm.expect(response[\"items\"]).to.be.instanceof(Array);",
+ " pm.expect(response).to.have.property(\"_links\");",
+ " pm.expect(response[\"_links\"]).to.be.instanceof(Object);",
+ " pm.expect(response).to.have.property(\"_embedded\");",
+ " pm.expect(response[\"_embedded\"]).to.be.instanceof(Object);",
+ " pm.expect(response[\"_embedded\"]).to.have.property(\"status\");",
+ " pm.expect(response[\"_embedded\"][\"status\"]).to.be.instanceof(Array);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in response\", function() {",
+ " pm.expect(response.items).to.contain(token);",
+ "});",
+ "",
+ "pm.test(\"Created session's token in embedded status\", function() {",
+ " let tokenInStatusList = false;",
+ " let statuses = response._embedded.status;",
+ " for (let status of statuses) {",
+ " if (status.token !== token) continue;",
+ " tokenInStatusList = true;",
+ " }",
+ " pm.expect(tokenInStatusList).to.equal(true);",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/_wave/api/sessions?index=0&count=1000&expand=status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "_wave",
+ "api",
+ "sessions"
+ ],
+ "query": [
+ {
+ "key": "index",
+ "value": "0"
+ },
+ {
+ "key": "count",
+ "value": "1000"
+ },
+ {
+ "key": "expand",
+ "value": "status"
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Clean up: Delete Session",
+ "request": {
+ "method": "DELETE",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/sessions/{{session_token}}",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "sessions",
+ "{{session_token}}"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ },
+ {
+ "name": "General API",
+ "item": [
+ {
+ "name": "server status",
+ "item": [
+ {
+ "name": "Read server status",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "id": "d695b371-c742-4eaf-9179-852b04460ecf",
+ "exec": [
+ "pm.test(\"Status code is 200\", function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "",
+ "var jsonData = pm.response.json();",
+ "",
+ "pm.test(\"JSON structure is as expected\", function () {",
+ " pm.expect(jsonData).to.have.property(\"import_results_enabled\");",
+ " pm.expect(typeof jsonData.import_results_enabled).to.equal(\"boolean\");",
+ " pm.expect(jsonData).to.have.property(\"reports_enabled\");",
+ " pm.expect(typeof jsonData.reports_enabled).to.equal(\"boolean\");",
+ " pm.expect(jsonData).to.have.property(\"read_sessions_enabled\");",
+ " pm.expect(typeof jsonData.read_sessions_enabled).to.equal(\"boolean\");",
+ " pm.expect(jsonData).to.have.property(\"version_string\");",
+ " pm.expect(typeof jsonData.version_string).to.equal(\"string\");",
+ "});"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": {
+ "raw": "{{protocol}}://{{host}}:{{port}}/{{web_root}}/api/status",
+ "protocol": "{{protocol}}",
+ "host": [
+ "{{host}}"
+ ],
+ "port": "{{port}}",
+ "path": [
+ "{{web_root}}",
+ "api",
+ "status"
+ ]
+ }
+ },
+ "response": []
+ }
+ ],
+ "protocolProfileBehavior": {},
+ "_postman_isSubFolder": true
+ }
+ ],
+ "protocolProfileBehavior": {}
+ }
+ ],
+ "protocolProfileBehavior": {}
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/tests/__init__.py b/testing/web-platform/tests/tools/wave/tests/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/tests/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/tests/config.json b/testing/web-platform/tests/tools/wave/tests/config.json
new file mode 100644
index 0000000000..672ed1aae9
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/tests/config.json
@@ -0,0 +1,6 @@
+{
+ "ports": {
+ "http": [8080, "auto"],
+ "https": [8483]
+ }
+}
diff --git a/testing/web-platform/tests/tools/wave/tests/test_wave.py b/testing/web-platform/tests/tools/wave/tests/test_wave.py
new file mode 100644
index 0000000000..a7d87a38e1
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/tests/test_wave.py
@@ -0,0 +1,55 @@
+# mypy: allow-untyped-defs
+
+import errno
+import os
+import socket
+import subprocess
+import time
+
+from urllib.request import urlopen
+from urllib.error import URLError
+
+from tools.wpt import wpt
+
+def is_port_8080_in_use():
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ try:
+ s.bind(("127.0.0.1", 8080))
+ except OSError as e:
+ if e.errno == errno.EADDRINUSE:
+ return True
+ else:
+ raise e
+ finally:
+ s.close()
+ return False
+
+def test_serve():
+ if is_port_8080_in_use():
+ assert False, "WAVE Test Runner failed: Port 8080 already in use."
+
+ p = subprocess.Popen([os.path.join(wpt.localpaths.repo_root, "wpt"),
+ "serve-wave",
+ "--config",
+ os.path.join(wpt.localpaths.repo_root, "tools/wave/tests/config.json")],
+ preexec_fn=os.setsid)
+
+ start = time.time()
+ try:
+ while True:
+ if p.poll() is not None:
+ assert False, "WAVE Test Runner failed: Server not running."
+ if time.time() - start > 60:
+ assert False, "WAVE Test Runner failed: Server did not start responding within 60s."
+ try:
+ resp = urlopen("http://web-platform.test:8080/_wave/api/sessions/public")
+ print(resp)
+ except URLError:
+ print("URLError")
+ time.sleep(1)
+ else:
+ assert resp.code == 200
+ break
+ finally:
+ os.killpg(p.pid, 15)
+ p.wait(10)
diff --git a/testing/web-platform/tests/tools/wave/tox.ini b/testing/web-platform/tests/tools/wave/tox.ini
new file mode 100644
index 0000000000..e1ee1b5294
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/tox.ini
@@ -0,0 +1,18 @@
+[tox]
+envlist = py37,py38,py39,py310
+skipsdist=True
+skip_missing_interpreters = False
+
+[testenv]
+deps =
+ -r{toxinidir}/../requirements_pytest.txt
+ -r{toxinidir}/requirements.txt
+ -r{toxinidir}/../wptrunner/requirements.txt
+ -r{toxinidir}/../wptrunner/requirements_chromium.txt
+ -r{toxinidir}/../wptrunner/requirements_firefox.txt
+
+commands =
+ pytest {posargs}
+
+passenv =
+ TASKCLUSTER_ROOT_URL
diff --git a/testing/web-platform/tests/tools/wave/utils/__init__.py b/testing/web-platform/tests/tools/wave/utils/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/utils/__init__.py
diff --git a/testing/web-platform/tests/tools/wave/utils/deserializer.py b/testing/web-platform/tests/tools/wave/utils/deserializer.py
new file mode 100644
index 0000000000..28d1054f6b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/utils/deserializer.py
@@ -0,0 +1,118 @@
+# mypy: allow-untyped-defs
+
+from ..data.session import Session, UNKNOWN
+from datetime import datetime
+import dateutil.parser
+from dateutil.tz import tzutc
+
+
+def deserialize_sessions(session_dicts):
+ sessions = []
+ for session_dict in session_dicts:
+ session = deserialize_session(session_dict)
+ sessions.append(session)
+ return sessions
+
+
+def deserialize_session(session_dict):
+ token = ""
+ if "token" in session_dict:
+ token = session_dict["token"]
+ tests = {"include": [], "exclude": []}
+ if "tests" in session_dict:
+ tests = session_dict["tests"]
+ if "path" in session_dict:
+ test_paths = session_dict["path"].split(", ")
+ tests["include"] = tests["include"] + test_paths
+ test_types = []
+ if "types" in session_dict:
+ test_types = session_dict["types"]
+ user_agent = ""
+ if "user_agent" in session_dict:
+ user_agent = session_dict["user_agent"]
+ labels = []
+ if "labels" in session_dict:
+ labels = session_dict["labels"]
+ timeouts = {}
+ if "timeouts" in session_dict:
+ timeouts = session_dict["timeouts"]
+ pending_tests = None
+ if "pending_tests" in session_dict:
+ pending_tests = session_dict["pending_tests"]
+ running_tests = None
+ if "running_tests" in session_dict:
+ running_tests = session_dict["running_tests"]
+ status = UNKNOWN
+ if "status" in session_dict:
+ status = session_dict["status"]
+ test_state = None
+ if "test_state" in session_dict:
+ test_state = session_dict["test_state"]
+ last_completed_test = None
+ if "last_completed_test" in session_dict:
+ last_completed_test = session_dict["last_completed_test"]
+ date_created = None
+ if "date_created" in session_dict:
+ date_created = session_dict["date_created"]
+ date_created = iso_to_millis(date_created)
+ date_started = None
+ if "date_started" in session_dict:
+ date_started = session_dict["date_started"]
+ date_started = iso_to_millis(date_started)
+ date_finished = None
+ if "date_finished" in session_dict:
+ date_finished = session_dict["date_finished"]
+ date_finished = iso_to_millis(date_finished)
+ is_public = False
+ if "is_public" in session_dict:
+ is_public = session_dict["is_public"]
+ reference_tokens = []
+ if "reference_tokens" in session_dict:
+ reference_tokens = session_dict["reference_tokens"]
+ browser = None
+ if "browser" in session_dict:
+ browser = session_dict["browser"]
+ expiration_date = None
+ if "expiration_date" in session_dict:
+ expiration_date = session_dict["expiration_date"]
+ expiration_date = iso_to_millis(expiration_date)
+ type = None
+ if "type" in session_dict:
+ type = session_dict["type"]
+ malfunctioning_tests = []
+ if "malfunctioning_tests" in session_dict:
+ malfunctioning_tests = session_dict["malfunctioning_tests"]
+
+ return Session(
+ token=token,
+ tests=tests,
+ test_types=test_types,
+ user_agent=user_agent,
+ labels=labels,
+ timeouts=timeouts,
+ pending_tests=pending_tests,
+ running_tests=running_tests,
+ status=status,
+ test_state=test_state,
+ last_completed_test=last_completed_test,
+ date_created=date_created,
+ date_started=date_started,
+ date_finished=date_finished,
+ is_public=is_public,
+ reference_tokens=reference_tokens,
+ browser=browser,
+ expiration_date=expiration_date,
+ type=type,
+ malfunctioning_tests=malfunctioning_tests
+ )
+
+def iso_to_millis(iso_string):
+ if iso_string is None:
+ return None
+ try:
+ date = dateutil.parser.isoparse(iso_string)
+ date = date.replace(tzinfo=tzutc())
+ epoch = datetime.utcfromtimestamp(0).replace(tzinfo=tzutc())
+ return int((date - epoch).total_seconds() * 1000)
+ except Exception:
+ return iso_string
diff --git a/testing/web-platform/tests/tools/wave/utils/serializer.py b/testing/web-platform/tests/tools/wave/utils/serializer.py
new file mode 100644
index 0000000000..995365081d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/utils/serializer.py
@@ -0,0 +1,47 @@
+# mypy: allow-untyped-defs
+
+from datetime import datetime
+
+
+def serialize_session(session):
+ return {
+ "token": session.token,
+ "types": session.test_types,
+ "user_agent": session.user_agent,
+ "labels": session.labels,
+ "timeouts": session.timeouts,
+ "test_state": session.test_state,
+ "last_completed_test": session.last_completed_test,
+ "tests": session.tests,
+ "pending_tests": session.pending_tests,
+ "running_tests": session.running_tests,
+ "status": session.status,
+ "browser": session.browser,
+ "date_created": millis_to_iso(session.date_created),
+ "date_started": millis_to_iso(session.date_started),
+ "date_finished": millis_to_iso(session.date_finished),
+ "is_public": session.is_public,
+ "reference_tokens": session.reference_tokens,
+ "expiration_date": millis_to_iso(session.expiration_date),
+ "type": session.type,
+ "malfunctioning_tests": session.malfunctioning_tests
+ }
+
+def serialize_sessions(sessions):
+ serialized_sessions = []
+ for session in sessions:
+ serialized_sessions.append(serialize_session(session))
+ return serialized_sessions
+
+def serialize_device(device):
+ return {
+ "token": device.token,
+ "user_agent": device.user_agent,
+ "name": device.name,
+ "last_active": millis_to_iso(device.last_active)
+ }
+
+def millis_to_iso(millis):
+ if millis is None:
+ return None
+ return datetime.utcfromtimestamp(millis/1000.0).isoformat() + "+00:00"
diff --git a/testing/web-platform/tests/tools/wave/utils/user_agent_parser.py b/testing/web-platform/tests/tools/wave/utils/user_agent_parser.py
new file mode 100644
index 0000000000..d1da820b53
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/utils/user_agent_parser.py
@@ -0,0 +1,43 @@
+# mypy: allow-untyped-defs
+
+from ua_parser import user_agent_parser
+
+
+def parse_user_agent(user_agent_string):
+ user_agent = user_agent_parser.ParseUserAgent(user_agent_string)
+
+ name = user_agent["family"]
+ version = "0"
+
+ if user_agent["major"] is not None:
+ version = user_agent["major"]
+
+ if user_agent["minor"] is not None:
+ version = version + "." + user_agent["minor"]
+
+ if user_agent["patch"] is not None:
+ version = version + "." + user_agent["patch"]
+
+ return {
+ "name": name,
+ "version": version
+ }
+
+
+def abbreviate_browser_name(name):
+ short_names = {
+ "Chrome": "Ch",
+ "Chrome Mobile WebView": "Ch",
+ "Chromium": "Cm",
+ "WebKit": "Wk",
+ "Safari": "Sf",
+ "Firefox": "FF",
+ "IE": "IE",
+ "Edge": "Ed",
+ "Opera": "Op"
+ }
+
+ if name in short_names:
+ return short_names[name]
+ else:
+ return "Xx"
diff --git a/testing/web-platform/tests/tools/wave/wave_server.py b/testing/web-platform/tests/tools/wave/wave_server.py
new file mode 100644
index 0000000000..1439c0b7ca
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/wave_server.py
@@ -0,0 +1,145 @@
+# mypy: allow-untyped-defs
+
+import os
+import logging
+
+from . import configuration_loader
+
+from .network.http_handler import HttpHandler
+from .network.api.sessions_api_handler import SessionsApiHandler
+from .network.api.tests_api_handler import TestsApiHandler
+from .network.api.results_api_handler import ResultsApiHandler
+from .network.api.devices_api_handler import DevicesApiHandler
+from .network.api.general_api_handler import GeneralApiHandler
+from .network.static_handler import StaticHandler
+
+from .testing.sessions_manager import SessionsManager
+from .testing.results_manager import ResultsManager
+from .testing.tests_manager import TestsManager
+from .testing.devices_manager import DevicesManager
+from .testing.test_loader import TestLoader
+from .testing.event_dispatcher import EventDispatcher
+
+VERSION_STRING = "v3.3.0"
+
+
+class WaveServer:
+ def initialize(self,
+ tests,
+ configuration_file_path=None,
+ application_directory_path=None,
+ reports_enabled=None):
+ if configuration_file_path is None:
+ configuration_file_path = ""
+ if application_directory_path is None:
+ application_directory_path = ""
+ if reports_enabled is None:
+ reports_enabled = False
+
+ logger = logging.getLogger("wave-server")
+
+ logger.debug("Loading configuration ...")
+ configuration = configuration_loader.load(configuration_file_path)
+
+ # Initialize Managers
+ event_dispatcher = EventDispatcher(
+ event_cache_duration=configuration["event_cache_duration"]
+ )
+ sessions_manager = SessionsManager()
+ results_manager = ResultsManager()
+ tests_manager = TestsManager()
+ devices_manager = DevicesManager()
+ test_loader = TestLoader()
+
+ sessions_manager.initialize(
+ test_loader=test_loader,
+ event_dispatcher=event_dispatcher,
+ tests_manager=tests_manager,
+ results_directory=configuration["results_directory_path"],
+ results_manager=results_manager,
+ configuration=configuration
+ )
+
+ results_manager.initialize(
+ results_directory_path=configuration["results_directory_path"],
+ sessions_manager=sessions_manager,
+ tests_manager=tests_manager,
+ import_results_enabled=configuration["import_results_enabled"],
+ reports_enabled=reports_enabled,
+ persisting_interval=configuration["persisting_interval"]
+ )
+
+ tests_manager.initialize(
+ test_loader,
+ results_manager=results_manager,
+ sessions_manager=sessions_manager,
+ event_dispatcher=event_dispatcher
+ )
+
+ devices_manager.initialize(event_dispatcher)
+
+ exclude_list_file_path = os.path.abspath("./excluded.json")
+ include_list_file_path = os.path.abspath("./included.json")
+ test_loader.initialize(
+ exclude_list_file_path,
+ include_list_file_path,
+ results_manager=results_manager,
+ api_titles=configuration["api_titles"]
+ )
+
+ test_loader.load_tests(tests)
+
+ # Initialize HTTP handlers
+ static_handler = StaticHandler(
+ web_root=configuration["web_root"],
+ http_port=configuration["wpt_port"],
+ https_port=configuration["wpt_ssl_port"]
+ )
+ sessions_api_handler = SessionsApiHandler(
+ sessions_manager=sessions_manager,
+ results_manager=results_manager,
+ event_dispatcher=event_dispatcher,
+ web_root=configuration["web_root"],
+ read_sessions_enabled=configuration["read_sessions_enabled"]
+ )
+ tests_api_handler = TestsApiHandler(
+ tests_manager=tests_manager,
+ sessions_manager=sessions_manager,
+ wpt_port=configuration["wpt_port"],
+ wpt_ssl_port=configuration["wpt_ssl_port"],
+ hostname=configuration["hostname"],
+ web_root=configuration["web_root"],
+ test_loader=test_loader
+ )
+ devices_api_handler = DevicesApiHandler(
+ devices_manager=devices_manager,
+ event_dispatcher=event_dispatcher,
+ web_root=configuration["web_root"]
+ )
+ results_api_handler = ResultsApiHandler(
+ results_manager,
+ sessions_manager,
+ web_root=configuration["web_root"]
+ )
+ general_api_handler = GeneralApiHandler(
+ web_root=configuration["web_root"],
+ read_sessions_enabled=configuration["read_sessions_enabled"],
+ import_results_enabled=configuration["import_results_enabled"],
+ reports_enabled=reports_enabled,
+ version_string=VERSION_STRING,
+ test_type_selection_enabled=configuration["enable_test_type_selection"],
+ test_file_selection_enabled=configuration["enable_test_file_selection"]
+ )
+
+ # Initialize HTTP server
+ http_handler = HttpHandler(
+ static_handler=static_handler,
+ sessions_api_handler=sessions_api_handler,
+ tests_api_handler=tests_api_handler,
+ results_api_handler=results_api_handler,
+ devices_api_handler=devices_api_handler,
+ general_api_handler=general_api_handler,
+ http_port=configuration["wpt_port"],
+ web_root=configuration["web_root"]
+ )
+ self.handle_request = http_handler.handle_request
diff --git a/testing/web-platform/tests/tools/wave/www/comparison.html b/testing/web-platform/tests/tools/wave/www/comparison.html
new file mode 100644
index 0000000000..debb971bf4
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/comparison.html
@@ -0,0 +1,444 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>Compare Results - Web Platform Test</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/fontawesome-5.7.2.min.css" />
+ <script src="lib/utils.js"></script>
+ <script src="lib/wave-service.js"></script>
+ <script src="lib/ui.js"></script>
+ <style>
+ body {
+ margin: 0;
+ padding: 0;
+ width: 100vw;
+ height: 100vh;
+ display: flex;
+ justify-content: center;
+ font-family: "Noto Sans", sans-serif;
+ overflow-y: auto;
+ overflow-x: hidden;
+ background-color: white;
+ color: #000;
+ }
+
+ .site-logo {
+ max-width: 300px;
+ margin-left: -15px;
+ }
+
+ .content {
+ width: 1000px;
+ }
+
+ .header {
+ display: flex;
+ margin: 50px 0 30px 0;
+ }
+
+ .header :first-child {
+ flex: 1;
+ }
+
+ .session-header {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+ }
+
+ .session-header div {
+ padding: 5px;
+ font-weight: bold;
+ }
+
+ .session-header:hover div {
+ text-decoration: underline;
+ }
+ </style>
+ </head>
+ <body>
+ <script>
+ window.onload = () => {
+ let { tokens, reftokens } = utils.parseQuery(location.search);
+ tokens = tokens ? tokens.split(",") : [];
+ const refTokens = reftokens ? reftokens.split(",") : [];
+ if (tokens) {
+ WaveService.readStatus(function(config) {
+ comparisonUi.state.reportsEnabled = config.reportsEnabled;
+ comparisonUi.render();
+ });
+ WaveService.addRecentSessions(tokens);
+ WaveService.addRecentSessions(refTokens);
+ comparisonUi.state.tokens = tokens;
+ comparisonUi.state.refTokens = refTokens;
+ comparisonUi.render();
+ comparisonUi.refreshData();
+ }
+ };
+
+ const comparisonUi = {
+ state: {
+ tokens: [],
+ refTokens: [],
+ sessions: {}
+ },
+ refreshData: () => {
+ const { tokens, refTokens } = comparisonUi.state;
+ const allTokens = tokens.slice();
+ refTokens
+ .filter(token => allTokens.indexOf(token) === -1)
+ .forEach(token => allTokens.push(token));
+
+ WaveService.readMultipleSessions(allTokens, configurations => {
+ const sessions = {};
+ configurations.forEach(
+ details => (sessions[details.token] = details)
+ );
+ comparisonUi.state.sessions = sessions;
+
+ WaveService.readResultComparison(tokens, results => {
+ comparisonUi.state.results = results;
+ comparisonUi.renderApiResults();
+ });
+
+ const sessionsReferenceTokens = [];
+ configurations.forEach(({ referenceTokens }) =>
+ referenceTokens
+ .filter(token => refTokens.indexOf(token) === -1)
+ .filter(token => sessionsReferenceTokens.indexOf(token) === -1)
+ .forEach(token => sessionsReferenceTokens.push(token))
+ );
+
+ sessionsReferenceTokens.forEach(token =>
+ comparisonUi.state.refTokens.push(token)
+ );
+
+ WaveService.readMultipleSessions(
+ sessionsReferenceTokens,
+ configurations => {
+ const { sessions } = comparisonUi.state;
+ configurations.forEach(
+ details => (sessions[details.token] = details)
+ );
+ comparisonUi.renderDetails();
+ }
+ );
+ });
+ },
+ openResultsOverview() {
+ location.href = WEB_ROOT + "overview.html";
+ },
+ render() {
+ const comparisonView = UI.createElement({
+ className: "content",
+ style: "margin-bottom: 40px;",
+ children: [
+ {
+ className: "header",
+ children: [
+ {
+ children: [
+ {
+ element: "img",
+ src: "res/wavelogo_2016.jpg",
+ className: "site-logo"
+ }
+ ]
+ },
+ {
+ className: "button is-dark is-outlined",
+ onClick: comparisonUi.openResultsOverview,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-arrow-left"
+ }
+ ]
+ },
+ {
+ text: "Results Overview",
+ element: "span"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ id: "header",
+ children: [
+ { className: "title", text: "Comparison" },
+ { id: "controls" }
+ ]
+ },
+ { id: "details" },
+ { id: "api-results" }
+ ]
+ });
+
+ const root = UI.getRoot();
+ root.innerHTML = "";
+ root.appendChild(comparisonView);
+ comparisonUi.renderDetails();
+ comparisonUi.renderApiResults();
+ },
+ renderDetails() {
+ const detailsView = UI.createElement({
+ style: "margin-bottom: 20px"
+ });
+
+ const { refTokens } = comparisonUi.state;
+ const detailsTable = UI.createElement({
+ element: "table",
+ children: {
+ element: "tbody",
+ children: [
+ {
+ element: "tr",
+ id: "reference-sessions"
+ }
+ ]
+ }
+ });
+ detailsView.appendChild(detailsTable);
+
+ const details = UI.getElement("details");
+ details.innerHTML = "";
+ details.appendChild(detailsView);
+ comparisonUi.renderReferenceSessions();
+ },
+ renderReferenceSessions() {
+ const { sessions, refTokens } = comparisonUi.state;
+ if (!refTokens || refTokens.length === 0) return;
+ if (!Object.keys(sessions) || Object.keys(sessions).length === 0)
+ return;
+ const referenceSessions = refTokens.map(token => sessions[token]);
+ const referenceSessionsTarget = UI.getElement("reference-sessions");
+ referenceSessionsTarget.innerHTML = "";
+
+ const referenceSessionsLabel = UI.createElement({
+ element: "td",
+ text: "Reference Sessions:",
+ style: "width: 175px"
+ });
+ referenceSessionsTarget.appendChild(referenceSessionsLabel);
+
+ const referenceSessionsList = UI.createElement({ element: "td" });
+ referenceSessions.forEach(session => {
+ const { token, browser } = session;
+ const referenceSessionItem = UI.createElement({
+ style: "margin-right: 10px",
+ className: "button is-dark is-small is-rounded is-outlined",
+ onClick: () => WaveService.openSession(token),
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: {
+ element: "i",
+ className: utils.getBrowserIcon(browser.name)
+ }
+ },
+ {
+ element: "span",
+ className: "is-family-monospace",
+ text: token.split("-").shift()
+ }
+ ]
+ });
+ referenceSessionsList.appendChild(referenceSessionItem);
+ });
+ referenceSessionsTarget.appendChild(referenceSessionsList);
+ },
+ renderApiResults() {
+ const apiResultsView = UI.createElement({
+ style: "margin-bottom: 20px"
+ });
+
+ const heading = UI.createElement({
+ className: "title is-4",
+ text: "Results"
+ });
+ apiResultsView.appendChild(heading);
+
+ const { results, tokens, sessions } = comparisonUi.state;
+
+ if (!results) {
+ const loadingIndicator = UI.createElement({
+ className: "level",
+ children: {
+ element: "span",
+ className: "level-item icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-spinner fa-pulse"
+ },
+ {
+ style: "margin-left: 0.4em;",
+ text: "Loading comparison ..."
+ }
+ ]
+ }
+ });
+ apiResultsView.appendChild(loadingIndicator);
+
+ const apiResults = UI.getElement("api-results");
+ apiResults.innerHTML = "";
+ apiResults.appendChild(apiResultsView);
+ return;
+ }
+
+ const resultsTable = UI.createElement({
+ element: "table"
+ });
+ apiResultsView.appendChild(resultsTable);
+
+ const getColor = percent => {
+ const tRed = 28;
+ const tGreen = 166;
+ const tBlue = 76;
+ const mRed = 204;
+ const mGreen = 163;
+ const mBlue = 0;
+ const bRed = 255;
+ const bGreen = 56;
+ const bBlue = 96;
+ if (percent > 50) {
+ const red = mRed + ((percent - 50) / 50) * (tRed - mRed);
+ const green = mGreen + ((percent - 50) / 50) * (tGreen - mGreen);
+ const blue = mBlue + ((percent - 50) / 50) * (tBlue - mBlue);
+ return `rgb(${red}, ${green}, ${blue})`;
+ } else {
+ const red = bRed + (percent / 50) * (mRed - bRed);
+ const green = bGreen + (percent / 50) * (mGreen - bGreen);
+ const blue = bBlue + (percent / 50) * (mBlue - bBlue);
+ return `rgb(${red}, ${green}, ${blue})`;
+ }
+ };
+
+ const resultsTableHeader = UI.createElement({
+ element: "thead",
+ children: {
+ element: "tr",
+ children: [
+ {
+ element: "td",
+ text: "API",
+ style: "vertical-align: bottom; width: 200px"
+ }
+ ]
+ .concat(
+ tokens.map(token => ({
+ element: "td",
+ children: {
+ onClick: () => WaveService.openSession(token),
+ className: "session-header",
+ children: [
+ {
+ element: "i",
+ style: "font-size: 1.5em; margin-right: 0.1em",
+ className: utils.getBrowserIcon(
+ sessions[token].browser.name
+ )
+ },
+ {
+ children: [
+ {
+ style: "margin: 0; padding: 0;",
+ className: "is-family-monospace",
+ text: `${token.split("-").shift()}`
+ },
+ {
+ style: "margin: 0; padding: 0;",
+ text: `${sessions[token].browser.name} ${
+ sessions[token].browser.version
+ }`
+ }
+ ]
+ }
+ ]
+ }
+ }))
+ )
+ .concat([{ element: "td", style: "width: 80px" }])
+ }
+ });
+ resultsTable.appendChild(resultsTableHeader);
+
+ let apis = [];
+ tokens.forEach(token =>
+ Object.keys(results[token])
+ .filter(api => apis.indexOf(api) === -1)
+ .forEach(api => apis.push(api))
+ );
+ apis = apis.sort((apiA, apiB) =>
+ apiA.toLowerCase() > apiB.toLowerCase() ? 1 : -1
+ );
+
+ const resultsTableBody = UI.createElement({
+ element: "tbody",
+ children: apis.map(api => ({
+ element: "tr",
+ children: [{ element: "td", text: api }]
+ .concat(
+ tokens.map(token =>
+ results[token][api]
+ ? {
+ element: "td",
+ style:
+ "text-align: center; font-weight: bold;" +
+ `color: ${getColor(
+ utils.percent(
+ results[token][api],
+ results["total"][api]
+ )
+ )}`,
+ text: `${utils.percent(
+ results[token][api],
+ results["total"][api]
+ )}%`
+ }
+ : {
+ element: "td",
+ text: "Not Tested",
+ style: "text-align: center;"
+ }
+ )
+ )
+ .concat([
+ comparisonUi.state.reportsEnabled ?
+ {
+ element: "td",
+ children: {
+ className:
+ "html-report button is-dark is-outlined is-small",
+ onclick: () =>
+ WaveService.readMultiReportUri(
+ comparisonUi.state.tokens,
+ api,
+ function(uri) {
+ window.open(uri, "_blank");
+ }
+ ),
+ text: "report"
+ }
+ } : null
+ ])
+ }))
+ });
+ resultsTable.appendChild(resultsTableBody);
+
+ const apiResults = UI.getElement("api-results");
+ apiResults.innerHTML = "";
+ apiResults.appendChild(apiResultsView);
+ }
+ };
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/configuration.html b/testing/web-platform/tests/tools/wave/www/configuration.html
new file mode 100644
index 0000000000..327a155154
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/configuration.html
@@ -0,0 +1,1586 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>Session Configuration - Web Platform Test</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/fontawesome-5.7.2.min.css" />
+ <script src="lib/utils.js"></script>
+ <script src="lib/wave-service.js"></script>
+ <script src="lib/ui.js"></script>
+ <style>
+ .site-logo {
+ max-width: 300px;
+ margin: 0 0 30px -15px;
+ }
+ </style>
+ </head>
+ <body>
+ <script>
+ // var apis = [
+ // { title: "2D Context", path: "/2dcontext" },
+ // { title: "Content Security Policy", path: "/content-security-policy" },
+ // { title: "CSS", path: "/css" },
+ // { title: "DOM", path: "/dom" },
+ // { title: "ECMAScript", path: "/ecmascript" },
+ // { title: "Encrypted media", path: "/encrypted-media" },
+ // { title: "Fetch", path: "/fetch" },
+ // { title: "FileAPI", path: "/FileAPI" },
+ // { title: "Fullscreen", path: "/fullscreen" },
+ // { title: "WebGL", path: "/webgl" },
+ // { title: "HTML", path: "/html" },
+ // { title: "IndexedDB", path: "/IndexedDB" },
+ // { title: "Media Source", path: "/media-source" },
+ // { title: "Notifications", path: "/notifications" },
+ // { title: "Page Visibility", path: "/page-visibility" },
+ // { title: "Service Workers", path: "/service-workers" },
+ // { title: "UI Events", path: "/uievents" },
+ // { title: "WAVE Extra", path: "/wave-extra" },
+ // { title: "Webaudio", path: "/webaudio" },
+ // { title: "WebCryptoAPI", path: "/WebCryptoAPI" },
+ // { title: "Webmessaging", path: "/webmessaging" },
+ // { title: "Websockets", path: "/websockets" },
+ // { title: "Webstorage", path: "/webstorage" },
+ // { title: "Workers", path: "/workers" },
+ // { title: "XHR", path: "/xhr" }
+ // ];
+
+ // var referenceSessions = [
+ // {
+ // title: "Edge 44.17763",
+ // engine: "",
+ // token: "b2924d20-6a93-11e9-98b4-a11fb92a6d1c",
+ // icon: "fab fa-edge"
+ // },
+ // {
+ // title: "Firefox 64.0",
+ // engine: "Gecko 64.0",
+ // token: "bb7aafa0-6a92-11e9-8ec2-04f58dad2e4f",
+ // icon: "fab fa-firefox"
+ // },
+ // {
+ // title: "WebKit 605.1.15",
+ // engine: "Revision 239158",
+ // token: "caf823e0-6a92-11e9-b732-3188d0065ebc",
+ // icon: "fab fa-safari"
+ // },
+ // {
+ // title: "Chromium 73.0.3640.0",
+ // engine: "Blink 537.36",
+ // token: "a50c6db0-6a94-11e9-8d1b-e23fc4555885",
+ // icon: "fab fa-chrome"
+ // }
+ // ];
+
+ var testFileSelectionEnabled = true;
+
+ window.onload = function () {
+ new ConfigurationView();
+ };
+
+ function ConfigurationView() {
+ const query = utils.parseQuery(location.search);
+ var token = query.token;
+ if (token) WaveService.addRecentSession(token);
+ var referenceSessions = [];
+ var apis = [];
+ var testTypeSelectionEnabled = true;
+ var testFileSelectionEnabled = false;
+
+ var types = [
+ { title: "Automatic", value: "automatic" },
+ { title: "Manual", value: "manual" },
+ ];
+ var state = {};
+ loadServerStatus();
+ loadSessionData(token, function () {
+ loadPublicSessionData(function () {
+ renderReferencesField();
+ });
+ });
+ render();
+
+ function loadServerStatus() {
+ WaveService.readStatus(function (status) {
+ testTypeSelectionEnabled = status.testTypeSelectionEnabled;
+ testFileSelectionEnabled = status.testFileSelectionEnabled;
+ renderSessionConfiguration();
+ });
+ }
+
+ function loadSessionData(token, callback) {
+ if (!token) {
+ state.expired = true;
+ return;
+ }
+ WaveService.readSessionStatus(
+ token,
+ function (status) {
+ if (status.status !== "pending") {
+ openResultsPage(token);
+ return;
+ }
+ state.status = status;
+
+ WaveService.readSession(token, function (configuration) {
+ if (
+ configuration.tests.include.findIndex(
+ (test) => test === "/"
+ ) !== -1
+ ) {
+ configuration.tests.include = apis.map((api) => api.path);
+ }
+ state.configurationBackup = utils.copyObject(configuration);
+ state.configuration = configuration;
+ setTimeout(
+ handleExpiration,
+ status.expirationDate.getTime() - Date.now()
+ );
+ renderSessionConfiguration();
+ callback();
+ WaveService.readAvailableApis(function (available_apis) {
+ available_apis = available_apis.sort((apiA, apiB) =>
+ apiA.title.toLowerCase() > apiB.title.toLowerCase() ? 1 : -1
+ );
+ apis = available_apis;
+ selectAllTests();
+ renderSessionConfiguration();
+ });
+ });
+ },
+ function () {
+ state.expired = true;
+ renderSessionConfiguration();
+ renderExcludedTests();
+ renderResumeView();
+ }
+ );
+ }
+
+ function loadPublicSessionData(callback) {
+ WaveService.readPublicSessions(function (tokens) {
+ WaveService.readMultipleSessions(tokens, function (configurations) {
+ console.log(configurations);
+ referenceSessions = configurations
+ .sort((confA, confB) =>
+ confA.browser.name.toLowerCase() >
+ confB.browser.name.toLowerCase()
+ ? 1
+ : -1
+ )
+ .map((configuration) => {
+ var icon = "";
+ switch (configuration.browser.name.toLowerCase()) {
+ case "firefox":
+ icon = "fab fa-firefox";
+ break;
+ case "webkit":
+ case "safari":
+ icon = "fab fa-safari";
+ break;
+ case "edge":
+ icon = "fab fa-edge";
+ break;
+ case "chrome":
+ case "chromium":
+ icon = "fab fa-chrome";
+ break;
+ }
+ return {
+ title:
+ configuration.browser.name +
+ " " +
+ configuration.browser.version,
+ token: configuration.token,
+ icon,
+ engine: configuration.browser.engine || "",
+ };
+ });
+ callback(referenceSessions);
+ });
+ });
+ }
+
+ function handleConfigureSession() {
+ const tokenFragmentInput = UI.getElement("token-fragment");
+ const fragment = tokenFragmentInput.value;
+ findSession(fragment, function (session) {
+ if (!session) {
+ const errorBox = UI.getElement("find-error");
+ errorBox.setAttribute("style", "display: block");
+ return;
+ }
+ tokenFragmentInput.value = "";
+ const errorBox = UI.getElement("find-error");
+ errorBox.setAttribute("style", "display: none");
+ const path = location.pathname + "?token=" + session.token;
+ location.href = path;
+ });
+ }
+
+ function findSession(fragment, callback) {
+ if (!fragment || fragment.length < 8) {
+ callback(null);
+ return;
+ }
+ WaveService.findToken(
+ fragment,
+ function (token) {
+ WaveService.readSession(token, function (session) {
+ WaveService.readSessionStatus(token, function (status) {
+ session.status = status.status;
+ session.dateStarted = status.dateStarted;
+ session.dateFinished = status.dateFinished;
+ callback(session);
+ });
+ });
+ },
+ function () {
+ callback(null);
+ }
+ );
+ }
+
+ function hasIncludedTest(path) {
+ var tests = state.configuration.tests;
+ //var index = tests.include.findIndex(function (test) {
+ // return test.match(new RegExp("^" + path));
+ //});
+ var index = tests.include.indexOf(path);
+ return index !== -1;
+ }
+
+ function handleIncludedTestToggle(path) {
+ var configuration = state.configuration;
+ if (hasIncludedTest(path)) {
+ handleRemoveIncludedTest(path);
+ } else {
+ handleAddIncludedTest(path);
+ }
+ }
+
+ function handleAddIncludedTest(path) {
+ var tests = state.configuration.tests;
+ if (state.tests && state.tests[path.substr(1)]) {
+ tests.include = tests.include.filter(function (test) {
+ return !test.match(new RegExp("^" + path + "/"));
+ });
+ tests.include = tests.include.concat(state.tests[path.substr(1)]);
+ } else {
+ tests.include.push(path);
+ }
+ }
+
+ function handleRemoveIncludedTest(path) {
+ var tests = state.configuration.tests;
+
+ if (state.tests && state.tests[path.substr(1)]) {
+ tests.include = tests.include.filter(function (test) {
+ return !test.match(new RegExp("^" + path + "/"));
+ });
+ } else {
+ var index = tests.include.findIndex((test) => test === path);
+ tests.include.splice(index, 1);
+ }
+ }
+
+ function getIncludedRatio(path) {
+ var includedTests = state.configuration.tests.include;
+ if (!state.tests) {
+ return includedTests.indexOf(path) !== -1 ? 1 : 0;
+ }
+ var count = 0;
+ for (var test of includedTests) {
+ if (!test.match(new RegExp("^" + path))) continue;
+ count++;
+ }
+ return count / state.tests[path.substr(1)].length;
+ }
+
+ function selectAllTests() {
+ var tests = state.configuration.tests;
+ if (state.tests) {
+ tests.include = [];
+ for (var api in state.tests) {
+ tests.include = tests.include.concat(state.tests[api]);
+ }
+ } else {
+ tests.include = apis.map((api) => api.path);
+ }
+ }
+
+ function deselectAllTests() {
+ var configuration = state.configuration;
+ configuration.tests.include = [];
+ }
+
+ function hasTestType(value) {
+ var configuration = state.configuration;
+ var index = configuration.types.findIndex((type) => type === value);
+ return index !== -1;
+ }
+
+ function handleTestTypeToggle(value) {
+ var configuration = state.configuration;
+ if (hasTestType(value)) {
+ var index = configuration.types.findIndex((type) => type === value);
+ configuration.types.splice(index, 1);
+ } else {
+ configuration.types.push(value);
+ }
+ }
+
+ function selectAllTestTypes() {
+ var configuration = state.configuration;
+ configuration.types = types.map((type) => type.value);
+ }
+
+ function deselectAllTestTypes() {
+ var configuration = state.configuration;
+ configuration.types = [];
+ }
+
+ function hasRefSession(session) {
+ var configuration = state.configuration;
+ var index = configuration.referenceTokens.findIndex(
+ (token) => token === session.token
+ );
+ return index !== -1;
+ }
+
+ function handleRefSessionToggle(session) {
+ var configuration = state.configuration;
+ if (hasRefSession(session)) {
+ var index = configuration.referenceTokens.findIndex(
+ (token) => token === session.token
+ );
+ configuration.referenceTokens.splice(index, 1);
+ } else {
+ configuration.referenceTokens.push(session.token);
+ }
+ }
+
+ function selectAllRefSessions() {
+ var configuration = state.configuration;
+ configuration.referenceTokens = referenceSessions.map(
+ (session) => session.token
+ );
+ }
+
+ function deselectAllRefSessions() {
+ var configuration = state.configuration;
+ configuration.referenceTokens = [];
+ }
+
+ function isTestListValid() {
+ var configuration = state.configuration;
+ return configuration.tests.include.length > 0;
+ }
+
+ function isTestTypeListValid() {
+ var configuration = state.configuration;
+ return configuration.types.length > 0;
+ }
+
+ function isConfigurationValid() {
+ if (!isTestListValid()) return false;
+ if (!isTestTypeListValid()) return false;
+ return true;
+ }
+
+ function isSessionStarting() {
+ return state.isStarting;
+ }
+
+ function checkApiList() {
+ var apiErrorElement = UI.getElement("api-error");
+ apiErrorElement.innerHTML = "";
+ if (!isTestListValid()) {
+ apiErrorElement.appendChild(
+ UI.createElement(
+ createErrorMessage(
+ "Select at least one API or at least one test within an API"
+ )
+ )
+ );
+ }
+ renderButtonsField();
+ }
+
+ function handleStart() {
+ if (isSessionStarting()) return;
+ var configuration = state.configuration;
+ var token = configuration.token;
+ WaveService.updateSession(token, configuration, function () {
+ WaveService.updateLabels(token, configuration.labels, function () {
+ WaveService.startSession(token, function () {
+ openResultsPage(token);
+ });
+ });
+ });
+ state.isStarting = true;
+ }
+
+ function handleDiscardChanges() {
+ state.configuration = utils.copyObject(state.configurationBackup);
+ }
+
+ function handleExpiration() {
+ state.expired = true;
+ renderSessionConfiguration();
+ renderResumeView();
+ }
+
+ function openResultsPage(token) {
+ location.href = WEB_ROOT + "results.html?token=" + token;
+ }
+
+ function handleAddExludedTestsRaw() {
+ var excludedTestsTextArea = UI.getElement("excluded-tests-text");
+ var tests = excludedTestsTextArea.value.split("\n");
+ var configuration = state.configuration;
+ var excludedTests = configuration.tests.exclude;
+ for (var test of tests) {
+ if (!test) continue;
+ if (test.startsWith("#")) continue;
+ if (excludedTests.indexOf(test) !== -1) continue;
+ excludedTests.push(test);
+ }
+
+ excludedTestsTextArea.value = "";
+ renderExcludedTests();
+ }
+
+ function handleAddExludedTestsMalfunctioning() {
+ var excludedTestsTextArea = UI.getElement("excluded-tests-text");
+ var token = excludedTestsTextArea.value;
+ var tokenRegExp = new RegExp(
+ "^[a-f0-9]{8}(-[a-f0-9]{0,4}|$)(-[a-f0-9]{0,4}|$)(-[a-f0-9]{0,4}|$)(-[a-f0-9]{0,12}|$)"
+ );
+ var configuration = state.configuration;
+ var excludedTests = configuration.tests.exclude;
+ if (tokenRegExp.test(token)) {
+ WaveService.findToken(
+ token,
+ function (token) {
+ WaveService.readMalfunctioningTests(token, function (
+ malfunctioningTests
+ ) {
+ for (var test of malfunctioningTests) {
+ if (!test) continue;
+ if (excludedTests.indexOf(test) !== -1) continue;
+ excludedTests.push(test);
+ }
+ renderExcludedTests();
+ });
+ },
+ function () {
+ state.excludedTestError = "Session not found";
+ renderExcludedTests();
+ }
+ );
+ } else {
+ state.excludedTestError = "Invalid session token";
+ renderExcludedTests();
+ }
+ }
+
+ function handleAddExludedTestsExcluded() {
+ var excludedTestsTextArea = UI.getElement("excluded-tests-text");
+ var token = excludedTestsTextArea.value;
+ var tokenRegExp = new RegExp(
+ "^[a-f0-9]{8}(-[a-f0-9]{0,4}|$)(-[a-f0-9]{0,4}|$)(-[a-f0-9]{0,4}|$)(-[a-f0-9]{0,12}|$)"
+ );
+ var configuration = state.configuration;
+ var excludedTests = configuration.tests.exclude;
+ if (tokenRegExp.test(token)) {
+ WaveService.findToken(
+ token,
+ function (token) {
+ WaveService.readSession(token, function (sessionConfig) {
+ var prevExcludedTests = sessionConfig.tests.exclude;
+ for (var test of prevExcludedTests) {
+ if (!test) continue;
+ if (excludedTests.indexOf(test) !== -1) continue;
+ excludedTests.push(test);
+ }
+ renderExcludedTests();
+ });
+ },
+ function () {
+ state.excludedTestError = "Session not found";
+ renderExcludedTests();
+ }
+ );
+ } else {
+ state.excludedTestError = "Invalid session token";
+ renderExcludedTests();
+ }
+ }
+
+ function handleRemoveExcludedTest(test) {
+ var configuration = state.configuration;
+ var excludedTests = configuration.tests.exclude;
+ var index = excludedTests.indexOf(test);
+ excludedTests.splice(index, 1);
+ renderExcludedTests();
+ }
+
+ function handleExcludeInputChange(type) {
+ if (state.activeExcludeInput === type) {
+ state.activeExcludeInput = null;
+ } else {
+ state.activeExcludeInput = type;
+ }
+ renderExcludedTests();
+ }
+
+ function showAddLabel() {
+ state.addLabelVisible = true;
+ renderLabelsField();
+ UI.getElement("session-label-input").focus();
+ }
+
+ function hideAddLabel() {
+ state.addLabelVisible = false;
+ renderLabelsField();
+ }
+
+ function addLabel() {
+ var label = UI.getElement("session-label-input").value;
+ if (!label) return;
+ state.configuration.labels.push(label);
+ renderLabelsField();
+ UI.getElement("session-label-input").focus();
+ }
+
+ function removeLabel(index) {
+ const { configuration } = state;
+ configuration.labels.splice(index, 1);
+ renderLabelsField();
+ }
+
+ function resumeSession() {
+ var resumeToken = UI.getElement("resume-token").value;
+ if (!resumeToken) return;
+
+ WaveService.resumeSession(
+ state.configuration.token,
+ resumeToken,
+ function () {
+ openResultsPage(resumeToken);
+ }
+ );
+ }
+
+ function render() {
+ const configurationView = UI.createElement({
+ element: "section",
+ className: "section",
+ children: [
+ {
+ className: "container",
+ style: "margin-bottom: 2em",
+ children: [
+ {
+ element: "img",
+ src: "res/wavelogo_2016.jpg",
+ className: "site-logo",
+ },
+ { className: "title", text: "Session Configuration" },
+ ],
+ },
+ {
+ id: "session-configuration",
+ },
+ {
+ id: "resume-view",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ ],
+ });
+ const root = UI.getRoot();
+ root.innerHTML = "";
+ root.appendChild(configurationView);
+ renderSessionConfiguration();
+ renderResumeView();
+ }
+
+ function renderSessionConfiguration() {
+ var configuration = state.configuration;
+ var status = state.status;
+ var sessionConfigurationView = UI.createElement({});
+ var sessionConfiguration = UI.getElement("session-configuration");
+ sessionConfiguration.innerHTML = "";
+
+ if (state.expired) {
+ var expiredIndicator = UI.createElement({
+ className: "level container",
+ style: "max-width: 500px",
+ children: {
+ element: "span",
+ className: "level-item field column",
+ children: [
+ {
+ element: "article",
+ className: "message is-danger",
+ id: "find-error",
+ children: [
+ {
+ text:
+ "Could not find any sessions! Try adding more characters of the token.",
+ className: "message-body",
+ },
+ ],
+ style: "display: none",
+ },
+ {
+ className: "label has-text-weight-normal",
+ text: "Session token:",
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: {
+ style: "display: flex; margin-bottom: 10px;",
+ children: [
+ {
+ element: "input",
+ inputType: "text",
+ className: "input is-family-monospace",
+ id: "token-fragment",
+ placeholder:
+ "First 8 characters or more of session token",
+ onKeyDown: function (event) {
+ if (event.key === "Enter") {
+ handleConfigureSession();
+ }
+ },
+ },
+ ],
+ },
+ },
+ },
+ },
+ {
+ className: "field is-grouped is-grouped-right",
+ children: {
+ className: "control",
+ children: {
+ className: "button is-dark is-outlined",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-cog",
+ },
+ ],
+ },
+ { text: "Configure Session", element: "span" },
+ ],
+ onclick: function () {
+ handleConfigureSession();
+ },
+ },
+ },
+ },
+ ],
+ },
+ });
+ sessionConfigurationView.appendChild(expiredIndicator);
+ sessionConfiguration.appendChild(sessionConfigurationView);
+ return;
+ }
+
+ if (!configuration) {
+ var loadingIndicator = createLoadingIndicator(
+ "Loading configuration ..."
+ );
+ sessionConfigurationView.appendChild(loadingIndicator);
+ sessionConfiguration.appendChild(sessionConfigurationView);
+ return;
+ }
+
+ sessionConfiguration.parentNode.replaceChild(
+ UI.createElement({
+ id: "session-configuration",
+ className: "container",
+ style: "margin-bottom: 2em",
+ children: [
+ {
+ id: "token-field",
+ },
+ {
+ id: "expiration-field",
+ },
+ {
+ id: "labels-field",
+ },
+ {
+ id: "apis-field",
+ },
+ {
+ id: "exclude-field",
+ },
+ {
+ id: "types-field",
+ },
+ {
+ id: "references-field",
+ },
+ {
+ id: "buttons-field",
+ },
+ ],
+ }),
+ sessionConfiguration
+ );
+
+ renderTokenField();
+ renderExpirationField();
+ renderLabelsField();
+ renderApisField();
+ renderExcludeField();
+ renderTypesField();
+ renderReferencesField();
+ renderButtonsField();
+ }
+
+ function renderTokenField() {
+ var configuration = state.configuration;
+ var tokenField = UI.getElement("token-field");
+ tokenField.parentNode.replaceChild(
+ UI.createElement({
+ id: "token-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Token" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ text: configuration.token,
+ },
+ },
+ },
+ ],
+ }),
+ tokenField
+ );
+ }
+
+ function renderExpirationField() {
+ var status = state.status;
+ var expirationField = UI.getElement("expiration-field");
+ expirationField.parentNode.replaceChild(
+ UI.createElement({
+ id: "expiration-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Expires" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ text: status.expirationDate.toLocaleString(),
+ },
+ },
+ },
+ ],
+ }),
+ expirationField
+ );
+ }
+
+ function renderLabelsField() {
+ var addLabelVisible = state.addLabelVisible;
+ var configuration = state.configuration;
+ var labelsField = UI.getElement("labels-field");
+
+ labelsField.parentNode.replaceChild(
+ UI.createElement({
+ id: "labels-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Labels" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field is-grouped is-grouped-multiline",
+ children: configuration.labels
+ .map((label, index) => ({
+ className: "control",
+ children: {
+ className: "tags has-addons",
+ children: [
+ {
+ element: "span",
+ className: "tag is-info",
+ text: label,
+ },
+ {
+ element: "a",
+ className: "tag is-delete",
+ onClick: () => removeLabel(index),
+ },
+ ],
+ },
+ }))
+ .concat(
+ addLabelVisible
+ ? [
+ {
+ className: "control field is-grouped",
+ children: [
+ {
+ element: "input",
+ className: "input is-small control",
+ style: "width: 10rem",
+ id: "session-label-input",
+ type: "text",
+ onKeyUp: (event) =>
+ event.keyCode === 13 ? addLabel() : null,
+ },
+ {
+ className:
+ "button is-dark is-outlined is-small is-rounded control",
+ text: "save",
+ onClick: addLabel,
+ },
+ {
+ className:
+ "button is-dark is-outlined is-small is-rounded control",
+ text: "cancel",
+ onClick: hideAddLabel,
+ },
+ ],
+ },
+ ]
+ : [
+ {
+ className: "button is-rounded is-small",
+ text: "Add",
+ onClick: showAddLabel,
+ },
+ ]
+ ),
+ },
+ },
+ ],
+ }),
+ labelsField
+ );
+ }
+
+ function renderApisField() {
+ var apisField = UI.getElement("apis-field");
+ apisField.parentNode.replaceChild(
+ UI.createElement({
+ id: "apis-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: [
+ { className: "label", text: "APIs" },
+ createSelectDeselectButtons(
+ function () {
+ selectAllTests();
+ renderApisField();
+ },
+ function () {
+ deselectAllTests();
+ renderApisField();
+ }
+ ),
+ ],
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: [
+ {
+ id: "api-error",
+ },
+ {
+ element: "ul",
+ className: "menu-list",
+ children: apis.map(function (api) {
+ return UI.createElement({
+ element: "li",
+ id: api.title,
+ });
+ }),
+ },
+ ],
+ },
+ },
+ },
+ ],
+ }),
+ apisField
+ );
+ renderApisList(apis);
+ checkApiList();
+ }
+
+ function renderApisList(apis) {
+ for (var api of apis) {
+ renderApiList(api);
+ }
+ }
+
+ function renderApiList(api) {
+ var listItem = UI.getElement(api.title);
+ var includedRatio = getIncludedRatio(api.path);
+ var apiListItem = {
+ element: "a",
+ onClick: function (event) {
+ if (!testFileSelectionEnabled) return;
+ if (!state.expandedApis) state.expandedApis = {};
+ state.expandedApis[api.path] = !state.expandedApis[api.path];
+ renderApiList(api);
+ },
+ children: [
+ {
+ element: "input",
+ type: "checkbox",
+ style: "width: 1.3em; height: 1.3em;vertical-align: middle;",
+ checked: includedRatio > 0,
+ indeterminate: includedRatio > 0 && includedRatio < 1,
+ onclick: function (event) {
+ event.stopPropagation();
+ if (includedRatio > 0) {
+ handleRemoveIncludedTest(api.path);
+ } else {
+ handleAddIncludedTest(api.path);
+ }
+ renderApiList(api);
+ },
+ },
+ testFileSelectionEnabled
+ ? {
+ element: "span",
+ style:
+ "display: inline-block;vertical-align: middle;margin-left:0.3em;width: 0.7em",
+ children: {
+ element: "i",
+ className:
+ state.expandedApis && state.expandedApis[api.path]
+ ? "fas fa-angle-down"
+ : "fas fa-angle-right",
+ },
+ }
+ : null,
+ {
+ style:
+ "display: inline-block;vertical-align: middle;margin-left:0.3em;width: 90%",
+ text: api.title,
+ },
+ ],
+ };
+ listItem.innerHTML = "";
+ listItem.appendChild(UI.createElement(apiListItem));
+ if (state.expandedApis && state.expandedApis[api.path]) {
+ listItem.appendChild(createApiTestsList(api));
+ }
+ checkApiList();
+ }
+
+ function createApiTestsList(api) {
+ if (!state.tests) {
+ WaveService.readTestList(
+ function (readTests) {
+ state.tests = readTests;
+ for (var api in state.tests) {
+ if (hasIncludedTest("/" + api)) {
+ handleRemoveIncludedTest("/" + api);
+ handleAddIncludedTest("/" + api);
+ }
+ }
+ renderApiList(this.api);
+ }.bind({ api: api })
+ );
+ return createLoadingIndicator("Loading tests ...");
+ } else {
+ var tests = state.tests[api.path.substr(1)];
+ var testListView = {
+ element: "ul",
+ children: [],
+ };
+
+ testListView.children = testListView.children.concat(
+ tests
+ .sort()
+ .map(function (test) {
+ return {
+ element: "li",
+ onclick: function (event) {
+ handleIncludedTestToggle(test);
+ renderApiList(api);
+ },
+ children: [
+ {
+ element: "a",
+ children: [
+ {
+ element: "input",
+ type: "checkbox",
+ style:
+ "width: 1.3em; height: 1.3em;vertical-align: middle;",
+ checked: hasIncludedTest(test),
+ },
+ {
+ style:
+ "display: inline-block;vertical-align: middle;margin-left:0.3em;max-width: 90%",
+ text: test,
+ },
+ ],
+ },
+ ],
+ };
+ })
+ );
+ return UI.createElement(testListView);
+ }
+ }
+
+ function renderExcludeField() {
+ var excludeField = UI.getElement("exclude-field");
+ excludeField.parentNode.replaceChild(
+ UI.createElement({
+ id: "exclude-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Excluded Tests" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: { id: "excluded-tests-view" },
+ },
+ },
+ },
+ ],
+ }),
+ excludeField
+ );
+ renderExcludedTests();
+ }
+
+ function renderTypesField() {
+ if (!testTypeSelectionEnabled) return;
+ var typesField = UI.getElement("types-field");
+ typesField.parentNode.replaceChild(
+ UI.createElement({
+ id: "types-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Test Types" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: [
+ isTestTypeListValid()
+ ? null
+ : createErrorMessage("Select at least one test type"),
+ ].concat(createTestTypeList(types)),
+ },
+ },
+ },
+ ],
+ }),
+ typesField
+ );
+ }
+
+ function renderReferencesField() {
+ if (referenceSessions.length === 0) {
+ return;
+ }
+ var referencesField = UI.getElement("references-field");
+ referencesField.parentNode.replaceChild(
+ UI.createElement({
+ id: "references-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: [
+ { className: "label", text: "Reference Browsers" },
+ createSelectDeselectButtons(
+ function () {
+ selectAllRefSessions();
+ renderReferencesField();
+ },
+ function () {
+ deselectAllRefSessions();
+ renderReferencesField();
+ }
+ ),
+ ],
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: createRefSessionsList(referenceSessions),
+ },
+ },
+ },
+ ],
+ }),
+ referencesField
+ );
+ }
+
+ function renderButtonsField() {
+ var buttonsField = UI.getElement("buttons-field");
+ buttonsField.parentNode.replaceChild(
+ UI.createElement({
+ id: "buttons-field",
+ className: "level level-right",
+ children: [
+ {
+ element: "button",
+ className: "button is-success",
+ style: "margin-right: 0.3em",
+ disabled: !isConfigurationValid(),
+ onClick: function () {
+ handleStart();
+ renderButtonsField();
+ },
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: isSessionStarting()
+ ? "fas fa-spinner fa-pulse"
+ : "fas fa-play",
+ },
+ ],
+ },
+ {
+ element: "span",
+ text: isSessionStarting()
+ ? "Starting Session ..."
+ : "Start Session",
+ },
+ ],
+ },
+ {
+ element: "button",
+ className: "button",
+ onClick: function () {
+ handleDiscardChanges();
+ renderSessionConfiguration();
+ },
+ disabled: isSessionStarting(),
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-times",
+ },
+ ],
+ },
+ {
+ element: "span",
+ text: "Discard Changes",
+ },
+ ],
+ },
+ ],
+ }),
+ buttonsField
+ );
+ }
+
+ function renderExcludedTests() {
+ var excludedTestsView = UI.getElement("excluded-tests-view");
+ if (!excludedTestsView) return;
+ excludedTestsView.innerHTML = "";
+
+ var errorMessage = state.excludedTestError;
+ if (errorMessage) {
+ var error = createErrorMessage(errorMessage);
+ excludedTestsView.appendChild(UI.createElement(error));
+ }
+
+ var excludeInputs = [
+ { title: "Add Raw", type: "raw" },
+ { title: "Add Malfunctioning", type: "malfunc" },
+ { title: "Add Previous Excluded", type: "excluded" },
+ ];
+
+ var activeExcludeInput = state.activeExcludeInput;
+
+ var excludedTestInputSwitch = UI.createElement({
+ className: "tabs is-centered is-toggle is-small",
+ children: {
+ element: "ul",
+ children: excludeInputs.map(function (input) {
+ return {
+ element: "li",
+ onClick: function () {
+ handleExcludeInputChange(input.type);
+ },
+ className: (function () {
+ if (activeExcludeInput === input.type) return "is-active";
+ return "";
+ })(),
+ children: { element: "a", text: input.title },
+ };
+ }),
+ },
+ });
+ excludedTestsView.appendChild(excludedTestInputSwitch);
+
+ if (activeExcludeInput === "raw") {
+ var rawInput = UI.createElement({
+ children: [
+ {
+ className: "is-size-7",
+ style: "margin-bottom: 20px",
+ text:
+ "Provide paths to test files or directories to exclude them from the session. One path per line, lines starting with # are omitted.",
+ },
+ {
+ element: "textarea",
+ className: "textarea",
+ id: "excluded-tests-text",
+ },
+ {
+ style: "margin-top: 10px",
+ onClick: function () {
+ handleAddExludedTestsRaw();
+ },
+ children: [
+ {
+ element: "button",
+ className: "button",
+ style: "margin-bottom: 20px",
+ text: "Add",
+ },
+ ],
+ },
+ ],
+ });
+ excludedTestsView.appendChild(rawInput);
+ } else if (
+ activeExcludeInput === "malfunc" ||
+ activeExcludeInput === "excluded"
+ ) {
+ var malfuncInput = UI.createElement({
+ style: "margin-bottom: 1em",
+ children: [
+ {
+ className: "is-size-7",
+ style: "margin-bottom: 1em",
+ text:
+ activeExcludeInput === "malfunc"
+ ? "Add malfunctioning tests from past sessions by providing at least the first eight characters of the session's token."
+ : "Add excluded tests from past sessions by providing at least the first eight characters of the session's token.",
+ },
+ {
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Session Token" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field is-grouped is-multiline",
+ children: [
+ {
+ id: "excluded-tests-text",
+ className: "input",
+ element: "input",
+ type: "text",
+ },
+ {
+ className: "button",
+ style: "margin-left: 1em",
+ text: "Add",
+ onClick: function () {
+ if (activeExcludeInput === "malfunc") {
+ handleAddExludedTestsMalfunctioning();
+ } else {
+ handleAddExludedTestsExcluded();
+ }
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ ],
+ });
+ excludedTestsView.appendChild(malfuncInput);
+ }
+
+ var excludedTestsTable = createExcludedTestsTable();
+ var tableWrapper = UI.createElement({
+ style: "max-height: 250px; overflow: auto; margin-bottom: 10px",
+ });
+ tableWrapper.appendChild(excludedTestsTable);
+ excludedTestsView.appendChild(tableWrapper);
+ }
+
+ function renderResumeView() {
+ var query = utils.parseQuery(location.search);
+ var resumeToken = query.resume;
+ if (!resumeToken) resumeToken = "";
+
+ var renderResumeElement = UI.getElement("resume-view");
+ renderResumeElement.innerHTML = "";
+ if (state.expired) return;
+
+ var heading = UI.createElement({
+ element: "h2",
+ className: "title is-5",
+ text: "Resume session",
+ });
+ renderResumeElement.appendChild(heading);
+
+ var resumeControls = UI.createElement({
+ className: "columns",
+ children: [
+ {
+ className: "column",
+ children: {
+ className: "field",
+ children: [
+ {
+ element: "label",
+ className: "label",
+ text: "Token (first 8 characters or more)",
+ },
+ {
+ className: "control",
+ children: {
+ element: "input",
+ id: "resume-token",
+ className: "input is-family-monospace tabbable",
+ type: "text",
+ style: "max-width: 30em",
+ value: resumeToken,
+ },
+ },
+ ],
+ },
+ },
+ {
+ className: "column",
+ style:
+ "display: flex; align-items: flex-end; justify-content: flex-end",
+ children: {
+ className: "button",
+ onClick: function () {
+ resumeSession();
+ },
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: { element: "i", className: "fas fa-redo-alt" },
+ },
+ {
+ element: "span",
+ text: "Resume",
+ },
+ ],
+ },
+ },
+ ],
+ });
+ renderResumeElement.appendChild(resumeControls);
+ }
+
+ function createExcludedTestsTable() {
+ var excludedTests = state.configuration.tests.exclude;
+ if (excludedTests.length === 0) {
+ return UI.createElement({
+ style: "text-align: center",
+ text: "- No Excluded Tests -",
+ });
+ }
+ var table = UI.createElement({
+ element: "table",
+ className: "table",
+ style: "width: 100%",
+ children: excludedTests.map(function (test) {
+ return {
+ element: "tr",
+ children: [
+ { element: "td", style: "width: 100%;", text: test },
+ {
+ element: "td",
+ children: {
+ element: "button",
+ className: "button is-small",
+ onClick: function () {
+ handleRemoveExcludedTest(test);
+ },
+ children: {
+ element: "span",
+ className: "icon",
+ children: {
+ element: "i",
+ className: "fas fa-trash-alt",
+ },
+ },
+ },
+ },
+ ],
+ };
+ }),
+ });
+ return table;
+ }
+
+ function createTestTypeList(types) {
+ return types.map((type) => ({
+ element: "button",
+ style: "margin-right: 0.3em; margin-bottom: 0.3em",
+ className: "button" + (hasTestType(type.value) ? " is-info" : ""),
+ text: type.title,
+ onClick: function (event) {
+ handleTestTypeToggle(type.value);
+ renderTypesField();
+ },
+ }));
+ }
+
+ function createRefSessionsList(referenceSessions) {
+ return referenceSessions.map((session) => ({
+ element: "button",
+ className: "button" + (hasRefSession(session) ? " is-info" : ""),
+ style: "margin-right: 0.3em; margin-bottom: 0.3em; height: auto",
+ onClick: function () {
+ handleRefSessionToggle(session);
+ renderReferencesField();
+ },
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [{ element: "i", className: session.icon }],
+ },
+ {
+ element: "span",
+ children: [
+ { text: session.title },
+ {
+ text: session.engine,
+ style: "font-size: 0.8em",
+ },
+ ],
+ },
+ ],
+ }));
+ }
+
+ function createSelectDeselectButtons(onSelect, onDeselect) {
+ return {
+ style: "margin-top: 0.3em",
+ children: [
+ {
+ element: "button",
+ style: "margin-right: 0.3em",
+ className: "button is-rounded is-small",
+ text: "All",
+ onClick: onSelect,
+ },
+ {
+ element: "button",
+ className: "button is-rounded is-small",
+ text: "None",
+ onClick: onDeselect,
+ },
+ ],
+ };
+ }
+
+ function createErrorMessage(message) {
+ return {
+ element: "article",
+ className: "message is-danger",
+ children: [
+ {
+ className: "message-body",
+ text: message,
+ },
+ ],
+ };
+ }
+
+ function createLoadingIndicator(text) {
+ return UI.createElement({
+ className: "level",
+ children: {
+ element: "span",
+ className: "level-item",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-spinner fa-pulse",
+ },
+ {
+ style: "margin-left: 0.4em;",
+ text: text,
+ },
+ ],
+ },
+ });
+ }
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css b/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css
new file mode 100644
index 0000000000..e793432ae3
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css
@@ -0,0 +1,10599 @@
+/*! bulma.io v0.7.5 | MIT License | github.com/jgthms/bulma */
+@-webkit-keyframes spinAround {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(359deg);
+ transform: rotate(359deg);
+ }
+}
+@keyframes spinAround {
+ from {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(359deg);
+ transform: rotate(359deg);
+ }
+}
+
+.delete, .modal-close, .is-unselectable, .button, .file, .breadcrumb, .pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis, .tabs {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.select:not(.is-multiple):not(.is-loading)::after, .navbar-link:not(.is-arrowless)::after {
+ border: 3px solid transparent;
+ border-radius: 2px;
+ border-right: 0;
+ border-top: 0;
+ content: " ";
+ display: block;
+ height: 0.625em;
+ margin-top: -0.4375em;
+ pointer-events: none;
+ position: absolute;
+ top: 50%;
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ width: 0.625em;
+}
+
+.box:not(:last-child), .content:not(:last-child), .notification:not(:last-child), .progress:not(:last-child), .table:not(:last-child), .table-container:not(:last-child), .title:not(:last-child),
+.subtitle:not(:last-child), .block:not(:last-child), .highlight:not(:last-child), .breadcrumb:not(:last-child), .level:not(:last-child), .list:not(:last-child), .message:not(:last-child), .tabs:not(:last-child) {
+ margin-bottom: 1.5rem;
+}
+
+.delete, .modal-close {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ background-color: rgba(10, 10, 10, 0.2);
+ border: none;
+ border-radius: 290486px;
+ cursor: pointer;
+ pointer-events: auto;
+ display: inline-block;
+ flex-grow: 0;
+ flex-shrink: 0;
+ font-size: 0;
+ height: 20px;
+ max-height: 20px;
+ max-width: 20px;
+ min-height: 20px;
+ min-width: 20px;
+ outline: none;
+ position: relative;
+ vertical-align: top;
+ width: 20px;
+}
+
+.delete::before, .modal-close::before, .delete::after, .modal-close::after {
+ background-color: white;
+ content: "";
+ display: block;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ -webkit-transform-origin: center center;
+ transform-origin: center center;
+}
+
+.delete::before, .modal-close::before {
+ height: 2px;
+ width: 50%;
+}
+
+.delete::after, .modal-close::after {
+ height: 50%;
+ width: 2px;
+}
+
+.delete:hover, .modal-close:hover, .delete:focus, .modal-close:focus {
+ background-color: rgba(10, 10, 10, 0.3);
+}
+
+.delete:active, .modal-close:active {
+ background-color: rgba(10, 10, 10, 0.4);
+}
+
+.is-small.delete, .is-small.modal-close {
+ height: 16px;
+ max-height: 16px;
+ max-width: 16px;
+ min-height: 16px;
+ min-width: 16px;
+ width: 16px;
+}
+
+.is-medium.delete, .is-medium.modal-close {
+ height: 24px;
+ max-height: 24px;
+ max-width: 24px;
+ min-height: 24px;
+ min-width: 24px;
+ width: 24px;
+}
+
+.is-large.delete, .is-large.modal-close {
+ height: 32px;
+ max-height: 32px;
+ max-width: 32px;
+ min-height: 32px;
+ min-width: 32px;
+ width: 32px;
+}
+
+.button.is-loading::after, .loader, .select.is-loading::after, .control.is-loading::after {
+ -webkit-animation: spinAround 500ms infinite linear;
+ animation: spinAround 500ms infinite linear;
+ border: 2px solid #dbdbdb;
+ border-radius: 290486px;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ content: "";
+ display: block;
+ height: 1em;
+ position: relative;
+ width: 1em;
+}
+
+.is-overlay, .image.is-square img,
+.image.is-square .has-ratio, .image.is-1by1 img,
+.image.is-1by1 .has-ratio, .image.is-5by4 img,
+.image.is-5by4 .has-ratio, .image.is-4by3 img,
+.image.is-4by3 .has-ratio, .image.is-3by2 img,
+.image.is-3by2 .has-ratio, .image.is-5by3 img,
+.image.is-5by3 .has-ratio, .image.is-16by9 img,
+.image.is-16by9 .has-ratio, .image.is-2by1 img,
+.image.is-2by1 .has-ratio, .image.is-3by1 img,
+.image.is-3by1 .has-ratio, .image.is-4by5 img,
+.image.is-4by5 .has-ratio, .image.is-3by4 img,
+.image.is-3by4 .has-ratio, .image.is-2by3 img,
+.image.is-2by3 .has-ratio, .image.is-3by5 img,
+.image.is-3by5 .has-ratio, .image.is-9by16 img,
+.image.is-9by16 .has-ratio, .image.is-1by2 img,
+.image.is-1by2 .has-ratio, .image.is-1by3 img,
+.image.is-1by3 .has-ratio, .modal, .modal-background, .hero-video {
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.button, .input, .textarea, .select select, .file-cta,
+.file-name, .pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ align-items: center;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ box-shadow: none;
+ display: inline-flex;
+ font-size: 1rem;
+ height: 2.25em;
+ justify-content: flex-start;
+ line-height: 1.5;
+ padding-bottom: calc(0.375em - 1px);
+ padding-left: calc(0.625em - 1px);
+ padding-right: calc(0.625em - 1px);
+ padding-top: calc(0.375em - 1px);
+ position: relative;
+ vertical-align: top;
+}
+
+.button:focus, .input:focus, .textarea:focus, .select select:focus, .file-cta:focus,
+.file-name:focus, .pagination-previous:focus,
+.pagination-next:focus,
+.pagination-link:focus,
+.pagination-ellipsis:focus, .is-focused.button, .is-focused.input, .is-focused.textarea, .select select.is-focused, .is-focused.file-cta,
+.is-focused.file-name, .is-focused.pagination-previous,
+.is-focused.pagination-next,
+.is-focused.pagination-link,
+.is-focused.pagination-ellipsis, .button:active, .input:active, .textarea:active, .select select:active, .file-cta:active,
+.file-name:active, .pagination-previous:active,
+.pagination-next:active,
+.pagination-link:active,
+.pagination-ellipsis:active, .is-active.button, .is-active.input, .is-active.textarea, .select select.is-active, .is-active.file-cta,
+.is-active.file-name, .is-active.pagination-previous,
+.is-active.pagination-next,
+.is-active.pagination-link,
+.is-active.pagination-ellipsis {
+ outline: none;
+}
+
+.button[disabled], .input[disabled], .textarea[disabled], .select select[disabled], .file-cta[disabled],
+.file-name[disabled], .pagination-previous[disabled],
+.pagination-next[disabled],
+.pagination-link[disabled],
+.pagination-ellipsis[disabled],
+fieldset[disabled] .button,
+fieldset[disabled] .input,
+fieldset[disabled] .textarea,
+fieldset[disabled] .select select,
+.select fieldset[disabled] select,
+fieldset[disabled] .file-cta,
+fieldset[disabled] .file-name,
+fieldset[disabled] .pagination-previous,
+fieldset[disabled] .pagination-next,
+fieldset[disabled] .pagination-link,
+fieldset[disabled] .pagination-ellipsis {
+ cursor: not-allowed;
+}
+
+/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0;
+ padding: 0;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: 100%;
+ font-weight: normal;
+}
+
+ul {
+ list-style: none;
+}
+
+button,
+input,
+select,
+textarea {
+ margin: 0;
+}
+
+html {
+ box-sizing: border-box;
+}
+
+*, *::before, *::after {
+ box-sizing: inherit;
+}
+
+img,
+embed,
+iframe,
+object,
+video {
+ height: auto;
+ max-width: 100%;
+}
+
+audio {
+ max-width: 100%;
+}
+
+iframe {
+ border: 0;
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
+
+td:not([align]),
+th:not([align]) {
+ text-align: left;
+}
+
+html {
+ background-color: white;
+ font-size: 16px;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ min-width: 300px;
+ overflow-x: hidden;
+ overflow-y: scroll;
+ text-rendering: optimizeLegibility;
+ -webkit-text-size-adjust: 100%;
+ -moz-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ text-size-adjust: 100%;
+}
+
+article,
+aside,
+figure,
+footer,
+header,
+hgroup,
+section {
+ display: block;
+}
+
+body,
+button,
+input,
+select,
+textarea {
+ font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
+}
+
+code,
+pre {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: auto;
+ font-family: monospace;
+}
+
+body {
+ color: #4a4a4a;
+ font-size: 1em;
+ font-weight: 400;
+ line-height: 1.5;
+}
+
+a {
+ color: #3273dc;
+ cursor: pointer;
+ text-decoration: none;
+}
+
+a strong {
+ color: currentColor;
+}
+
+a:hover {
+ color: #363636;
+}
+
+code {
+ background-color: whitesmoke;
+ color: #ff3860;
+ font-size: 0.875em;
+ font-weight: normal;
+ padding: 0.25em 0.5em 0.25em;
+}
+
+hr {
+ background-color: whitesmoke;
+ border: none;
+ display: block;
+ height: 2px;
+ margin: 1.5rem 0;
+}
+
+img {
+ height: auto;
+ max-width: 100%;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+ vertical-align: baseline;
+}
+
+small {
+ font-size: 0.875em;
+}
+
+span {
+ font-style: inherit;
+ font-weight: inherit;
+}
+
+strong {
+ color: #363636;
+ font-weight: 700;
+}
+
+fieldset {
+ border: none;
+}
+
+pre {
+ -webkit-overflow-scrolling: touch;
+ background-color: whitesmoke;
+ color: #4a4a4a;
+ font-size: 0.875em;
+ overflow-x: auto;
+ padding: 1.25rem 1.5rem;
+ white-space: pre;
+ word-wrap: normal;
+}
+
+pre code {
+ background-color: transparent;
+ color: currentColor;
+ font-size: 1em;
+ padding: 0;
+}
+
+table td,
+table th {
+ vertical-align: top;
+}
+
+table td:not([align]),
+table th:not([align]) {
+ text-align: left;
+}
+
+table th {
+ color: #363636;
+}
+
+.is-clearfix::after {
+ clear: both;
+ content: " ";
+ display: table;
+}
+
+.is-pulled-left {
+ float: left !important;
+}
+
+.is-pulled-right {
+ float: right !important;
+}
+
+.is-clipped {
+ overflow: hidden !important;
+}
+
+.is-size-1 {
+ font-size: 3rem !important;
+}
+
+.is-size-2 {
+ font-size: 2.5rem !important;
+}
+
+.is-size-3 {
+ font-size: 2rem !important;
+}
+
+.is-size-4 {
+ font-size: 1.5rem !important;
+}
+
+.is-size-5 {
+ font-size: 1.25rem !important;
+}
+
+.is-size-6 {
+ font-size: 1rem !important;
+}
+
+.is-size-7 {
+ font-size: 0.75rem !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-size-1-mobile {
+ font-size: 3rem !important;
+ }
+ .is-size-2-mobile {
+ font-size: 2.5rem !important;
+ }
+ .is-size-3-mobile {
+ font-size: 2rem !important;
+ }
+ .is-size-4-mobile {
+ font-size: 1.5rem !important;
+ }
+ .is-size-5-mobile {
+ font-size: 1.25rem !important;
+ }
+ .is-size-6-mobile {
+ font-size: 1rem !important;
+ }
+ .is-size-7-mobile {
+ font-size: 0.75rem !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-size-1-tablet {
+ font-size: 3rem !important;
+ }
+ .is-size-2-tablet {
+ font-size: 2.5rem !important;
+ }
+ .is-size-3-tablet {
+ font-size: 2rem !important;
+ }
+ .is-size-4-tablet {
+ font-size: 1.5rem !important;
+ }
+ .is-size-5-tablet {
+ font-size: 1.25rem !important;
+ }
+ .is-size-6-tablet {
+ font-size: 1rem !important;
+ }
+ .is-size-7-tablet {
+ font-size: 0.75rem !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-size-1-touch {
+ font-size: 3rem !important;
+ }
+ .is-size-2-touch {
+ font-size: 2.5rem !important;
+ }
+ .is-size-3-touch {
+ font-size: 2rem !important;
+ }
+ .is-size-4-touch {
+ font-size: 1.5rem !important;
+ }
+ .is-size-5-touch {
+ font-size: 1.25rem !important;
+ }
+ .is-size-6-touch {
+ font-size: 1rem !important;
+ }
+ .is-size-7-touch {
+ font-size: 0.75rem !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-size-1-desktop {
+ font-size: 3rem !important;
+ }
+ .is-size-2-desktop {
+ font-size: 2.5rem !important;
+ }
+ .is-size-3-desktop {
+ font-size: 2rem !important;
+ }
+ .is-size-4-desktop {
+ font-size: 1.5rem !important;
+ }
+ .is-size-5-desktop {
+ font-size: 1.25rem !important;
+ }
+ .is-size-6-desktop {
+ font-size: 1rem !important;
+ }
+ .is-size-7-desktop {
+ font-size: 0.75rem !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-size-1-widescreen {
+ font-size: 3rem !important;
+ }
+ .is-size-2-widescreen {
+ font-size: 2.5rem !important;
+ }
+ .is-size-3-widescreen {
+ font-size: 2rem !important;
+ }
+ .is-size-4-widescreen {
+ font-size: 1.5rem !important;
+ }
+ .is-size-5-widescreen {
+ font-size: 1.25rem !important;
+ }
+ .is-size-6-widescreen {
+ font-size: 1rem !important;
+ }
+ .is-size-7-widescreen {
+ font-size: 0.75rem !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-size-1-fullhd {
+ font-size: 3rem !important;
+ }
+ .is-size-2-fullhd {
+ font-size: 2.5rem !important;
+ }
+ .is-size-3-fullhd {
+ font-size: 2rem !important;
+ }
+ .is-size-4-fullhd {
+ font-size: 1.5rem !important;
+ }
+ .is-size-5-fullhd {
+ font-size: 1.25rem !important;
+ }
+ .is-size-6-fullhd {
+ font-size: 1rem !important;
+ }
+ .is-size-7-fullhd {
+ font-size: 0.75rem !important;
+ }
+}
+
+.has-text-centered {
+ text-align: center !important;
+}
+
+.has-text-justified {
+ text-align: justify !important;
+}
+
+.has-text-left {
+ text-align: left !important;
+}
+
+.has-text-right {
+ text-align: right !important;
+}
+
+@media screen and (max-width: 768px) {
+ .has-text-centered-mobile {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .has-text-centered-tablet {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-centered-tablet-only {
+ text-align: center !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .has-text-centered-touch {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .has-text-centered-desktop {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-centered-desktop-only {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .has-text-centered-widescreen {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-centered-widescreen-only {
+ text-align: center !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .has-text-centered-fullhd {
+ text-align: center !important;
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .has-text-justified-mobile {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .has-text-justified-tablet {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-justified-tablet-only {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .has-text-justified-touch {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .has-text-justified-desktop {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-justified-desktop-only {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .has-text-justified-widescreen {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-justified-widescreen-only {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .has-text-justified-fullhd {
+ text-align: justify !important;
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .has-text-left-mobile {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .has-text-left-tablet {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-left-tablet-only {
+ text-align: left !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .has-text-left-touch {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .has-text-left-desktop {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-left-desktop-only {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .has-text-left-widescreen {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-left-widescreen-only {
+ text-align: left !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .has-text-left-fullhd {
+ text-align: left !important;
+ }
+}
+
+@media screen and (max-width: 768px) {
+ .has-text-right-mobile {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .has-text-right-tablet {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-right-tablet-only {
+ text-align: right !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .has-text-right-touch {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .has-text-right-desktop {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-right-desktop-only {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .has-text-right-widescreen {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-right-widescreen-only {
+ text-align: right !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .has-text-right-fullhd {
+ text-align: right !important;
+ }
+}
+
+.is-capitalized {
+ text-transform: capitalize !important;
+}
+
+.is-lowercase {
+ text-transform: lowercase !important;
+}
+
+.is-uppercase {
+ text-transform: uppercase !important;
+}
+
+.is-italic {
+ font-style: italic !important;
+}
+
+.has-text-white {
+ color: white !important;
+}
+
+a.has-text-white:hover, a.has-text-white:focus {
+ color: #e6e6e6 !important;
+}
+
+.has-background-white {
+ background-color: white !important;
+}
+
+.has-text-black {
+ color: #0a0a0a !important;
+}
+
+a.has-text-black:hover, a.has-text-black:focus {
+ color: black !important;
+}
+
+.has-background-black {
+ background-color: #0a0a0a !important;
+}
+
+.has-text-light {
+ color: whitesmoke !important;
+}
+
+a.has-text-light:hover, a.has-text-light:focus {
+ color: #dbdbdb !important;
+}
+
+.has-background-light {
+ background-color: whitesmoke !important;
+}
+
+.has-text-dark {
+ color: #363636 !important;
+}
+
+a.has-text-dark:hover, a.has-text-dark:focus {
+ color: #1c1c1c !important;
+}
+
+.has-background-dark {
+ background-color: #363636 !important;
+}
+
+.has-text-primary {
+ color: #00d1b2 !important;
+}
+
+a.has-text-primary:hover, a.has-text-primary:focus {
+ color: #009e86 !important;
+}
+
+.has-background-primary {
+ background-color: #00d1b2 !important;
+}
+
+.has-text-link {
+ color: #3273dc !important;
+}
+
+a.has-text-link:hover, a.has-text-link:focus {
+ color: #205bbc !important;
+}
+
+.has-background-link {
+ background-color: #3273dc !important;
+}
+
+.has-text-info {
+ color: #209cee !important;
+}
+
+a.has-text-info:hover, a.has-text-info:focus {
+ color: #0f81cc !important;
+}
+
+.has-background-info {
+ background-color: #209cee !important;
+}
+
+.has-text-success {
+ color: #23d160 !important;
+}
+
+a.has-text-success:hover, a.has-text-success:focus {
+ color: #1ca64c !important;
+}
+
+.has-background-success {
+ background-color: #23d160 !important;
+}
+
+.has-text-warning {
+ color: #ffdd57 !important;
+}
+
+a.has-text-warning:hover, a.has-text-warning:focus {
+ color: #ffd324 !important;
+}
+
+.has-background-warning {
+ background-color: #ffdd57 !important;
+}
+
+.has-text-danger {
+ color: #ff3860 !important;
+}
+
+a.has-text-danger:hover, a.has-text-danger:focus {
+ color: #ff0537 !important;
+}
+
+.has-background-danger {
+ background-color: #ff3860 !important;
+}
+
+.has-text-black-bis {
+ color: #121212 !important;
+}
+
+.has-background-black-bis {
+ background-color: #121212 !important;
+}
+
+.has-text-black-ter {
+ color: #242424 !important;
+}
+
+.has-background-black-ter {
+ background-color: #242424 !important;
+}
+
+.has-text-grey-darker {
+ color: #363636 !important;
+}
+
+.has-background-grey-darker {
+ background-color: #363636 !important;
+}
+
+.has-text-grey-dark {
+ color: #4a4a4a !important;
+}
+
+.has-background-grey-dark {
+ background-color: #4a4a4a !important;
+}
+
+.has-text-grey {
+ color: #7a7a7a !important;
+}
+
+.has-background-grey {
+ background-color: #7a7a7a !important;
+}
+
+.has-text-grey-light {
+ color: #b5b5b5 !important;
+}
+
+.has-background-grey-light {
+ background-color: #b5b5b5 !important;
+}
+
+.has-text-grey-lighter {
+ color: #dbdbdb !important;
+}
+
+.has-background-grey-lighter {
+ background-color: #dbdbdb !important;
+}
+
+.has-text-white-ter {
+ color: whitesmoke !important;
+}
+
+.has-background-white-ter {
+ background-color: whitesmoke !important;
+}
+
+.has-text-white-bis {
+ color: #fafafa !important;
+}
+
+.has-background-white-bis {
+ background-color: #fafafa !important;
+}
+
+.has-text-weight-light {
+ font-weight: 300 !important;
+}
+
+.has-text-weight-normal {
+ font-weight: 400 !important;
+}
+
+.has-text-weight-medium {
+ font-weight: 500 !important;
+}
+
+.has-text-weight-semibold {
+ font-weight: 600 !important;
+}
+
+.has-text-weight-bold {
+ font-weight: 700 !important;
+}
+
+.is-family-primary {
+ font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
+}
+
+.is-family-secondary {
+ font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
+}
+
+.is-family-sans-serif {
+ font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
+}
+
+.is-family-monospace {
+ font-family: monospace !important;
+}
+
+.is-family-code {
+ font-family: monospace !important;
+}
+
+.is-block {
+ display: block !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-block-mobile {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-block-tablet {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-block-tablet-only {
+ display: block !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-block-touch {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-block-desktop {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-block-desktop-only {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-block-widescreen {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-block-widescreen-only {
+ display: block !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-block-fullhd {
+ display: block !important;
+ }
+}
+
+.is-flex {
+ display: flex !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-flex-mobile {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-flex-tablet {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-flex-tablet-only {
+ display: flex !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-flex-touch {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-flex-desktop {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-flex-desktop-only {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-flex-widescreen {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-flex-widescreen-only {
+ display: flex !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-flex-fullhd {
+ display: flex !important;
+ }
+}
+
+.is-inline {
+ display: inline !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-inline-mobile {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-inline-tablet {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-inline-tablet-only {
+ display: inline !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-inline-touch {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-inline-desktop {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-inline-desktop-only {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-inline-widescreen {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-widescreen-only {
+ display: inline !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-inline-fullhd {
+ display: inline !important;
+ }
+}
+
+.is-inline-block {
+ display: inline-block !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-inline-block-mobile {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-inline-block-tablet {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-inline-block-tablet-only {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-inline-block-touch {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-inline-block-desktop {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-inline-block-desktop-only {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-inline-block-widescreen {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-block-widescreen-only {
+ display: inline-block !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-inline-block-fullhd {
+ display: inline-block !important;
+ }
+}
+
+.is-inline-flex {
+ display: inline-flex !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-inline-flex-mobile {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-inline-flex-tablet {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-inline-flex-tablet-only {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-inline-flex-touch {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-inline-flex-desktop {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-inline-flex-desktop-only {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-inline-flex-widescreen {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-flex-widescreen-only {
+ display: inline-flex !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-inline-flex-fullhd {
+ display: inline-flex !important;
+ }
+}
+
+.is-hidden {
+ display: none !important;
+}
+
+.is-sr-only {
+ border: none !important;
+ clip: rect(0, 0, 0, 0) !important;
+ height: 0.01em !important;
+ overflow: hidden !important;
+ padding: 0 !important;
+ position: absolute !important;
+ white-space: nowrap !important;
+ width: 0.01em !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-hidden-mobile {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-hidden-tablet {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-hidden-tablet-only {
+ display: none !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-hidden-touch {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-hidden-desktop {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-hidden-desktop-only {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-hidden-widescreen {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-hidden-widescreen-only {
+ display: none !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-hidden-fullhd {
+ display: none !important;
+ }
+}
+
+.is-invisible {
+ visibility: hidden !important;
+}
+
+@media screen and (max-width: 768px) {
+ .is-invisible-mobile {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .is-invisible-tablet {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-invisible-tablet-only {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .is-invisible-touch {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .is-invisible-desktop {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-invisible-desktop-only {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .is-invisible-widescreen {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-invisible-widescreen-only {
+ visibility: hidden !important;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .is-invisible-fullhd {
+ visibility: hidden !important;
+ }
+}
+
+.is-marginless {
+ margin: 0 !important;
+}
+
+.is-paddingless {
+ padding: 0 !important;
+}
+
+.is-radiusless {
+ border-radius: 0 !important;
+}
+
+.is-shadowless {
+ box-shadow: none !important;
+}
+
+.is-relative {
+ position: relative !important;
+}
+
+.box {
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ color: #4a4a4a;
+ display: block;
+ padding: 1.25rem;
+}
+
+a.box:hover, a.box:focus {
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #3273dc;
+}
+
+a.box:active {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #3273dc;
+}
+
+.button {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-width: 1px;
+ color: #363636;
+ cursor: pointer;
+ justify-content: center;
+ padding-bottom: calc(0.375em - 1px);
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ padding-top: calc(0.375em - 1px);
+ text-align: center;
+ white-space: nowrap;
+}
+
+.button strong {
+ color: inherit;
+}
+
+.button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large {
+ height: 1.5em;
+ width: 1.5em;
+}
+
+.button .icon:first-child:not(:last-child) {
+ margin-left: calc(-0.375em - 1px);
+ margin-right: 0.1875em;
+}
+
+.button .icon:last-child:not(:first-child) {
+ margin-left: 0.1875em;
+ margin-right: calc(-0.375em - 1px);
+}
+
+.button .icon:first-child:last-child {
+ margin-left: calc(-0.375em - 1px);
+ margin-right: calc(-0.375em - 1px);
+}
+
+.button:hover, .button.is-hovered {
+ border-color: #b5b5b5;
+ color: #363636;
+}
+
+.button:focus, .button.is-focused {
+ border-color: #3273dc;
+ color: #363636;
+}
+
+.button:focus:not(:active), .button.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
+}
+
+.button:active, .button.is-active {
+ border-color: #4a4a4a;
+ color: #363636;
+}
+
+.button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ color: #4a4a4a;
+ text-decoration: underline;
+}
+
+.button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.button.is-text:active, .button.is-text.is-active {
+ background-color: #e8e8e8;
+ color: #363636;
+}
+
+.button.is-text[disabled],
+fieldset[disabled] .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-white {
+ background-color: white;
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.button.is-white:hover, .button.is-white.is-hovered {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.button.is-white:focus, .button.is-white.is-focused {
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);
+}
+
+.button.is-white:active, .button.is-white.is-active {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.button.is-white[disabled],
+fieldset[disabled] .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-white.is-inverted {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
+ background-color: black;
+}
+
+.button.is-white.is-inverted[disabled],
+fieldset[disabled] .button.is-white.is-inverted {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ box-shadow: none;
+ color: white;
+}
+
+.button.is-white.is-loading::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important;
+}
+
+.button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white;
+}
+
+.button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a;
+}
+
+.button.is-white.is-outlined.is-loading::after {
+ border-color: transparent transparent white white !important;
+}
+
+.button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important;
+}
+
+.button.is-white.is-outlined[disabled],
+fieldset[disabled] .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white;
+}
+
+.button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ color: #0a0a0a;
+}
+
+.button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important;
+}
+
+.button.is-white.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ box-shadow: none;
+ color: #0a0a0a;
+}
+
+.button.is-black {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ color: white;
+}
+
+.button.is-black:hover, .button.is-black.is-hovered {
+ background-color: #040404;
+ border-color: transparent;
+ color: white;
+}
+
+.button.is-black:focus, .button.is-black.is-focused {
+ border-color: transparent;
+ color: white;
+}
+
+.button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25);
+}
+
+.button.is-black:active, .button.is-black.is-active {
+ background-color: black;
+ border-color: transparent;
+ color: white;
+}
+
+.button.is-black[disabled],
+fieldset[disabled] .button.is-black {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-black.is-inverted {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
+ background-color: #f2f2f2;
+}
+
+.button.is-black.is-inverted[disabled],
+fieldset[disabled] .button.is-black.is-inverted {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none;
+ color: #0a0a0a;
+}
+
+.button.is-black.is-loading::after {
+ border-color: transparent transparent white white !important;
+}
+
+.button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ color: #0a0a0a;
+}
+
+.button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white;
+}
+
+.button.is-black.is-outlined.is-loading::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important;
+}
+
+.button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important;
+}
+
+.button.is-black.is-outlined[disabled],
+fieldset[disabled] .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ box-shadow: none;
+ color: #0a0a0a;
+}
+
+.button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white;
+}
+
+.button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important;
+}
+
+.button.is-black.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white;
+}
+
+.button.is-light {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: #363636;
+}
+
+.button.is-light:hover, .button.is-light.is-hovered {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: #363636;
+}
+
+.button.is-light:focus, .button.is-light.is-focused {
+ border-color: transparent;
+ color: #363636;
+}
+
+.button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);
+}
+
+.button.is-light:active, .button.is-light.is-active {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: #363636;
+}
+
+.button.is-light[disabled],
+fieldset[disabled] .button.is-light {
+ background-color: whitesmoke;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-light.is-inverted {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
+ background-color: #292929;
+}
+
+.button.is-light.is-inverted[disabled],
+fieldset[disabled] .button.is-light.is-inverted {
+ background-color: #363636;
+ border-color: transparent;
+ box-shadow: none;
+ color: whitesmoke;
+}
+
+.button.is-light.is-loading::after {
+ border-color: transparent transparent #363636 #363636 !important;
+}
+
+.button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ color: whitesmoke;
+}
+
+.button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: #363636;
+}
+
+.button.is-light.is-outlined.is-loading::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important;
+}
+
+.button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #363636 #363636 !important;
+}
+
+.button.is-light.is-outlined[disabled],
+fieldset[disabled] .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: whitesmoke;
+}
+
+.button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ color: #363636;
+}
+
+.button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important;
+}
+
+.button.is-light.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ box-shadow: none;
+ color: #363636;
+}
+
+.button.is-dark {
+ background-color: #363636;
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.button.is-dark:hover, .button.is-dark.is-hovered {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.button.is-dark:focus, .button.is-dark.is-focused {
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);
+}
+
+.button.is-dark:active, .button.is-dark.is-active {
+ background-color: #292929;
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.button.is-dark[disabled],
+fieldset[disabled] .button.is-dark {
+ background-color: #363636;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-dark.is-inverted {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered {
+ background-color: #e8e8e8;
+}
+
+.button.is-dark.is-inverted[disabled],
+fieldset[disabled] .button.is-dark.is-inverted {
+ background-color: whitesmoke;
+ border-color: transparent;
+ box-shadow: none;
+ color: #363636;
+}
+
+.button.is-dark.is-loading::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important;
+}
+
+.button.is-dark.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ color: #363636;
+}
+
+.button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused {
+ background-color: #363636;
+ border-color: #363636;
+ color: whitesmoke;
+}
+
+.button.is-dark.is-outlined.is-loading::after {
+ border-color: transparent transparent #363636 #363636 !important;
+}
+
+.button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important;
+}
+
+.button.is-dark.is-outlined[disabled],
+fieldset[disabled] .button.is-dark.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ box-shadow: none;
+ color: #363636;
+}
+
+.button.is-dark.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ color: whitesmoke;
+}
+
+.button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #363636 #363636 !important;
+}
+
+.button.is-dark.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-dark.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: whitesmoke;
+}
+
+.button.is-primary {
+ background-color: #00d1b2;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-primary:hover, .button.is-primary.is-hovered {
+ background-color: #00c4a7;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-primary:focus, .button.is-primary.is-focused {
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
+}
+
+.button.is-primary:active, .button.is-primary.is-active {
+ background-color: #00b89c;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-primary[disabled],
+fieldset[disabled] .button.is-primary {
+ background-color: #00d1b2;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-primary.is-inverted {
+ background-color: #fff;
+ color: #00d1b2;
+}
+
+.button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {
+ background-color: #f2f2f2;
+}
+
+.button.is-primary.is-inverted[disabled],
+fieldset[disabled] .button.is-primary.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #00d1b2;
+}
+
+.button.is-primary.is-loading::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-primary.is-outlined {
+ background-color: transparent;
+ border-color: #00d1b2;
+ color: #00d1b2;
+}
+
+.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {
+ background-color: #00d1b2;
+ border-color: #00d1b2;
+ color: #fff;
+}
+
+.button.is-primary.is-outlined.is-loading::after {
+ border-color: transparent transparent #00d1b2 #00d1b2 !important;
+}
+
+.button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-primary.is-outlined[disabled],
+fieldset[disabled] .button.is-primary.is-outlined {
+ background-color: transparent;
+ border-color: #00d1b2;
+ box-shadow: none;
+ color: #00d1b2;
+}
+
+.button.is-primary.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff;
+}
+
+.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #00d1b2;
+}
+
+.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #00d1b2 #00d1b2 !important;
+}
+
+.button.is-primary.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-primary.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff;
+}
+
+.button.is-link {
+ background-color: #3273dc;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-link:hover, .button.is-link.is-hovered {
+ background-color: #276cda;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-link:focus, .button.is-link.is-focused {
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
+}
+
+.button.is-link:active, .button.is-link.is-active {
+ background-color: #2366d1;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-link[disabled],
+fieldset[disabled] .button.is-link {
+ background-color: #3273dc;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-link.is-inverted {
+ background-color: #fff;
+ color: #3273dc;
+}
+
+.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
+ background-color: #f2f2f2;
+}
+
+.button.is-link.is-inverted[disabled],
+fieldset[disabled] .button.is-link.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #3273dc;
+}
+
+.button.is-link.is-loading::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #3273dc;
+ color: #3273dc;
+}
+
+.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
+ background-color: #3273dc;
+ border-color: #3273dc;
+ color: #fff;
+}
+
+.button.is-link.is-outlined.is-loading::after {
+ border-color: transparent transparent #3273dc #3273dc !important;
+}
+
+.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-link.is-outlined[disabled],
+fieldset[disabled] .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #3273dc;
+ box-shadow: none;
+ color: #3273dc;
+}
+
+.button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff;
+}
+
+.button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #3273dc;
+}
+
+.button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #3273dc #3273dc !important;
+}
+
+.button.is-link.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff;
+}
+
+.button.is-info {
+ background-color: #209cee;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-info:hover, .button.is-info.is-hovered {
+ background-color: #1496ed;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-info:focus, .button.is-info.is-focused {
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
+}
+
+.button.is-info:active, .button.is-info.is-active {
+ background-color: #118fe4;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-info[disabled],
+fieldset[disabled] .button.is-info {
+ background-color: #209cee;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-info.is-inverted {
+ background-color: #fff;
+ color: #209cee;
+}
+
+.button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
+ background-color: #f2f2f2;
+}
+
+.button.is-info.is-inverted[disabled],
+fieldset[disabled] .button.is-info.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #209cee;
+}
+
+.button.is-info.is-loading::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #209cee;
+ color: #209cee;
+}
+
+.button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
+ background-color: #209cee;
+ border-color: #209cee;
+ color: #fff;
+}
+
+.button.is-info.is-outlined.is-loading::after {
+ border-color: transparent transparent #209cee #209cee !important;
+}
+
+.button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-info.is-outlined[disabled],
+fieldset[disabled] .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #209cee;
+ box-shadow: none;
+ color: #209cee;
+}
+
+.button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff;
+}
+
+.button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #209cee;
+}
+
+.button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #209cee #209cee !important;
+}
+
+.button.is-info.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff;
+}
+
+.button.is-success {
+ background-color: #23d160;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-success:hover, .button.is-success.is-hovered {
+ background-color: #22c65b;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-success:focus, .button.is-success.is-focused {
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25);
+}
+
+.button.is-success:active, .button.is-success.is-active {
+ background-color: #20bc56;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-success[disabled],
+fieldset[disabled] .button.is-success {
+ background-color: #23d160;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-success.is-inverted {
+ background-color: #fff;
+ color: #23d160;
+}
+
+.button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
+ background-color: #f2f2f2;
+}
+
+.button.is-success.is-inverted[disabled],
+fieldset[disabled] .button.is-success.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #23d160;
+}
+
+.button.is-success.is-loading::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #23d160;
+ color: #23d160;
+}
+
+.button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
+ background-color: #23d160;
+ border-color: #23d160;
+ color: #fff;
+}
+
+.button.is-success.is-outlined.is-loading::after {
+ border-color: transparent transparent #23d160 #23d160 !important;
+}
+
+.button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-success.is-outlined[disabled],
+fieldset[disabled] .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #23d160;
+ box-shadow: none;
+ color: #23d160;
+}
+
+.button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff;
+}
+
+.button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #23d160;
+}
+
+.button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #23d160 #23d160 !important;
+}
+
+.button.is-success.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff;
+}
+
+.button.is-warning {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning:hover, .button.is-warning.is-hovered {
+ background-color: #ffdb4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning:focus, .button.is-warning.is-focused {
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25);
+}
+
+.button.is-warning:active, .button.is-warning.is-active {
+ background-color: #ffd83d;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning[disabled],
+fieldset[disabled] .button.is-warning {
+ background-color: #ffdd57;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-warning.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57;
+}
+
+.button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
+ background-color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning.is-inverted[disabled],
+fieldset[disabled] .button.is-warning.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ border-color: transparent;
+ box-shadow: none;
+ color: #ffdd57;
+}
+
+.button.is-warning.is-loading::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;
+}
+
+.button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ffdd57;
+ color: #ffdd57;
+}
+
+.button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
+ background-color: #ffdd57;
+ border-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning.is-outlined.is-loading::after {
+ border-color: transparent transparent #ffdd57 #ffdd57 !important;
+}
+
+.button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;
+}
+
+.button.is-warning.is-outlined[disabled],
+fieldset[disabled] .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ffdd57;
+ box-shadow: none;
+ color: #ffdd57;
+}
+
+.button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57;
+}
+
+.button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ffdd57 #ffdd57 !important;
+}
+
+.button.is-warning.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ box-shadow: none;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.button.is-danger {
+ background-color: #ff3860;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-danger:hover, .button.is-danger.is-hovered {
+ background-color: #ff2b56;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-danger:focus, .button.is-danger.is-focused {
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);
+}
+
+.button.is-danger:active, .button.is-danger.is-active {
+ background-color: #ff1f4b;
+ border-color: transparent;
+ color: #fff;
+}
+
+.button.is-danger[disabled],
+fieldset[disabled] .button.is-danger {
+ background-color: #ff3860;
+ border-color: transparent;
+ box-shadow: none;
+}
+
+.button.is-danger.is-inverted {
+ background-color: #fff;
+ color: #ff3860;
+}
+
+.button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
+ background-color: #f2f2f2;
+}
+
+.button.is-danger.is-inverted[disabled],
+fieldset[disabled] .button.is-danger.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #ff3860;
+}
+
+.button.is-danger.is-loading::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #ff3860;
+ color: #ff3860;
+}
+
+.button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
+ background-color: #ff3860;
+ border-color: #ff3860;
+ color: #fff;
+}
+
+.button.is-danger.is-outlined.is-loading::after {
+ border-color: transparent transparent #ff3860 #ff3860 !important;
+}
+
+.button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important;
+}
+
+.button.is-danger.is-outlined[disabled],
+fieldset[disabled] .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #ff3860;
+ box-shadow: none;
+ color: #ff3860;
+}
+
+.button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff;
+}
+
+.button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #ff3860;
+}
+
+.button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ff3860 #ff3860 !important;
+}
+
+.button.is-danger.is-inverted.is-outlined[disabled],
+fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff;
+}
+
+.button.is-small {
+ border-radius: 2px;
+ font-size: 0.75rem;
+}
+
+.button.is-normal {
+ font-size: 1rem;
+}
+
+.button.is-medium {
+ font-size: 1.25rem;
+}
+
+.button.is-large {
+ font-size: 1.5rem;
+}
+
+.button[disabled],
+fieldset[disabled] .button {
+ background-color: white;
+ border-color: #dbdbdb;
+ box-shadow: none;
+ opacity: 0.5;
+}
+
+.button.is-fullwidth {
+ display: flex;
+ width: 100%;
+}
+
+.button.is-loading {
+ color: transparent !important;
+ pointer-events: none;
+}
+
+.button.is-loading::after {
+ position: absolute;
+ left: calc(50% - (1em / 2));
+ top: calc(50% - (1em / 2));
+ position: absolute !important;
+}
+
+.button.is-static {
+ background-color: whitesmoke;
+ border-color: #dbdbdb;
+ color: #7a7a7a;
+ box-shadow: none;
+ pointer-events: none;
+}
+
+.button.is-rounded {
+ border-radius: 290486px;
+ padding-left: 1em;
+ padding-right: 1em;
+}
+
+.buttons {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+.buttons .button {
+ margin-bottom: 0.5rem;
+}
+
+.buttons .button:not(:last-child):not(.is-fullwidth) {
+ margin-right: 0.5rem;
+}
+
+.buttons:last-child {
+ margin-bottom: -0.5rem;
+}
+
+.buttons:not(:last-child) {
+ margin-bottom: 1rem;
+}
+
+.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
+ border-radius: 2px;
+ font-size: 0.75rem;
+}
+
+.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
+ font-size: 1.25rem;
+}
+
+.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
+ font-size: 1.5rem;
+}
+
+.buttons.has-addons .button:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.buttons.has-addons .button:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ margin-right: -1px;
+}
+
+.buttons.has-addons .button:last-child {
+ margin-right: 0;
+}
+
+.buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
+ z-index: 2;
+}
+
+.buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
+ z-index: 3;
+}
+
+.buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
+ z-index: 4;
+}
+
+.buttons.has-addons .button.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.buttons.is-centered {
+ justify-content: center;
+}
+
+.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+}
+
+.buttons.is-right {
+ justify-content: flex-end;
+}
+
+.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+}
+
+.container {
+ flex-grow: 1;
+ margin: 0 auto;
+ position: relative;
+ width: auto;
+}
+
+@media screen and (min-width: 1024px) {
+ .container {
+ max-width: 960px;
+ }
+ .container.is-fluid {
+ margin-left: 32px;
+ margin-right: 32px;
+ max-width: none;
+ }
+}
+
+@media screen and (max-width: 1215px) {
+ .container.is-widescreen {
+ max-width: 1152px;
+ }
+}
+
+@media screen and (max-width: 1407px) {
+ .container.is-fullhd {
+ max-width: 1344px;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .container {
+ max-width: 1152px;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .container {
+ max-width: 1344px;
+ }
+}
+
+.content li + li {
+ margin-top: 0.25em;
+}
+
+.content p:not(:last-child),
+.content dl:not(:last-child),
+.content ol:not(:last-child),
+.content ul:not(:last-child),
+.content blockquote:not(:last-child),
+.content pre:not(:last-child),
+.content table:not(:last-child) {
+ margin-bottom: 1em;
+}
+
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6 {
+ color: #363636;
+ font-weight: 600;
+ line-height: 1.125;
+}
+
+.content h1 {
+ font-size: 2em;
+ margin-bottom: 0.5em;
+}
+
+.content h1:not(:first-child) {
+ margin-top: 1em;
+}
+
+.content h2 {
+ font-size: 1.75em;
+ margin-bottom: 0.5714em;
+}
+
+.content h2:not(:first-child) {
+ margin-top: 1.1428em;
+}
+
+.content h3 {
+ font-size: 1.5em;
+ margin-bottom: 0.6666em;
+}
+
+.content h3:not(:first-child) {
+ margin-top: 1.3333em;
+}
+
+.content h4 {
+ font-size: 1.25em;
+ margin-bottom: 0.8em;
+}
+
+.content h5 {
+ font-size: 1.125em;
+ margin-bottom: 0.8888em;
+}
+
+.content h6 {
+ font-size: 1em;
+ margin-bottom: 1em;
+}
+
+.content blockquote {
+ background-color: whitesmoke;
+ border-left: 5px solid #dbdbdb;
+ padding: 1.25em 1.5em;
+}
+
+.content ol {
+ list-style-position: outside;
+ margin-left: 2em;
+ margin-top: 1em;
+}
+
+.content ol:not([type]) {
+ list-style-type: decimal;
+}
+
+.content ol:not([type]).is-lower-alpha {
+ list-style-type: lower-alpha;
+}
+
+.content ol:not([type]).is-lower-roman {
+ list-style-type: lower-roman;
+}
+
+.content ol:not([type]).is-upper-alpha {
+ list-style-type: upper-alpha;
+}
+
+.content ol:not([type]).is-upper-roman {
+ list-style-type: upper-roman;
+}
+
+.content ul {
+ list-style: disc outside;
+ margin-left: 2em;
+ margin-top: 1em;
+}
+
+.content ul ul {
+ list-style-type: circle;
+ margin-top: 0.5em;
+}
+
+.content ul ul ul {
+ list-style-type: square;
+}
+
+.content dd {
+ margin-left: 2em;
+}
+
+.content figure {
+ margin-left: 2em;
+ margin-right: 2em;
+ text-align: center;
+}
+
+.content figure:not(:first-child) {
+ margin-top: 2em;
+}
+
+.content figure:not(:last-child) {
+ margin-bottom: 2em;
+}
+
+.content figure img {
+ display: inline-block;
+}
+
+.content figure figcaption {
+ font-style: italic;
+}
+
+.content pre {
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ padding: 1.25em 1.5em;
+ white-space: pre;
+ word-wrap: normal;
+}
+
+.content sup,
+.content sub {
+ font-size: 75%;
+}
+
+.content table {
+ width: 100%;
+}
+
+.content table td,
+.content table th {
+ border: 1px solid #dbdbdb;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top;
+}
+
+.content table th {
+ color: #363636;
+}
+
+.content table th:not([align]) {
+ text-align: left;
+}
+
+.content table thead td,
+.content table thead th {
+ border-width: 0 0 2px;
+ color: #363636;
+}
+
+.content table tfoot td,
+.content table tfoot th {
+ border-width: 2px 0 0;
+ color: #363636;
+}
+
+.content table tbody tr:last-child td,
+.content table tbody tr:last-child th {
+ border-bottom-width: 0;
+}
+
+.content .tabs li + li {
+ margin-top: 0;
+}
+
+.content.is-small {
+ font-size: 0.75rem;
+}
+
+.content.is-medium {
+ font-size: 1.25rem;
+}
+
+.content.is-large {
+ font-size: 1.5rem;
+}
+
+.icon {
+ align-items: center;
+ display: inline-flex;
+ justify-content: center;
+ height: 1.5rem;
+ width: 1.5rem;
+}
+
+.icon.is-small {
+ height: 1rem;
+ width: 1rem;
+}
+
+.icon.is-medium {
+ height: 2rem;
+ width: 2rem;
+}
+
+.icon.is-large {
+ height: 3rem;
+ width: 3rem;
+}
+
+.image {
+ display: block;
+ position: relative;
+}
+
+.image img {
+ display: block;
+ height: auto;
+ width: 100%;
+}
+
+.image img.is-rounded {
+ border-radius: 290486px;
+}
+
+.image.is-square img,
+.image.is-square .has-ratio, .image.is-1by1 img,
+.image.is-1by1 .has-ratio, .image.is-5by4 img,
+.image.is-5by4 .has-ratio, .image.is-4by3 img,
+.image.is-4by3 .has-ratio, .image.is-3by2 img,
+.image.is-3by2 .has-ratio, .image.is-5by3 img,
+.image.is-5by3 .has-ratio, .image.is-16by9 img,
+.image.is-16by9 .has-ratio, .image.is-2by1 img,
+.image.is-2by1 .has-ratio, .image.is-3by1 img,
+.image.is-3by1 .has-ratio, .image.is-4by5 img,
+.image.is-4by5 .has-ratio, .image.is-3by4 img,
+.image.is-3by4 .has-ratio, .image.is-2by3 img,
+.image.is-2by3 .has-ratio, .image.is-3by5 img,
+.image.is-3by5 .has-ratio, .image.is-9by16 img,
+.image.is-9by16 .has-ratio, .image.is-1by2 img,
+.image.is-1by2 .has-ratio, .image.is-1by3 img,
+.image.is-1by3 .has-ratio {
+ height: 100%;
+ width: 100%;
+}
+
+.image.is-square, .image.is-1by1 {
+ padding-top: 100%;
+}
+
+.image.is-5by4 {
+ padding-top: 80%;
+}
+
+.image.is-4by3 {
+ padding-top: 75%;
+}
+
+.image.is-3by2 {
+ padding-top: 66.6666%;
+}
+
+.image.is-5by3 {
+ padding-top: 60%;
+}
+
+.image.is-16by9 {
+ padding-top: 56.25%;
+}
+
+.image.is-2by1 {
+ padding-top: 50%;
+}
+
+.image.is-3by1 {
+ padding-top: 33.3333%;
+}
+
+.image.is-4by5 {
+ padding-top: 125%;
+}
+
+.image.is-3by4 {
+ padding-top: 133.3333%;
+}
+
+.image.is-2by3 {
+ padding-top: 150%;
+}
+
+.image.is-3by5 {
+ padding-top: 166.6666%;
+}
+
+.image.is-9by16 {
+ padding-top: 177.7777%;
+}
+
+.image.is-1by2 {
+ padding-top: 200%;
+}
+
+.image.is-1by3 {
+ padding-top: 300%;
+}
+
+.image.is-16x16 {
+ height: 16px;
+ width: 16px;
+}
+
+.image.is-24x24 {
+ height: 24px;
+ width: 24px;
+}
+
+.image.is-32x32 {
+ height: 32px;
+ width: 32px;
+}
+
+.image.is-48x48 {
+ height: 48px;
+ width: 48px;
+}
+
+.image.is-64x64 {
+ height: 64px;
+ width: 64px;
+}
+
+.image.is-96x96 {
+ height: 96px;
+ width: 96px;
+}
+
+.image.is-128x128 {
+ height: 128px;
+ width: 128px;
+}
+
+.notification {
+ background-color: whitesmoke;
+ border-radius: 4px;
+ padding: 1.25rem 2.5rem 1.25rem 1.5rem;
+ position: relative;
+}
+
+.notification a:not(.button):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline;
+}
+
+.notification strong {
+ color: currentColor;
+}
+
+.notification code,
+.notification pre {
+ background: white;
+}
+
+.notification pre code {
+ background: transparent;
+}
+
+.notification > .delete {
+ position: absolute;
+ right: 0.5rem;
+ top: 0.5rem;
+}
+
+.notification .title,
+.notification .subtitle,
+.notification .content {
+ color: currentColor;
+}
+
+.notification.is-white {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.notification.is-black {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.notification.is-light {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.notification.is-dark {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.notification.is-primary {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.notification.is-link {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.notification.is-info {
+ background-color: #209cee;
+ color: #fff;
+}
+
+.notification.is-success {
+ background-color: #23d160;
+ color: #fff;
+}
+
+.notification.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.notification.is-danger {
+ background-color: #ff3860;
+ color: #fff;
+}
+
+.progress {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ border: none;
+ border-radius: 290486px;
+ display: block;
+ height: 1rem;
+ overflow: hidden;
+ padding: 0;
+ width: 100%;
+}
+
+.progress::-webkit-progress-bar {
+ background-color: #dbdbdb;
+}
+
+.progress::-webkit-progress-value {
+ background-color: #4a4a4a;
+}
+
+.progress::-moz-progress-bar {
+ background-color: #4a4a4a;
+}
+
+.progress::-ms-fill {
+ background-color: #4a4a4a;
+ border: none;
+}
+
+.progress.is-white::-webkit-progress-value {
+ background-color: white;
+}
+
+.progress.is-white::-moz-progress-bar {
+ background-color: white;
+}
+
+.progress.is-white::-ms-fill {
+ background-color: white;
+}
+
+.progress.is-white:indeterminate {
+ background-image: linear-gradient(to right, white 30%, #dbdbdb 30%);
+}
+
+.progress.is-black::-webkit-progress-value {
+ background-color: #0a0a0a;
+}
+
+.progress.is-black::-moz-progress-bar {
+ background-color: #0a0a0a;
+}
+
+.progress.is-black::-ms-fill {
+ background-color: #0a0a0a;
+}
+
+.progress.is-black:indeterminate {
+ background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%);
+}
+
+.progress.is-light::-webkit-progress-value {
+ background-color: whitesmoke;
+}
+
+.progress.is-light::-moz-progress-bar {
+ background-color: whitesmoke;
+}
+
+.progress.is-light::-ms-fill {
+ background-color: whitesmoke;
+}
+
+.progress.is-light:indeterminate {
+ background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%);
+}
+
+.progress.is-dark::-webkit-progress-value {
+ background-color: #363636;
+}
+
+.progress.is-dark::-moz-progress-bar {
+ background-color: #363636;
+}
+
+.progress.is-dark::-ms-fill {
+ background-color: #363636;
+}
+
+.progress.is-dark:indeterminate {
+ background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%);
+}
+
+.progress.is-primary::-webkit-progress-value {
+ background-color: #00d1b2;
+}
+
+.progress.is-primary::-moz-progress-bar {
+ background-color: #00d1b2;
+}
+
+.progress.is-primary::-ms-fill {
+ background-color: #00d1b2;
+}
+
+.progress.is-primary:indeterminate {
+ background-image: linear-gradient(to right, #00d1b2 30%, #dbdbdb 30%);
+}
+
+.progress.is-link::-webkit-progress-value {
+ background-color: #3273dc;
+}
+
+.progress.is-link::-moz-progress-bar {
+ background-color: #3273dc;
+}
+
+.progress.is-link::-ms-fill {
+ background-color: #3273dc;
+}
+
+.progress.is-link:indeterminate {
+ background-image: linear-gradient(to right, #3273dc 30%, #dbdbdb 30%);
+}
+
+.progress.is-info::-webkit-progress-value {
+ background-color: #209cee;
+}
+
+.progress.is-info::-moz-progress-bar {
+ background-color: #209cee;
+}
+
+.progress.is-info::-ms-fill {
+ background-color: #209cee;
+}
+
+.progress.is-info:indeterminate {
+ background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%);
+}
+
+.progress.is-success::-webkit-progress-value {
+ background-color: #23d160;
+}
+
+.progress.is-success::-moz-progress-bar {
+ background-color: #23d160;
+}
+
+.progress.is-success::-ms-fill {
+ background-color: #23d160;
+}
+
+.progress.is-success:indeterminate {
+ background-image: linear-gradient(to right, #23d160 30%, #dbdbdb 30%);
+}
+
+.progress.is-warning::-webkit-progress-value {
+ background-color: #ffdd57;
+}
+
+.progress.is-warning::-moz-progress-bar {
+ background-color: #ffdd57;
+}
+
+.progress.is-warning::-ms-fill {
+ background-color: #ffdd57;
+}
+
+.progress.is-warning:indeterminate {
+ background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%);
+}
+
+.progress.is-danger::-webkit-progress-value {
+ background-color: #ff3860;
+}
+
+.progress.is-danger::-moz-progress-bar {
+ background-color: #ff3860;
+}
+
+.progress.is-danger::-ms-fill {
+ background-color: #ff3860;
+}
+
+.progress.is-danger:indeterminate {
+ background-image: linear-gradient(to right, #ff3860 30%, #dbdbdb 30%);
+}
+
+.progress:indeterminate {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ -webkit-animation-name: moveIndeterminate;
+ animation-name: moveIndeterminate;
+ -webkit-animation-timing-function: linear;
+ animation-timing-function: linear;
+ background-color: #dbdbdb;
+ background-image: linear-gradient(to right, #4a4a4a 30%, #dbdbdb 30%);
+ background-position: top left;
+ background-repeat: no-repeat;
+ background-size: 150% 150%;
+}
+
+.progress:indeterminate::-webkit-progress-bar {
+ background-color: transparent;
+}
+
+.progress:indeterminate::-moz-progress-bar {
+ background-color: transparent;
+}
+
+.progress.is-small {
+ height: 0.75rem;
+}
+
+.progress.is-medium {
+ height: 1.25rem;
+}
+
+.progress.is-large {
+ height: 1.5rem;
+}
+
+@-webkit-keyframes moveIndeterminate {
+ from {
+ background-position: 200% 0;
+ }
+ to {
+ background-position: -200% 0;
+ }
+}
+
+@keyframes moveIndeterminate {
+ from {
+ background-position: 200% 0;
+ }
+ to {
+ background-position: -200% 0;
+ }
+}
+
+.table {
+ background-color: white;
+ color: #363636;
+}
+
+.table td,
+.table th {
+ border: 1px solid #dbdbdb;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top;
+}
+
+.table td.is-white,
+.table th.is-white {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a;
+}
+
+.table td.is-black,
+.table th.is-black {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white;
+}
+
+.table td.is-light,
+.table th.is-light {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: #363636;
+}
+
+.table td.is-dark,
+.table th.is-dark {
+ background-color: #363636;
+ border-color: #363636;
+ color: whitesmoke;
+}
+
+.table td.is-primary,
+.table th.is-primary {
+ background-color: #00d1b2;
+ border-color: #00d1b2;
+ color: #fff;
+}
+
+.table td.is-link,
+.table th.is-link {
+ background-color: #3273dc;
+ border-color: #3273dc;
+ color: #fff;
+}
+
+.table td.is-info,
+.table th.is-info {
+ background-color: #209cee;
+ border-color: #209cee;
+ color: #fff;
+}
+
+.table td.is-success,
+.table th.is-success {
+ background-color: #23d160;
+ border-color: #23d160;
+ color: #fff;
+}
+
+.table td.is-warning,
+.table th.is-warning {
+ background-color: #ffdd57;
+ border-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.table td.is-danger,
+.table th.is-danger {
+ background-color: #ff3860;
+ border-color: #ff3860;
+ color: #fff;
+}
+
+.table td.is-narrow,
+.table th.is-narrow {
+ white-space: nowrap;
+ width: 1%;
+}
+
+.table td.is-selected,
+.table th.is-selected {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.table td.is-selected a,
+.table td.is-selected strong,
+.table th.is-selected a,
+.table th.is-selected strong {
+ color: currentColor;
+}
+
+.table th {
+ color: #363636;
+}
+
+.table th:not([align]) {
+ text-align: left;
+}
+
+.table tr.is-selected {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.table tr.is-selected a,
+.table tr.is-selected strong {
+ color: currentColor;
+}
+
+.table tr.is-selected td,
+.table tr.is-selected th {
+ border-color: #fff;
+ color: currentColor;
+}
+
+.table thead {
+ background-color: transparent;
+}
+
+.table thead td,
+.table thead th {
+ border-width: 0 0 2px;
+ color: #363636;
+}
+
+.table tfoot {
+ background-color: transparent;
+}
+
+.table tfoot td,
+.table tfoot th {
+ border-width: 2px 0 0;
+ color: #363636;
+}
+
+.table tbody {
+ background-color: transparent;
+}
+
+.table tbody tr:last-child td,
+.table tbody tr:last-child th {
+ border-bottom-width: 0;
+}
+
+.table.is-bordered td,
+.table.is-bordered th {
+ border-width: 1px;
+}
+
+.table.is-bordered tr:last-child td,
+.table.is-bordered tr:last-child th {
+ border-bottom-width: 1px;
+}
+
+.table.is-fullwidth {
+ width: 100%;
+}
+
+.table.is-hoverable tbody tr:not(.is-selected):hover {
+ background-color: #fafafa;
+}
+
+.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
+ background-color: #fafafa;
+}
+
+.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
+ background-color: whitesmoke;
+}
+
+.table.is-narrow td,
+.table.is-narrow th {
+ padding: 0.25em 0.5em;
+}
+
+.table.is-striped tbody tr:not(.is-selected):nth-child(even) {
+ background-color: #fafafa;
+}
+
+.table-container {
+ -webkit-overflow-scrolling: touch;
+ overflow: auto;
+ overflow-y: hidden;
+ max-width: 100%;
+}
+
+.tags {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+.tags .tag {
+ margin-bottom: 0.5rem;
+}
+
+.tags .tag:not(:last-child) {
+ margin-right: 0.5rem;
+}
+
+.tags:last-child {
+ margin-bottom: -0.5rem;
+}
+
+.tags:not(:last-child) {
+ margin-bottom: 1rem;
+}
+
+.tags.are-medium .tag:not(.is-normal):not(.is-large) {
+ font-size: 1rem;
+}
+
+.tags.are-large .tag:not(.is-normal):not(.is-medium) {
+ font-size: 1.25rem;
+}
+
+.tags.is-centered {
+ justify-content: center;
+}
+
+.tags.is-centered .tag {
+ margin-right: 0.25rem;
+ margin-left: 0.25rem;
+}
+
+.tags.is-right {
+ justify-content: flex-end;
+}
+
+.tags.is-right .tag:not(:first-child) {
+ margin-left: 0.5rem;
+}
+
+.tags.is-right .tag:not(:last-child) {
+ margin-right: 0;
+}
+
+.tags.has-addons .tag {
+ margin-right: 0;
+}
+
+.tags.has-addons .tag:not(:first-child) {
+ margin-left: 0;
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.tags.has-addons .tag:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.tag:not(body) {
+ align-items: center;
+ background-color: whitesmoke;
+ border-radius: 4px;
+ color: #4a4a4a;
+ display: inline-flex;
+ font-size: 0.75rem;
+ height: 2em;
+ justify-content: center;
+ line-height: 1.5;
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ white-space: nowrap;
+}
+
+.tag:not(body) .delete {
+ margin-left: 0.25rem;
+ margin-right: -0.375rem;
+}
+
+.tag:not(body).is-white {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.tag:not(body).is-black {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.tag:not(body).is-light {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.tag:not(body).is-dark {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.tag:not(body).is-primary {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.tag:not(body).is-link {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.tag:not(body).is-info {
+ background-color: #209cee;
+ color: #fff;
+}
+
+.tag:not(body).is-success {
+ background-color: #23d160;
+ color: #fff;
+}
+
+.tag:not(body).is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.tag:not(body).is-danger {
+ background-color: #ff3860;
+ color: #fff;
+}
+
+.tag:not(body).is-normal {
+ font-size: 0.75rem;
+}
+
+.tag:not(body).is-medium {
+ font-size: 1rem;
+}
+
+.tag:not(body).is-large {
+ font-size: 1.25rem;
+}
+
+.tag:not(body) .icon:first-child:not(:last-child) {
+ margin-left: -0.375em;
+ margin-right: 0.1875em;
+}
+
+.tag:not(body) .icon:last-child:not(:first-child) {
+ margin-left: 0.1875em;
+ margin-right: -0.375em;
+}
+
+.tag:not(body) .icon:first-child:last-child {
+ margin-left: -0.375em;
+ margin-right: -0.375em;
+}
+
+.tag:not(body).is-delete {
+ margin-left: 1px;
+ padding: 0;
+ position: relative;
+ width: 2em;
+}
+
+.tag:not(body).is-delete::before, .tag:not(body).is-delete::after {
+ background-color: currentColor;
+ content: "";
+ display: block;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ -webkit-transform-origin: center center;
+ transform-origin: center center;
+}
+
+.tag:not(body).is-delete::before {
+ height: 1px;
+ width: 50%;
+}
+
+.tag:not(body).is-delete::after {
+ height: 50%;
+ width: 1px;
+}
+
+.tag:not(body).is-delete:hover, .tag:not(body).is-delete:focus {
+ background-color: #e8e8e8;
+}
+
+.tag:not(body).is-delete:active {
+ background-color: #dbdbdb;
+}
+
+.tag:not(body).is-rounded {
+ border-radius: 290486px;
+}
+
+a.tag:hover {
+ text-decoration: underline;
+}
+
+.title,
+.subtitle {
+ word-break: break-word;
+}
+
+.title em,
+.title span,
+.subtitle em,
+.subtitle span {
+ font-weight: inherit;
+}
+
+.title sub,
+.subtitle sub {
+ font-size: 0.75em;
+}
+
+.title sup,
+.subtitle sup {
+ font-size: 0.75em;
+}
+
+.title .tag,
+.subtitle .tag {
+ vertical-align: middle;
+}
+
+.title {
+ color: #363636;
+ font-size: 2rem;
+ font-weight: 600;
+ line-height: 1.125;
+}
+
+.title strong {
+ color: inherit;
+ font-weight: inherit;
+}
+
+.title + .highlight {
+ margin-top: -0.75rem;
+}
+
+.title:not(.is-spaced) + .subtitle {
+ margin-top: -1.25rem;
+}
+
+.title.is-1 {
+ font-size: 3rem;
+}
+
+.title.is-2 {
+ font-size: 2.5rem;
+}
+
+.title.is-3 {
+ font-size: 2rem;
+}
+
+.title.is-4 {
+ font-size: 1.5rem;
+}
+
+.title.is-5 {
+ font-size: 1.25rem;
+}
+
+.title.is-6 {
+ font-size: 1rem;
+}
+
+.title.is-7 {
+ font-size: 0.75rem;
+}
+
+.subtitle {
+ color: #4a4a4a;
+ font-size: 1.25rem;
+ font-weight: 400;
+ line-height: 1.25;
+}
+
+.subtitle strong {
+ color: #363636;
+ font-weight: 600;
+}
+
+.subtitle:not(.is-spaced) + .title {
+ margin-top: -1.25rem;
+}
+
+.subtitle.is-1 {
+ font-size: 3rem;
+}
+
+.subtitle.is-2 {
+ font-size: 2.5rem;
+}
+
+.subtitle.is-3 {
+ font-size: 2rem;
+}
+
+.subtitle.is-4 {
+ font-size: 1.5rem;
+}
+
+.subtitle.is-5 {
+ font-size: 1.25rem;
+}
+
+.subtitle.is-6 {
+ font-size: 1rem;
+}
+
+.subtitle.is-7 {
+ font-size: 0.75rem;
+}
+
+.heading {
+ display: block;
+ font-size: 11px;
+ letter-spacing: 1px;
+ margin-bottom: 5px;
+ text-transform: uppercase;
+}
+
+.highlight {
+ font-weight: 400;
+ max-width: 100%;
+ overflow: hidden;
+ padding: 0;
+}
+
+.highlight pre {
+ overflow: auto;
+ max-width: 100%;
+}
+
+.number {
+ align-items: center;
+ background-color: whitesmoke;
+ border-radius: 290486px;
+ display: inline-flex;
+ font-size: 1.25rem;
+ height: 2em;
+ justify-content: center;
+ margin-right: 1.5rem;
+ min-width: 2.5em;
+ padding: 0.25rem 0.5rem;
+ text-align: center;
+ vertical-align: top;
+}
+
+.input, .textarea, .select select {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ color: #363636;
+}
+
+.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3);
+}
+
+.input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder {
+ color: rgba(54, 54, 54, 0.3);
+}
+
+.input:-moz-placeholder, .textarea:-moz-placeholder, .select select:-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3);
+}
+
+.input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder {
+ color: rgba(54, 54, 54, 0.3);
+}
+
+.input:hover, .textarea:hover, .select select:hover, .is-hovered.input, .is-hovered.textarea, .select select.is-hovered {
+ border-color: #b5b5b5;
+}
+
+.input:focus, .textarea:focus, .select select:focus, .is-focused.input, .is-focused.textarea, .select select.is-focused, .input:active, .textarea:active, .select select:active, .is-active.input, .is-active.textarea, .select select.is-active {
+ border-color: #3273dc;
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
+}
+
+.input[disabled], .textarea[disabled], .select select[disabled],
+fieldset[disabled] .input,
+fieldset[disabled] .textarea,
+fieldset[disabled] .select select,
+.select fieldset[disabled] select {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: #7a7a7a;
+}
+
+.input[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .select select[disabled]::-moz-placeholder,
+fieldset[disabled] .input::-moz-placeholder,
+fieldset[disabled] .textarea::-moz-placeholder,
+fieldset[disabled] .select select::-moz-placeholder,
+.select fieldset[disabled] select::-moz-placeholder {
+ color: rgba(122, 122, 122, 0.3);
+}
+
+.input[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .select select[disabled]::-webkit-input-placeholder,
+fieldset[disabled] .input::-webkit-input-placeholder,
+fieldset[disabled] .textarea::-webkit-input-placeholder,
+fieldset[disabled] .select select::-webkit-input-placeholder,
+.select fieldset[disabled] select::-webkit-input-placeholder {
+ color: rgba(122, 122, 122, 0.3);
+}
+
+.input[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .select select[disabled]:-moz-placeholder,
+fieldset[disabled] .input:-moz-placeholder,
+fieldset[disabled] .textarea:-moz-placeholder,
+fieldset[disabled] .select select:-moz-placeholder,
+.select fieldset[disabled] select:-moz-placeholder {
+ color: rgba(122, 122, 122, 0.3);
+}
+
+.input[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .select select[disabled]:-ms-input-placeholder,
+fieldset[disabled] .input:-ms-input-placeholder,
+fieldset[disabled] .textarea:-ms-input-placeholder,
+fieldset[disabled] .select select:-ms-input-placeholder,
+.select fieldset[disabled] select:-ms-input-placeholder {
+ color: rgba(122, 122, 122, 0.3);
+}
+
+.input, .textarea {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ max-width: 100%;
+ width: 100%;
+}
+
+.input[readonly], .textarea[readonly] {
+ box-shadow: none;
+}
+
+.is-white.input, .is-white.textarea {
+ border-color: white;
+}
+
+.is-white.input:focus, .is-white.textarea:focus, .is-white.is-focused.input, .is-white.is-focused.textarea, .is-white.input:active, .is-white.textarea:active, .is-white.is-active.input, .is-white.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);
+}
+
+.is-black.input, .is-black.textarea {
+ border-color: #0a0a0a;
+}
+
+.is-black.input:focus, .is-black.textarea:focus, .is-black.is-focused.input, .is-black.is-focused.textarea, .is-black.input:active, .is-black.textarea:active, .is-black.is-active.input, .is-black.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25);
+}
+
+.is-light.input, .is-light.textarea {
+ border-color: whitesmoke;
+}
+
+.is-light.input:focus, .is-light.textarea:focus, .is-light.is-focused.input, .is-light.is-focused.textarea, .is-light.input:active, .is-light.textarea:active, .is-light.is-active.input, .is-light.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);
+}
+
+.is-dark.input, .is-dark.textarea {
+ border-color: #363636;
+}
+
+.is-dark.input:focus, .is-dark.textarea:focus, .is-dark.is-focused.input, .is-dark.is-focused.textarea, .is-dark.input:active, .is-dark.textarea:active, .is-dark.is-active.input, .is-dark.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);
+}
+
+.is-primary.input, .is-primary.textarea {
+ border-color: #00d1b2;
+}
+
+.is-primary.input:focus, .is-primary.textarea:focus, .is-primary.is-focused.input, .is-primary.is-focused.textarea, .is-primary.input:active, .is-primary.textarea:active, .is-primary.is-active.input, .is-primary.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
+}
+
+.is-link.input, .is-link.textarea {
+ border-color: #3273dc;
+}
+
+.is-link.input:focus, .is-link.textarea:focus, .is-link.is-focused.input, .is-link.is-focused.textarea, .is-link.input:active, .is-link.textarea:active, .is-link.is-active.input, .is-link.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
+}
+
+.is-info.input, .is-info.textarea {
+ border-color: #209cee;
+}
+
+.is-info.input:focus, .is-info.textarea:focus, .is-info.is-focused.input, .is-info.is-focused.textarea, .is-info.input:active, .is-info.textarea:active, .is-info.is-active.input, .is-info.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
+}
+
+.is-success.input, .is-success.textarea {
+ border-color: #23d160;
+}
+
+.is-success.input:focus, .is-success.textarea:focus, .is-success.is-focused.input, .is-success.is-focused.textarea, .is-success.input:active, .is-success.textarea:active, .is-success.is-active.input, .is-success.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25);
+}
+
+.is-warning.input, .is-warning.textarea {
+ border-color: #ffdd57;
+}
+
+.is-warning.input:focus, .is-warning.textarea:focus, .is-warning.is-focused.input, .is-warning.is-focused.textarea, .is-warning.input:active, .is-warning.textarea:active, .is-warning.is-active.input, .is-warning.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25);
+}
+
+.is-danger.input, .is-danger.textarea {
+ border-color: #ff3860;
+}
+
+.is-danger.input:focus, .is-danger.textarea:focus, .is-danger.is-focused.input, .is-danger.is-focused.textarea, .is-danger.input:active, .is-danger.textarea:active, .is-danger.is-active.input, .is-danger.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);
+}
+
+.is-small.input, .is-small.textarea {
+ border-radius: 2px;
+ font-size: 0.75rem;
+}
+
+.is-medium.input, .is-medium.textarea {
+ font-size: 1.25rem;
+}
+
+.is-large.input, .is-large.textarea {
+ font-size: 1.5rem;
+}
+
+.is-fullwidth.input, .is-fullwidth.textarea {
+ display: block;
+ width: 100%;
+}
+
+.is-inline.input, .is-inline.textarea {
+ display: inline;
+ width: auto;
+}
+
+.input.is-rounded {
+ border-radius: 290486px;
+ padding-left: 1em;
+ padding-right: 1em;
+}
+
+.input.is-static {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.textarea {
+ display: block;
+ max-width: 100%;
+ min-width: 100%;
+ padding: 0.625em;
+ resize: vertical;
+}
+
+.textarea:not([rows]) {
+ max-height: 600px;
+ min-height: 120px;
+}
+
+.textarea[rows] {
+ height: initial;
+}
+
+.textarea.has-fixed-size {
+ resize: none;
+}
+
+.checkbox, .radio {
+ cursor: pointer;
+ display: inline-block;
+ line-height: 1.25;
+ position: relative;
+}
+
+.checkbox input, .radio input {
+ cursor: pointer;
+}
+
+.checkbox:hover, .radio:hover {
+ color: #363636;
+}
+
+.checkbox[disabled], .radio[disabled],
+fieldset[disabled] .checkbox,
+fieldset[disabled] .radio {
+ color: #7a7a7a;
+ cursor: not-allowed;
+}
+
+.radio + .radio {
+ margin-left: 0.5em;
+}
+
+.select {
+ display: inline-block;
+ max-width: 100%;
+ position: relative;
+ vertical-align: top;
+}
+
+.select:not(.is-multiple) {
+ height: 2.25em;
+}
+
+.select:not(.is-multiple):not(.is-loading)::after {
+ border-color: #3273dc;
+ right: 1.125em;
+ z-index: 4;
+}
+
+.select.is-rounded select {
+ border-radius: 290486px;
+ padding-left: 1em;
+}
+
+.select select {
+ cursor: pointer;
+ display: block;
+ font-size: 1em;
+ max-width: 100%;
+ outline: none;
+}
+
+.select select::-ms-expand {
+ display: none;
+}
+
+.select select[disabled]:hover,
+fieldset[disabled] .select select:hover {
+ border-color: whitesmoke;
+}
+
+.select select:not([multiple]) {
+ padding-right: 2.5em;
+}
+
+.select select[multiple] {
+ height: auto;
+ padding: 0;
+}
+
+.select select[multiple] option {
+ padding: 0.5em 1em;
+}
+
+.select:not(.is-multiple):not(.is-loading):hover::after {
+ border-color: #363636;
+}
+
+.select.is-white:not(:hover)::after {
+ border-color: white;
+}
+
+.select.is-white select {
+ border-color: white;
+}
+
+.select.is-white select:hover, .select.is-white select.is-hovered {
+ border-color: #f2f2f2;
+}
+
+.select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);
+}
+
+.select.is-black:not(:hover)::after {
+ border-color: #0a0a0a;
+}
+
+.select.is-black select {
+ border-color: #0a0a0a;
+}
+
+.select.is-black select:hover, .select.is-black select.is-hovered {
+ border-color: black;
+}
+
+.select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25);
+}
+
+.select.is-light:not(:hover)::after {
+ border-color: whitesmoke;
+}
+
+.select.is-light select {
+ border-color: whitesmoke;
+}
+
+.select.is-light select:hover, .select.is-light select.is-hovered {
+ border-color: #e8e8e8;
+}
+
+.select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);
+}
+
+.select.is-dark:not(:hover)::after {
+ border-color: #363636;
+}
+
+.select.is-dark select {
+ border-color: #363636;
+}
+
+.select.is-dark select:hover, .select.is-dark select.is-hovered {
+ border-color: #292929;
+}
+
+.select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);
+}
+
+.select.is-primary:not(:hover)::after {
+ border-color: #00d1b2;
+}
+
+.select.is-primary select {
+ border-color: #00d1b2;
+}
+
+.select.is-primary select:hover, .select.is-primary select.is-hovered {
+ border-color: #00b89c;
+}
+
+.select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
+}
+
+.select.is-link:not(:hover)::after {
+ border-color: #3273dc;
+}
+
+.select.is-link select {
+ border-color: #3273dc;
+}
+
+.select.is-link select:hover, .select.is-link select.is-hovered {
+ border-color: #2366d1;
+}
+
+.select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
+}
+
+.select.is-info:not(:hover)::after {
+ border-color: #209cee;
+}
+
+.select.is-info select {
+ border-color: #209cee;
+}
+
+.select.is-info select:hover, .select.is-info select.is-hovered {
+ border-color: #118fe4;
+}
+
+.select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
+}
+
+.select.is-success:not(:hover)::after {
+ border-color: #23d160;
+}
+
+.select.is-success select {
+ border-color: #23d160;
+}
+
+.select.is-success select:hover, .select.is-success select.is-hovered {
+ border-color: #20bc56;
+}
+
+.select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25);
+}
+
+.select.is-warning:not(:hover)::after {
+ border-color: #ffdd57;
+}
+
+.select.is-warning select {
+ border-color: #ffdd57;
+}
+
+.select.is-warning select:hover, .select.is-warning select.is-hovered {
+ border-color: #ffd83d;
+}
+
+.select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25);
+}
+
+.select.is-danger:not(:hover)::after {
+ border-color: #ff3860;
+}
+
+.select.is-danger select {
+ border-color: #ff3860;
+}
+
+.select.is-danger select:hover, .select.is-danger select.is-hovered {
+ border-color: #ff1f4b;
+}
+
+.select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);
+}
+
+.select.is-small {
+ border-radius: 2px;
+ font-size: 0.75rem;
+}
+
+.select.is-medium {
+ font-size: 1.25rem;
+}
+
+.select.is-large {
+ font-size: 1.5rem;
+}
+
+.select.is-disabled::after {
+ border-color: #7a7a7a;
+}
+
+.select.is-fullwidth {
+ width: 100%;
+}
+
+.select.is-fullwidth select {
+ width: 100%;
+}
+
+.select.is-loading::after {
+ margin-top: 0;
+ position: absolute;
+ right: 0.625em;
+ top: 0.625em;
+ -webkit-transform: none;
+ transform: none;
+}
+
+.select.is-loading.is-small:after {
+ font-size: 0.75rem;
+}
+
+.select.is-loading.is-medium:after {
+ font-size: 1.25rem;
+}
+
+.select.is-loading.is-large:after {
+ font-size: 1.5rem;
+}
+
+.file {
+ align-items: stretch;
+ display: flex;
+ justify-content: flex-start;
+ position: relative;
+}
+
+.file.is-white .file-cta {
+ background-color: white;
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+ color: #0a0a0a;
+}
+
+.file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #0a0a0a;
+}
+
+.file.is-black .file-cta {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ color: white;
+}
+
+.file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
+ background-color: #040404;
+ border-color: transparent;
+ color: white;
+}
+
+.file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
+ color: white;
+}
+
+.file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
+ background-color: black;
+ border-color: transparent;
+ color: white;
+}
+
+.file.is-light .file-cta {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: #363636;
+}
+
+.file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: #363636;
+}
+
+.file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
+ color: #363636;
+}
+
+.file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: #363636;
+}
+
+.file.is-dark .file-cta {
+ background-color: #363636;
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
+ color: whitesmoke;
+}
+
+.file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta {
+ background-color: #292929;
+ border-color: transparent;
+ color: whitesmoke;
+}
+
+.file.is-primary .file-cta {
+ background-color: #00d1b2;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {
+ background-color: #00c4a7;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);
+ color: #fff;
+}
+
+.file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {
+ background-color: #00b89c;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-link .file-cta {
+ background-color: #3273dc;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
+ background-color: #276cda;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);
+ color: #fff;
+}
+
+.file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
+ background-color: #2366d1;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-info .file-cta {
+ background-color: #209cee;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
+ background-color: #1496ed;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
+ color: #fff;
+}
+
+.file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
+ background-color: #118fe4;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-success .file-cta {
+ background-color: #23d160;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
+ background-color: #22c65b;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(35, 209, 96, 0.25);
+ color: #fff;
+}
+
+.file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
+ background-color: #20bc56;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-warning .file-cta {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
+ background-color: #ffdb4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
+ background-color: #ffd83d;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.file.is-danger .file-cta {
+ background-color: #ff3860;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
+ background-color: #ff2b56;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 56, 96, 0.25);
+ color: #fff;
+}
+
+.file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
+ background-color: #ff1f4b;
+ border-color: transparent;
+ color: #fff;
+}
+
+.file.is-small {
+ font-size: 0.75rem;
+}
+
+.file.is-medium {
+ font-size: 1.25rem;
+}
+
+.file.is-medium .file-icon .fa {
+ font-size: 21px;
+}
+
+.file.is-large {
+ font-size: 1.5rem;
+}
+
+.file.is-large .file-icon .fa {
+ font-size: 28px;
+}
+
+.file.has-name .file-cta {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.file.has-name .file-name {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.file.has-name.is-empty .file-cta {
+ border-radius: 4px;
+}
+
+.file.has-name.is-empty .file-name {
+ display: none;
+}
+
+.file.is-boxed .file-label {
+ flex-direction: column;
+}
+
+.file.is-boxed .file-cta {
+ flex-direction: column;
+ height: auto;
+ padding: 1em 3em;
+}
+
+.file.is-boxed .file-name {
+ border-width: 0 1px 1px;
+}
+
+.file.is-boxed .file-icon {
+ height: 1.5em;
+ width: 1.5em;
+}
+
+.file.is-boxed .file-icon .fa {
+ font-size: 21px;
+}
+
+.file.is-boxed.is-small .file-icon .fa {
+ font-size: 14px;
+}
+
+.file.is-boxed.is-medium .file-icon .fa {
+ font-size: 28px;
+}
+
+.file.is-boxed.is-large .file-icon .fa {
+ font-size: 35px;
+}
+
+.file.is-boxed.has-name .file-cta {
+ border-radius: 4px 4px 0 0;
+}
+
+.file.is-boxed.has-name .file-name {
+ border-radius: 0 0 4px 4px;
+ border-width: 0 1px 1px;
+}
+
+.file.is-centered {
+ justify-content: center;
+}
+
+.file.is-fullwidth .file-label {
+ width: 100%;
+}
+
+.file.is-fullwidth .file-name {
+ flex-grow: 1;
+ max-width: none;
+}
+
+.file.is-right {
+ justify-content: flex-end;
+}
+
+.file.is-right .file-cta {
+ border-radius: 0 4px 4px 0;
+}
+
+.file.is-right .file-name {
+ border-radius: 4px 0 0 4px;
+ border-width: 1px 0 1px 1px;
+ order: -1;
+}
+
+.file-label {
+ align-items: stretch;
+ display: flex;
+ cursor: pointer;
+ justify-content: flex-start;
+ overflow: hidden;
+ position: relative;
+}
+
+.file-label:hover .file-cta {
+ background-color: #eeeeee;
+ color: #363636;
+}
+
+.file-label:hover .file-name {
+ border-color: #d5d5d5;
+}
+
+.file-label:active .file-cta {
+ background-color: #e8e8e8;
+ color: #363636;
+}
+
+.file-label:active .file-name {
+ border-color: #cfcfcf;
+}
+
+.file-input {
+ height: 100%;
+ left: 0;
+ opacity: 0;
+ outline: none;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+
+.file-cta,
+.file-name {
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ font-size: 1em;
+ padding-left: 1em;
+ padding-right: 1em;
+ white-space: nowrap;
+}
+
+.file-cta {
+ background-color: whitesmoke;
+ color: #4a4a4a;
+}
+
+.file-name {
+ border-color: #dbdbdb;
+ border-style: solid;
+ border-width: 1px 1px 1px 0;
+ display: block;
+ max-width: 16em;
+ overflow: hidden;
+ text-align: left;
+ text-overflow: ellipsis;
+}
+
+.file-icon {
+ align-items: center;
+ display: flex;
+ height: 1em;
+ justify-content: center;
+ margin-right: 0.5em;
+ width: 1em;
+}
+
+.file-icon .fa {
+ font-size: 14px;
+}
+
+.label {
+ color: #363636;
+ display: block;
+ font-size: 1rem;
+ font-weight: 700;
+}
+
+.label:not(:last-child) {
+ margin-bottom: 0.5em;
+}
+
+.label.is-small {
+ font-size: 0.75rem;
+}
+
+.label.is-medium {
+ font-size: 1.25rem;
+}
+
+.label.is-large {
+ font-size: 1.5rem;
+}
+
+.help {
+ display: block;
+ font-size: 0.75rem;
+ margin-top: 0.25rem;
+}
+
+.help.is-white {
+ color: white;
+}
+
+.help.is-black {
+ color: #0a0a0a;
+}
+
+.help.is-light {
+ color: whitesmoke;
+}
+
+.help.is-dark {
+ color: #363636;
+}
+
+.help.is-primary {
+ color: #00d1b2;
+}
+
+.help.is-link {
+ color: #3273dc;
+}
+
+.help.is-info {
+ color: #209cee;
+}
+
+.help.is-success {
+ color: #23d160;
+}
+
+.help.is-warning {
+ color: #ffdd57;
+}
+
+.help.is-danger {
+ color: #ff3860;
+}
+
+.field:not(:last-child) {
+ margin-bottom: 0.75rem;
+}
+
+.field.has-addons {
+ display: flex;
+ justify-content: flex-start;
+}
+
+.field.has-addons .control:not(:last-child) {
+ margin-right: -1px;
+}
+
+.field.has-addons .control:not(:first-child):not(:last-child) .button,
+.field.has-addons .control:not(:first-child):not(:last-child) .input,
+.field.has-addons .control:not(:first-child):not(:last-child) .select select {
+ border-radius: 0;
+}
+
+.field.has-addons .control:first-child:not(:only-child) .button,
+.field.has-addons .control:first-child:not(:only-child) .input,
+.field.has-addons .control:first-child:not(:only-child) .select select {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.field.has-addons .control:last-child:not(:only-child) .button,
+.field.has-addons .control:last-child:not(:only-child) .input,
+.field.has-addons .control:last-child:not(:only-child) .select select {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+}
+
+.field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered,
+.field.has-addons .control .input:not([disabled]):hover,
+.field.has-addons .control .input:not([disabled]).is-hovered,
+.field.has-addons .control .select select:not([disabled]):hover,
+.field.has-addons .control .select select:not([disabled]).is-hovered {
+ z-index: 2;
+}
+
+.field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active,
+.field.has-addons .control .input:not([disabled]):focus,
+.field.has-addons .control .input:not([disabled]).is-focused,
+.field.has-addons .control .input:not([disabled]):active,
+.field.has-addons .control .input:not([disabled]).is-active,
+.field.has-addons .control .select select:not([disabled]):focus,
+.field.has-addons .control .select select:not([disabled]).is-focused,
+.field.has-addons .control .select select:not([disabled]):active,
+.field.has-addons .control .select select:not([disabled]).is-active {
+ z-index: 3;
+}
+
+.field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover,
+.field.has-addons .control .input:not([disabled]):focus:hover,
+.field.has-addons .control .input:not([disabled]).is-focused:hover,
+.field.has-addons .control .input:not([disabled]):active:hover,
+.field.has-addons .control .input:not([disabled]).is-active:hover,
+.field.has-addons .control .select select:not([disabled]):focus:hover,
+.field.has-addons .control .select select:not([disabled]).is-focused:hover,
+.field.has-addons .control .select select:not([disabled]):active:hover,
+.field.has-addons .control .select select:not([disabled]).is-active:hover {
+ z-index: 4;
+}
+
+.field.has-addons .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.field.has-addons.has-addons-centered {
+ justify-content: center;
+}
+
+.field.has-addons.has-addons-right {
+ justify-content: flex-end;
+}
+
+.field.has-addons.has-addons-fullwidth .control {
+ flex-grow: 1;
+ flex-shrink: 0;
+}
+
+.field.is-grouped {
+ display: flex;
+ justify-content: flex-start;
+}
+
+.field.is-grouped > .control {
+ flex-shrink: 0;
+}
+
+.field.is-grouped > .control:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem;
+}
+
+.field.is-grouped > .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.field.is-grouped.is-grouped-centered {
+ justify-content: center;
+}
+
+.field.is-grouped.is-grouped-right {
+ justify-content: flex-end;
+}
+
+.field.is-grouped.is-grouped-multiline {
+ flex-wrap: wrap;
+}
+
+.field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+ margin-bottom: 0.75rem;
+}
+
+.field.is-grouped.is-grouped-multiline:last-child {
+ margin-bottom: -0.75rem;
+}
+
+.field.is-grouped.is-grouped-multiline:not(:last-child) {
+ margin-bottom: 0;
+}
+
+@media screen and (min-width: 769px), print {
+ .field.is-horizontal {
+ display: flex;
+ }
+}
+
+.field-label .label {
+ font-size: inherit;
+}
+
+@media screen and (max-width: 768px) {
+ .field-label {
+ margin-bottom: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .field-label {
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ margin-right: 1.5rem;
+ text-align: right;
+ }
+ .field-label.is-small {
+ font-size: 0.75rem;
+ padding-top: 0.375em;
+ }
+ .field-label.is-normal {
+ padding-top: 0.375em;
+ }
+ .field-label.is-medium {
+ font-size: 1.25rem;
+ padding-top: 0.375em;
+ }
+ .field-label.is-large {
+ font-size: 1.5rem;
+ padding-top: 0.375em;
+ }
+}
+
+.field-body .field .field {
+ margin-bottom: 0;
+}
+
+@media screen and (min-width: 769px), print {
+ .field-body {
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 5;
+ flex-shrink: 1;
+ }
+ .field-body .field {
+ margin-bottom: 0;
+ }
+ .field-body > .field {
+ flex-shrink: 1;
+ }
+ .field-body > .field:not(.is-narrow) {
+ flex-grow: 1;
+ }
+ .field-body > .field:not(:last-child) {
+ margin-right: 0.75rem;
+ }
+}
+
+.control {
+ box-sizing: border-box;
+ clear: both;
+ font-size: 1rem;
+ position: relative;
+ text-align: left;
+}
+
+.control.has-icons-left .input:focus ~ .icon,
+.control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon,
+.control.has-icons-right .select:focus ~ .icon {
+ color: #7a7a7a;
+}
+
+.control.has-icons-left .input.is-small ~ .icon,
+.control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon,
+.control.has-icons-right .select.is-small ~ .icon {
+ font-size: 0.75rem;
+}
+
+.control.has-icons-left .input.is-medium ~ .icon,
+.control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon,
+.control.has-icons-right .select.is-medium ~ .icon {
+ font-size: 1.25rem;
+}
+
+.control.has-icons-left .input.is-large ~ .icon,
+.control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon,
+.control.has-icons-right .select.is-large ~ .icon {
+ font-size: 1.5rem;
+}
+
+.control.has-icons-left .icon, .control.has-icons-right .icon {
+ color: #dbdbdb;
+ height: 2.25em;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 2.25em;
+ z-index: 4;
+}
+
+.control.has-icons-left .input,
+.control.has-icons-left .select select {
+ padding-left: 2.25em;
+}
+
+.control.has-icons-left .icon.is-left {
+ left: 0;
+}
+
+.control.has-icons-right .input,
+.control.has-icons-right .select select {
+ padding-right: 2.25em;
+}
+
+.control.has-icons-right .icon.is-right {
+ right: 0;
+}
+
+.control.is-loading::after {
+ position: absolute !important;
+ right: 0.625em;
+ top: 0.625em;
+ z-index: 4;
+}
+
+.control.is-loading.is-small:after {
+ font-size: 0.75rem;
+}
+
+.control.is-loading.is-medium:after {
+ font-size: 1.25rem;
+}
+
+.control.is-loading.is-large:after {
+ font-size: 1.5rem;
+}
+
+.breadcrumb {
+ font-size: 1rem;
+ white-space: nowrap;
+}
+
+.breadcrumb a {
+ align-items: center;
+ color: #3273dc;
+ display: flex;
+ justify-content: center;
+ padding: 0 0.75em;
+}
+
+.breadcrumb a:hover {
+ color: #363636;
+}
+
+.breadcrumb li {
+ align-items: center;
+ display: flex;
+}
+
+.breadcrumb li:first-child a {
+ padding-left: 0;
+}
+
+.breadcrumb li.is-active a {
+ color: #363636;
+ cursor: default;
+ pointer-events: none;
+}
+
+.breadcrumb li + li::before {
+ color: #b5b5b5;
+ content: "\0002f";
+}
+
+.breadcrumb ul,
+.breadcrumb ol {
+ align-items: flex-start;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+.breadcrumb .icon:first-child {
+ margin-right: 0.5em;
+}
+
+.breadcrumb .icon:last-child {
+ margin-left: 0.5em;
+}
+
+.breadcrumb.is-centered ol,
+.breadcrumb.is-centered ul {
+ justify-content: center;
+}
+
+.breadcrumb.is-right ol,
+.breadcrumb.is-right ul {
+ justify-content: flex-end;
+}
+
+.breadcrumb.is-small {
+ font-size: 0.75rem;
+}
+
+.breadcrumb.is-medium {
+ font-size: 1.25rem;
+}
+
+.breadcrumb.is-large {
+ font-size: 1.5rem;
+}
+
+.breadcrumb.has-arrow-separator li + li::before {
+ content: "\02192";
+}
+
+.breadcrumb.has-bullet-separator li + li::before {
+ content: "\02022";
+}
+
+.breadcrumb.has-dot-separator li + li::before {
+ content: "\000b7";
+}
+
+.breadcrumb.has-succeeds-separator li + li::before {
+ content: "\0227B";
+}
+
+.card {
+ background-color: white;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ color: #4a4a4a;
+ max-width: 100%;
+ position: relative;
+}
+
+.card-header {
+ background-color: transparent;
+ align-items: stretch;
+ box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+ display: flex;
+}
+
+.card-header-title {
+ align-items: center;
+ color: #363636;
+ display: flex;
+ flex-grow: 1;
+ font-weight: 700;
+ padding: 0.75rem;
+}
+
+.card-header-title.is-centered {
+ justify-content: center;
+}
+
+.card-header-icon {
+ align-items: center;
+ cursor: pointer;
+ display: flex;
+ justify-content: center;
+ padding: 0.75rem;
+}
+
+.card-image {
+ display: block;
+ position: relative;
+}
+
+.card-content {
+ background-color: transparent;
+ padding: 1.5rem;
+}
+
+.card-footer {
+ background-color: transparent;
+ border-top: 1px solid #dbdbdb;
+ align-items: stretch;
+ display: flex;
+}
+
+.card-footer-item {
+ align-items: center;
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ justify-content: center;
+ padding: 0.75rem;
+}
+
+.card-footer-item:not(:last-child) {
+ border-right: 1px solid #dbdbdb;
+}
+
+.card .media:not(:last-child) {
+ margin-bottom: 1.5rem;
+}
+
+.dropdown {
+ display: inline-flex;
+ position: relative;
+ vertical-align: top;
+}
+
+.dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu {
+ display: block;
+}
+
+.dropdown.is-right .dropdown-menu {
+ left: auto;
+ right: 0;
+}
+
+.dropdown.is-up .dropdown-menu {
+ bottom: 100%;
+ padding-bottom: 4px;
+ padding-top: initial;
+ top: auto;
+}
+
+.dropdown-menu {
+ display: none;
+ left: 0;
+ min-width: 12rem;
+ padding-top: 4px;
+ position: absolute;
+ top: 100%;
+ z-index: 20;
+}
+
+.dropdown-content {
+ background-color: white;
+ border-radius: 4px;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+}
+
+.dropdown-item {
+ color: #4a4a4a;
+ display: block;
+ font-size: 0.875rem;
+ line-height: 1.5;
+ padding: 0.375rem 1rem;
+ position: relative;
+}
+
+a.dropdown-item,
+button.dropdown-item {
+ padding-right: 3rem;
+ text-align: left;
+ white-space: nowrap;
+ width: 100%;
+}
+
+a.dropdown-item:hover,
+button.dropdown-item:hover {
+ background-color: whitesmoke;
+ color: #0a0a0a;
+}
+
+a.dropdown-item.is-active,
+button.dropdown-item.is-active {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.dropdown-divider {
+ background-color: #dbdbdb;
+ border: none;
+ display: block;
+ height: 1px;
+ margin: 0.5rem 0;
+}
+
+.level {
+ align-items: center;
+ justify-content: space-between;
+}
+
+.level code {
+ border-radius: 4px;
+}
+
+.level img {
+ display: inline-block;
+ vertical-align: top;
+}
+
+.level.is-mobile {
+ display: flex;
+}
+
+.level.is-mobile .level-left,
+.level.is-mobile .level-right {
+ display: flex;
+}
+
+.level.is-mobile .level-left + .level-right {
+ margin-top: 0;
+}
+
+.level.is-mobile .level-item:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem;
+}
+
+.level.is-mobile .level-item:not(.is-narrow) {
+ flex-grow: 1;
+}
+
+@media screen and (min-width: 769px), print {
+ .level {
+ display: flex;
+ }
+ .level > .level-item:not(.is-narrow) {
+ flex-grow: 1;
+ }
+}
+
+.level-item {
+ align-items: center;
+ display: flex;
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0;
+ justify-content: center;
+}
+
+.level-item .title,
+.level-item .subtitle {
+ margin-bottom: 0;
+}
+
+@media screen and (max-width: 768px) {
+ .level-item:not(:last-child) {
+ margin-bottom: 0.75rem;
+ }
+}
+
+.level-left,
+.level-right {
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0;
+}
+
+.level-left .level-item.is-flexible,
+.level-right .level-item.is-flexible {
+ flex-grow: 1;
+}
+
+@media screen and (min-width: 769px), print {
+ .level-left .level-item:not(:last-child),
+ .level-right .level-item:not(:last-child) {
+ margin-right: 0.75rem;
+ }
+}
+
+.level-left {
+ align-items: center;
+ justify-content: flex-start;
+}
+
+@media screen and (max-width: 768px) {
+ .level-left + .level-right {
+ margin-top: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .level-left {
+ display: flex;
+ }
+}
+
+.level-right {
+ align-items: center;
+ justify-content: flex-end;
+}
+
+@media screen and (min-width: 769px), print {
+ .level-right {
+ display: flex;
+ }
+}
+
+.list {
+ background-color: white;
+ border-radius: 4px;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+}
+
+.list-item {
+ display: block;
+ padding: 0.5em 1em;
+}
+
+.list-item:not(a) {
+ color: #4a4a4a;
+}
+
+.list-item:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+
+.list-item:last-child {
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+
+.list-item:not(:last-child) {
+ border-bottom: 1px solid #dbdbdb;
+}
+
+.list-item.is-active {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+a.list-item {
+ background-color: whitesmoke;
+ cursor: pointer;
+}
+
+.media {
+ align-items: flex-start;
+ display: flex;
+ text-align: left;
+}
+
+.media .content:not(:last-child) {
+ margin-bottom: 0.75rem;
+}
+
+.media .media {
+ border-top: 1px solid rgba(219, 219, 219, 0.5);
+ display: flex;
+ padding-top: 0.75rem;
+}
+
+.media .media .content:not(:last-child),
+.media .media .control:not(:last-child) {
+ margin-bottom: 0.5rem;
+}
+
+.media .media .media {
+ padding-top: 0.5rem;
+}
+
+.media .media .media + .media {
+ margin-top: 0.5rem;
+}
+
+.media + .media {
+ border-top: 1px solid rgba(219, 219, 219, 0.5);
+ margin-top: 1rem;
+ padding-top: 1rem;
+}
+
+.media.is-large + .media {
+ margin-top: 1.5rem;
+ padding-top: 1.5rem;
+}
+
+.media-left,
+.media-right {
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0;
+}
+
+.media-left {
+ margin-right: 1rem;
+}
+
+.media-right {
+ margin-left: 1rem;
+}
+
+.media-content {
+ flex-basis: auto;
+ flex-grow: 1;
+ flex-shrink: 1;
+ text-align: left;
+}
+
+@media screen and (max-width: 768px) {
+ .media-content {
+ overflow-x: auto;
+ }
+}
+
+.menu {
+ font-size: 1rem;
+}
+
+.menu.is-small {
+ font-size: 0.75rem;
+}
+
+.menu.is-medium {
+ font-size: 1.25rem;
+}
+
+.menu.is-large {
+ font-size: 1.5rem;
+}
+
+.menu-list {
+ line-height: 1.25;
+}
+
+.menu-list a {
+ border-radius: 2px;
+ color: #4a4a4a;
+ display: block;
+ padding: 0.5em 0.75em;
+}
+
+.menu-list a:hover {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.menu-list a.is-active {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.menu-list li ul {
+ border-left: 1px solid #dbdbdb;
+ margin: 0.75em;
+ padding-left: 0.75em;
+}
+
+.menu-label {
+ color: #7a7a7a;
+ font-size: 0.75em;
+ letter-spacing: 0.1em;
+ text-transform: uppercase;
+}
+
+.menu-label:not(:first-child) {
+ margin-top: 1em;
+}
+
+.menu-label:not(:last-child) {
+ margin-bottom: 1em;
+}
+
+.message {
+ background-color: whitesmoke;
+ border-radius: 4px;
+ font-size: 1rem;
+}
+
+.message strong {
+ color: currentColor;
+}
+
+.message a:not(.button):not(.tag):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline;
+}
+
+.message.is-small {
+ font-size: 0.75rem;
+}
+
+.message.is-medium {
+ font-size: 1.25rem;
+}
+
+.message.is-large {
+ font-size: 1.5rem;
+}
+
+.message.is-white {
+ background-color: white;
+}
+
+.message.is-white .message-header {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.message.is-white .message-body {
+ border-color: white;
+ color: #4d4d4d;
+}
+
+.message.is-black {
+ background-color: #fafafa;
+}
+
+.message.is-black .message-header {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.message.is-black .message-body {
+ border-color: #0a0a0a;
+ color: #090909;
+}
+
+.message.is-light {
+ background-color: #fafafa;
+}
+
+.message.is-light .message-header {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.message.is-light .message-body {
+ border-color: whitesmoke;
+ color: #505050;
+}
+
+.message.is-dark {
+ background-color: #fafafa;
+}
+
+.message.is-dark .message-header {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.message.is-dark .message-body {
+ border-color: #363636;
+ color: #2a2a2a;
+}
+
+.message.is-primary {
+ background-color: #f5fffd;
+}
+
+.message.is-primary .message-header {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.message.is-primary .message-body {
+ border-color: #00d1b2;
+ color: #021310;
+}
+
+.message.is-link {
+ background-color: #f6f9fe;
+}
+
+.message.is-link .message-header {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.message.is-link .message-body {
+ border-color: #3273dc;
+ color: #22509a;
+}
+
+.message.is-info {
+ background-color: #f6fbfe;
+}
+
+.message.is-info .message-header {
+ background-color: #209cee;
+ color: #fff;
+}
+
+.message.is-info .message-body {
+ border-color: #209cee;
+ color: #12537e;
+}
+
+.message.is-success {
+ background-color: #f6fef9;
+}
+
+.message.is-success .message-header {
+ background-color: #23d160;
+ color: #fff;
+}
+
+.message.is-success .message-body {
+ border-color: #23d160;
+ color: #0e301a;
+}
+
+.message.is-warning {
+ background-color: #fffdf5;
+}
+
+.message.is-warning .message-header {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.message.is-warning .message-body {
+ border-color: #ffdd57;
+ color: #3b3108;
+}
+
+.message.is-danger {
+ background-color: #fff5f7;
+}
+
+.message.is-danger .message-header {
+ background-color: #ff3860;
+ color: #fff;
+}
+
+.message.is-danger .message-body {
+ border-color: #ff3860;
+ color: #cd0930;
+}
+
+.message-header {
+ align-items: center;
+ background-color: #4a4a4a;
+ border-radius: 4px 4px 0 0;
+ color: #fff;
+ display: flex;
+ font-weight: 700;
+ justify-content: space-between;
+ line-height: 1.25;
+ padding: 0.75em 1em;
+ position: relative;
+}
+
+.message-header .delete {
+ flex-grow: 0;
+ flex-shrink: 0;
+ margin-left: 0.75em;
+}
+
+.message-header + .message-body {
+ border-width: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.message-body {
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ border-style: solid;
+ border-width: 0 0 0 4px;
+ color: #4a4a4a;
+ padding: 1.25em 1.5em;
+}
+
+.message-body code,
+.message-body pre {
+ background-color: white;
+}
+
+.message-body pre code {
+ background-color: transparent;
+}
+
+.modal {
+ align-items: center;
+ display: none;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ position: fixed;
+ z-index: 40;
+}
+
+.modal.is-active {
+ display: flex;
+}
+
+.modal-background {
+ background-color: rgba(10, 10, 10, 0.86);
+}
+
+.modal-content,
+.modal-card {
+ margin: 0 20px;
+ max-height: calc(100vh - 160px);
+ overflow: auto;
+ position: relative;
+ width: 100%;
+}
+
+@media screen and (min-width: 769px), print {
+ .modal-content,
+ .modal-card {
+ margin: 0 auto;
+ max-height: calc(100vh - 40px);
+ width: 640px;
+ }
+}
+
+.modal-close {
+ background: none;
+ height: 40px;
+ position: fixed;
+ right: 20px;
+ top: 20px;
+ width: 40px;
+}
+
+.modal-card {
+ display: flex;
+ flex-direction: column;
+ max-height: calc(100vh - 40px);
+ overflow: hidden;
+ -ms-overflow-y: visible;
+}
+
+.modal-card-head,
+.modal-card-foot {
+ align-items: center;
+ background-color: whitesmoke;
+ display: flex;
+ flex-shrink: 0;
+ justify-content: flex-start;
+ padding: 20px;
+ position: relative;
+}
+
+.modal-card-head {
+ border-bottom: 1px solid #dbdbdb;
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+}
+
+.modal-card-title {
+ color: #363636;
+ flex-grow: 1;
+ flex-shrink: 0;
+ font-size: 1.5rem;
+ line-height: 1;
+}
+
+.modal-card-foot {
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ border-top: 1px solid #dbdbdb;
+}
+
+.modal-card-foot .button:not(:last-child) {
+ margin-right: 0.5em;
+}
+
+.modal-card-body {
+ -webkit-overflow-scrolling: touch;
+ background-color: white;
+ flex-grow: 1;
+ flex-shrink: 1;
+ overflow: auto;
+ padding: 20px;
+}
+
+.navbar {
+ background-color: white;
+ min-height: 3.25rem;
+ position: relative;
+ z-index: 30;
+}
+
+.navbar.is-white {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.navbar.is-white .navbar-brand > .navbar-item,
+.navbar.is-white .navbar-brand .navbar-link {
+ color: #0a0a0a;
+}
+
+.navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
+.navbar.is-white .navbar-brand .navbar-link:focus,
+.navbar.is-white .navbar-brand .navbar-link:hover,
+.navbar.is-white .navbar-brand .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a;
+}
+
+.navbar.is-white .navbar-brand .navbar-link::after {
+ border-color: #0a0a0a;
+}
+
+.navbar.is-white .navbar-burger {
+ color: #0a0a0a;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-white .navbar-start > .navbar-item,
+ .navbar.is-white .navbar-start .navbar-link,
+ .navbar.is-white .navbar-end > .navbar-item,
+ .navbar.is-white .navbar-end .navbar-link {
+ color: #0a0a0a;
+ }
+ .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
+ .navbar.is-white .navbar-start .navbar-link:focus,
+ .navbar.is-white .navbar-start .navbar-link:hover,
+ .navbar.is-white .navbar-start .navbar-link.is-active,
+ .navbar.is-white .navbar-end > a.navbar-item:focus,
+ .navbar.is-white .navbar-end > a.navbar-item:hover,
+ .navbar.is-white .navbar-end > a.navbar-item.is-active,
+ .navbar.is-white .navbar-end .navbar-link:focus,
+ .navbar.is-white .navbar-end .navbar-link:hover,
+ .navbar.is-white .navbar-end .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a;
+ }
+ .navbar.is-white .navbar-start .navbar-link::after,
+ .navbar.is-white .navbar-end .navbar-link::after {
+ border-color: #0a0a0a;
+ }
+ .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #f2f2f2;
+ color: #0a0a0a;
+ }
+ .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
+ background-color: white;
+ color: #0a0a0a;
+ }
+}
+
+.navbar.is-black {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.navbar.is-black .navbar-brand > .navbar-item,
+.navbar.is-black .navbar-brand .navbar-link {
+ color: white;
+}
+
+.navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
+.navbar.is-black .navbar-brand .navbar-link:focus,
+.navbar.is-black .navbar-brand .navbar-link:hover,
+.navbar.is-black .navbar-brand .navbar-link.is-active {
+ background-color: black;
+ color: white;
+}
+
+.navbar.is-black .navbar-brand .navbar-link::after {
+ border-color: white;
+}
+
+.navbar.is-black .navbar-burger {
+ color: white;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-black .navbar-start > .navbar-item,
+ .navbar.is-black .navbar-start .navbar-link,
+ .navbar.is-black .navbar-end > .navbar-item,
+ .navbar.is-black .navbar-end .navbar-link {
+ color: white;
+ }
+ .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
+ .navbar.is-black .navbar-start .navbar-link:focus,
+ .navbar.is-black .navbar-start .navbar-link:hover,
+ .navbar.is-black .navbar-start .navbar-link.is-active,
+ .navbar.is-black .navbar-end > a.navbar-item:focus,
+ .navbar.is-black .navbar-end > a.navbar-item:hover,
+ .navbar.is-black .navbar-end > a.navbar-item.is-active,
+ .navbar.is-black .navbar-end .navbar-link:focus,
+ .navbar.is-black .navbar-end .navbar-link:hover,
+ .navbar.is-black .navbar-end .navbar-link.is-active {
+ background-color: black;
+ color: white;
+ }
+ .navbar.is-black .navbar-start .navbar-link::after,
+ .navbar.is-black .navbar-end .navbar-link::after {
+ border-color: white;
+ }
+ .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: black;
+ color: white;
+ }
+ .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
+ background-color: #0a0a0a;
+ color: white;
+ }
+}
+
+.navbar.is-light {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.navbar.is-light .navbar-brand > .navbar-item,
+.navbar.is-light .navbar-brand .navbar-link {
+ color: #363636;
+}
+
+.navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
+.navbar.is-light .navbar-brand .navbar-link:focus,
+.navbar.is-light .navbar-brand .navbar-link:hover,
+.navbar.is-light .navbar-brand .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: #363636;
+}
+
+.navbar.is-light .navbar-brand .navbar-link::after {
+ border-color: #363636;
+}
+
+.navbar.is-light .navbar-burger {
+ color: #363636;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-light .navbar-start > .navbar-item,
+ .navbar.is-light .navbar-start .navbar-link,
+ .navbar.is-light .navbar-end > .navbar-item,
+ .navbar.is-light .navbar-end .navbar-link {
+ color: #363636;
+ }
+ .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
+ .navbar.is-light .navbar-start .navbar-link:focus,
+ .navbar.is-light .navbar-start .navbar-link:hover,
+ .navbar.is-light .navbar-start .navbar-link.is-active,
+ .navbar.is-light .navbar-end > a.navbar-item:focus,
+ .navbar.is-light .navbar-end > a.navbar-item:hover,
+ .navbar.is-light .navbar-end > a.navbar-item.is-active,
+ .navbar.is-light .navbar-end .navbar-link:focus,
+ .navbar.is-light .navbar-end .navbar-link:hover,
+ .navbar.is-light .navbar-end .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: #363636;
+ }
+ .navbar.is-light .navbar-start .navbar-link::after,
+ .navbar.is-light .navbar-end .navbar-link::after {
+ border-color: #363636;
+ }
+ .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #e8e8e8;
+ color: #363636;
+ }
+ .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #363636;
+ }
+}
+
+.navbar.is-dark {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.navbar.is-dark .navbar-brand > .navbar-item,
+.navbar.is-dark .navbar-brand .navbar-link {
+ color: whitesmoke;
+}
+
+.navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active,
+.navbar.is-dark .navbar-brand .navbar-link:focus,
+.navbar.is-dark .navbar-brand .navbar-link:hover,
+.navbar.is-dark .navbar-brand .navbar-link.is-active {
+ background-color: #292929;
+ color: whitesmoke;
+}
+
+.navbar.is-dark .navbar-brand .navbar-link::after {
+ border-color: whitesmoke;
+}
+
+.navbar.is-dark .navbar-burger {
+ color: whitesmoke;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-dark .navbar-start > .navbar-item,
+ .navbar.is-dark .navbar-start .navbar-link,
+ .navbar.is-dark .navbar-end > .navbar-item,
+ .navbar.is-dark .navbar-end .navbar-link {
+ color: whitesmoke;
+ }
+ .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-start .navbar-link:focus,
+ .navbar.is-dark .navbar-start .navbar-link:hover,
+ .navbar.is-dark .navbar-start .navbar-link.is-active,
+ .navbar.is-dark .navbar-end > a.navbar-item:focus,
+ .navbar.is-dark .navbar-end > a.navbar-item:hover,
+ .navbar.is-dark .navbar-end > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-end .navbar-link:focus,
+ .navbar.is-dark .navbar-end .navbar-link:hover,
+ .navbar.is-dark .navbar-end .navbar-link.is-active {
+ background-color: #292929;
+ color: whitesmoke;
+ }
+ .navbar.is-dark .navbar-start .navbar-link::after,
+ .navbar.is-dark .navbar-end .navbar-link::after {
+ border-color: whitesmoke;
+ }
+ .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #292929;
+ color: whitesmoke;
+ }
+ .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {
+ background-color: #363636;
+ color: whitesmoke;
+ }
+}
+
+.navbar.is-primary {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.navbar.is-primary .navbar-brand > .navbar-item,
+.navbar.is-primary .navbar-brand .navbar-link {
+ color: #fff;
+}
+
+.navbar.is-primary .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active,
+.navbar.is-primary .navbar-brand .navbar-link:focus,
+.navbar.is-primary .navbar-brand .navbar-link:hover,
+.navbar.is-primary .navbar-brand .navbar-link.is-active {
+ background-color: #00b89c;
+ color: #fff;
+}
+
+.navbar.is-primary .navbar-brand .navbar-link::after {
+ border-color: #fff;
+}
+
+.navbar.is-primary .navbar-burger {
+ color: #fff;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-primary .navbar-start > .navbar-item,
+ .navbar.is-primary .navbar-start .navbar-link,
+ .navbar.is-primary .navbar-end > .navbar-item,
+ .navbar.is-primary .navbar-end .navbar-link {
+ color: #fff;
+ }
+ .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-start .navbar-link:focus,
+ .navbar.is-primary .navbar-start .navbar-link:hover,
+ .navbar.is-primary .navbar-start .navbar-link.is-active,
+ .navbar.is-primary .navbar-end > a.navbar-item:focus,
+ .navbar.is-primary .navbar-end > a.navbar-item:hover,
+ .navbar.is-primary .navbar-end > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-end .navbar-link:focus,
+ .navbar.is-primary .navbar-end .navbar-link:hover,
+ .navbar.is-primary .navbar-end .navbar-link.is-active {
+ background-color: #00b89c;
+ color: #fff;
+ }
+ .navbar.is-primary .navbar-start .navbar-link::after,
+ .navbar.is-primary .navbar-end .navbar-link::after {
+ border-color: #fff;
+ }
+ .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #00b89c;
+ color: #fff;
+ }
+ .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
+ background-color: #00d1b2;
+ color: #fff;
+ }
+}
+
+.navbar.is-link {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.navbar.is-link .navbar-brand > .navbar-item,
+.navbar.is-link .navbar-brand .navbar-link {
+ color: #fff;
+}
+
+.navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
+.navbar.is-link .navbar-brand .navbar-link:focus,
+.navbar.is-link .navbar-brand .navbar-link:hover,
+.navbar.is-link .navbar-brand .navbar-link.is-active {
+ background-color: #2366d1;
+ color: #fff;
+}
+
+.navbar.is-link .navbar-brand .navbar-link::after {
+ border-color: #fff;
+}
+
+.navbar.is-link .navbar-burger {
+ color: #fff;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-link .navbar-start > .navbar-item,
+ .navbar.is-link .navbar-start .navbar-link,
+ .navbar.is-link .navbar-end > .navbar-item,
+ .navbar.is-link .navbar-end .navbar-link {
+ color: #fff;
+ }
+ .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
+ .navbar.is-link .navbar-start .navbar-link:focus,
+ .navbar.is-link .navbar-start .navbar-link:hover,
+ .navbar.is-link .navbar-start .navbar-link.is-active,
+ .navbar.is-link .navbar-end > a.navbar-item:focus,
+ .navbar.is-link .navbar-end > a.navbar-item:hover,
+ .navbar.is-link .navbar-end > a.navbar-item.is-active,
+ .navbar.is-link .navbar-end .navbar-link:focus,
+ .navbar.is-link .navbar-end .navbar-link:hover,
+ .navbar.is-link .navbar-end .navbar-link.is-active {
+ background-color: #2366d1;
+ color: #fff;
+ }
+ .navbar.is-link .navbar-start .navbar-link::after,
+ .navbar.is-link .navbar-end .navbar-link::after {
+ border-color: #fff;
+ }
+ .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #2366d1;
+ color: #fff;
+ }
+ .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
+ background-color: #3273dc;
+ color: #fff;
+ }
+}
+
+.navbar.is-info {
+ background-color: #209cee;
+ color: #fff;
+}
+
+.navbar.is-info .navbar-brand > .navbar-item,
+.navbar.is-info .navbar-brand .navbar-link {
+ color: #fff;
+}
+
+.navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
+.navbar.is-info .navbar-brand .navbar-link:focus,
+.navbar.is-info .navbar-brand .navbar-link:hover,
+.navbar.is-info .navbar-brand .navbar-link.is-active {
+ background-color: #118fe4;
+ color: #fff;
+}
+
+.navbar.is-info .navbar-brand .navbar-link::after {
+ border-color: #fff;
+}
+
+.navbar.is-info .navbar-burger {
+ color: #fff;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-info .navbar-start > .navbar-item,
+ .navbar.is-info .navbar-start .navbar-link,
+ .navbar.is-info .navbar-end > .navbar-item,
+ .navbar.is-info .navbar-end .navbar-link {
+ color: #fff;
+ }
+ .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
+ .navbar.is-info .navbar-start .navbar-link:focus,
+ .navbar.is-info .navbar-start .navbar-link:hover,
+ .navbar.is-info .navbar-start .navbar-link.is-active,
+ .navbar.is-info .navbar-end > a.navbar-item:focus,
+ .navbar.is-info .navbar-end > a.navbar-item:hover,
+ .navbar.is-info .navbar-end > a.navbar-item.is-active,
+ .navbar.is-info .navbar-end .navbar-link:focus,
+ .navbar.is-info .navbar-end .navbar-link:hover,
+ .navbar.is-info .navbar-end .navbar-link.is-active {
+ background-color: #118fe4;
+ color: #fff;
+ }
+ .navbar.is-info .navbar-start .navbar-link::after,
+ .navbar.is-info .navbar-end .navbar-link::after {
+ border-color: #fff;
+ }
+ .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #118fe4;
+ color: #fff;
+ }
+ .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
+ background-color: #209cee;
+ color: #fff;
+ }
+}
+
+.navbar.is-success {
+ background-color: #23d160;
+ color: #fff;
+}
+
+.navbar.is-success .navbar-brand > .navbar-item,
+.navbar.is-success .navbar-brand .navbar-link {
+ color: #fff;
+}
+
+.navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
+.navbar.is-success .navbar-brand .navbar-link:focus,
+.navbar.is-success .navbar-brand .navbar-link:hover,
+.navbar.is-success .navbar-brand .navbar-link.is-active {
+ background-color: #20bc56;
+ color: #fff;
+}
+
+.navbar.is-success .navbar-brand .navbar-link::after {
+ border-color: #fff;
+}
+
+.navbar.is-success .navbar-burger {
+ color: #fff;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-success .navbar-start > .navbar-item,
+ .navbar.is-success .navbar-start .navbar-link,
+ .navbar.is-success .navbar-end > .navbar-item,
+ .navbar.is-success .navbar-end .navbar-link {
+ color: #fff;
+ }
+ .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
+ .navbar.is-success .navbar-start .navbar-link:focus,
+ .navbar.is-success .navbar-start .navbar-link:hover,
+ .navbar.is-success .navbar-start .navbar-link.is-active,
+ .navbar.is-success .navbar-end > a.navbar-item:focus,
+ .navbar.is-success .navbar-end > a.navbar-item:hover,
+ .navbar.is-success .navbar-end > a.navbar-item.is-active,
+ .navbar.is-success .navbar-end .navbar-link:focus,
+ .navbar.is-success .navbar-end .navbar-link:hover,
+ .navbar.is-success .navbar-end .navbar-link.is-active {
+ background-color: #20bc56;
+ color: #fff;
+ }
+ .navbar.is-success .navbar-start .navbar-link::after,
+ .navbar.is-success .navbar-end .navbar-link::after {
+ border-color: #fff;
+ }
+ .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #20bc56;
+ color: #fff;
+ }
+ .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
+ background-color: #23d160;
+ color: #fff;
+ }
+}
+
+.navbar.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar.is-warning .navbar-brand > .navbar-item,
+.navbar.is-warning .navbar-brand .navbar-link {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
+.navbar.is-warning .navbar-brand .navbar-link:focus,
+.navbar.is-warning .navbar-brand .navbar-link:hover,
+.navbar.is-warning .navbar-brand .navbar-link.is-active {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar.is-warning .navbar-brand .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar.is-warning .navbar-burger {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-warning .navbar-start > .navbar-item,
+ .navbar.is-warning .navbar-start .navbar-link,
+ .navbar.is-warning .navbar-end > .navbar-item,
+ .navbar.is-warning .navbar-end .navbar-link {
+ color: rgba(0, 0, 0, 0.7);
+ }
+ .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-start .navbar-link:focus,
+ .navbar.is-warning .navbar-start .navbar-link:hover,
+ .navbar.is-warning .navbar-start .navbar-link.is-active,
+ .navbar.is-warning .navbar-end > a.navbar-item:focus,
+ .navbar.is-warning .navbar-end > a.navbar-item:hover,
+ .navbar.is-warning .navbar-end > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-end .navbar-link:focus,
+ .navbar.is-warning .navbar-end .navbar-link:hover,
+ .navbar.is-warning .navbar-end .navbar-link.is-active {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7);
+ }
+ .navbar.is-warning .navbar-start .navbar-link::after,
+ .navbar.is-warning .navbar-end .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7);
+ }
+ .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7);
+ }
+ .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+ }
+}
+
+.navbar.is-danger {
+ background-color: #ff3860;
+ color: #fff;
+}
+
+.navbar.is-danger .navbar-brand > .navbar-item,
+.navbar.is-danger .navbar-brand .navbar-link {
+ color: #fff;
+}
+
+.navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
+.navbar.is-danger .navbar-brand .navbar-link:focus,
+.navbar.is-danger .navbar-brand .navbar-link:hover,
+.navbar.is-danger .navbar-brand .navbar-link.is-active {
+ background-color: #ff1f4b;
+ color: #fff;
+}
+
+.navbar.is-danger .navbar-brand .navbar-link::after {
+ border-color: #fff;
+}
+
+.navbar.is-danger .navbar-burger {
+ color: #fff;
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar.is-danger .navbar-start > .navbar-item,
+ .navbar.is-danger .navbar-start .navbar-link,
+ .navbar.is-danger .navbar-end > .navbar-item,
+ .navbar.is-danger .navbar-end .navbar-link {
+ color: #fff;
+ }
+ .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-start .navbar-link:focus,
+ .navbar.is-danger .navbar-start .navbar-link:hover,
+ .navbar.is-danger .navbar-start .navbar-link.is-active,
+ .navbar.is-danger .navbar-end > a.navbar-item:focus,
+ .navbar.is-danger .navbar-end > a.navbar-item:hover,
+ .navbar.is-danger .navbar-end > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-end .navbar-link:focus,
+ .navbar.is-danger .navbar-end .navbar-link:hover,
+ .navbar.is-danger .navbar-end .navbar-link.is-active {
+ background-color: #ff1f4b;
+ color: #fff;
+ }
+ .navbar.is-danger .navbar-start .navbar-link::after,
+ .navbar.is-danger .navbar-end .navbar-link::after {
+ border-color: #fff;
+ }
+ .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #ff1f4b;
+ color: #fff;
+ }
+ .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
+ background-color: #ff3860;
+ color: #fff;
+ }
+}
+
+.navbar > .container {
+ align-items: stretch;
+ display: flex;
+ min-height: 3.25rem;
+ width: 100%;
+}
+
+.navbar.has-shadow {
+ box-shadow: 0 2px 0 0 whitesmoke;
+}
+
+.navbar.is-fixed-bottom, .navbar.is-fixed-top {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30;
+}
+
+.navbar.is-fixed-bottom {
+ bottom: 0;
+}
+
+.navbar.is-fixed-bottom.has-shadow {
+ box-shadow: 0 -2px 0 0 whitesmoke;
+}
+
+.navbar.is-fixed-top {
+ top: 0;
+}
+
+html.has-navbar-fixed-top,
+body.has-navbar-fixed-top {
+ padding-top: 3.25rem;
+}
+
+html.has-navbar-fixed-bottom,
+body.has-navbar-fixed-bottom {
+ padding-bottom: 3.25rem;
+}
+
+.navbar-brand,
+.navbar-tabs {
+ align-items: stretch;
+ display: flex;
+ flex-shrink: 0;
+ min-height: 3.25rem;
+}
+
+.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
+ background-color: transparent;
+}
+
+.navbar-tabs {
+ -webkit-overflow-scrolling: touch;
+ max-width: 100vw;
+ overflow-x: auto;
+ overflow-y: hidden;
+}
+
+.navbar-burger {
+ color: #4a4a4a;
+ cursor: pointer;
+ display: block;
+ height: 3.25rem;
+ position: relative;
+ width: 3.25rem;
+ margin-left: auto;
+}
+
+.navbar-burger span {
+ background-color: currentColor;
+ display: block;
+ height: 1px;
+ left: calc(50% - 8px);
+ position: absolute;
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ transition-duration: 86ms;
+ transition-property: background-color, opacity, -webkit-transform;
+ transition-property: background-color, opacity, transform;
+ transition-property: background-color, opacity, transform, -webkit-transform;
+ transition-timing-function: ease-out;
+ width: 16px;
+}
+
+.navbar-burger span:nth-child(1) {
+ top: calc(50% - 6px);
+}
+
+.navbar-burger span:nth-child(2) {
+ top: calc(50% - 1px);
+}
+
+.navbar-burger span:nth-child(3) {
+ top: calc(50% + 4px);
+}
+
+.navbar-burger:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.navbar-burger.is-active span:nth-child(1) {
+ -webkit-transform: translateY(5px) rotate(45deg);
+ transform: translateY(5px) rotate(45deg);
+}
+
+.navbar-burger.is-active span:nth-child(2) {
+ opacity: 0;
+}
+
+.navbar-burger.is-active span:nth-child(3) {
+ -webkit-transform: translateY(-5px) rotate(-45deg);
+ transform: translateY(-5px) rotate(-45deg);
+}
+
+.navbar-menu {
+ display: none;
+}
+
+.navbar-item,
+.navbar-link {
+ color: #4a4a4a;
+ display: block;
+ line-height: 1.5;
+ padding: 0.5rem 0.75rem;
+ position: relative;
+}
+
+.navbar-item .icon:only-child,
+.navbar-link .icon:only-child {
+ margin-left: -0.25rem;
+ margin-right: -0.25rem;
+}
+
+a.navbar-item,
+.navbar-link {
+ cursor: pointer;
+}
+
+a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
+.navbar-link:focus,
+.navbar-link:focus-within,
+.navbar-link:hover,
+.navbar-link.is-active {
+ background-color: #fafafa;
+ color: #3273dc;
+}
+
+.navbar-item {
+ display: block;
+ flex-grow: 0;
+ flex-shrink: 0;
+}
+
+.navbar-item img {
+ max-height: 1.75rem;
+}
+
+.navbar-item.has-dropdown {
+ padding: 0;
+}
+
+.navbar-item.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.navbar-item.is-tab {
+ border-bottom: 1px solid transparent;
+ min-height: 3.25rem;
+ padding-bottom: calc(0.5rem - 1px);
+}
+
+.navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
+ background-color: transparent;
+ border-bottom-color: #3273dc;
+}
+
+.navbar-item.is-tab.is-active {
+ background-color: transparent;
+ border-bottom-color: #3273dc;
+ border-bottom-style: solid;
+ border-bottom-width: 3px;
+ color: #3273dc;
+ padding-bottom: calc(0.5rem - 3px);
+}
+
+.navbar-content {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.navbar-link:not(.is-arrowless) {
+ padding-right: 2.5em;
+}
+
+.navbar-link:not(.is-arrowless)::after {
+ border-color: #3273dc;
+ margin-top: -0.375em;
+ right: 1.125em;
+}
+
+.navbar-dropdown {
+ font-size: 0.875rem;
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem;
+}
+
+.navbar-dropdown .navbar-item {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+}
+
+.navbar-divider {
+ background-color: whitesmoke;
+ border: none;
+ display: none;
+ height: 2px;
+ margin: 0.5rem 0;
+}
+
+@media screen and (max-width: 1023px) {
+ .navbar > .container {
+ display: block;
+ }
+ .navbar-brand .navbar-item,
+ .navbar-tabs .navbar-item {
+ align-items: center;
+ display: flex;
+ }
+ .navbar-link::after {
+ display: none;
+ }
+ .navbar-menu {
+ background-color: white;
+ box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
+ padding: 0.5rem 0;
+ }
+ .navbar-menu.is-active {
+ display: block;
+ }
+ .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30;
+ }
+ .navbar.is-fixed-bottom-touch {
+ bottom: 0;
+ }
+ .navbar.is-fixed-bottom-touch.has-shadow {
+ box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
+ }
+ .navbar.is-fixed-top-touch {
+ top: 0;
+ }
+ .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
+ -webkit-overflow-scrolling: touch;
+ max-height: calc(100vh - 3.25rem);
+ overflow: auto;
+ }
+ html.has-navbar-fixed-top-touch,
+ body.has-navbar-fixed-top-touch {
+ padding-top: 3.25rem;
+ }
+ html.has-navbar-fixed-bottom-touch,
+ body.has-navbar-fixed-bottom-touch {
+ padding-bottom: 3.25rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar,
+ .navbar-menu,
+ .navbar-start,
+ .navbar-end {
+ align-items: stretch;
+ display: flex;
+ }
+ .navbar {
+ min-height: 3.25rem;
+ }
+ .navbar.is-spaced {
+ padding: 1rem 2rem;
+ }
+ .navbar.is-spaced .navbar-start,
+ .navbar.is-spaced .navbar-end {
+ align-items: center;
+ }
+ .navbar.is-spaced a.navbar-item,
+ .navbar.is-spaced .navbar-link {
+ border-radius: 4px;
+ }
+ .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
+ .navbar.is-transparent .navbar-link:focus,
+ .navbar.is-transparent .navbar-link:hover,
+ .navbar.is-transparent .navbar-link.is-active {
+ background-color: transparent !important;
+ }
+ .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
+ background-color: transparent !important;
+ }
+ .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
+ background-color: whitesmoke;
+ color: #0a0a0a;
+ }
+ .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #3273dc;
+ }
+ .navbar-burger {
+ display: none;
+ }
+ .navbar-item,
+ .navbar-link {
+ align-items: center;
+ display: flex;
+ }
+ .navbar-item {
+ display: flex;
+ }
+ .navbar-item.has-dropdown {
+ align-items: stretch;
+ }
+ .navbar-item.has-dropdown-up .navbar-link::after {
+ -webkit-transform: rotate(135deg) translate(0.25em, -0.25em);
+ transform: rotate(135deg) translate(0.25em, -0.25em);
+ }
+ .navbar-item.has-dropdown-up .navbar-dropdown {
+ border-bottom: 2px solid #dbdbdb;
+ border-radius: 6px 6px 0 0;
+ border-top: none;
+ bottom: 100%;
+ box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
+ top: auto;
+ }
+ .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
+ display: block;
+ }
+ .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
+ opacity: 1;
+ pointer-events: auto;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+ .navbar-menu {
+ flex-grow: 1;
+ flex-shrink: 0;
+ }
+ .navbar-start {
+ justify-content: flex-start;
+ margin-right: auto;
+ }
+ .navbar-end {
+ justify-content: flex-end;
+ margin-left: auto;
+ }
+ .navbar-dropdown {
+ background-color: white;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ border-top: 2px solid #dbdbdb;
+ box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
+ display: none;
+ font-size: 0.875rem;
+ left: 0;
+ min-width: 100%;
+ position: absolute;
+ top: 100%;
+ z-index: 20;
+ }
+ .navbar-dropdown .navbar-item {
+ padding: 0.375rem 1rem;
+ white-space: nowrap;
+ }
+ .navbar-dropdown a.navbar-item {
+ padding-right: 3rem;
+ }
+ .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
+ background-color: whitesmoke;
+ color: #0a0a0a;
+ }
+ .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #3273dc;
+ }
+ .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
+ border-radius: 6px;
+ border-top: none;
+ box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ display: block;
+ opacity: 0;
+ pointer-events: none;
+ top: calc(100% + (-4px));
+ -webkit-transform: translateY(-5px);
+ transform: translateY(-5px);
+ transition-duration: 86ms;
+ transition-property: opacity, -webkit-transform;
+ transition-property: opacity, transform;
+ transition-property: opacity, transform, -webkit-transform;
+ }
+ .navbar-dropdown.is-right {
+ left: auto;
+ right: 0;
+ }
+ .navbar-divider {
+ display: block;
+ }
+ .navbar > .container .navbar-brand,
+ .container > .navbar .navbar-brand {
+ margin-left: -.75rem;
+ }
+ .navbar > .container .navbar-menu,
+ .container > .navbar .navbar-menu {
+ margin-right: -.75rem;
+ }
+ .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30;
+ }
+ .navbar.is-fixed-bottom-desktop {
+ bottom: 0;
+ }
+ .navbar.is-fixed-bottom-desktop.has-shadow {
+ box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
+ }
+ .navbar.is-fixed-top-desktop {
+ top: 0;
+ }
+ html.has-navbar-fixed-top-desktop,
+ body.has-navbar-fixed-top-desktop {
+ padding-top: 3.25rem;
+ }
+ html.has-navbar-fixed-bottom-desktop,
+ body.has-navbar-fixed-bottom-desktop {
+ padding-bottom: 3.25rem;
+ }
+ html.has-spaced-navbar-fixed-top,
+ body.has-spaced-navbar-fixed-top {
+ padding-top: 5.25rem;
+ }
+ html.has-spaced-navbar-fixed-bottom,
+ body.has-spaced-navbar-fixed-bottom {
+ padding-bottom: 5.25rem;
+ }
+ a.navbar-item.is-active,
+ .navbar-link.is-active {
+ color: #0a0a0a;
+ }
+ a.navbar-item.is-active:not(:focus):not(:hover),
+ .navbar-link.is-active:not(:focus):not(:hover) {
+ background-color: transparent;
+ }
+ .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #fafafa;
+ }
+}
+
+.hero.is-fullheight-with-navbar {
+ min-height: calc(100vh - 3.25rem);
+}
+
+.pagination {
+ font-size: 1rem;
+ margin: -0.25rem;
+}
+
+.pagination.is-small {
+ font-size: 0.75rem;
+}
+
+.pagination.is-medium {
+ font-size: 1.25rem;
+}
+
+.pagination.is-large {
+ font-size: 1.5rem;
+}
+
+.pagination.is-rounded .pagination-previous,
+.pagination.is-rounded .pagination-next {
+ padding-left: 1em;
+ padding-right: 1em;
+ border-radius: 290486px;
+}
+
+.pagination.is-rounded .pagination-link {
+ border-radius: 290486px;
+}
+
+.pagination,
+.pagination-list {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ text-align: center;
+}
+
+.pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis {
+ font-size: 1em;
+ justify-content: center;
+ margin: 0.25rem;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ text-align: center;
+}
+
+.pagination-previous,
+.pagination-next,
+.pagination-link {
+ border-color: #dbdbdb;
+ color: #363636;
+ min-width: 2.25em;
+}
+
+.pagination-previous:hover,
+.pagination-next:hover,
+.pagination-link:hover {
+ border-color: #b5b5b5;
+ color: #363636;
+}
+
+.pagination-previous:focus,
+.pagination-next:focus,
+.pagination-link:focus {
+ border-color: #3273dc;
+}
+
+.pagination-previous:active,
+.pagination-next:active,
+.pagination-link:active {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
+}
+
+.pagination-previous[disabled],
+.pagination-next[disabled],
+.pagination-link[disabled] {
+ background-color: #dbdbdb;
+ border-color: #dbdbdb;
+ box-shadow: none;
+ color: #7a7a7a;
+ opacity: 0.5;
+}
+
+.pagination-previous,
+.pagination-next {
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ white-space: nowrap;
+}
+
+.pagination-link.is-current {
+ background-color: #3273dc;
+ border-color: #3273dc;
+ color: #fff;
+}
+
+.pagination-ellipsis {
+ color: #b5b5b5;
+ pointer-events: none;
+}
+
+.pagination-list {
+ flex-wrap: wrap;
+}
+
+@media screen and (max-width: 768px) {
+ .pagination {
+ flex-wrap: wrap;
+ }
+ .pagination-previous,
+ .pagination-next {
+ flex-grow: 1;
+ flex-shrink: 1;
+ }
+ .pagination-list li {
+ flex-grow: 1;
+ flex-shrink: 1;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .pagination-list {
+ flex-grow: 1;
+ flex-shrink: 1;
+ justify-content: flex-start;
+ order: 1;
+ }
+ .pagination-previous {
+ order: 2;
+ }
+ .pagination-next {
+ order: 3;
+ }
+ .pagination {
+ justify-content: space-between;
+ }
+ .pagination.is-centered .pagination-previous {
+ order: 1;
+ }
+ .pagination.is-centered .pagination-list {
+ justify-content: center;
+ order: 2;
+ }
+ .pagination.is-centered .pagination-next {
+ order: 3;
+ }
+ .pagination.is-right .pagination-previous {
+ order: 1;
+ }
+ .pagination.is-right .pagination-next {
+ order: 2;
+ }
+ .pagination.is-right .pagination-list {
+ justify-content: flex-end;
+ order: 3;
+ }
+}
+
+.panel {
+ font-size: 1rem;
+}
+
+.panel:not(:last-child) {
+ margin-bottom: 1.5rem;
+}
+
+.panel-heading,
+.panel-tabs,
+.panel-block {
+ border-bottom: 1px solid #dbdbdb;
+ border-left: 1px solid #dbdbdb;
+ border-right: 1px solid #dbdbdb;
+}
+
+.panel-heading:first-child,
+.panel-tabs:first-child,
+.panel-block:first-child {
+ border-top: 1px solid #dbdbdb;
+}
+
+.panel-heading {
+ background-color: whitesmoke;
+ border-radius: 4px 4px 0 0;
+ color: #363636;
+ font-size: 1.25em;
+ font-weight: 300;
+ line-height: 1.25;
+ padding: 0.5em 0.75em;
+}
+
+.panel-tabs {
+ align-items: flex-end;
+ display: flex;
+ font-size: 0.875em;
+ justify-content: center;
+}
+
+.panel-tabs a {
+ border-bottom: 1px solid #dbdbdb;
+ margin-bottom: -1px;
+ padding: 0.5em;
+}
+
+.panel-tabs a.is-active {
+ border-bottom-color: #4a4a4a;
+ color: #363636;
+}
+
+.panel-list a {
+ color: #4a4a4a;
+}
+
+.panel-list a:hover {
+ color: #3273dc;
+}
+
+.panel-block {
+ align-items: center;
+ color: #363636;
+ display: flex;
+ justify-content: flex-start;
+ padding: 0.5em 0.75em;
+}
+
+.panel-block input[type="checkbox"] {
+ margin-right: 0.75em;
+}
+
+.panel-block > .control {
+ flex-grow: 1;
+ flex-shrink: 1;
+ width: 100%;
+}
+
+.panel-block.is-wrapped {
+ flex-wrap: wrap;
+}
+
+.panel-block.is-active {
+ border-left-color: #3273dc;
+ color: #363636;
+}
+
+.panel-block.is-active .panel-icon {
+ color: #3273dc;
+}
+
+a.panel-block,
+label.panel-block {
+ cursor: pointer;
+}
+
+a.panel-block:hover,
+label.panel-block:hover {
+ background-color: whitesmoke;
+}
+
+.panel-icon {
+ display: inline-block;
+ font-size: 14px;
+ height: 1em;
+ line-height: 1em;
+ text-align: center;
+ vertical-align: top;
+ width: 1em;
+ color: #7a7a7a;
+ margin-right: 0.75em;
+}
+
+.panel-icon .fa {
+ font-size: inherit;
+ line-height: inherit;
+}
+
+.tabs {
+ -webkit-overflow-scrolling: touch;
+ align-items: stretch;
+ display: flex;
+ font-size: 1rem;
+ justify-content: space-between;
+ overflow: hidden;
+ overflow-x: auto;
+ white-space: nowrap;
+}
+
+.tabs a {
+ align-items: center;
+ border-bottom-color: #dbdbdb;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ color: #4a4a4a;
+ display: flex;
+ justify-content: center;
+ margin-bottom: -1px;
+ padding: 0.5em 1em;
+ vertical-align: top;
+}
+
+.tabs a:hover {
+ border-bottom-color: #363636;
+ color: #363636;
+}
+
+.tabs li {
+ display: block;
+}
+
+.tabs li.is-active a {
+ border-bottom-color: #3273dc;
+ color: #3273dc;
+}
+
+.tabs ul {
+ align-items: center;
+ border-bottom-color: #dbdbdb;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ display: flex;
+ flex-grow: 1;
+ flex-shrink: 0;
+ justify-content: flex-start;
+}
+
+.tabs ul.is-left {
+ padding-right: 0.75em;
+}
+
+.tabs ul.is-center {
+ flex: none;
+ justify-content: center;
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+}
+
+.tabs ul.is-right {
+ justify-content: flex-end;
+ padding-left: 0.75em;
+}
+
+.tabs .icon:first-child {
+ margin-right: 0.5em;
+}
+
+.tabs .icon:last-child {
+ margin-left: 0.5em;
+}
+
+.tabs.is-centered ul {
+ justify-content: center;
+}
+
+.tabs.is-right ul {
+ justify-content: flex-end;
+}
+
+.tabs.is-boxed a {
+ border: 1px solid transparent;
+ border-radius: 4px 4px 0 0;
+}
+
+.tabs.is-boxed a:hover {
+ background-color: whitesmoke;
+ border-bottom-color: #dbdbdb;
+}
+
+.tabs.is-boxed li.is-active a {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-bottom-color: transparent !important;
+}
+
+.tabs.is-fullwidth li {
+ flex-grow: 1;
+ flex-shrink: 0;
+}
+
+.tabs.is-toggle a {
+ border-color: #dbdbdb;
+ border-style: solid;
+ border-width: 1px;
+ margin-bottom: 0;
+ position: relative;
+}
+
+.tabs.is-toggle a:hover {
+ background-color: whitesmoke;
+ border-color: #b5b5b5;
+ z-index: 2;
+}
+
+.tabs.is-toggle li + li {
+ margin-left: -1px;
+}
+
+.tabs.is-toggle li:first-child a {
+ border-radius: 4px 0 0 4px;
+}
+
+.tabs.is-toggle li:last-child a {
+ border-radius: 0 4px 4px 0;
+}
+
+.tabs.is-toggle li.is-active a {
+ background-color: #3273dc;
+ border-color: #3273dc;
+ color: #fff;
+ z-index: 1;
+}
+
+.tabs.is-toggle ul {
+ border-bottom: none;
+}
+
+.tabs.is-toggle.is-toggle-rounded li:first-child a {
+ border-bottom-left-radius: 290486px;
+ border-top-left-radius: 290486px;
+ padding-left: 1.25em;
+}
+
+.tabs.is-toggle.is-toggle-rounded li:last-child a {
+ border-bottom-right-radius: 290486px;
+ border-top-right-radius: 290486px;
+ padding-right: 1.25em;
+}
+
+.tabs.is-small {
+ font-size: 0.75rem;
+}
+
+.tabs.is-medium {
+ font-size: 1.25rem;
+}
+
+.tabs.is-large {
+ font-size: 1.5rem;
+}
+
+.column {
+ display: block;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 1;
+ padding: 0.75rem;
+}
+
+.columns.is-mobile > .column.is-narrow {
+ flex: none;
+}
+
+.columns.is-mobile > .column.is-full {
+ flex: none;
+ width: 100%;
+}
+
+.columns.is-mobile > .column.is-three-quarters {
+ flex: none;
+ width: 75%;
+}
+
+.columns.is-mobile > .column.is-two-thirds {
+ flex: none;
+ width: 66.6666%;
+}
+
+.columns.is-mobile > .column.is-half {
+ flex: none;
+ width: 50%;
+}
+
+.columns.is-mobile > .column.is-one-third {
+ flex: none;
+ width: 33.3333%;
+}
+
+.columns.is-mobile > .column.is-one-quarter {
+ flex: none;
+ width: 25%;
+}
+
+.columns.is-mobile > .column.is-one-fifth {
+ flex: none;
+ width: 20%;
+}
+
+.columns.is-mobile > .column.is-two-fifths {
+ flex: none;
+ width: 40%;
+}
+
+.columns.is-mobile > .column.is-three-fifths {
+ flex: none;
+ width: 60%;
+}
+
+.columns.is-mobile > .column.is-four-fifths {
+ flex: none;
+ width: 80%;
+}
+
+.columns.is-mobile > .column.is-offset-three-quarters {
+ margin-left: 75%;
+}
+
+.columns.is-mobile > .column.is-offset-two-thirds {
+ margin-left: 66.6666%;
+}
+
+.columns.is-mobile > .column.is-offset-half {
+ margin-left: 50%;
+}
+
+.columns.is-mobile > .column.is-offset-one-third {
+ margin-left: 33.3333%;
+}
+
+.columns.is-mobile > .column.is-offset-one-quarter {
+ margin-left: 25%;
+}
+
+.columns.is-mobile > .column.is-offset-one-fifth {
+ margin-left: 20%;
+}
+
+.columns.is-mobile > .column.is-offset-two-fifths {
+ margin-left: 40%;
+}
+
+.columns.is-mobile > .column.is-offset-three-fifths {
+ margin-left: 60%;
+}
+
+.columns.is-mobile > .column.is-offset-four-fifths {
+ margin-left: 80%;
+}
+
+.columns.is-mobile > .column.is-0 {
+ flex: none;
+ width: 0%;
+}
+
+.columns.is-mobile > .column.is-offset-0 {
+ margin-left: 0%;
+}
+
+.columns.is-mobile > .column.is-1 {
+ flex: none;
+ width: 8.33333%;
+}
+
+.columns.is-mobile > .column.is-offset-1 {
+ margin-left: 8.33333%;
+}
+
+.columns.is-mobile > .column.is-2 {
+ flex: none;
+ width: 16.66667%;
+}
+
+.columns.is-mobile > .column.is-offset-2 {
+ margin-left: 16.66667%;
+}
+
+.columns.is-mobile > .column.is-3 {
+ flex: none;
+ width: 25%;
+}
+
+.columns.is-mobile > .column.is-offset-3 {
+ margin-left: 25%;
+}
+
+.columns.is-mobile > .column.is-4 {
+ flex: none;
+ width: 33.33333%;
+}
+
+.columns.is-mobile > .column.is-offset-4 {
+ margin-left: 33.33333%;
+}
+
+.columns.is-mobile > .column.is-5 {
+ flex: none;
+ width: 41.66667%;
+}
+
+.columns.is-mobile > .column.is-offset-5 {
+ margin-left: 41.66667%;
+}
+
+.columns.is-mobile > .column.is-6 {
+ flex: none;
+ width: 50%;
+}
+
+.columns.is-mobile > .column.is-offset-6 {
+ margin-left: 50%;
+}
+
+.columns.is-mobile > .column.is-7 {
+ flex: none;
+ width: 58.33333%;
+}
+
+.columns.is-mobile > .column.is-offset-7 {
+ margin-left: 58.33333%;
+}
+
+.columns.is-mobile > .column.is-8 {
+ flex: none;
+ width: 66.66667%;
+}
+
+.columns.is-mobile > .column.is-offset-8 {
+ margin-left: 66.66667%;
+}
+
+.columns.is-mobile > .column.is-9 {
+ flex: none;
+ width: 75%;
+}
+
+.columns.is-mobile > .column.is-offset-9 {
+ margin-left: 75%;
+}
+
+.columns.is-mobile > .column.is-10 {
+ flex: none;
+ width: 83.33333%;
+}
+
+.columns.is-mobile > .column.is-offset-10 {
+ margin-left: 83.33333%;
+}
+
+.columns.is-mobile > .column.is-11 {
+ flex: none;
+ width: 91.66667%;
+}
+
+.columns.is-mobile > .column.is-offset-11 {
+ margin-left: 91.66667%;
+}
+
+.columns.is-mobile > .column.is-12 {
+ flex: none;
+ width: 100%;
+}
+
+.columns.is-mobile > .column.is-offset-12 {
+ margin-left: 100%;
+}
+
+@media screen and (max-width: 768px) {
+ .column.is-narrow-mobile {
+ flex: none;
+ }
+ .column.is-full-mobile {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-three-quarters-mobile {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-two-thirds-mobile {
+ flex: none;
+ width: 66.6666%;
+ }
+ .column.is-half-mobile {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-one-third-mobile {
+ flex: none;
+ width: 33.3333%;
+ }
+ .column.is-one-quarter-mobile {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-one-fifth-mobile {
+ flex: none;
+ width: 20%;
+ }
+ .column.is-two-fifths-mobile {
+ flex: none;
+ width: 40%;
+ }
+ .column.is-three-fifths-mobile {
+ flex: none;
+ width: 60%;
+ }
+ .column.is-four-fifths-mobile {
+ flex: none;
+ width: 80%;
+ }
+ .column.is-offset-three-quarters-mobile {
+ margin-left: 75%;
+ }
+ .column.is-offset-two-thirds-mobile {
+ margin-left: 66.6666%;
+ }
+ .column.is-offset-half-mobile {
+ margin-left: 50%;
+ }
+ .column.is-offset-one-third-mobile {
+ margin-left: 33.3333%;
+ }
+ .column.is-offset-one-quarter-mobile {
+ margin-left: 25%;
+ }
+ .column.is-offset-one-fifth-mobile {
+ margin-left: 20%;
+ }
+ .column.is-offset-two-fifths-mobile {
+ margin-left: 40%;
+ }
+ .column.is-offset-three-fifths-mobile {
+ margin-left: 60%;
+ }
+ .column.is-offset-four-fifths-mobile {
+ margin-left: 80%;
+ }
+ .column.is-0-mobile {
+ flex: none;
+ width: 0%;
+ }
+ .column.is-offset-0-mobile {
+ margin-left: 0%;
+ }
+ .column.is-1-mobile {
+ flex: none;
+ width: 8.33333%;
+ }
+ .column.is-offset-1-mobile {
+ margin-left: 8.33333%;
+ }
+ .column.is-2-mobile {
+ flex: none;
+ width: 16.66667%;
+ }
+ .column.is-offset-2-mobile {
+ margin-left: 16.66667%;
+ }
+ .column.is-3-mobile {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-offset-3-mobile {
+ margin-left: 25%;
+ }
+ .column.is-4-mobile {
+ flex: none;
+ width: 33.33333%;
+ }
+ .column.is-offset-4-mobile {
+ margin-left: 33.33333%;
+ }
+ .column.is-5-mobile {
+ flex: none;
+ width: 41.66667%;
+ }
+ .column.is-offset-5-mobile {
+ margin-left: 41.66667%;
+ }
+ .column.is-6-mobile {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-offset-6-mobile {
+ margin-left: 50%;
+ }
+ .column.is-7-mobile {
+ flex: none;
+ width: 58.33333%;
+ }
+ .column.is-offset-7-mobile {
+ margin-left: 58.33333%;
+ }
+ .column.is-8-mobile {
+ flex: none;
+ width: 66.66667%;
+ }
+ .column.is-offset-8-mobile {
+ margin-left: 66.66667%;
+ }
+ .column.is-9-mobile {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-offset-9-mobile {
+ margin-left: 75%;
+ }
+ .column.is-10-mobile {
+ flex: none;
+ width: 83.33333%;
+ }
+ .column.is-offset-10-mobile {
+ margin-left: 83.33333%;
+ }
+ .column.is-11-mobile {
+ flex: none;
+ width: 91.66667%;
+ }
+ .column.is-offset-11-mobile {
+ margin-left: 91.66667%;
+ }
+ .column.is-12-mobile {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-offset-12-mobile {
+ margin-left: 100%;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .column.is-narrow, .column.is-narrow-tablet {
+ flex: none;
+ }
+ .column.is-full, .column.is-full-tablet {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-three-quarters, .column.is-three-quarters-tablet {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-two-thirds, .column.is-two-thirds-tablet {
+ flex: none;
+ width: 66.6666%;
+ }
+ .column.is-half, .column.is-half-tablet {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-one-third, .column.is-one-third-tablet {
+ flex: none;
+ width: 33.3333%;
+ }
+ .column.is-one-quarter, .column.is-one-quarter-tablet {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-one-fifth, .column.is-one-fifth-tablet {
+ flex: none;
+ width: 20%;
+ }
+ .column.is-two-fifths, .column.is-two-fifths-tablet {
+ flex: none;
+ width: 40%;
+ }
+ .column.is-three-fifths, .column.is-three-fifths-tablet {
+ flex: none;
+ width: 60%;
+ }
+ .column.is-four-fifths, .column.is-four-fifths-tablet {
+ flex: none;
+ width: 80%;
+ }
+ .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
+ margin-left: 75%;
+ }
+ .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
+ margin-left: 66.6666%;
+ }
+ .column.is-offset-half, .column.is-offset-half-tablet {
+ margin-left: 50%;
+ }
+ .column.is-offset-one-third, .column.is-offset-one-third-tablet {
+ margin-left: 33.3333%;
+ }
+ .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
+ margin-left: 25%;
+ }
+ .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
+ margin-left: 20%;
+ }
+ .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
+ margin-left: 40%;
+ }
+ .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
+ margin-left: 60%;
+ }
+ .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
+ margin-left: 80%;
+ }
+ .column.is-0, .column.is-0-tablet {
+ flex: none;
+ width: 0%;
+ }
+ .column.is-offset-0, .column.is-offset-0-tablet {
+ margin-left: 0%;
+ }
+ .column.is-1, .column.is-1-tablet {
+ flex: none;
+ width: 8.33333%;
+ }
+ .column.is-offset-1, .column.is-offset-1-tablet {
+ margin-left: 8.33333%;
+ }
+ .column.is-2, .column.is-2-tablet {
+ flex: none;
+ width: 16.66667%;
+ }
+ .column.is-offset-2, .column.is-offset-2-tablet {
+ margin-left: 16.66667%;
+ }
+ .column.is-3, .column.is-3-tablet {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-offset-3, .column.is-offset-3-tablet {
+ margin-left: 25%;
+ }
+ .column.is-4, .column.is-4-tablet {
+ flex: none;
+ width: 33.33333%;
+ }
+ .column.is-offset-4, .column.is-offset-4-tablet {
+ margin-left: 33.33333%;
+ }
+ .column.is-5, .column.is-5-tablet {
+ flex: none;
+ width: 41.66667%;
+ }
+ .column.is-offset-5, .column.is-offset-5-tablet {
+ margin-left: 41.66667%;
+ }
+ .column.is-6, .column.is-6-tablet {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-offset-6, .column.is-offset-6-tablet {
+ margin-left: 50%;
+ }
+ .column.is-7, .column.is-7-tablet {
+ flex: none;
+ width: 58.33333%;
+ }
+ .column.is-offset-7, .column.is-offset-7-tablet {
+ margin-left: 58.33333%;
+ }
+ .column.is-8, .column.is-8-tablet {
+ flex: none;
+ width: 66.66667%;
+ }
+ .column.is-offset-8, .column.is-offset-8-tablet {
+ margin-left: 66.66667%;
+ }
+ .column.is-9, .column.is-9-tablet {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-offset-9, .column.is-offset-9-tablet {
+ margin-left: 75%;
+ }
+ .column.is-10, .column.is-10-tablet {
+ flex: none;
+ width: 83.33333%;
+ }
+ .column.is-offset-10, .column.is-offset-10-tablet {
+ margin-left: 83.33333%;
+ }
+ .column.is-11, .column.is-11-tablet {
+ flex: none;
+ width: 91.66667%;
+ }
+ .column.is-offset-11, .column.is-offset-11-tablet {
+ margin-left: 91.66667%;
+ }
+ .column.is-12, .column.is-12-tablet {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-offset-12, .column.is-offset-12-tablet {
+ margin-left: 100%;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .column.is-narrow-touch {
+ flex: none;
+ }
+ .column.is-full-touch {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-three-quarters-touch {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-two-thirds-touch {
+ flex: none;
+ width: 66.6666%;
+ }
+ .column.is-half-touch {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-one-third-touch {
+ flex: none;
+ width: 33.3333%;
+ }
+ .column.is-one-quarter-touch {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-one-fifth-touch {
+ flex: none;
+ width: 20%;
+ }
+ .column.is-two-fifths-touch {
+ flex: none;
+ width: 40%;
+ }
+ .column.is-three-fifths-touch {
+ flex: none;
+ width: 60%;
+ }
+ .column.is-four-fifths-touch {
+ flex: none;
+ width: 80%;
+ }
+ .column.is-offset-three-quarters-touch {
+ margin-left: 75%;
+ }
+ .column.is-offset-two-thirds-touch {
+ margin-left: 66.6666%;
+ }
+ .column.is-offset-half-touch {
+ margin-left: 50%;
+ }
+ .column.is-offset-one-third-touch {
+ margin-left: 33.3333%;
+ }
+ .column.is-offset-one-quarter-touch {
+ margin-left: 25%;
+ }
+ .column.is-offset-one-fifth-touch {
+ margin-left: 20%;
+ }
+ .column.is-offset-two-fifths-touch {
+ margin-left: 40%;
+ }
+ .column.is-offset-three-fifths-touch {
+ margin-left: 60%;
+ }
+ .column.is-offset-four-fifths-touch {
+ margin-left: 80%;
+ }
+ .column.is-0-touch {
+ flex: none;
+ width: 0%;
+ }
+ .column.is-offset-0-touch {
+ margin-left: 0%;
+ }
+ .column.is-1-touch {
+ flex: none;
+ width: 8.33333%;
+ }
+ .column.is-offset-1-touch {
+ margin-left: 8.33333%;
+ }
+ .column.is-2-touch {
+ flex: none;
+ width: 16.66667%;
+ }
+ .column.is-offset-2-touch {
+ margin-left: 16.66667%;
+ }
+ .column.is-3-touch {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-offset-3-touch {
+ margin-left: 25%;
+ }
+ .column.is-4-touch {
+ flex: none;
+ width: 33.33333%;
+ }
+ .column.is-offset-4-touch {
+ margin-left: 33.33333%;
+ }
+ .column.is-5-touch {
+ flex: none;
+ width: 41.66667%;
+ }
+ .column.is-offset-5-touch {
+ margin-left: 41.66667%;
+ }
+ .column.is-6-touch {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-offset-6-touch {
+ margin-left: 50%;
+ }
+ .column.is-7-touch {
+ flex: none;
+ width: 58.33333%;
+ }
+ .column.is-offset-7-touch {
+ margin-left: 58.33333%;
+ }
+ .column.is-8-touch {
+ flex: none;
+ width: 66.66667%;
+ }
+ .column.is-offset-8-touch {
+ margin-left: 66.66667%;
+ }
+ .column.is-9-touch {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-offset-9-touch {
+ margin-left: 75%;
+ }
+ .column.is-10-touch {
+ flex: none;
+ width: 83.33333%;
+ }
+ .column.is-offset-10-touch {
+ margin-left: 83.33333%;
+ }
+ .column.is-11-touch {
+ flex: none;
+ width: 91.66667%;
+ }
+ .column.is-offset-11-touch {
+ margin-left: 91.66667%;
+ }
+ .column.is-12-touch {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-offset-12-touch {
+ margin-left: 100%;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .column.is-narrow-desktop {
+ flex: none;
+ }
+ .column.is-full-desktop {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-three-quarters-desktop {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-two-thirds-desktop {
+ flex: none;
+ width: 66.6666%;
+ }
+ .column.is-half-desktop {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-one-third-desktop {
+ flex: none;
+ width: 33.3333%;
+ }
+ .column.is-one-quarter-desktop {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-one-fifth-desktop {
+ flex: none;
+ width: 20%;
+ }
+ .column.is-two-fifths-desktop {
+ flex: none;
+ width: 40%;
+ }
+ .column.is-three-fifths-desktop {
+ flex: none;
+ width: 60%;
+ }
+ .column.is-four-fifths-desktop {
+ flex: none;
+ width: 80%;
+ }
+ .column.is-offset-three-quarters-desktop {
+ margin-left: 75%;
+ }
+ .column.is-offset-two-thirds-desktop {
+ margin-left: 66.6666%;
+ }
+ .column.is-offset-half-desktop {
+ margin-left: 50%;
+ }
+ .column.is-offset-one-third-desktop {
+ margin-left: 33.3333%;
+ }
+ .column.is-offset-one-quarter-desktop {
+ margin-left: 25%;
+ }
+ .column.is-offset-one-fifth-desktop {
+ margin-left: 20%;
+ }
+ .column.is-offset-two-fifths-desktop {
+ margin-left: 40%;
+ }
+ .column.is-offset-three-fifths-desktop {
+ margin-left: 60%;
+ }
+ .column.is-offset-four-fifths-desktop {
+ margin-left: 80%;
+ }
+ .column.is-0-desktop {
+ flex: none;
+ width: 0%;
+ }
+ .column.is-offset-0-desktop {
+ margin-left: 0%;
+ }
+ .column.is-1-desktop {
+ flex: none;
+ width: 8.33333%;
+ }
+ .column.is-offset-1-desktop {
+ margin-left: 8.33333%;
+ }
+ .column.is-2-desktop {
+ flex: none;
+ width: 16.66667%;
+ }
+ .column.is-offset-2-desktop {
+ margin-left: 16.66667%;
+ }
+ .column.is-3-desktop {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-offset-3-desktop {
+ margin-left: 25%;
+ }
+ .column.is-4-desktop {
+ flex: none;
+ width: 33.33333%;
+ }
+ .column.is-offset-4-desktop {
+ margin-left: 33.33333%;
+ }
+ .column.is-5-desktop {
+ flex: none;
+ width: 41.66667%;
+ }
+ .column.is-offset-5-desktop {
+ margin-left: 41.66667%;
+ }
+ .column.is-6-desktop {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-offset-6-desktop {
+ margin-left: 50%;
+ }
+ .column.is-7-desktop {
+ flex: none;
+ width: 58.33333%;
+ }
+ .column.is-offset-7-desktop {
+ margin-left: 58.33333%;
+ }
+ .column.is-8-desktop {
+ flex: none;
+ width: 66.66667%;
+ }
+ .column.is-offset-8-desktop {
+ margin-left: 66.66667%;
+ }
+ .column.is-9-desktop {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-offset-9-desktop {
+ margin-left: 75%;
+ }
+ .column.is-10-desktop {
+ flex: none;
+ width: 83.33333%;
+ }
+ .column.is-offset-10-desktop {
+ margin-left: 83.33333%;
+ }
+ .column.is-11-desktop {
+ flex: none;
+ width: 91.66667%;
+ }
+ .column.is-offset-11-desktop {
+ margin-left: 91.66667%;
+ }
+ .column.is-12-desktop {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-offset-12-desktop {
+ margin-left: 100%;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .column.is-narrow-widescreen {
+ flex: none;
+ }
+ .column.is-full-widescreen {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-three-quarters-widescreen {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-two-thirds-widescreen {
+ flex: none;
+ width: 66.6666%;
+ }
+ .column.is-half-widescreen {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-one-third-widescreen {
+ flex: none;
+ width: 33.3333%;
+ }
+ .column.is-one-quarter-widescreen {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-one-fifth-widescreen {
+ flex: none;
+ width: 20%;
+ }
+ .column.is-two-fifths-widescreen {
+ flex: none;
+ width: 40%;
+ }
+ .column.is-three-fifths-widescreen {
+ flex: none;
+ width: 60%;
+ }
+ .column.is-four-fifths-widescreen {
+ flex: none;
+ width: 80%;
+ }
+ .column.is-offset-three-quarters-widescreen {
+ margin-left: 75%;
+ }
+ .column.is-offset-two-thirds-widescreen {
+ margin-left: 66.6666%;
+ }
+ .column.is-offset-half-widescreen {
+ margin-left: 50%;
+ }
+ .column.is-offset-one-third-widescreen {
+ margin-left: 33.3333%;
+ }
+ .column.is-offset-one-quarter-widescreen {
+ margin-left: 25%;
+ }
+ .column.is-offset-one-fifth-widescreen {
+ margin-left: 20%;
+ }
+ .column.is-offset-two-fifths-widescreen {
+ margin-left: 40%;
+ }
+ .column.is-offset-three-fifths-widescreen {
+ margin-left: 60%;
+ }
+ .column.is-offset-four-fifths-widescreen {
+ margin-left: 80%;
+ }
+ .column.is-0-widescreen {
+ flex: none;
+ width: 0%;
+ }
+ .column.is-offset-0-widescreen {
+ margin-left: 0%;
+ }
+ .column.is-1-widescreen {
+ flex: none;
+ width: 8.33333%;
+ }
+ .column.is-offset-1-widescreen {
+ margin-left: 8.33333%;
+ }
+ .column.is-2-widescreen {
+ flex: none;
+ width: 16.66667%;
+ }
+ .column.is-offset-2-widescreen {
+ margin-left: 16.66667%;
+ }
+ .column.is-3-widescreen {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-offset-3-widescreen {
+ margin-left: 25%;
+ }
+ .column.is-4-widescreen {
+ flex: none;
+ width: 33.33333%;
+ }
+ .column.is-offset-4-widescreen {
+ margin-left: 33.33333%;
+ }
+ .column.is-5-widescreen {
+ flex: none;
+ width: 41.66667%;
+ }
+ .column.is-offset-5-widescreen {
+ margin-left: 41.66667%;
+ }
+ .column.is-6-widescreen {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-offset-6-widescreen {
+ margin-left: 50%;
+ }
+ .column.is-7-widescreen {
+ flex: none;
+ width: 58.33333%;
+ }
+ .column.is-offset-7-widescreen {
+ margin-left: 58.33333%;
+ }
+ .column.is-8-widescreen {
+ flex: none;
+ width: 66.66667%;
+ }
+ .column.is-offset-8-widescreen {
+ margin-left: 66.66667%;
+ }
+ .column.is-9-widescreen {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-offset-9-widescreen {
+ margin-left: 75%;
+ }
+ .column.is-10-widescreen {
+ flex: none;
+ width: 83.33333%;
+ }
+ .column.is-offset-10-widescreen {
+ margin-left: 83.33333%;
+ }
+ .column.is-11-widescreen {
+ flex: none;
+ width: 91.66667%;
+ }
+ .column.is-offset-11-widescreen {
+ margin-left: 91.66667%;
+ }
+ .column.is-12-widescreen {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-offset-12-widescreen {
+ margin-left: 100%;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .column.is-narrow-fullhd {
+ flex: none;
+ }
+ .column.is-full-fullhd {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-three-quarters-fullhd {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-two-thirds-fullhd {
+ flex: none;
+ width: 66.6666%;
+ }
+ .column.is-half-fullhd {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-one-third-fullhd {
+ flex: none;
+ width: 33.3333%;
+ }
+ .column.is-one-quarter-fullhd {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-one-fifth-fullhd {
+ flex: none;
+ width: 20%;
+ }
+ .column.is-two-fifths-fullhd {
+ flex: none;
+ width: 40%;
+ }
+ .column.is-three-fifths-fullhd {
+ flex: none;
+ width: 60%;
+ }
+ .column.is-four-fifths-fullhd {
+ flex: none;
+ width: 80%;
+ }
+ .column.is-offset-three-quarters-fullhd {
+ margin-left: 75%;
+ }
+ .column.is-offset-two-thirds-fullhd {
+ margin-left: 66.6666%;
+ }
+ .column.is-offset-half-fullhd {
+ margin-left: 50%;
+ }
+ .column.is-offset-one-third-fullhd {
+ margin-left: 33.3333%;
+ }
+ .column.is-offset-one-quarter-fullhd {
+ margin-left: 25%;
+ }
+ .column.is-offset-one-fifth-fullhd {
+ margin-left: 20%;
+ }
+ .column.is-offset-two-fifths-fullhd {
+ margin-left: 40%;
+ }
+ .column.is-offset-three-fifths-fullhd {
+ margin-left: 60%;
+ }
+ .column.is-offset-four-fifths-fullhd {
+ margin-left: 80%;
+ }
+ .column.is-0-fullhd {
+ flex: none;
+ width: 0%;
+ }
+ .column.is-offset-0-fullhd {
+ margin-left: 0%;
+ }
+ .column.is-1-fullhd {
+ flex: none;
+ width: 8.33333%;
+ }
+ .column.is-offset-1-fullhd {
+ margin-left: 8.33333%;
+ }
+ .column.is-2-fullhd {
+ flex: none;
+ width: 16.66667%;
+ }
+ .column.is-offset-2-fullhd {
+ margin-left: 16.66667%;
+ }
+ .column.is-3-fullhd {
+ flex: none;
+ width: 25%;
+ }
+ .column.is-offset-3-fullhd {
+ margin-left: 25%;
+ }
+ .column.is-4-fullhd {
+ flex: none;
+ width: 33.33333%;
+ }
+ .column.is-offset-4-fullhd {
+ margin-left: 33.33333%;
+ }
+ .column.is-5-fullhd {
+ flex: none;
+ width: 41.66667%;
+ }
+ .column.is-offset-5-fullhd {
+ margin-left: 41.66667%;
+ }
+ .column.is-6-fullhd {
+ flex: none;
+ width: 50%;
+ }
+ .column.is-offset-6-fullhd {
+ margin-left: 50%;
+ }
+ .column.is-7-fullhd {
+ flex: none;
+ width: 58.33333%;
+ }
+ .column.is-offset-7-fullhd {
+ margin-left: 58.33333%;
+ }
+ .column.is-8-fullhd {
+ flex: none;
+ width: 66.66667%;
+ }
+ .column.is-offset-8-fullhd {
+ margin-left: 66.66667%;
+ }
+ .column.is-9-fullhd {
+ flex: none;
+ width: 75%;
+ }
+ .column.is-offset-9-fullhd {
+ margin-left: 75%;
+ }
+ .column.is-10-fullhd {
+ flex: none;
+ width: 83.33333%;
+ }
+ .column.is-offset-10-fullhd {
+ margin-left: 83.33333%;
+ }
+ .column.is-11-fullhd {
+ flex: none;
+ width: 91.66667%;
+ }
+ .column.is-offset-11-fullhd {
+ margin-left: 91.66667%;
+ }
+ .column.is-12-fullhd {
+ flex: none;
+ width: 100%;
+ }
+ .column.is-offset-12-fullhd {
+ margin-left: 100%;
+ }
+}
+
+.columns {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+ margin-top: -0.75rem;
+}
+
+.columns:last-child {
+ margin-bottom: -0.75rem;
+}
+
+.columns:not(:last-child) {
+ margin-bottom: calc(1.5rem - 0.75rem);
+}
+
+.columns.is-centered {
+ justify-content: center;
+}
+
+.columns.is-gapless {
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: 0;
+}
+
+.columns.is-gapless > .column {
+ margin: 0;
+ padding: 0 !important;
+}
+
+.columns.is-gapless:not(:last-child) {
+ margin-bottom: 1.5rem;
+}
+
+.columns.is-gapless:last-child {
+ margin-bottom: 0;
+}
+
+.columns.is-mobile {
+ display: flex;
+}
+
+.columns.is-multiline {
+ flex-wrap: wrap;
+}
+
+.columns.is-vcentered {
+ align-items: center;
+}
+
+@media screen and (min-width: 769px), print {
+ .columns:not(.is-desktop) {
+ display: flex;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-desktop {
+ display: flex;
+ }
+}
+
+.columns.is-variable {
+ --columnGap: 0.75rem;
+ margin-left: calc(-1 * var(--columnGap));
+ margin-right: calc(-1 * var(--columnGap));
+}
+
+.columns.is-variable .column {
+ padding-left: var(--columnGap);
+ padding-right: var(--columnGap);
+}
+
+.columns.is-variable.is-0 {
+ --columnGap: 0rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-0-mobile {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-0-tablet {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-0-tablet-only {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-0-touch {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-0-desktop {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-0-desktop-only {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-0-widescreen {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-0-widescreen-only {
+ --columnGap: 0rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-0-fullhd {
+ --columnGap: 0rem;
+ }
+}
+
+.columns.is-variable.is-1 {
+ --columnGap: 0.25rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-1-mobile {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-1-tablet {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-1-tablet-only {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-1-touch {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-1-desktop {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-1-desktop-only {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-1-widescreen {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-1-widescreen-only {
+ --columnGap: 0.25rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-1-fullhd {
+ --columnGap: 0.25rem;
+ }
+}
+
+.columns.is-variable.is-2 {
+ --columnGap: 0.5rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-2-mobile {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-2-tablet {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-2-tablet-only {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-2-touch {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-2-desktop {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-2-desktop-only {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-2-widescreen {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-2-widescreen-only {
+ --columnGap: 0.5rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-2-fullhd {
+ --columnGap: 0.5rem;
+ }
+}
+
+.columns.is-variable.is-3 {
+ --columnGap: 0.75rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-3-mobile {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-3-tablet {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-3-tablet-only {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-3-touch {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-3-desktop {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-3-desktop-only {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-3-widescreen {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-3-widescreen-only {
+ --columnGap: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-3-fullhd {
+ --columnGap: 0.75rem;
+ }
+}
+
+.columns.is-variable.is-4 {
+ --columnGap: 1rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-4-mobile {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-4-tablet {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-4-tablet-only {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-4-touch {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-4-desktop {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-4-desktop-only {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-4-widescreen {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-4-widescreen-only {
+ --columnGap: 1rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-4-fullhd {
+ --columnGap: 1rem;
+ }
+}
+
+.columns.is-variable.is-5 {
+ --columnGap: 1.25rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-5-mobile {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-5-tablet {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-5-tablet-only {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-5-touch {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-5-desktop {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-5-desktop-only {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-5-widescreen {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-5-widescreen-only {
+ --columnGap: 1.25rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-5-fullhd {
+ --columnGap: 1.25rem;
+ }
+}
+
+.columns.is-variable.is-6 {
+ --columnGap: 1.5rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-6-mobile {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-6-tablet {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-6-tablet-only {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-6-touch {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-6-desktop {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-6-desktop-only {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-6-widescreen {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-6-widescreen-only {
+ --columnGap: 1.5rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-6-fullhd {
+ --columnGap: 1.5rem;
+ }
+}
+
+.columns.is-variable.is-7 {
+ --columnGap: 1.75rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-7-mobile {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-7-tablet {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-7-tablet-only {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-7-touch {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-7-desktop {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-7-desktop-only {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-7-widescreen {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-7-widescreen-only {
+ --columnGap: 1.75rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-7-fullhd {
+ --columnGap: 1.75rem;
+ }
+}
+
+.columns.is-variable.is-8 {
+ --columnGap: 2rem;
+}
+
+@media screen and (max-width: 768px) {
+ .columns.is-variable.is-8-mobile {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .columns.is-variable.is-8-tablet {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .columns.is-variable.is-8-tablet-only {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (max-width: 1023px) {
+ .columns.is-variable.is-8-touch {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .columns.is-variable.is-8-desktop {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .columns.is-variable.is-8-desktop-only {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 1216px) {
+ .columns.is-variable.is-8-widescreen {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-8-widescreen-only {
+ --columnGap: 2rem;
+ }
+}
+
+@media screen and (min-width: 1408px) {
+ .columns.is-variable.is-8-fullhd {
+ --columnGap: 2rem;
+ }
+}
+
+.tile {
+ align-items: stretch;
+ display: block;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 1;
+ min-height: -webkit-min-content;
+ min-height: -moz-min-content;
+ min-height: min-content;
+}
+
+.tile.is-ancestor {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+ margin-top: -0.75rem;
+}
+
+.tile.is-ancestor:last-child {
+ margin-bottom: -0.75rem;
+}
+
+.tile.is-ancestor:not(:last-child) {
+ margin-bottom: 0.75rem;
+}
+
+.tile.is-child {
+ margin: 0 !important;
+}
+
+.tile.is-parent {
+ padding: 0.75rem;
+}
+
+.tile.is-vertical {
+ flex-direction: column;
+}
+
+.tile.is-vertical > .tile.is-child:not(:last-child) {
+ margin-bottom: 1.5rem !important;
+}
+
+@media screen and (min-width: 769px), print {
+ .tile:not(.is-child) {
+ display: flex;
+ }
+ .tile.is-1 {
+ flex: none;
+ width: 8.33333%;
+ }
+ .tile.is-2 {
+ flex: none;
+ width: 16.66667%;
+ }
+ .tile.is-3 {
+ flex: none;
+ width: 25%;
+ }
+ .tile.is-4 {
+ flex: none;
+ width: 33.33333%;
+ }
+ .tile.is-5 {
+ flex: none;
+ width: 41.66667%;
+ }
+ .tile.is-6 {
+ flex: none;
+ width: 50%;
+ }
+ .tile.is-7 {
+ flex: none;
+ width: 58.33333%;
+ }
+ .tile.is-8 {
+ flex: none;
+ width: 66.66667%;
+ }
+ .tile.is-9 {
+ flex: none;
+ width: 75%;
+ }
+ .tile.is-10 {
+ flex: none;
+ width: 83.33333%;
+ }
+ .tile.is-11 {
+ flex: none;
+ width: 91.66667%;
+ }
+ .tile.is-12 {
+ flex: none;
+ width: 100%;
+ }
+}
+
+.hero {
+ align-items: stretch;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.hero .navbar {
+ background: none;
+}
+
+.hero .tabs ul {
+ border-bottom: none;
+}
+
+.hero.is-white {
+ background-color: white;
+ color: #0a0a0a;
+}
+
+.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-white strong {
+ color: inherit;
+}
+
+.hero.is-white .title {
+ color: #0a0a0a;
+}
+
+.hero.is-white .subtitle {
+ color: rgba(10, 10, 10, 0.9);
+}
+
+.hero.is-white .subtitle a:not(.button),
+.hero.is-white .subtitle strong {
+ color: #0a0a0a;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-white .navbar-menu {
+ background-color: white;
+ }
+}
+
+.hero.is-white .navbar-item,
+.hero.is-white .navbar-link {
+ color: rgba(10, 10, 10, 0.7);
+}
+
+.hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,
+.hero.is-white .navbar-link:hover,
+.hero.is-white .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a;
+}
+
+.hero.is-white .tabs a {
+ color: #0a0a0a;
+ opacity: 0.9;
+}
+
+.hero.is-white .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-white .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
+ color: #0a0a0a;
+}
+
+.hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white;
+}
+
+.hero.is-white.is-bold {
+ background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-white.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%);
+ }
+}
+
+.hero.is-black {
+ background-color: #0a0a0a;
+ color: white;
+}
+
+.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-black strong {
+ color: inherit;
+}
+
+.hero.is-black .title {
+ color: white;
+}
+
+.hero.is-black .subtitle {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.hero.is-black .subtitle a:not(.button),
+.hero.is-black .subtitle strong {
+ color: white;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-black .navbar-menu {
+ background-color: #0a0a0a;
+ }
+}
+
+.hero.is-black .navbar-item,
+.hero.is-black .navbar-link {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,
+.hero.is-black .navbar-link:hover,
+.hero.is-black .navbar-link.is-active {
+ background-color: black;
+ color: white;
+}
+
+.hero.is-black .tabs a {
+ color: white;
+ opacity: 0.9;
+}
+
+.hero.is-black .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-black .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
+ color: white;
+}
+
+.hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a;
+}
+
+.hero.is-black.is-bold {
+ background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-black.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%);
+ }
+}
+
+.hero.is-light {
+ background-color: whitesmoke;
+ color: #363636;
+}
+
+.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-light strong {
+ color: inherit;
+}
+
+.hero.is-light .title {
+ color: #363636;
+}
+
+.hero.is-light .subtitle {
+ color: rgba(54, 54, 54, 0.9);
+}
+
+.hero.is-light .subtitle a:not(.button),
+.hero.is-light .subtitle strong {
+ color: #363636;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-light .navbar-menu {
+ background-color: whitesmoke;
+ }
+}
+
+.hero.is-light .navbar-item,
+.hero.is-light .navbar-link {
+ color: rgba(54, 54, 54, 0.7);
+}
+
+.hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,
+.hero.is-light .navbar-link:hover,
+.hero.is-light .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: #363636;
+}
+
+.hero.is-light .tabs a {
+ color: #363636;
+ opacity: 0.9;
+}
+
+.hero.is-light .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-light .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
+ color: #363636;
+}
+
+.hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
+ background-color: #363636;
+ border-color: #363636;
+ color: whitesmoke;
+}
+
+.hero.is-light.is-bold {
+ background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-light.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%);
+ }
+}
+
+.hero.is-dark {
+ background-color: #363636;
+ color: whitesmoke;
+}
+
+.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-dark strong {
+ color: inherit;
+}
+
+.hero.is-dark .title {
+ color: whitesmoke;
+}
+
+.hero.is-dark .subtitle {
+ color: rgba(245, 245, 245, 0.9);
+}
+
+.hero.is-dark .subtitle a:not(.button),
+.hero.is-dark .subtitle strong {
+ color: whitesmoke;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-dark .navbar-menu {
+ background-color: #363636;
+ }
+}
+
+.hero.is-dark .navbar-item,
+.hero.is-dark .navbar-link {
+ color: rgba(245, 245, 245, 0.7);
+}
+
+.hero.is-dark a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active,
+.hero.is-dark .navbar-link:hover,
+.hero.is-dark .navbar-link.is-active {
+ background-color: #292929;
+ color: whitesmoke;
+}
+
+.hero.is-dark .tabs a {
+ color: whitesmoke;
+ opacity: 0.9;
+}
+
+.hero.is-dark .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-dark .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-dark .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a {
+ color: whitesmoke;
+}
+
+.hero.is-dark .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-dark .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: #363636;
+}
+
+.hero.is-dark.is-bold {
+ background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-dark.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%);
+ }
+}
+
+.hero.is-primary {
+ background-color: #00d1b2;
+ color: #fff;
+}
+
+.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-primary strong {
+ color: inherit;
+}
+
+.hero.is-primary .title {
+ color: #fff;
+}
+
+.hero.is-primary .subtitle {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.hero.is-primary .subtitle a:not(.button),
+.hero.is-primary .subtitle strong {
+ color: #fff;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-primary .navbar-menu {
+ background-color: #00d1b2;
+ }
+}
+
+.hero.is-primary .navbar-item,
+.hero.is-primary .navbar-link {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.hero.is-primary a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active,
+.hero.is-primary .navbar-link:hover,
+.hero.is-primary .navbar-link.is-active {
+ background-color: #00b89c;
+ color: #fff;
+}
+
+.hero.is-primary .tabs a {
+ color: #fff;
+ opacity: 0.9;
+}
+
+.hero.is-primary .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-primary .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-primary .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a {
+ color: #fff;
+}
+
+.hero.is-primary .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-primary .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #00d1b2;
+}
+
+.hero.is-primary.is-bold {
+ background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-primary.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%);
+ }
+}
+
+.hero.is-link {
+ background-color: #3273dc;
+ color: #fff;
+}
+
+.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-link strong {
+ color: inherit;
+}
+
+.hero.is-link .title {
+ color: #fff;
+}
+
+.hero.is-link .subtitle {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.hero.is-link .subtitle a:not(.button),
+.hero.is-link .subtitle strong {
+ color: #fff;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-link .navbar-menu {
+ background-color: #3273dc;
+ }
+}
+
+.hero.is-link .navbar-item,
+.hero.is-link .navbar-link {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
+.hero.is-link .navbar-link:hover,
+.hero.is-link .navbar-link.is-active {
+ background-color: #2366d1;
+ color: #fff;
+}
+
+.hero.is-link .tabs a {
+ color: #fff;
+ opacity: 0.9;
+}
+
+.hero.is-link .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-link .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {
+ color: #fff;
+}
+
+.hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #3273dc;
+}
+
+.hero.is-link.is-bold {
+ background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-link.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
+ }
+}
+
+.hero.is-info {
+ background-color: #209cee;
+ color: #fff;
+}
+
+.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-info strong {
+ color: inherit;
+}
+
+.hero.is-info .title {
+ color: #fff;
+}
+
+.hero.is-info .subtitle {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.hero.is-info .subtitle a:not(.button),
+.hero.is-info .subtitle strong {
+ color: #fff;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-info .navbar-menu {
+ background-color: #209cee;
+ }
+}
+
+.hero.is-info .navbar-item,
+.hero.is-info .navbar-link {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
+.hero.is-info .navbar-link:hover,
+.hero.is-info .navbar-link.is-active {
+ background-color: #118fe4;
+ color: #fff;
+}
+
+.hero.is-info .tabs a {
+ color: #fff;
+ opacity: 0.9;
+}
+
+.hero.is-info .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-info .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
+ color: #fff;
+}
+
+.hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #209cee;
+}
+
+.hero.is-info.is-bold {
+ background-image: linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-info.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%);
+ }
+}
+
+.hero.is-success {
+ background-color: #23d160;
+ color: #fff;
+}
+
+.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-success strong {
+ color: inherit;
+}
+
+.hero.is-success .title {
+ color: #fff;
+}
+
+.hero.is-success .subtitle {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.hero.is-success .subtitle a:not(.button),
+.hero.is-success .subtitle strong {
+ color: #fff;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-success .navbar-menu {
+ background-color: #23d160;
+ }
+}
+
+.hero.is-success .navbar-item,
+.hero.is-success .navbar-link {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,
+.hero.is-success .navbar-link:hover,
+.hero.is-success .navbar-link.is-active {
+ background-color: #20bc56;
+ color: #fff;
+}
+
+.hero.is-success .tabs a {
+ color: #fff;
+ opacity: 0.9;
+}
+
+.hero.is-success .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-success .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
+ color: #fff;
+}
+
+.hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #23d160;
+}
+
+.hero.is-success.is-bold {
+ background-image: linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-success.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%);
+ }
+}
+
+.hero.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-warning strong {
+ color: inherit;
+}
+
+.hero.is-warning .title {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.hero.is-warning .subtitle {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.hero.is-warning .subtitle a:not(.button),
+.hero.is-warning .subtitle strong {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-warning .navbar-menu {
+ background-color: #ffdd57;
+ }
+}
+
+.hero.is-warning .navbar-item,
+.hero.is-warning .navbar-link {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,
+.hero.is-warning .navbar-link:hover,
+.hero.is-warning .navbar-link.is-active {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.hero.is-warning .tabs a {
+ color: rgba(0, 0, 0, 0.7);
+ opacity: 0.9;
+}
+
+.hero.is-warning .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-warning .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
+ background-color: rgba(0, 0, 0, 0.7);
+ border-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57;
+}
+
+.hero.is-warning.is-bold {
+ background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-warning.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%);
+ }
+}
+
+.hero.is-danger {
+ background-color: #ff3860;
+ color: #fff;
+}
+
+.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+.hero.is-danger strong {
+ color: inherit;
+}
+
+.hero.is-danger .title {
+ color: #fff;
+}
+
+.hero.is-danger .subtitle {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.hero.is-danger .subtitle a:not(.button),
+.hero.is-danger .subtitle strong {
+ color: #fff;
+}
+
+@media screen and (max-width: 1023px) {
+ .hero.is-danger .navbar-menu {
+ background-color: #ff3860;
+ }
+}
+
+.hero.is-danger .navbar-item,
+.hero.is-danger .navbar-link {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+.hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,
+.hero.is-danger .navbar-link:hover,
+.hero.is-danger .navbar-link.is-active {
+ background-color: #ff1f4b;
+ color: #fff;
+}
+
+.hero.is-danger .tabs a {
+ color: #fff;
+ opacity: 0.9;
+}
+
+.hero.is-danger .tabs a:hover {
+ opacity: 1;
+}
+
+.hero.is-danger .tabs li.is-active a {
+ opacity: 1;
+}
+
+.hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
+ color: #fff;
+}
+
+.hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1);
+}
+
+.hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #ff3860;
+}
+
+.hero.is-danger.is-bold {
+ background-image: linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%);
+}
+
+@media screen and (max-width: 768px) {
+ .hero.is-danger.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%);
+ }
+}
+
+.hero.is-small .hero-body {
+ padding-bottom: 1.5rem;
+ padding-top: 1.5rem;
+}
+
+@media screen and (min-width: 769px), print {
+ .hero.is-medium .hero-body {
+ padding-bottom: 9rem;
+ padding-top: 9rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .hero.is-large .hero-body {
+ padding-bottom: 18rem;
+ padding-top: 18rem;
+ }
+}
+
+.hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {
+ align-items: center;
+ display: flex;
+}
+
+.hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {
+ flex-grow: 1;
+ flex-shrink: 1;
+}
+
+.hero.is-halfheight {
+ min-height: 50vh;
+}
+
+.hero.is-fullheight {
+ min-height: 100vh;
+}
+
+.hero-video {
+ overflow: hidden;
+}
+
+.hero-video video {
+ left: 50%;
+ min-height: 100%;
+ min-width: 100%;
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translate3d(-50%, -50%, 0);
+ transform: translate3d(-50%, -50%, 0);
+}
+
+.hero-video.is-transparent {
+ opacity: 0.3;
+}
+
+@media screen and (max-width: 768px) {
+ .hero-video {
+ display: none;
+ }
+}
+
+.hero-buttons {
+ margin-top: 1.5rem;
+}
+
+@media screen and (max-width: 768px) {
+ .hero-buttons .button {
+ display: flex;
+ }
+ .hero-buttons .button:not(:last-child) {
+ margin-bottom: 0.75rem;
+ }
+}
+
+@media screen and (min-width: 769px), print {
+ .hero-buttons {
+ display: flex;
+ justify-content: center;
+ }
+ .hero-buttons .button:not(:last-child) {
+ margin-right: 1.5rem;
+ }
+}
+
+.hero-head,
+.hero-foot {
+ flex-grow: 0;
+ flex-shrink: 0;
+}
+
+.hero-body {
+ flex-grow: 1;
+ flex-shrink: 0;
+ padding: 3rem 1.5rem;
+}
+
+.section {
+ padding: 3rem 1.5rem;
+}
+
+@media screen and (min-width: 1024px) {
+ .section.is-medium {
+ padding: 9rem 1.5rem;
+ }
+ .section.is-large {
+ padding: 18rem 1.5rem;
+ }
+}
+
+.footer {
+ background-color: #fafafa;
+ padding: 3rem 1.5rem 6rem;
+}
+/*# sourceMappingURL=bulma.css.map */ \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css.map b/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css.map
new file mode 100644
index 0000000000..33bb0c7776
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../bulma.sass","../sass/utilities/animations.sass","bulma.css","../sass/utilities/mixins.sass","../sass/utilities/initial-variables.sass","../sass/utilities/controls.sass","../sass/base/minireset.sass","../sass/base/generic.sass","../sass/base/helpers.sass","../sass/elements/box.sass","../sass/elements/button.sass","../sass/utilities/functions.sass","../sass/elements/container.sass","../sass/elements/content.sass","../sass/elements/icon.sass","../sass/elements/image.sass","../sass/elements/notification.sass","../sass/elements/progress.sass","../sass/elements/table.sass","../sass/elements/tag.sass","../sass/elements/title.sass","../sass/elements/other.sass","../sass/form/shared.sass","../sass/form/input-textarea.sass","../sass/form/checkbox-radio.sass","../sass/form/select.sass","../sass/form/file.sass","../sass/form/tools.sass","../sass/components/breadcrumb.sass","../sass/components/card.sass","../sass/components/dropdown.sass","../sass/components/level.sass","../sass/components/list.sass","../sass/components/media.sass","../sass/components/menu.sass","../sass/components/message.sass","../sass/components/modal.sass","../sass/components/navbar.sass","../sass/components/pagination.sass","../sass/components/panel.sass","../sass/components/tabs.sass","../sass/grid/columns.sass","../sass/grid/tiles.sass","../sass/layout/hero.sass","../sass/layout/section.sass","../sass/layout/footer.sass"],"names":[],"mappings":"AACA,6DAAA;ACDA;EACE;IACE,+BAAuB;YAAvB,uBAAuB;ECEzB;EDDA;IACE,iCAAyB;YAAzB,yBAAyB;ECG3B;AACF;ADRA;EACE;IACE,+BAAuB;YAAvB,uBAAuB;ECEzB;EDDA;IACE,iCAAyB;YAAzB,yBAAyB;ECG3B;AACF;;ACmIA;;;;EANE,2BAA2B;EAC3B,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;ADtHnB;;AC2IA;EAfE,6BAD8B;EAE9B,kBAAkB;EAClB,eAAe;EACf,aAAa;EACb,YAAY;EACZ,cAAc;EACd,eAAe;EACf,qBAAqB;EACrB,oBAAoB;EACpB,kBAAkB;EAClB,QAAQ;EACR,iCAAyB;UAAzB,yBAAyB;EACzB,gCAAwB;UAAxB,wBAAwB;EACxB,cAAc;ADxHhB;;AC8HE;;EACE,qBCpHkB;AFNtB;;ACiMA;EAhEE,qBAAqB;EACrB,wBAAwB;EACxB,uCC1K2B;ED2K3B,YAAY;EACZ,uBCxGuB;EDyGvB,eAAe;EACf,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,WAAW;AD7Hb;;AC8HE;EAEE,uBClL2B;EDmL3B,WAAW;EACX,cAAc;EACd,SAAS;EACT,kBAAkB;EAClB,QAAQ;EACR,kEAA0D;UAA1D,0DAA0D;EAC1D,uCAA+B;UAA/B,+BAA+B;AD5HnC;;AC6HE;EACE,WAAW;EACX,UAAU;AD1Hd;;AC2HE;EACE,WAAW;EACX,UAAU;ADxHd;;ACyHE;EAEE,uCC9MyB;AFuF7B;;ACwHE;EACE,uCChNyB;AF2F7B;;ACuHE;EACE,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,WAAW;ADpHf;;ACqHE;EACE,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,WAAW;ADlHf;;ACmHE;EACE,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,WAAW;ADhHf;;ACiIA;EAXE,mDAA2C;UAA3C,2CAA2C;EAC3C,yBCrO4B;EDsO5B,uBC1KuB;ED2KvB,+BAA+B;EAC/B,6BAA6B;EAC7B,WAAW;EACX,cAAc;EACd,WAAW;EACX,kBAAkB;EAClB,UAAU;ADlHZ;;AC8HA;;;;;;;;;;;;;;;;;EANE,SADuB;EAEvB,OAFuB;EAGvB,kBAAkB;EAClB,QAJuB;EAKvB,MALuB;AD/FzB;;AGtHA;;;;;EA3BE,qBAAqB;EACrB,wBAAwB;EACxB,mBAAmB;EACnB,6BAA+C;EAC/C,kBDoDU;ECnDV,gBAAgB;EAChB,oBAAoB;EACpB,eDiBW;EChBX,cAfqB;EAgBrB,2BAA2B;EAC3B,gBAhBuB;EAiBvB,mCAfiE;EAgBjE,iCAfmE;EAgBnE,kCAhBmE;EAiBnE,gCAlBiE;EAmBjE,kBAAkB;EAClB,mBAAmB;AHyJrB;;AGvJE;;;;;;;;;;;;;;;;;EAIE,aAAa;AHuKjB;;AGtKE;;;;;;;;;;;;;;;;EAEE,mBAAmB;AHuLvB;;AI5NA,0EAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;EAuBE,SAAS;EACT,UAAU;AJ8NZ;;AI3NA;;;;;;EAME,eAAe;EACf,mBAAmB;AJ8NrB;;AI3NA;EACE,gBAAgB;AJ8NlB;;AI3NA;;;;EAIE,SAAS;AJ8NX;;AI3NA;EACE,sBAAsB;AJ8NxB;;AI5NA;EAII,mBAAmB;AJ4NvB;;AIzNA;;;;;EAKE,YAAY;EACZ,eAAe;AJ4NjB;;AI1NA;EACE,eAAe;AJ6NjB;;AI1NA;EACE,SAAS;AJ6NX;;AI1NA;EACE,yBAAyB;EACzB,iBAAiB;AJ6NnB;;AI3NA;;EAEE,UAAU;AJ8NZ;;AIhOA;;EAII,gBAAgB;AJiOpB;;AInQA;EClBE,uBHlB6B;EGmB7B,eAhCc;EAiCd,kCAAkC;EAClC,mCAAmC;EACnC,gBAlCoB;EAmCpB,kBAhCsB;EAiCtB,kBAhCsB;EAiCtB,kCApCiC;EAqCjC,8BAAsB;KAAtB,2BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;ALyRxB;;AKvRA;;;;;;;EAOE,cAAc;AL0RhB;;AKxRA;;;;;EAKE,oLH7ByL;AFwT3L;;AKzRA;;EAEE,6BAA6B;EAC7B,4BAA4B;EAC5B,sBHlC0B;AF8T5B;;AK1RA;EACE,cH1D4B;EG2D5B,cAzDkB;EA0DlB,gBH3BiB;EG4BjB,gBAzDoB;ALsVtB;;AKzRA;EACE,cHpDgC;EGqDhC,eAAe;EACf,qBAAqB;AL4RvB;;AK/RA;EAKI,mBAAmB;AL8RvB;;AKnSA;EAOI,cHzE0B;AFyW9B;;AK9RA;EACE,4BHtE4B;EGuE5B,cH5DgC;EG6DhC,kBApEiB;EAqEjB,mBAtEkB;EAuElB,4BAxEgC;ALyWlC;;AK/RA;EACE,4BH7E4B;EG8E5B,YAAY;EACZ,cAAc;EACd,WAvEa;EAwEb,gBAvEkB;ALyWpB;;AKhSA;EACE,YAAY;EACZ,eAAe;ALmSjB;;AKjSA;;EAEE,wBAAwB;ALoS1B;;AKlSA;EACE,kBAtFuB;AL2XzB;;AKnSA;EACE,mBAAmB;EACnB,oBAAoB;ALsStB;;AKpSA;EACE,cHzG4B;EG0G5B,gBHrEe;AF4WjB;;AKnSA;EACE,YAAY;ALsSd;;AKpSA;EJzDE,iCAAiC;EI2DjC,4BH7G4B;EG8G5B,cHnH4B;EGoH5B,kBAhGqB;EAiGrB,gBAAgB;EAChB,uBAjG0B;EAkG1B,gBAAgB;EAChB,iBAAiB;ALuSnB;;AK/SA;EAUI,6BAA6B;EAC7B,mBAAmB;EACnB,cAtGoB;EAuGpB,UAAU;ALySd;;AKvSA;;EAGI,mBAAmB;ALySvB;;AK5SA;;EAKM,gBAAgB;AL4StB;;AKjTA;EAOI,cHvI0B;AFqb9B;;ACxbE;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AD2blB;;AM5bA;EACE,sBAAsB;AN+bxB;;AM7bA;EACE,uBAAuB;ANgczB;;AM5bA;EACE,2BAA2B;AN+b7B;;AMnbI;EACE,0BAA2B;ANsbjC;;AMvbI;EACE,4BAA2B;AN0bjC;;AM3bI;EACE,0BAA2B;AN8bjC;;AM/bI;EACE,4BAA2B;ANkcjC;;AMncI;EACE,6BAA2B;ANscjC;;AMvcI;EACE,0BAA2B;AN0cjC;;AM3cI;EACE,6BAA2B;AN8cjC;;ACxZE;EKvDE;IACE,0BAA2B;ENmd/B;EMpdE;IACE,4BAA2B;ENsd/B;EMvdE;IACE,0BAA2B;ENyd/B;EM1dE;IACE,4BAA2B;EN4d/B;EM7dE;IACE,6BAA2B;EN+d/B;EMheE;IACE,0BAA2B;ENke/B;EMneE;IACE,6BAA2B;ENqe/B;AACF;;AC5aE;EK3DE;IACE,0BAA2B;EN2e/B;EM5eE;IACE,4BAA2B;EN8e/B;EM/eE;IACE,0BAA2B;ENif/B;EMlfE;IACE,4BAA2B;ENof/B;EMrfE;IACE,6BAA2B;ENuf/B;EMxfE;IACE,0BAA2B;EN0f/B;EM3fE;IACE,6BAA2B;EN6f/B;AACF;;AC5bE;EKnEE;IACE,0BAA2B;ENmgB/B;EMpgBE;IACE,4BAA2B;ENsgB/B;EMvgBE;IACE,0BAA2B;ENygB/B;EM1gBE;IACE,4BAA2B;EN4gB/B;EM7gBE;IACE,6BAA2B;EN+gB/B;EMhhBE;IACE,0BAA2B;ENkhB/B;EMnhBE;IACE,6BAA2B;ENqhB/B;AACF;;AChdE;EKvEE;IACE,0BAA2B;EN2hB/B;EM5hBE;IACE,4BAA2B;EN8hB/B;EM/hBE;IACE,0BAA2B;ENiiB/B;EMliBE;IACE,4BAA2B;ENoiB/B;EMriBE;IACE,6BAA2B;ENuiB/B;EMxiBE;IACE,0BAA2B;EN0iB/B;EM3iBE;IACE,6BAA2B;EN6iB/B;AACF;;ACzdI;EKtFA;IACE,0BAA2B;ENmjB/B;EMpjBE;IACE,4BAA2B;ENsjB/B;EMvjBE;IACE,0BAA2B;ENyjB/B;EM1jBE;IACE,4BAA2B;EN4jB/B;EM7jBE;IACE,6BAA2B;EN+jB/B;EMhkBE;IACE,0BAA2B;ENkkB/B;EMnkBE;IACE,6BAA2B;ENqkB/B;AACF;;ACleI;EKrGA;IACE,0BAA2B;EN2kB/B;EM5kBE;IACE,4BAA2B;EN8kB/B;EM/kBE;IACE,0BAA2B;ENilB/B;EMllBE;IACE,4BAA2B;ENolB/B;EMrlBE;IACE,6BAA2B;ENulB/B;EMxlBE;IACE,0BAA2B;EN0lB/B;EM3lBE;IACE,6BAA2B;EN6lB/B;AACF;;AMrkBE;EACE,6BAAqC;ANwkBzC;;AMzkBE;EACE,8BAAqC;AN4kBzC;;AM7kBE;EACE,2BAAqC;ANglBzC;;AMjlBE;EACE,4BAAqC;ANolBzC;;ACxjBE;EKxBE;IACE,6BAAqC;ENolBzC;AACF;;AC1jBE;EKzBE;IACE,6BAAqC;ENulBzC;AACF;;AC5jBE;EK1BE;IACE,6BAAqC;EN0lBzC;AACF;;AC9jBE;EK3BE;IACE,6BAAqC;EN6lBzC;AACF;;AChkBE;EK5BE;IACE,6BAAqC;ENgmBzC;AACF;;ACjkBI;EK9BA;IACE,6BAAqC;ENmmBzC;AACF;;AC7jBI;EKrCA;IACE,6BAAqC;ENsmBzC;AACF;;AC9jBI;EKvCA;IACE,6BAAqC;ENymBzC;AACF;;AC1jBI;EK9CA;IACE,6BAAqC;EN4mBzC;AACF;;AC9mBE;EKxBE;IACE,8BAAqC;EN0oBzC;AACF;;AChnBE;EKzBE;IACE,8BAAqC;EN6oBzC;AACF;;AClnBE;EK1BE;IACE,8BAAqC;ENgpBzC;AACF;;ACpnBE;EK3BE;IACE,8BAAqC;ENmpBzC;AACF;;ACtnBE;EK5BE;IACE,8BAAqC;ENspBzC;AACF;;ACvnBI;EK9BA;IACE,8BAAqC;ENypBzC;AACF;;ACnnBI;EKrCA;IACE,8BAAqC;EN4pBzC;AACF;;ACpnBI;EKvCA;IACE,8BAAqC;EN+pBzC;AACF;;AChnBI;EK9CA;IACE,8BAAqC;ENkqBzC;AACF;;ACpqBE;EKxBE;IACE,2BAAqC;ENgsBzC;AACF;;ACtqBE;EKzBE;IACE,2BAAqC;ENmsBzC;AACF;;ACxqBE;EK1BE;IACE,2BAAqC;ENssBzC;AACF;;AC1qBE;EK3BE;IACE,2BAAqC;ENysBzC;AACF;;AC5qBE;EK5BE;IACE,2BAAqC;EN4sBzC;AACF;;AC7qBI;EK9BA;IACE,2BAAqC;EN+sBzC;AACF;;ACzqBI;EKrCA;IACE,2BAAqC;ENktBzC;AACF;;AC1qBI;EKvCA;IACE,2BAAqC;ENqtBzC;AACF;;ACtqBI;EK9CA;IACE,2BAAqC;ENwtBzC;AACF;;AC1tBE;EKxBE;IACE,4BAAqC;ENsvBzC;AACF;;AC5tBE;EKzBE;IACE,4BAAqC;ENyvBzC;AACF;;AC9tBE;EK1BE;IACE,4BAAqC;EN4vBzC;AACF;;AChuBE;EK3BE;IACE,4BAAqC;EN+vBzC;AACF;;ACluBE;EK5BE;IACE,4BAAqC;ENkwBzC;AACF;;ACnuBI;EK9BA;IACE,4BAAqC;ENqwBzC;AACF;;AC/tBI;EKrCA;IACE,4BAAqC;ENwwBzC;AACF;;AChuBI;EKvCA;IACE,4BAAqC;EN2wBzC;AACF;;AC5tBI;EK9CA;IACE,4BAAqC;EN8wBzC;AACF;;AM7wBA;EACE,qCAAqC;ANgxBvC;;AM9wBA;EACE,oCAAoC;ANixBtC;;AM/wBA;EACE,oCAAoC;ANkxBtC;;AMhxBA;EACE,6BAA6B;ANmxB/B;;AM/wBE;EACE,uBAAwB;ANkxB5B;;AMjxBE;EAGI,yBAAqC;ANkxB3C;;AMjxBE;EACE,kCAAmC;ANoxBvC;;AM3xBE;EACE,yBAAwB;AN8xB5B;;AM7xBE;EAGI,uBAAqC;AN8xB3C;;AM7xBE;EACE,oCAAmC;ANgyBvC;;AMvyBE;EACE,4BAAwB;AN0yB5B;;AMzyBE;EAGI,yBAAqC;AN0yB3C;;AMzyBE;EACE,uCAAmC;AN4yBvC;;AMnzBE;EACE,yBAAwB;ANszB5B;;AMrzBE;EAGI,yBAAqC;ANszB3C;;AMrzBE;EACE,oCAAmC;ANwzBvC;;AM/zBE;EACE,yBAAwB;ANk0B5B;;AMj0BE;EAGI,yBAAqC;ANk0B3C;;AMj0BE;EACE,oCAAmC;ANo0BvC;;AM30BE;EACE,yBAAwB;AN80B5B;;AM70BE;EAGI,yBAAqC;AN80B3C;;AM70BE;EACE,oCAAmC;ANg1BvC;;AMv1BE;EACE,yBAAwB;AN01B5B;;AMz1BE;EAGI,yBAAqC;AN01B3C;;AMz1BE;EACE,oCAAmC;AN41BvC;;AMn2BE;EACE,yBAAwB;ANs2B5B;;AMr2BE;EAGI,yBAAqC;ANs2B3C;;AMr2BE;EACE,oCAAmC;ANw2BvC;;AM/2BE;EACE,yBAAwB;ANk3B5B;;AMj3BE;EAGI,yBAAqC;ANk3B3C;;AMj3BE;EACE,oCAAmC;ANo3BvC;;AM33BE;EACE,yBAAwB;AN83B5B;;AM73BE;EAGI,yBAAqC;AN83B3C;;AM73BE;EACE,oCAAmC;ANg4BvC;;AM73BE;EACE,yBAAwB;ANg4B5B;;AM/3BE;EACE,oCAAmC;ANk4BvC;;AMr4BE;EACE,yBAAwB;ANw4B5B;;AMv4BE;EACE,oCAAmC;AN04BvC;;AM74BE;EACE,yBAAwB;ANg5B5B;;AM/4BE;EACE,oCAAmC;ANk5BvC;;AMr5BE;EACE,yBAAwB;ANw5B5B;;AMv5BE;EACE,oCAAmC;AN05BvC;;AM75BE;EACE,yBAAwB;ANg6B5B;;AM/5BE;EACE,oCAAmC;ANk6BvC;;AMr6BE;EACE,yBAAwB;ANw6B5B;;AMv6BE;EACE,oCAAmC;AN06BvC;;AM76BE;EACE,yBAAwB;ANg7B5B;;AM/6BE;EACE,oCAAmC;ANk7BvC;;AMr7BE;EACE,4BAAwB;ANw7B5B;;AMv7BE;EACE,uCAAmC;AN07BvC;;AM77BE;EACE,yBAAwB;ANg8B5B;;AM/7BE;EACE,oCAAmC;ANk8BvC;;AMh8BA;EACE,2BAAqC;ANm8BvC;;AMl8BA;EACE,2BAAsC;ANq8BxC;;AMp8BA;EACE,2BAAsC;ANu8BxC;;AMt8BA;EACE,2BAAwC;ANy8B1C;;AMx8BA;EACE,2BAAoC;AN28BtC;;AMz8BA;EACE,+LAAuC;AN48BzC;;AM18BA;EACE,+LAAyC;AN68B3C;;AM38BA;EACE,+LAA0C;AN88B5C;;AM58BA;EACE,iCAAyC;AN+8B3C;;AM78BA;EACE,iCAAoC;ANg9BtC;;AMz8BE;EACE,yBAA+B;AN48BnC;;AC5gCE;EKkEE;IACE,yBAA+B;EN88BnC;AACF;;AC9gCE;EKiEE;IACE,yBAA+B;ENi9BnC;AACF;;AChhCE;EKgEE;IACE,yBAA+B;ENo9BnC;AACF;;AClhCE;EK+DE;IACE,yBAA+B;ENu9BnC;AACF;;ACphCE;EK8DE;IACE,yBAA+B;EN09BnC;AACF;;ACrhCI;EK4DA;IACE,yBAA+B;EN69BnC;AACF;;ACjhCI;EKqDA;IACE,yBAA+B;ENg+BnC;AACF;;AClhCI;EKmDA;IACE,yBAA+B;ENm+BnC;AACF;;AC9gCI;EK4CA;IACE,yBAA+B;ENs+BnC;AACF;;AMngCE;EACE,wBAA+B;ANsgCnC;;ACtkCE;EKkEE;IACE,wBAA+B;ENwgCnC;AACF;;ACxkCE;EKiEE;IACE,wBAA+B;EN2gCnC;AACF;;AC1kCE;EKgEE;IACE,wBAA+B;EN8gCnC;AACF;;AC5kCE;EK+DE;IACE,wBAA+B;ENihCnC;AACF;;AC9kCE;EK8DE;IACE,wBAA+B;ENohCnC;AACF;;AC/kCI;EK4DA;IACE,wBAA+B;ENuhCnC;AACF;;AC3kCI;EKqDA;IACE,wBAA+B;EN0hCnC;AACF;;AC5kCI;EKmDA;IACE,wBAA+B;EN6hCnC;AACF;;ACxkCI;EK4CA;IACE,wBAA+B;ENgiCnC;AACF;;AM7jCE;EACE,0BAA+B;ANgkCnC;;AChoCE;EKkEE;IACE,0BAA+B;ENkkCnC;AACF;;ACloCE;EKiEE;IACE,0BAA+B;ENqkCnC;AACF;;ACpoCE;EKgEE;IACE,0BAA+B;ENwkCnC;AACF;;ACtoCE;EK+DE;IACE,0BAA+B;EN2kCnC;AACF;;ACxoCE;EK8DE;IACE,0BAA+B;EN8kCnC;AACF;;ACzoCI;EK4DA;IACE,0BAA+B;ENilCnC;AACF;;ACroCI;EKqDA;IACE,0BAA+B;ENolCnC;AACF;;ACtoCI;EKmDA;IACE,0BAA+B;ENulCnC;AACF;;ACloCI;EK4CA;IACE,0BAA+B;EN0lCnC;AACF;;AMvnCE;EACE,gCAA+B;AN0nCnC;;AC1rCE;EKkEE;IACE,gCAA+B;EN4nCnC;AACF;;AC5rCE;EKiEE;IACE,gCAA+B;EN+nCnC;AACF;;AC9rCE;EKgEE;IACE,gCAA+B;ENkoCnC;AACF;;AChsCE;EK+DE;IACE,gCAA+B;ENqoCnC;AACF;;AClsCE;EK8DE;IACE,gCAA+B;ENwoCnC;AACF;;ACnsCI;EK4DA;IACE,gCAA+B;EN2oCnC;AACF;;AC/rCI;EKqDA;IACE,gCAA+B;EN8oCnC;AACF;;AChsCI;EKmDA;IACE,gCAA+B;ENipCnC;AACF;;AC5rCI;EK4CA;IACE,gCAA+B;ENopCnC;AACF;;AMjrCE;EACE,+BAA+B;ANorCnC;;ACpvCE;EKkEE;IACE,+BAA+B;ENsrCnC;AACF;;ACtvCE;EKiEE;IACE,+BAA+B;ENyrCnC;AACF;;ACxvCE;EKgEE;IACE,+BAA+B;EN4rCnC;AACF;;AC1vCE;EK+DE;IACE,+BAA+B;EN+rCnC;AACF;;AC5vCE;EK8DE;IACE,+BAA+B;ENksCnC;AACF;;AC7vCI;EK4DA;IACE,+BAA+B;ENqsCnC;AACF;;ACzvCI;EKqDA;IACE,+BAA+B;ENwsCnC;AACF;;AC1vCI;EKmDA;IACE,+BAA+B;EN2sCnC;AACF;;ACtvCI;EK4CA;IACE,+BAA+B;EN8sCnC;AACF;;AM7sCA;EACE,wBAAwB;ANgtC1B;;AM9sCA;EACE,uBAAuB;EACvB,iCAAiC;EACjC,yBAAyB;EACzB,2BAA2B;EAC3B,qBAAqB;EACrB,6BAA6B;EAC7B,8BAA8B;EAC9B,wBAAwB;ANitC1B;;ACzzCE;EK2GA;IACE,wBAAwB;ENktC1B;AACF;;AC3zCE;EK2GA;IACE,wBAAwB;ENotC1B;AACF;;AC7zCE;EK2GA;IACE,wBAAwB;ENstC1B;AACF;;AC/zCE;EK2GA;IACE,wBAAwB;ENwtC1B;AACF;;ACj0CE;EK2GA;IACE,wBAAwB;EN0tC1B;AACF;;ACl0CI;EK0GF;IACE,wBAAwB;EN4tC1B;AACF;;AC9zCI;EKoGF;IACE,wBAAwB;EN8tC1B;AACF;;AC/zCI;EKmGF;IACE,wBAAwB;ENguC1B;AACF;;AC3zCI;EK6FF;IACE,wBAAwB;ENkuC1B;AACF;;AMjuCA;EACE,6BAA6B;ANouC/B;;ACn3CE;EKkJA;IACE,6BAA6B;ENquC/B;AACF;;ACr3CE;EKkJA;IACE,6BAA6B;ENuuC/B;AACF;;ACv3CE;EKkJA;IACE,6BAA6B;ENyuC/B;AACF;;ACz3CE;EKkJA;IACE,6BAA6B;EN2uC/B;AACF;;AC33CE;EKkJA;IACE,6BAA6B;EN6uC/B;AACF;;AC53CI;EKiJF;IACE,6BAA6B;EN+uC/B;AACF;;ACx3CI;EK2IF;IACE,6BAA6B;ENivC/B;AACF;;ACz3CI;EK0IF;IACE,6BAA6B;ENmvC/B;AACF;;ACr3CI;EKoIF;IACE,6BAA6B;ENqvC/B;AACF;;AMlvCA;EACE,oBAAoB;ANqvCtB;;AMnvCA;EACE,qBAAqB;ANsvCvB;;AMpvCA;EACE,2BAA2B;ANuvC7B;;AMrvCA;EACE,2BAA2B;ANwvC7B;;AMnvCA;EACE,6BAA6B;ANsvC/B;;AOrgDA;EAEE,uBLG6B;EKF7B,kBLyDgB;EKxDhB,4ELX2B;EKY3B,cLP4B;EKQ5B,cAAc;EACd,gBAZmB;APmhDrB;;AOrgDA;EAGI,8DLA8B;AFsgDlC;;AOzgDA;EAKI,oELF8B;AF0gDlC;;AQl/CA;EAGE,uBNlC6B;EMmC7B,qBNvC4B;EMwC5B,iBL/CwB;EKgDxB,cN7C4B;EM8C5B,eAAe;EAGf,uBAAuB;EACvB,mCAjD+D;EAkD/D,oBAjDgC;EAkDhC,qBAlDgC;EAmDhC,gCApD+D;EAqD/D,kBAAkB;EAClB,mBAAmB;ARi/CrB;;AQjgDA;EAkBI,cAAc;ARm/ClB;;AQrgDA;EAwBM,aAAa;EACb,YAAY;ARi/ClB;;AQ1gDA;EA2BM,iCAAqD;EACrD,sBAAsB;ARm/C5B;;AQ/gDA;EA8BM,qBAAqB;EACrB,kCAAsD;ARq/C5D;;AQphDA;EAiCM,iCAAqD;EACrD,kCAAsD;ARu/C5D;;AQzhDA;EAsCI,qBN1E0B;EM2E1B,cN9E0B;AFqkD9B;;AQ9hDA;EA0CI,qBNlE8B;EMmE9B,cNlF0B;AF0kD9B;;AQniDA;EA6CM,kDNrE4B;AF+jDlC;;AQviDA;EAgDI,qBNtF0B;EMuF1B,cNxF0B;AFmlD9B;;AQ5iDA;EAoDI,6BAA6B;EAC7B,yBAAyB;EACzB,cN5F0B;EM6F1B,0BAA0B;AR4/C9B;;AQnjDA;EA4DM,4BN7FwB;EM8FxB,cNpGwB;AF+lD9B;;AQxjDA;EAgEM,yBAAiE;EACjE,cNxGwB;AFomD9B;;AQ7jDA;;EAoEM,6BAA6B;EAC7B,yBAAyB;EACzB,gBAAgB;AR8/CtB;;AQpkDA;EA2EM,uBN1GyB;EM2GzB,yBAAyB;EACzB,cNxHuB;AFqnD7B;;AQ1kDA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,cN7HqB;AF2nD7B;;AQhlDA;EAqFQ,yBAAyB;EACzB,cNjIqB;AFgoD7B;;AQrlDA;EAwFU,mDNvHqB;AFwnD/B;;AQzlDA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,cNxIqB;AF0oD7B;;AQ/lDA;;EAgGQ,uBN/HuB;EMgIvB,yBAAyB;EACzB,gBAAgB;ARogDxB;;AQtmDA;EAoGQ,yBN/IqB;EMgJrB,YNpIuB;AF0oD/B;;AQ3mDA;EAwGU,uBAA2C;ARugDrD;;AQ/mDA;;EA2GU,yBNtJmB;EMuJnB,yBAAyB;EACzB,gBAAgB;EAChB,YN7IqB;AFspD/B;;AQvnDA;EAiHU,gEAA4E;AR0gDtF;;AQ3nDA;EAmHQ,6BAA6B;EAC7B,mBNnJuB;EMoJvB,YNpJuB;AFgqD/B;;AQjoDA;EA0HU,uBNzJqB;EM0JrB,mBN1JqB;EM2JrB,cNvKmB;AFkrD7B;;AQvoDA;EA+HY,4DAA8D;AR4gD1E;;AQ3oDA;EAqIc,gEAA4E;AR0gD1F;;AQ/oDA;;EAwIU,6BAA6B;EAC7B,mBNxKqB;EMyKrB,gBAAgB;EAChB,YN1KqB;AFsrD/B;;AQvpDA;EA6IQ,6BAA6B;EAC7B,qBNzLqB;EM0LrB,cN1LqB;AFwsD7B;;AQ7pDA;EAoJU,yBN/LmB;EMgMnB,YNpLqB;AFisD/B;;AQlqDA;EA4Jc,4DAA8D;AR0gD5E;;AQtqDA;;EA+JU,6BAA6B;EAC7B,qBN3MmB;EM4MnB,gBAAgB;EAChB,cN7MmB;AFytD7B;;AQ9qDA;EA2EM,yBNtHuB;EMuHvB,yBAAyB;EACzB,YN5GyB;AFmtD/B;;AQprDA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,YNjHuB;AFytD/B;;AQ1rDA;EAqFQ,yBAAyB;EACzB,YNrHuB;AF8tD/B;;AQ/rDA;EAwFU,gDNnImB;AF8uD7B;;AQnsDA;EA2FQ,uBAAoC;EACpC,yBAAyB;EACzB,YN5HuB;AFwuD/B;;AQzsDA;;EAgGQ,yBN3IqB;EM4IrB,yBAAyB;EACzB,gBAAgB;AR8mDxB;;AQhtDA;EAoGQ,uBNnIuB;EMoIvB,cNhJqB;AFgwD7B;;AQrtDA;EAwGU,yBAA2C;ARinDrD;;AQztDA;;EA2GU,uBN1IqB;EM2IrB,yBAAyB;EACzB,gBAAgB;EAChB,cNzJmB;AF4wD7B;;AQjuDA;EAiHU,4DAA4E;ARonDtF;;AQruDA;EAmHQ,6BAA6B;EAC7B,qBN/JqB;EMgKrB,cNhKqB;AFsxD7B;;AQ3uDA;EA0HU,yBNrKmB;EMsKnB,qBNtKmB;EMuKnB,YN3JqB;AFgxD/B;;AQjvDA;EA+HY,gEAA8D;ARsnD1E;;AQrvDA;EAqIc,4DAA4E;ARonD1F;;AQzvDA;;EAwIU,6BAA6B;EAC7B,qBNpLmB;EMqLnB,gBAAgB;EAChB,cNtLmB;AF4yD7B;;AQjwDA;EA6IQ,6BAA6B;EAC7B,mBN7KuB;EM8KvB,YN9KuB;AFsyD/B;;AQvwDA;EAoJU,uBNnLqB;EMoLrB,cNhMmB;AFuzD7B;;AQ5wDA;EA4Jc,gEAA8D;ARonD5E;;AQhxDA;;EA+JU,6BAA6B;EAC7B,mBN/LqB;EMgMrB,gBAAgB;EAChB,YNjMqB;AFuzD/B;;AQxxDA;EA2EM,4BN5GwB;EM6GxB,yBAAyB;EACzB,cNpHwB;AFq0D9B;;AQ9xDA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,cNzHsB;AF20D9B;;AQpyDA;EAqFQ,yBAAyB;EACzB,cN7HsB;AFg1D9B;;AQzyDA;EAwFU,mDNzHoB;AF80D9B;;AQ7yDA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,cNpIsB;AF01D9B;;AQnzDA;;EAgGQ,4BNjIsB;EMkItB,yBAAyB;EACzB,gBAAgB;ARwtDxB;;AQ1zDA;EAoGQ,yBN3IsB;EM4ItB,iBNtIsB;AFg2D9B;;AQ/zDA;EAwGU,yBAA2C;AR2tDrD;;AQn0DA;;EA2GU,yBNlJoB;EMmJpB,yBAAyB;EACzB,gBAAgB;EAChB,iBN/IoB;AF42D9B;;AQ30DA;EAiHU,gEAA4E;AR8tDtF;;AQ/0DA;EAmHQ,6BAA6B;EAC7B,wBNrJsB;EMsJtB,iBNtJsB;AFs3D9B;;AQr1DA;EA0HU,4BN3JoB;EM4JpB,wBN5JoB;EM6JpB,cNnKoB;AFk4D9B;;AQ31DA;EA+HY,sEAA8D;ARguD1E;;AQ/1DA;EAqIc,gEAA4E;AR8tD1F;;AQn2DA;;EAwIU,6BAA6B;EAC7B,wBN1KoB;EM2KpB,gBAAgB;EAChB,iBN5KoB;AF44D9B;;AQ32DA;EA6IQ,6BAA6B;EAC7B,qBNrLsB;EMsLtB,cNtLsB;AFw5D9B;;AQj3DA;EAoJU,yBN3LoB;EM4LpB,iBNtLoB;AFu5D9B;;AQt3DA;EA4Jc,sEAA8D;AR8tD5E;;AQ13DA;;EA+JU,6BAA6B;EAC7B,qBNvMoB;EMwMpB,gBAAgB;EAChB,cNzMoB;AFy6D9B;;AQl4DA;EA2EM,yBNlHwB;EMmHxB,yBAAyB;EACzB,iBN9GwB;AFy6D9B;;AQx4DA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,iBNnHsB;AF+6D9B;;AQ94DA;EAqFQ,yBAAyB;EACzB,iBNvHsB;AFo7D9B;;AQn5DA;EAwFU,gDN/HoB;AF87D9B;;AQv5DA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,iBN9HsB;AF87D9B;;AQ75DA;;EAgGQ,yBNvIsB;EMwItB,yBAAyB;EACzB,gBAAgB;ARk0DxB;;AQp6DA;EAoGQ,4BNrIsB;EMsItB,cN5IsB;AFg9D9B;;AQz6DA;EAwGU,yBAA2C;ARq0DrD;;AQ76DA;;EA2GU,4BN5IoB;EM6IpB,yBAAyB;EACzB,gBAAgB;EAChB,cNrJoB;AF49D9B;;AQr7DA;EAiHU,sEAA4E;ARw0DtF;;AQz7DA;EAmHQ,6BAA6B;EAC7B,qBN3JsB;EM4JtB,cN5JsB;AFs+D9B;;AQ/7DA;EA0HU,yBNjKoB;EMkKpB,qBNlKoB;EMmKpB,iBN7JoB;AFs+D9B;;AQr8DA;EA+HY,gEAA8D;AR00D1E;;AQz8DA;EAqIc,sEAA4E;ARw0D1F;;AQ78DA;;EAwIU,6BAA6B;EAC7B,qBNhLoB;EMiLpB,gBAAgB;EAChB,cNlLoB;AF4/D9B;;AQr9DA;EA6IQ,6BAA6B;EAC7B,wBN/KsB;EMgLtB,iBNhLsB;AF4/D9B;;AQ39DA;EAoJU,4BNrLoB;EMsLpB,cN5LoB;AFugE9B;;AQh+DA;EA4Jc,gEAA8D;ARw0D5E;;AQp+DA;;EA+JU,6BAA6B;EAC7B,wBNjMoB;EMkMpB,gBAAgB;EAChB,iBNnMoB;AF6gE9B;;AQ5+DA;EA2EM,yBNrG4B;EMsG5B,yBAAyB;EACzB,WC7DU;ATk+DhB;;AQl/DA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,WClEQ;ATw+DhB;;AQx/DA;EAqFQ,yBAAyB;EACzB,WCtEQ;AT6+DhB;;AQ7/DA;EAwFU,iDNlHwB;AF2hElC;;AQjgEA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,WC7EQ;ATu/DhB;;AQvgEA;;EAgGQ,yBN1H0B;EM2H1B,yBAAyB;EACzB,gBAAgB;AR46DxB;;AQ9gEA;EAoGQ,sBCpFQ;EDqFR,cN/H0B;AF6iElC;;AQnhEA;EAwGU,yBAA2C;AR+6DrD;;AQvhEA;;EA2GU,sBC3FM;ED4FN,yBAAyB;EACzB,gBAAgB;EAChB,cNxIwB;AFyjElC;;AQ/hEA;EAiHU,0DAA4E;ARk7DtF;;AQniEA;EAmHQ,6BAA6B;EAC7B,qBN9I0B;EM+I1B,cN/I0B;AFmkElC;;AQziEA;EA0HU,yBNpJwB;EMqJxB,qBNrJwB;EMsJxB,WC5GM;AT+hEhB;;AQ/iEA;EA+HY,gEAA8D;ARo7D1E;;AQnjEA;EAqIc,0DAA4E;ARk7D1F;;AQvjEA;;EAwIU,6BAA6B;EAC7B,qBNnKwB;EMoKxB,gBAAgB;EAChB,cNrKwB;AFylElC;;AQ/jEA;EA6IQ,6BAA6B;EAC7B,kBC9HQ;ED+HR,WC/HQ;ATqjEhB;;AQrkEA;EAoJU,sBCpIM;EDqIN,cN/KwB;AFomElC;;AQ1kEA;EA4Jc,gEAA8D;ARk7D5E;;AQ9kEA;;EA+JU,6BAA6B;EAC7B,kBChJM;EDiJN,gBAAgB;EAChB,WClJM;ATskEhB;;AQtlEA;EA2EM,yBNnG4B;EMoG5B,yBAAyB;EACzB,WC7DU;AT4kEhB;;AQ5lEA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,WClEQ;ATklEhB;;AQlmEA;EAqFQ,yBAAyB;EACzB,WCtEQ;ATulEhB;;AQvmEA;EAwFU,kDNhHwB;AFmoElC;;AQ3mEA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,WC7EQ;ATimEhB;;AQjnEA;;EAgGQ,yBNxH0B;EMyH1B,yBAAyB;EACzB,gBAAgB;ARshExB;;AQxnEA;EAoGQ,sBCpFQ;EDqFR,cN7H0B;AFqpElC;;AQ7nEA;EAwGU,yBAA2C;ARyhErD;;AQjoEA;;EA2GU,sBC3FM;ED4FN,yBAAyB;EACzB,gBAAgB;EAChB,cNtIwB;AFiqElC;;AQzoEA;EAiHU,0DAA4E;AR4hEtF;;AQ7oEA;EAmHQ,6BAA6B;EAC7B,qBN5I0B;EM6I1B,cN7I0B;AF2qElC;;AQnpEA;EA0HU,yBNlJwB;EMmJxB,qBNnJwB;EMoJxB,WC5GM;ATyoEhB;;AQzpEA;EA+HY,gEAA8D;AR8hE1E;;AQ7pEA;EAqIc,0DAA4E;AR4hE1F;;AQjqEA;;EAwIU,6BAA6B;EAC7B,qBNjKwB;EMkKxB,gBAAgB;EAChB,cNnKwB;AFisElC;;AQzqEA;EA6IQ,6BAA6B;EAC7B,kBC9HQ;ED+HR,WC/HQ;AT+pEhB;;AQ/qEA;EAoJU,sBCpIM;EDqIN,cN7KwB;AF4sElC;;AQprEA;EA4Jc,gEAA8D;AR4hE5E;;AQxrEA;;EA+JU,6BAA6B;EAC7B,kBChJM;EDiJN,gBAAgB;EAChB,WClJM;ATgrEhB;;AQhsEA;EA2EM,yBNpG4B;EMqG5B,yBAAyB;EACzB,WC7DU;ATsrEhB;;AQtsEA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,WClEQ;AT4rEhB;;AQ5sEA;EAqFQ,yBAAyB;EACzB,WCtEQ;ATisEhB;;AQjtEA;EAwFU,kDNjHwB;AF8uElC;;AQrtEA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,WC7EQ;AT2sEhB;;AQ3tEA;;EAgGQ,yBNzH0B;EM0H1B,yBAAyB;EACzB,gBAAgB;ARgoExB;;AQluEA;EAoGQ,sBCpFQ;EDqFR,cN9H0B;AFgwElC;;AQvuEA;EAwGU,yBAA2C;ARmoErD;;AQ3uEA;;EA2GU,sBC3FM;ED4FN,yBAAyB;EACzB,gBAAgB;EAChB,cNvIwB;AF4wElC;;AQnvEA;EAiHU,0DAA4E;ARsoEtF;;AQvvEA;EAmHQ,6BAA6B;EAC7B,qBN7I0B;EM8I1B,cN9I0B;AFsxElC;;AQ7vEA;EA0HU,yBNnJwB;EMoJxB,qBNpJwB;EMqJxB,WC5GM;ATmvEhB;;AQnwEA;EA+HY,gEAA8D;ARwoE1E;;AQvwEA;EAqIc,0DAA4E;ARsoE1F;;AQ3wEA;;EAwIU,6BAA6B;EAC7B,qBNlKwB;EMmKxB,gBAAgB;EAChB,cNpKwB;AF4yElC;;AQnxEA;EA6IQ,6BAA6B;EAC7B,kBC9HQ;ED+HR,WC/HQ;ATywEhB;;AQzxEA;EAoJU,sBCpIM;EDqIN,cN9KwB;AFuzElC;;AQ9xEA;EA4Jc,gEAA8D;ARsoE5E;;AQlyEA;;EA+JU,6BAA6B;EAC7B,kBChJM;EDiJN,gBAAgB;EAChB,WClJM;AT0xEhB;;AQ1yEA;EA2EM,yBNtG4B;EMuG5B,yBAAyB;EACzB,WC7DU;ATgyEhB;;AQhzEA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,WClEQ;ATsyEhB;;AQtzEA;EAqFQ,yBAAyB;EACzB,WCtEQ;AT2yEhB;;AQ3zEA;EAwFU,iDNnHwB;AF01ElC;;AQ/zEA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,WC7EQ;ATqzEhB;;AQr0EA;;EAgGQ,yBN3H0B;EM4H1B,yBAAyB;EACzB,gBAAgB;AR0uExB;;AQ50EA;EAoGQ,sBCpFQ;EDqFR,cNhI0B;AF42ElC;;AQj1EA;EAwGU,yBAA2C;AR6uErD;;AQr1EA;;EA2GU,sBC3FM;ED4FN,yBAAyB;EACzB,gBAAgB;EAChB,cNzIwB;AFw3ElC;;AQ71EA;EAiHU,0DAA4E;ARgvEtF;;AQj2EA;EAmHQ,6BAA6B;EAC7B,qBN/I0B;EMgJ1B,cNhJ0B;AFk4ElC;;AQv2EA;EA0HU,yBNrJwB;EMsJxB,qBNtJwB;EMuJxB,WC5GM;AT61EhB;;AQ72EA;EA+HY,gEAA8D;ARkvE1E;;AQj3EA;EAqIc,0DAA4E;ARgvE1F;;AQr3EA;;EAwIU,6BAA6B;EAC7B,qBNpKwB;EMqKxB,gBAAgB;EAChB,cNtKwB;AFw5ElC;;AQ73EA;EA6IQ,6BAA6B;EAC7B,kBC9HQ;ED+HR,WC/HQ;ATm3EhB;;AQn4EA;EAoJU,sBCpIM;EDqIN,cNhLwB;AFm6ElC;;AQx4EA;EA4Jc,gEAA8D;ARgvE5E;;AQ54EA;;EA+JU,6BAA6B;EAC7B,kBChJM;EDiJN,gBAAgB;EAChB,WClJM;ATo4EhB;;AQp5EA;EA2EM,yBNvG4B;EMwG5B,yBAAyB;EACzB,yBC/De;AT44ErB;;AQ15EA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,yBCpEa;ATk5ErB;;AQh6EA;EAqFQ,yBAAyB;EACzB,yBCxEa;ATu5ErB;;AQr6EA;EAwFU,kDNpHwB;AFq8ElC;;AQz6EA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,yBC/Ea;ATi6ErB;;AQ/6EA;;EAgGQ,yBN5H0B;EM6H1B,yBAAyB;EACzB,gBAAgB;ARo1ExB;;AQt7EA;EAoGQ,oCCtFa;EDuFb,cNjI0B;AFu9ElC;;AQ37EA;EAwGU,oCAA2C;ARu1ErD;;AQ/7EA;;EA2GU,oCC7FW;ED8FX,yBAAyB;EACzB,gBAAgB;EAChB,cN1IwB;AFm+ElC;;AQv8EA;EAiHU,sFAA4E;AR01EtF;;AQ38EA;EAmHQ,6BAA6B;EAC7B,qBNhJ0B;EMiJ1B,cNjJ0B;AF6+ElC;;AQj9EA;EA0HU,yBNtJwB;EMuJxB,qBNvJwB;EMwJxB,yBC9GW;ATy8ErB;;AQv9EA;EA+HY,gEAA8D;AR41E1E;;AQ39EA;EAqIc,sFAA4E;AR01E1F;;AQ/9EA;;EAwIU,6BAA6B;EAC7B,qBNrKwB;EMsKxB,gBAAgB;EAChB,cNvKwB;AFmgFlC;;AQv+EA;EA6IQ,6BAA6B;EAC7B,gCChIa;EDiIb,yBCjIa;AT+9ErB;;AQ7+EA;EAoJU,oCCtIW;EDuIX,cNjLwB;AF8gFlC;;AQl/EA;EA4Jc,gEAA8D;AR01E5E;;AQt/EA;;EA+JU,6BAA6B;EAC7B,gCClJW;EDmJX,gBAAgB;EAChB,yBCpJW;ATg/ErB;;AQ9/EA;EA2EM,yBNjG4B;EMkG5B,yBAAyB;EACzB,WC7DU;ATo/EhB;;AQpgFA;EAgFQ,yBAAsC;EACtC,yBAAyB;EACzB,WClEQ;AT0/EhB;;AQ1gFA;EAqFQ,yBAAyB;EACzB,WCtEQ;AT+/EhB;;AQ/gFA;EAwFU,iDN9GwB;AFyiFlC;;AQnhFA;EA2FQ,yBAAoC;EACpC,yBAAyB;EACzB,WC7EQ;ATygFhB;;AQzhFA;;EAgGQ,yBNtH0B;EMuH1B,yBAAyB;EACzB,gBAAgB;AR87ExB;;AQhiFA;EAoGQ,sBCpFQ;EDqFR,cN3H0B;AF2jFlC;;AQriFA;EAwGU,yBAA2C;ARi8ErD;;AQziFA;;EA2GU,sBC3FM;ED4FN,yBAAyB;EACzB,gBAAgB;EAChB,cNpIwB;AFukFlC;;AQjjFA;EAiHU,0DAA4E;ARo8EtF;;AQrjFA;EAmHQ,6BAA6B;EAC7B,qBN1I0B;EM2I1B,cN3I0B;AFilFlC;;AQ3jFA;EA0HU,yBNhJwB;EMiJxB,qBNjJwB;EMkJxB,WC5GM;ATijFhB;;AQjkFA;EA+HY,gEAA8D;ARs8E1E;;AQrkFA;EAqIc,0DAA4E;ARo8E1F;;AQzkFA;;EAwIU,6BAA6B;EAC7B,qBN/JwB;EMgKxB,gBAAgB;EAChB,cNjKwB;AFumFlC;;AQjlFA;EA6IQ,6BAA6B;EAC7B,kBC9HQ;ED+HR,WC/HQ;ATukFhB;;AQvlFA;EAoJU,sBCpIM;EDqIN,cN3KwB;AFknFlC;;AQ5lFA;EA4Jc,gEAA8D;ARo8E5E;;AQhmFA;;EA+JU,6BAA6B;EAC7B,kBChJM;EDiJN,gBAAgB;EAChB,WClJM;ATwlFhB;;AQxmFA;EATE,kBN+BgB;EM9BhB,kBNAc;AFqnFhB;;AQ7mFA;EANE,eNHW;AF0nFb;;AQjnFA;EAJE,kBNNc;AF+nFhB;;AQrnFA;EAFE,iBNTa;AFooFf;;AQznFA;;EA+KI,uBN9M2B;EM+M3B,qBNnN0B;EMoN1B,gBAnMyB;EAoMzB,YAnMyB;ARkpF7B;;AQjoFA;EAoLI,aAAa;EACb,WAAW;ARi9Ef;;AQtoFA;EAuLI,6BAA6B;EAC7B,oBAAoB;ARm9ExB;;AQ3oFA;EPpCE,kBAAkB;EAKhB,2BAAiC;EACjC,0BAAgC;EO0N9B,6BAA6B;ARs9EnC;;AQlpFA;EA8LI,4BN/N0B;EMgO1B,qBNlO0B;EMmO1B,cNrO0B;EMsO1B,gBAAgB;EAChB,oBAAoB;ARw9ExB;;AQ1pFA;EAoMI,uBN3KqB;EM4KrB,iBAAiB;EACjB,kBAAkB;AR09EtB;;AQx9EA;EACE,mBAAmB;EACnB,aAAa;EACb,eAAe;EACf,2BAA2B;AR29E7B;;AQ/9EA;EAMI,qBAAqB;AR69EzB;;AQn+EA;EAQM,oBAAoB;AR+9E1B;;AQv+EA;EAUI,sBAAsB;ARi+E1B;;AQ3+EA;EAYI,mBAAmB;ARm+EvB;;AQ/+EA;EAjNE,kBN+BgB;EM9BhB,kBNAc;AFosFhB;;AQp/EA;EA5ME,kBNNc;AF0sFhB;;AQx/EA;EA1ME,iBNTa;AF+sFf;;AQ5/EA;EA0BQ,4BAA4B;EAC5B,yBAAyB;ARs+EjC;;AQjgFA;EA6BQ,6BAA6B;EAC7B,0BAA0B;EAC1B,kBAAkB;ARw+E1B;;AQvgFA;EAiCQ,eAAe;AR0+EvB;;AQ3gFA;EAoCQ,UAAU;AR2+ElB;;AQ/gFA;EA0CQ,UAAU;ARy+ElB;;AQnhFA;EA4CU,UAAU;AR2+EpB;;AQvhFA;EA8CQ,YAAY;EACZ,cAAc;AR6+EtB;;AQ5hFA;EAiDI,uBAAuB;AR++E3B;;AQhiFA;EAoDQ,oBAAoB;EACpB,qBAAqB;ARg/E7B;;AQriFA;EAuDI,yBAAyB;ARk/E7B;;AQziFA;EA0DQ,oBAAoB;EACpB,qBAAqB;ARm/E7B;;AUjyFA;EACE,YAAY;EACZ,cAAc;EACd,kBAAkB;EAClB,WAAW;AVoyFb;;ACzsFE;ES/FF;IAMI,gBAAuC;EVuyFzC;EU7yFF;IAQM,iBR0CI;IQzCJ,kBRyCI;IQxCJ,eAAe;EVwyFnB;AACF;;AC1sFI;ESzGJ;IAaM,iBAA0C;EV2yF9C;AACF;;ACjsFI;ESxHJ;IAgBM,iBAAsC;EV8yF1C;AACF;;ACjtFI;ES9GJ;IAkBI,iBAA0C;EVkzF5C;AACF;;ACxsFI;ES7HJ;IAoBI,iBAAsC;EVszFxC;AACF;;AW1zFA;EAII,kBAAkB;AX0zFtB;;AW9zFA;;;;;;;EAcM,kBAAkB;AX0zFxB;;AWx0FA;;;;;;EAqBI,cTlC0B;ESmC1B,gBTCiB;ESAjB,kBAxC+B;AXo2FnC;;AWn1FA;EAyBI,cAAc;EACd,oBAAoB;AX8zFxB;;AWx1FA;EA4BM,eAAe;AXg0FrB;;AW51FA;EA8BI,iBAAiB;EACjB,uBAAuB;AXk0F3B;;AWj2FA;EAiCM,oBAAoB;AXo0F1B;;AWr2FA;EAmCI,gBAAgB;EAChB,uBAAuB;AXs0F3B;;AW12FA;EAsCM,oBAAoB;AXw0F1B;;AW92FA;EAwCI,iBAAiB;EACjB,oBAAoB;AX00FxB;;AWn3FA;EA2CI,kBAAkB;EAClB,uBAAuB;AX40F3B;;AWx3FA;EA8CI,cAAc;EACd,kBAAkB;AX80FtB;;AW73FA;EAiDI,4BTxD0B;ESyD1B,8BT3D0B;ES4D1B,qBAhEqC;AXg5FzC;;AWn4FA;EAqDI,4BAA4B;EAC5B,gBAAgB;EAChB,eAAe;AXk1FnB;;AWz4FA;EAyDM,wBAAwB;AXo1F9B;;AW74FA;EA2DQ,4BAA4B;AXs1FpC;;AWj5FA;EA6DQ,4BAA4B;AXw1FpC;;AWr5FA;EA+DQ,4BAA4B;AX01FpC;;AWz5FA;EAiEQ,4BAA4B;AX41FpC;;AW75FA;EAmEI,wBAAwB;EACxB,gBAAgB;EAChB,eAAe;AX81FnB;;AWn6FA;EAuEM,uBAAuB;EACvB,iBAAiB;AXg2FvB;;AWx6FA;EA0EQ,uBAAuB;AXk2F/B;;AW56FA;EA4EI,gBAAgB;AXo2FpB;;AWh7FA;EA8EI,gBAAgB;EAChB,iBAAiB;EACjB,kBAAkB;AXs2FtB;;AWt7FA;EAkFM,eAAe;AXw2FrB;;AW17FA;EAoFM,kBAAkB;AX02FxB;;AW97FA;EAsFM,qBAAqB;AX42F3B;;AWl8FA;EAwFM,kBAAkB;AX82FxB;;AWt8FA;EV2CE,iCAAiC;EUgD/B,gBAAgB;EAChB,qBAvG8B;EAwG9B,gBAAgB;EAChB,iBAAiB;AXg3FrB;;AW98FA;;EAiGI,cAAc;AXk3FlB;;AWn9FA;EAmGI,WAAW;AXo3Ff;;AWv9FA;;EAsGM,yBT/GwB;ESgHxB,qBA/GmC;EAgHnC,qBA/GmC;EAgHnC,mBAAmB;AXs3FzB;;AW/9FA;EA2GM,cTxHwB;AFg/F9B;;AWn+FA;EA6GQ,gBAAgB;AX03FxB;;AWv+FA;;EAiHQ,qBAtHsC;EAuHtC,cT/HsB;AF0/F9B;;AW7+FA;;EAsHQ,qBAzHsC;EA0HtC,cTpIsB;AFggG9B;;AWn/FA;;EA6HY,sBAAsB;AX23FlC;;AWx/FA;EAgIM,aAAa;AX43FnB;;AW5/FA;EAmII,kBTjHY;AF8+FhB;;AWhgGA;EAqII,kBTrHY;AFo/FhB;;AWpgGA;EAuII,iBTxHW;AFy/Ff;;AYthGA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,uBAAuB;EACvB,cATsB;EAUtB,aAVsB;AZmiGxB;;AY9hGA;EAQI,YAZwB;EAaxB,WAbwB;AZuiG5B;;AYniGA;EAWI,YAdyB;EAezB,WAfyB;AZ2iG7B;;AYxiGA;EAcI,YAhBwB;EAiBxB,WAjBwB;AZ+iG5B;;AahjGA;EACE,cAAc;EACd,kBAAkB;AbmjGpB;;AarjGA;EAII,cAAc;EACd,YAAY;EACZ,WAAW;AbqjGf;;Aa3jGA;EAQM,uBX4DmB;AF2/FzB;;Aa/jGA;;;;;;;;;;;;;;;;;EA6BM,YAAY;EACZ,WAAW;AbsjGjB;;AaplGA;EAiCI,iBAAiB;AbujGrB;;AaxlGA;EAmCI,gBAAgB;AbyjGpB;;Aa5lGA;EAqCI,gBAAgB;Ab2jGpB;;AahmGA;EAuCI,qBAAqB;Ab6jGzB;;AapmGA;EAyCI,gBAAgB;Ab+jGpB;;AaxmGA;EA2CI,mBAAmB;AbikGvB;;Aa5mGA;EA6CI,gBAAgB;AbmkGpB;;AahnGA;EA+CI,qBAAqB;AbqkGzB;;AapnGA;EAiDI,iBAAiB;AbukGrB;;AaxnGA;EAmDI,sBAAsB;AbykG1B;;Aa5nGA;EAqDI,iBAAiB;Ab2kGrB;;AahoGA;EAuDI,sBAAsB;Ab6kG1B;;AapoGA;EAyDI,sBAAsB;Ab+kG1B;;AaxoGA;EA2DI,iBAAiB;AbilGrB;;Aa5oGA;EA6DI,iBAAiB;AbmlGrB;;AahpGA;EAiEM,YAAwB;EACxB,WAAuB;AbmlG7B;;AarpGA;EAiEM,YAAwB;EACxB,WAAuB;AbwlG7B;;Aa1pGA;EAiEM,YAAwB;EACxB,WAAuB;Ab6lG7B;;Aa/pGA;EAiEM,YAAwB;EACxB,WAAuB;AbkmG7B;;AapqGA;EAiEM,YAAwB;EACxB,WAAuB;AbumG7B;;AazqGA;EAiEM,YAAwB;EACxB,WAAuB;Ab4mG7B;;Aa9qGA;EAiEM,aAAwB;EACxB,YAAuB;AbinG7B;;AcjrGA;EAEE,4BZM4B;EYL5B,kBZ6DU;EY5DV,sCANkD;EAOlD,kBAAkB;AdmrGpB;;AcxrGA;EAOI,mBAAmB;EACnB,0BAA0B;AdqrG9B;;Ac7rGA;EAUI,mBAAmB;AdurGvB;;AcjsGA;;EAaI,iBZH2B;AF4rG/B;;ActsGA;EAeI,uBAAuB;Ad2rG3B;;Ac1sGA;EAiBI,kBAAkB;EAClB,aAAa;EACb,WAAW;Ad6rGf;;AchtGA;;;EAuBI,mBAAmB;Ad+rGvB;;ActtGA;EA6BM,uBZnByB;EYoBzB,cZhCuB;AF6tG7B;;Ac3tGA;EA6BM,yBZ/BuB;EYgCvB,YZpByB;AFstG/B;;AchuGA;EA6BM,4BZrBwB;EYsBxB,cZ5BwB;AFmuG9B;;AcruGA;EA6BM,yBZ3BwB;EY4BxB,iBZtBwB;AFkuG9B;;Ac1uGA;EA6BM,yBZd4B;EYe5B,WL2BU;ATsrGhB;;Ac/uGA;EA6BM,yBZZ4B;EYa5B,WL2BU;AT2rGhB;;AcpvGA;EA6BM,yBZb4B;EYc5B,WL2BU;ATgsGhB;;AczvGA;EA6BM,yBZf4B;EYgB5B,WL2BU;ATqsGhB;;Ac9vGA;EA6BM,yBZhB4B;EYiB5B,yBLyBe;AT4sGrB;;AcnwGA;EA6BM,yBZV4B;EYW5B,WL2BU;AT+sGhB;;AetwGA;EAEE,qBAAqB;EACrB,wBAAwB;EACxB,YAAY;EACZ,uBb2DuB;Ea1DvB,cAAc;EACd,YbuBW;EatBX,gBAAgB;EAChB,UAAU;EACV,WAAW;AfwwGb;;AelxGA;EAYI,yBbR0B;AFkxG9B;;AetxGA;EAcI,yBbb0B;AFyxG9B;;Ae1xGA;EAgBI,yBbf0B;AF6xG9B;;Ae9xGA;EAkBI,yBbjB0B;EakB1B,YAAY;AfgxGhB;;AenyGA;EAyBQ,uBbjBuB;AF+xG/B;;AevyGA;EA2BQ,uBbnBuB;AFmyG/B;;Ae3yGA;EA6BQ,uBbrBuB;AFuyG/B;;Ae/yGA;EA+BQ,mEAA2F;AfoxGnG;;AenzGA;EAyBQ,yBb7BqB;AF2zG7B;;AevzGA;EA2BQ,yBb/BqB;AF+zG7B;;Ae3zGA;EA6BQ,yBbjCqB;AFm0G7B;;Ae/zGA;EA+BQ,qEAA2F;AfoyGnG;;Aen0GA;EAyBQ,4BbnBsB;AFi0G9B;;Aev0GA;EA2BQ,4BbrBsB;AFq0G9B;;Ae30GA;EA6BQ,4BbvBsB;AFy0G9B;;Ae/0GA;EA+BQ,wEAA2F;AfozGnG;;Aen1GA;EAyBQ,yBbzBsB;AFu1G9B;;Aev1GA;EA2BQ,yBb3BsB;AF21G9B;;Ae31GA;EA6BQ,yBb7BsB;AF+1G9B;;Ae/1GA;EA+BQ,qEAA2F;Afo0GnG;;Aen2GA;EAyBQ,yBbZ0B;AF01GlC;;Aev2GA;EA2BQ,yBbd0B;AF81GlC;;Ae32GA;EA6BQ,yBbhB0B;AFk2GlC;;Ae/2GA;EA+BQ,qEAA2F;Afo1GnG;;Aen3GA;EAyBQ,yBbV0B;AFw2GlC;;Aev3GA;EA2BQ,yBbZ0B;AF42GlC;;Ae33GA;EA6BQ,yBbd0B;AFg3GlC;;Ae/3GA;EA+BQ,qEAA2F;Afo2GnG;;Aen4GA;EAyBQ,yBbX0B;AFy3GlC;;Aev4GA;EA2BQ,yBbb0B;AF63GlC;;Ae34GA;EA6BQ,yBbf0B;AFi4GlC;;Ae/4GA;EA+BQ,qEAA2F;Afo3GnG;;Aen5GA;EAyBQ,yBbb0B;AF24GlC;;Aev5GA;EA2BQ,yBbf0B;AF+4GlC;;Ae35GA;EA6BQ,yBbjB0B;AFm5GlC;;Ae/5GA;EA+BQ,qEAA2F;Afo4GnG;;Aen6GA;EAyBQ,yBbd0B;AF45GlC;;Aev6GA;EA2BQ,yBbhB0B;AFg6GlC;;Ae36GA;EA6BQ,yBblB0B;AFo6GlC;;Ae/6GA;EA+BQ,qEAA2F;Afo5GnG;;Aen7GA;EAyBQ,yBbR0B;AFs6GlC;;Aev7GA;EA2BQ,yBbV0B;AF06GlC;;Ae37GA;EA6BQ,yBbZ0B;AF86GlC;;Ae/7GA;EA+BQ,qEAA2F;Afo6GnG;;Aen8GA;EAkCI,gCApCkC;UAoClC,wBApCkC;EAqClC,2CAAmC;UAAnC,mCAAmC;EACnC,yCAAiC;UAAjC,iCAAiC;EACjC,yCAAiC;UAAjC,iCAAiC;EACjC,yBblC0B;EamC1B,qEAA0F;EAC1F,6BAA6B;EAC7B,4BAA4B;EAC5B,0BAA0B;Afq6G9B;;Ae/8GA;EA4CM,6BAA6B;Afu6GnC;;Aen9GA;EA8CM,6BAA6B;Afy6GnC;;Aev9GA;EAkDI,ebnBY;AF47GhB;;Ae39GA;EAoDI,ebvBY;AFk8GhB;;Ae/9GA;EAsDI,cb1BW;AFu8Gf;;Ae36GA;EACE;IACE,2BAA2B;Ef86G7B;Ee76GA;IACE,4BAA4B;Ef+6G9B;AACF;;Aep7GA;EACE;IACE,2BAA2B;Ef86G7B;Ee76GA;IACE,4BAA4B;Ef+6G9B;AACF;;AgBz9GA;EAEE,uBdb6B;Ecc7B,cdtB4B;AFi/G9B;;AgB99GA;;EAMI,yBdrB0B;EcsB1B,qBA5B6B;EA6B7B,qBA5B6B;EA6B7B,mBAAmB;AhB69GvB;;AgBt+GA;;EAeQ,uBd1BuB;Ec2BvB,mBd3BuB;Ec4BvB,cdxCqB;AFogH7B;;AgB7+GA;;EAeQ,yBdtCqB;EcuCrB,qBdvCqB;EcwCrB,Yd5BuB;AF+/G/B;;AgBp/GA;;EAeQ,4Bd5BsB;Ec6BtB,wBd7BsB;Ec8BtB,cdpCsB;AF8gH9B;;AgB3/GA;;EAeQ,yBdlCsB;EcmCtB,qBdnCsB;EcoCtB,iBd9BsB;AF+gH9B;;AgBlgHA;;EAeQ,yBdrB0B;EcsB1B,qBdtB0B;EcuB1B,WPmBQ;ATq+GhB;;AgBzgHA;;EAeQ,yBdnB0B;EcoB1B,qBdpB0B;EcqB1B,WPmBQ;AT4+GhB;;AgBhhHA;;EAeQ,yBdpB0B;EcqB1B,qBdrB0B;EcsB1B,WPmBQ;ATm/GhB;;AgBvhHA;;EAeQ,yBdtB0B;EcuB1B,qBdvB0B;EcwB1B,WPmBQ;AT0/GhB;;AgB9hHA;;EAeQ,yBdvB0B;EcwB1B,qBdxB0B;EcyB1B,yBPiBa;ATmgHrB;;AgBriHA;;EAeQ,yBdjB0B;EckB1B,qBdlB0B;EcmB1B,WPmBQ;ATwgHhB;;AgB5iHA;;EAoBM,mBAAmB;EACnB,SAAS;AhB6hHf;;AgBljHA;;EAuBM,yBd7B4B;Ec8B5B,WPYU;ATohHhB;;AgBxjHA;;;;EA2BQ,mBAAmB;AhBoiH3B;;AgB/jHA;EA6BI,cdhD0B;AFslH9B;;AgBnkHA;EA+BM,gBAAgB;AhBwiHtB;;AgBvkHA;EAkCM,yBdxC4B;EcyC5B,WPCU;ATwiHhB;;AgB5kHA;;EAsCQ,mBAAmB;AhB2iH3B;;AgBjlHA;;EAyCQ,kBPLQ;EOMR,mBAAmB;AhB6iH3B;;AgBvlHA;EA4CI,6BAxDqC;AhBumHzC;;AgB3lHA;;EA+CM,qBAhEgC;EAiEhC,cdnEwB;AFonH9B;;AgBjmHA;EAkDI,6BA5DqC;AhB+mHzC;;AgBrmHA;;EAqDM,qBApEgC;EAqEhC,cdzEwB;AF8nH9B;;AgB3mHA;EAwDI,6BAnEqC;AhB0nHzC;;AgB/mHA;;EA6DU,sBAAsB;AhBujHhC;;AgBpnHA;;EAkEM,iBAAiB;AhBujHvB;;AgBznHA;;EAuEU,wBAAwB;AhBujHlC;;AgB9nHA;EAyEI,WAAW;AhByjHf;;AgBloHA;EA8EU,yBd1FoB;AFkpH9B;;AgBtoHA;EAmFY,yBd/FkB;AFspH9B;;AgB1oHA;EAqFc,4BdlGgB;AF2pH9B;;AgB9oHA;;EAyFM,qBAAqB;AhB0jH3B;;AgBnpHA;EA8FU,yBd1GoB;AFmqH9B;;AgBvjHA;Ef3DE,iCAAiC;Ee8DjC,cAAc;EACd,kBAAkB;EAClB,eAAe;AhByjHjB;;AiBlrHA;EACE,mBAAmB;EACnB,aAAa;EACb,eAAe;EACf,2BAA2B;AjBqrH7B;;AiBzrHA;EAMI,qBAAqB;AjBurHzB;;AiB7rHA;EAQM,oBAAoB;AjByrH1B;;AiBjsHA;EAUI,sBAAsB;AjB2rH1B;;AiBrsHA;EAYI,mBAAmB;AjB6rHvB;;AiBzsHA;EAgBM,efeO;AF8qHb;;AiB7sHA;EAmBM,kBfWU;AFmrHhB;;AiBjtHA;EAqBI,uBAAuB;AjBgsH3B;;AiBrtHA;EAuBM,qBAAqB;EACrB,oBAAoB;AjBksH1B;;AiB1tHA;EA0BI,yBAAyB;AjBosH7B;;AiB9tHA;EA6BQ,mBAAmB;AjBqsH3B;;AiBluHA;EA+BQ,eAAe;AjBusHvB;;AiBtuHA;EAkCM,eAAe;AjBwsHrB;;AiB1uHA;EAoCQ,cAAc;EACd,4BAA4B;EAC5B,yBAAyB;AjB0sHjC;;AiBhvHA;EAwCQ,6BAA6B;EAC7B,0BAA0B;AjB4sHlC;;AiB1sHA;EACE,mBAAmB;EACnB,4BftC4B;EeuC5B,kBfiBU;EehBV,cf7C4B;Ee8C5B,oBAAoB;EACpB,kBfjBc;EekBd,WAAW;EACX,uBAAuB;EACvB,gBAAgB;EAChB,oBAAoB;EACpB,qBAAqB;EACrB,mBAAmB;AjB6sHrB;;AiBztHA;EAcI,oBAAoB;EACpB,uBAAuB;AjB+sH3B;;AiB9tHA;EAqBM,uBfvDyB;EewDzB,cfpEuB;AFixH7B;;AiBnuHA;EAqBM,yBfnEuB;EeoEvB,YfxDyB;AF0wH/B;;AiBxuHA;EAqBM,4BfzDwB;Ee0DxB,cfhEwB;AFuxH9B;;AiB7uHA;EAqBM,yBf/DwB;EegExB,iBf1DwB;AFsxH9B;;AiBlvHA;EAqBM,yBflD4B;EemD5B,WRTU;AT0uHhB;;AiBvvHA;EAqBM,yBfhD4B;EeiD5B,WRTU;AT+uHhB;;AiB5vHA;EAqBM,yBfjD4B;EekD5B,WRTU;ATovHhB;;AiBjwHA;EAqBM,yBfnD4B;EeoD5B,WRTU;ATyvHhB;;AiBtwHA;EAqBM,yBfpD4B;EeqD5B,yBRXe;ATgwHrB;;AiB3wHA;EAqBM,yBf9C4B;Ee+C5B,WRTU;ATmwHhB;;AiBhxHA;EAyBI,kBfpCY;AF+xHhB;;AiBpxHA;EA2BI,efvCS;AFoyHb;;AiBxxHA;EA6BI,kBf1CY;AFyyHhB;;AiB5xHA;EAgCM,qBAAqB;EACrB,sBAAsB;AjBgwH5B;;AiBjyHA;EAmCM,qBAAqB;EACrB,sBAAsB;AjBkwH5B;;AiBtyHA;EAsCM,qBAAqB;EACrB,sBAAsB;AjBowH5B;;AiB3yHA;EA0CI,gBAvFmB;EAwFnB,UAAU;EACV,kBAAkB;EAClB,UAAU;AjBqwHd;;AiBlzHA;EAgDM,8BAA8B;EAC9B,WAAW;EACX,cAAc;EACd,SAAS;EACT,kBAAkB;EAClB,QAAQ;EACR,kEAA0D;UAA1D,0DAA0D;EAC1D,uCAA+B;UAA/B,+BAA+B;AjBswHrC;;AiB7zHA;EAyDM,WAAW;EACX,UAAU;AjBwwHhB;;AiBl0HA;EA4DM,WAAW;EACX,UAAU;AjB0wHhB;;AiBv0HA;EAgEM,yBAAmD;AjB2wHzD;;AiB30HA;EAkEM,yBAAoD;AjB6wH1D;;AiB/0HA;EAoEI,uBf9CqB;AF6zHzB;;AiB7wHA;EAEI,0BAA0B;AjB+wH9B;;AkBp3HA;;EAGE,sBAAsB;AlBs3HxB;;AkBz3HA;;;;EAMI,oBAAoB;AlB03HxB;;AkBh4HA;;EAQI,iBApBmB;AlBi5HvB;;AkBr4HA;;EAUI,iBArBmB;AlBq5HvB;;AkB14HA;;EAYI,sBAAsB;AlBm4H1B;;AkBj4HA;EACE,chB5B4B;EgB+B5B,ehBJW;EgBKX,gBhBImB;EgBHnB,kBAnCuB;AlBq6HzB;;AkBx4HA;EAQI,cApCwB;EAqCxB,oBApCyB;AlBw6H7B;;AkB74HA;EAWI,oBAAoB;AlBs4HxB;;AkBj5HA;EAaI,oBA7B+B;AlBq6HnC;;AkBr5HA;EAkBM,ehBpBO;AF25Hb;;AkBz5HA;EAkBM,iBhBnBS;AF85Hf;;AkB75HA;EAkBM,ehBlBO;AFi6Hb;;AkBj6HA;EAkBM,iBhBjBS;AFo6Hf;;AkBr6HA;EAkBM,kBhBhBU;AFu6HhB;;AkBz6HA;EAkBM,ehBfO;AF06Hb;;AkB76HA;EAkBM,kBhBdU;AF66HhB;;AkB75HA;EACE,chB/C4B;EgBkD5B,kBhBtBc;EgBuBd,gBhBlBiB;EgBmBjB,iBA7CyB;AlB28H3B;;AkBp6HA;EAQI,chBvD0B;EgBwD1B,gBhBpBiB;AFo7HrB;;AkBz6HA;EAWI,oBA/C+B;AlBi9HnC;;AkB76HA;EAgBM,ehBtCO;AFu8Hb;;AkBj7HA;EAgBM,iBhBrCS;AF08Hf;;AkBr7HA;EAgBM,ehBpCO;AF68Hb;;AkBz7HA;EAgBM,iBhBnCS;AFg9Hf;;AkB77HA;EAgBM,kBhBlCU;AFm9HhB;;AkBj8HA;EAgBM,ehBjCO;AFs9Hb;;AkBr8HA;EAgBM,kBhBhCU;AFy9HhB;;AmBx/HA;EACE,cAAc;EACd,eAAe;EACf,mBAAmB;EACnB,kBAAkB;EAClB,yBAAyB;AnB2/H3B;;AmBz/HA;EAEE,gBjByBiB;EiBxBjB,eAAe;EACf,gBAAgB;EAChB,UAAU;AnB2/HZ;;AmBhgIA;EAOI,cAAc;EACd,eAAe;AnB6/HnB;;AmBx/HA;EACE,mBAAmB;EACnB,4BjBhB4B;EiBiB5B,uBjByCuB;EiBxCvB,oBAAoB;EACpB,kBjBIc;EiBHd,WAAW;EACX,uBAAuB;EACvB,oBAAoB;EACpB,gBAAgB;EAChB,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;AnB2/HrB;;AoB5+HA;EAxBE,uBlBf6B;EkBgB7B,qBlBpB4B;EkBqB5B,kBlBqCU;EkBpCV,clB1B4B;AFkiI9B;;ACr+HI;EmBjCA,4BlB5B0B;AFsiI9B;;ACz+HI;EmBjCA,4BlB5B0B;AF0iI9B;;AC7+HI;EmBjCA,4BlB5B0B;AF8iI9B;;ACj/HI;EmBjCA,4BlB5B0B;AFkjI9B;;AoBrhIE;EAEE,qBlB5B0B;AFmjI9B;;AoBthIE;EAIE,qBlBrB8B;EkBsB9B,kDlBtB8B;AF4iIlC;;AoBrhIE;;;;;EAEE,4BlBlC0B;EkBmC1B,wBlBnC0B;EkBoC1B,gBAAgB;EAChB,clBzC0B;AFokI9B;;ACzgII;;;;;EmBhBE,+BlB3CwB;AF4kI9B;;ACjhII;;;;;EmBhBE,+BlB3CwB;AFolI9B;;ACzhII;;;;;EmBhBE,+BlB3CwB;AF4lI9B;;ACjiII;;;;;EmBhBE,+BlB3CwB;AFomI9B;;AqB5mIA;EAEE,iDnBA2B;EmBC3B,eAAe;EACf,WAAW;ArB8mIb;;AqB7mIE;EACE,gBAAgB;ArBgnIpB;;AqB5mII;EACE,mBnBGyB;AF4mI/B;;AqBhnIK;EAMG,mDnBFuB;AFgnI/B;;AqBpnII;EACE,qBnBTuB;AFgoI7B;;AqBxnIK;EAMG,gDnBdqB;AFooI7B;;AqB5nII;EACE,wBnBCwB;AF8nI9B;;AqBhoIK;EAMG,mDnBJsB;AFkoI9B;;AqBpoII;EACE,qBnBLwB;AF4oI9B;;AqBxoIK;EAMG,gDnBVsB;AFgpI9B;;AqB5oII;EACE,qBnBQ4B;AFuoIlC;;AqBhpIK;EAMG,iDnBG0B;AF2oIlC;;AqBppII;EACE,qBnBU4B;AF6oIlC;;AqBxpIK;EAMG,kDnBK0B;AFipIlC;;AqB5pII;EACE,qBnBS4B;AFspIlC;;AqBhqIK;EAMG,kDnBI0B;AF0pIlC;;AqBpqII;EACE,qBnBO4B;AFgqIlC;;AqBxqIK;EAMG,iDnBE0B;AFoqIlC;;AqB5qII;EACE,qBnBM4B;AFyqIlC;;AqBhrIK;EAMG,kDnBC0B;AF6qIlC;;AqBprII;EACE,qBnBY4B;AF2qIlC;;AqBxrIK;EAMG,iDnBO0B;AF+qIlC;;AqBprIE;ElB0BA,kBDuBgB;ECtBhB,kBDRc;AFsqIhB;;AqBvrIE;ElB2BA,kBDZc;AF4qIhB;;AqBzrIE;ElB2BA,iBDfa;AFirIf;;AqB1rIE;EACE,cAAc;EACd,WAAW;ArB6rIf;;AqB5rIE;EACE,eAAe;EACf,WAAW;ArB+rIf;;AqB7rIA;EAGI,uBnBmCqB;EmBlCrB,iBAAiB;EACjB,kBAAkB;ArB8rItB;;AqBnsIA;EAOI,6BAA6B;EAC7B,yBAAyB;EACzB,gBAAgB;EAChB,eAAe;EACf,gBAAgB;ArBgsIpB;;AqB9rIA;EAEE,cAAc;EACd,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ArBgsIlB;;AqBtsIA;EAQI,iBAAiB;EACjB,iBAAiB;ArBksIrB;;AqB3sIA;EAWI,eAAe;ArBosInB;;AqB/sIA;EAcI,YAAY;ArBqsIhB;;AsBhwIA;EACE,eAAe;EACf,qBAAqB;EACrB,iBAAiB;EACjB,kBAAkB;AtBmwIpB;;AsBlwIE;EACE,eAAe;AtBqwInB;;AsBpwIE;EACE,cpBF0B;AFywI9B;;AsBtwIE;;;EAEE,cpBH0B;EoBI1B,mBAAmB;AtB0wIvB;;AsBrwIA;EAGI,kBAAkB;AtBswItB;;AuB1xIA;EACE,qBAAqB;EACrB,eAAe;EACf,kBAAkB;EAClB,mBAAmB;AvB6xIrB;;AuBjyIA;EAMI,cpBDmB;AHgyIvB;;AuBryIA;EAUM,qBrBW4B;EqBV5B,cAAc;EACd,UAAU;AvB+xIhB;;AuB3yIA;EAeM,uBrBuDmB;EqBtDnB,iBAAiB;AvBgyIvB;;AuBhzIA;EAmBI,eAAe;EACf,cAAc;EACd,cAAc;EACd,eAAe;EACf,aAAa;AvBiyIjB;;AuBxzIA;EAyBM,aAAa;AvBmyInB;;AuB5zIA;;EA4BM,wBrBhBwB;AFqzI9B;;AuBj0IA;EA8BM,oBAAoB;AvBuyI1B;;AuBr0IA;EAgCM,YAAY;EACZ,UAAU;AvByyIhB;;AuB10IA;EAmCQ,kBAAkB;AvB2yI1B;;AuB90IA;EAuCM,qBrBjCwB;AF40I9B;;AuBl1IA;EA6CQ,mBrB/BuB;AFw0I/B;;AuBt1IA;EA+CQ,mBrBjCuB;AF40I/B;;AuB11IA;EAkDU,qBAAgC;AvB4yI1C;;AuB91IA;EAuDU,mDrBzCqB;AFo1I/B;;AuBl2IA;EA6CQ,qBrB3CqB;AFo2I7B;;AuBt2IA;EA+CQ,qBrB7CqB;AFw2I7B;;AuB12IA;EAkDU,mBAAgC;AvB4zI1C;;AuB92IA;EAuDU,gDrBrDmB;AFg3I7B;;AuBl3IA;EA6CQ,wBrBjCsB;AF02I9B;;AuBt3IA;EA+CQ,wBrBnCsB;AF82I9B;;AuB13IA;EAkDU,qBAAgC;AvB40I1C;;AuB93IA;EAuDU,mDrB3CoB;AFs3I9B;;AuBl4IA;EA6CQ,qBrBvCsB;AFg4I9B;;AuBt4IA;EA+CQ,qBrBzCsB;AFo4I9B;;AuB14IA;EAkDU,qBAAgC;AvB41I1C;;AuB94IA;EAuDU,gDrBjDoB;AF44I9B;;AuBl5IA;EA6CQ,qBrB1B0B;AFm4IlC;;AuBt5IA;EA+CQ,qBrB5B0B;AFu4IlC;;AuB15IA;EAkDU,qBAAgC;AvB42I1C;;AuB95IA;EAuDU,iDrBpCwB;AF+4IlC;;AuBl6IA;EA6CQ,qBrBxB0B;AFi5IlC;;AuBt6IA;EA+CQ,qBrB1B0B;AFq5IlC;;AuB16IA;EAkDU,qBAAgC;AvB43I1C;;AuB96IA;EAuDU,kDrBlCwB;AF65IlC;;AuBl7IA;EA6CQ,qBrBzB0B;AFk6IlC;;AuBt7IA;EA+CQ,qBrB3B0B;AFs6IlC;;AuB17IA;EAkDU,qBAAgC;AvB44I1C;;AuB97IA;EAuDU,kDrBnCwB;AF86IlC;;AuBl8IA;EA6CQ,qBrB3B0B;AFo7IlC;;AuBt8IA;EA+CQ,qBrB7B0B;AFw7IlC;;AuB18IA;EAkDU,qBAAgC;AvB45I1C;;AuB98IA;EAuDU,iDrBrCwB;AFg8IlC;;AuBl9IA;EA6CQ,qBrB5B0B;AFq8IlC;;AuBt9IA;EA+CQ,qBrB9B0B;AFy8IlC;;AuB19IA;EAkDU,qBAAgC;AvB46I1C;;AuB99IA;EAuDU,kDrBtCwB;AFi9IlC;;AuBl+IA;EA6CQ,qBrBtB0B;AF+8IlC;;AuBt+IA;EA+CQ,qBrBxB0B;AFm9IlC;;AuB1+IA;EAkDU,qBAAgC;AvB47I1C;;AuB9+IA;EAuDU,iDrBhCwB;AF29IlC;;AuBl/IA;EpB4CE,kBDuBgB;ECtBhB,kBDRc;AFk9IhB;;AuBv/IA;EpB+CE,kBDZc;AFw9IhB;;AuB3/IA;EpBiDE,iBDfa;AF69If;;AuB//IA;EAkEM,qBrB1DwB;AF2/I9B;;AuBngJA;EAoEI,WAAW;AvBm8If;;AuBvgJA;EAsEM,WAAW;AvBq8IjB;;AuB3gJA;EA0EM,aAAa;EACb,kBAAkB;EAClB,cAAc;EACd,YAAY;EACZ,uBAAe;UAAf,eAAe;AvBq8IrB;;AuBnhJA;EAgFM,kBrB3CU;AFk/IhB;;AuBvhJA;EAkFM,kBrB/CU;AFw/IhB;;AuB3hJA;EAoFM,iBrBlDS;AF6/If;;AwBlhJA;EAEE,oBAAoB;EACpB,aAAa;EACb,2BAA2B;EAC3B,kBAAkB;AxBohJpB;;AwBzhJA;EAYQ,uBtBXuB;EsBYvB,yBAAyB;EACzB,ctBzBqB;AF0iJ7B;;AwB/hJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,ctB/BmB;AFgjJ7B;;AwBriJA;EAwBU,yBAAyB;EACzB,+CtBxBqB;EsByBrB,ctBrCmB;AFsjJ7B;;AwB3iJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,ctB3CmB;AF4jJ7B;;AwBjjJA;EAYQ,yBtBvBqB;EsBwBrB,yBAAyB;EACzB,YtBbuB;AFsjJ/B;;AwBvjJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,YtBnBqB;AF4jJ/B;;AwB7jJA;EAwBU,yBAAyB;EACzB,4CtBpCmB;EsBqCnB,YtBzBqB;AFkkJ/B;;AwBnkJA;EA8BU,uBAAoC;EACpC,yBAAyB;EACzB,YtB/BqB;AFwkJ/B;;AwBzkJA;EAYQ,4BtBbsB;EsBctB,yBAAyB;EACzB,ctBrBsB;AFslJ9B;;AwB/kJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,ctB3BoB;AF4lJ9B;;AwBrlJA;EAwBU,yBAAyB;EACzB,+CtB1BoB;EsB2BpB,ctBjCoB;AFkmJ9B;;AwB3lJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,ctBvCoB;AFwmJ9B;;AwBjmJA;EAYQ,yBtBnBsB;EsBoBtB,yBAAyB;EACzB,iBtBfsB;AFwmJ9B;;AwBvmJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,iBtBrBoB;AF8mJ9B;;AwB7mJA;EAwBU,yBAAyB;EACzB,4CtBhCoB;EsBiCpB,iBtB3BoB;AFonJ9B;;AwBnnJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,iBtBjCoB;AF0nJ9B;;AwBznJA;EAYQ,yBtBN0B;EsBO1B,yBAAyB;EACzB,WfkCQ;AT+kJhB;;AwB/nJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,Wf4BM;ATqlJhB;;AwBroJA;EAwBU,yBAAyB;EACzB,6CtBnBwB;EsBoBxB,WfsBM;AT2lJhB;;AwB3oJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,WfgBM;ATimJhB;;AwBjpJA;EAYQ,yBtBJ0B;EsBK1B,yBAAyB;EACzB,WfkCQ;ATumJhB;;AwBvpJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,Wf4BM;AT6mJhB;;AwB7pJA;EAwBU,yBAAyB;EACzB,8CtBjBwB;EsBkBxB,WfsBM;ATmnJhB;;AwBnqJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,WfgBM;ATynJhB;;AwBzqJA;EAYQ,yBtBL0B;EsBM1B,yBAAyB;EACzB,WfkCQ;AT+nJhB;;AwB/qJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,Wf4BM;ATqoJhB;;AwBrrJA;EAwBU,yBAAyB;EACzB,8CtBlBwB;EsBmBxB,WfsBM;AT2oJhB;;AwB3rJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,WfgBM;ATipJhB;;AwBjsJA;EAYQ,yBtBP0B;EsBQ1B,yBAAyB;EACzB,WfkCQ;ATupJhB;;AwBvsJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,Wf4BM;AT6pJhB;;AwB7sJA;EAwBU,yBAAyB;EACzB,6CtBpBwB;EsBqBxB,WfsBM;ATmqJhB;;AwBntJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,WfgBM;ATyqJhB;;AwBztJA;EAYQ,yBtBR0B;EsBS1B,yBAAyB;EACzB,yBfgCa;ATirJrB;;AwB/tJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,yBf0BW;ATurJrB;;AwBruJA;EAwBU,yBAAyB;EACzB,8CtBrBwB;EsBsBxB,yBfoBW;AT6rJrB;;AwB3uJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,yBfcW;ATmsJrB;;AwBjvJA;EAYQ,yBtBF0B;EsBG1B,yBAAyB;EACzB,WfkCQ;ATusJhB;;AwBvvJA;EAkBU,yBAAsC;EACtC,yBAAyB;EACzB,Wf4BM;AT6sJhB;;AwB7vJA;EAwBU,yBAAyB;EACzB,6CtBfwB;EsBgBxB,WfsBM;ATmtJhB;;AwBnwJA;EA8BU,yBAAoC;EACpC,yBAAyB;EACzB,WfgBM;ATytJhB;;AwBzwJA;EAmCI,kBtBXY;AFqvJhB;;AwB7wJA;EAqCI,kBtBfY;AF2vJhB;;AwBjxJA;EAwCQ,eAAe;AxB6uJvB;;AwBrxJA;EA0CI,iBtBrBW;AFowJf;;AwBzxJA;EA6CQ,eAAe;AxBgvJvB;;AwB7xJA;EAiDM,6BAA6B;EAC7B,0BAA0B;AxBgvJhC;;AwBlyJA;EAoDM,4BAA4B;EAC5B,yBAAyB;AxBkvJ/B;;AwBvyJA;EAwDQ,kBtBDI;AFovJZ;;AwB3yJA;EA0DQ,aAAa;AxBqvJrB;;AwB/yJA;EA6DM,sBAAsB;AxBsvJ5B;;AwBnzJA;EA+DM,sBAAsB;EACtB,YAAY;EACZ,gBAAgB;AxBwvJtB;;AwBzzJA;EAmEM,uBAAuB;AxB0vJ7B;;AwB7zJA;EAqEM,aAAa;EACb,YAAY;AxB4vJlB;;AwBl0JA;EAwEQ,eAAe;AxB8vJvB;;AwBt0JA;EA2EQ,eAAe;AxB+vJvB;;AwB10JA;EA8EQ,eAAe;AxBgwJvB;;AwB90JA;EAiFQ,eAAe;AxBiwJvB;;AwBl1JA;EAoFQ,0BAA4C;AxBkwJpD;;AwBt1JA;EAsFQ,0BtB/BI;EsBgCJ,uBAAuB;AxBowJ/B;;AwB31JA;EAyFI,uBAAuB;AxBswJ3B;;AwB/1JA;EA4FM,WAAW;AxBuwJjB;;AwBn2JA;EA8FM,YAAY;EACZ,eAAe;AxBywJrB;;AwBx2JA;EAiGI,yBAAyB;AxB2wJ7B;;AwB52JA;EAmGM,0BAA4C;AxB6wJlD;;AwBh3JA;EAqGM,0BtB9CM;EsB+CN,2BAA2B;EAC3B,SAAS;AxB+wJf;;AwB7wJA;EACE,oBAAoB;EACpB,aAAa;EACb,eAAe;EACf,2BAA2B;EAC3B,gBAAgB;EAChB,kBAAkB;AxBgxJpB;;AwBtxJA;EASM,yBAA0D;EAC1D,ctB1HwB;AF24J9B;;AwB3xJA;EAYM,qBAAmD;AxBmxJzD;;AwB/xJA;EAeM,yBAAwD;EACxD,ctBhIwB;AFo5J9B;;AwBpyJA;EAkBM,qBAAiD;AxBsxJvD;;AwBpxJA;EACE,YAAY;EACZ,OAAO;EACP,UAAU;EACV,aAAa;EACb,kBAAkB;EAClB,MAAM;EACN,WAAW;AxBuxJb;;AwBrxJA;;EAGE,qBtB5I4B;EsB6I5B,kBtBnFU;EsBoFV,cAAc;EACd,iBAAiB;EACjB,kBAAkB;EAClB,mBAAmB;AxBuxJrB;;AwBrxJA;EACE,4BtBlJ4B;EsBmJ5B,ctBxJ4B;AFg7J9B;;AwBtxJA;EACE,qBtBxJ4B;EsByJ5B,mBA1J4B;EA2J5B,2BA1JoC;EA2JpC,cAAc;EACd,eA3JwB;EA4JxB,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;AxByxJzB;;AwBvxJA;EACE,mBAAmB;EACnB,aAAa;EACb,WAAW;EACX,uBAAuB;EACvB,mBAAmB;EACnB,UAAU;AxB0xJZ;;AwBhyJA;EAQI,eAAe;AxB4xJnB;;AyB18JA;EACE,cvBA4B;EuBC5B,cAAc;EACd,evB4BW;EuB3BX,gBvBkCe;AF26JjB;;AyBj9JA;EAMI,oBAAoB;AzB+8JxB;;AyBr9JA;EASI,kBvBuBY;AFy7JhB;;AyBz9JA;EAWI,kBvBmBY;AF+7JhB;;AyB79JA;EAaI,iBvBgBW;AFo8Jf;;AyBl9JA;EACE,cAAc;EACd,kBvBec;EuBdd,mBAAmB;AzBq9JrB;;AyBx9JA;EAOM,YvBbyB;AFk+J/B;;AyB59JA;EAOM,cvBzBuB;AFk/J7B;;AyBh+JA;EAOM,iBvBfwB;AF4+J9B;;AyBp+JA;EAOM,cvBrBwB;AFs/J9B;;AyBx+JA;EAOM,cvBR4B;AF6+JlC;;AyB5+JA;EAOM,cvBN4B;AF++JlC;;AyBh/JA;EAOM,cvBP4B;AFo/JlC;;AyBp/JA;EAOM,cvBT4B;AF0/JlC;;AyBx/JA;EAOM,cvBV4B;AF+/JlC;;AyB5/JA;EAOM,cvBJ4B;AF6/JlC;;AyBr/JA;EAEI,sBAAsB;AzBu/J1B;;AyBz/JA;EAKI,aAAa;EACb,2BAA2B;AzBw/J/B;;AyB9/JA;EASQ,kBAAkB;AzBy/J1B;;AyBlgKA;;;EAcU,gBAAgB;AzB0/J1B;;AyBxgKA;;;EAmBU,6BAA6B;EAC7B,0BAA0B;AzB2/JpC;;AyB/gKA;;;EAyBU,4BAA4B;EAC5B,yBAAyB;AzB4/JnC;;AyBthKA;;;;;EAiCY,UAAU;AzB6/JtB;;AyB9hKA;;;;;;;;;EAsCY,UAAU;AzBogKtB;;AyB1iKA;;;;;;;;;EAwCc,UAAU;AzB8gKxB;;AyBtjKA;EA0CQ,YAAY;EACZ,cAAc;AzBghKtB;;AyB3jKA;EA6CM,uBAAuB;AzBkhK7B;;AyB/jKA;EA+CM,yBAAyB;AzBohK/B;;AyBnkKA;EAkDQ,YAAY;EACZ,cAAc;AzBqhKtB;;AyBxkKA;EAqDI,aAAa;EACb,2BAA2B;AzBuhK/B;;AyB7kKA;EAwDM,cAAc;AzByhKpB;;AyBjlKA;EA0DQ,gBAAgB;EAChB,qBAAqB;AzB2hK7B;;AyBtlKA;EA6DQ,YAAY;EACZ,cAAc;AzB6hKtB;;AyB3lKA;EAgEM,uBAAuB;AzB+hK7B;;AyB/lKA;EAkEM,yBAAyB;AzBiiK/B;;AyBnmKA;EAoEM,eAAe;AzBmiKrB;;AyBvmKA;EAwEU,sBAAsB;AzBmiKhC;;AyB3mKA;EA0EQ,uBAAuB;AzBqiK/B;;AyB/mKA;EA4EQ,gBAAgB;AzBuiKxB;;AC7jKE;EwBtDF;IA+EM,aAAa;EzByiKjB;AACF;;AyBxiKA;EAEI,kBAAkB;AzB0iKtB;;AC3kKE;EwB+BF;IAII,qBAAqB;EzB6iKvB;AACF;;AC7kKE;EwB2BF;IAMI,aAAa;IACb,YAAY;IACZ,cAAc;IACd,oBAAoB;IACpB,iBAAiB;EzBijKnB;EyB3jKF;IAYM,kBvBvFU;IuBwFV,oBAAoB;EzBkjKxB;EyB/jKF;IAeM,oBAAoB;EzBmjKxB;EyBlkKF;IAiBM,kBvB9FU;IuB+FV,oBAAoB;EzBojKxB;EyBtkKF;IAoBM,iBvBlGS;IuBmGT,oBAAoB;EzBqjKxB;AACF;;AyBpjKA;EAEI,gBAAgB;AzBsjKpB;;AC1mKE;EwBkDF;IAII,aAAa;IACb,aAAa;IACb,YAAY;IACZ,cAAc;EzByjKhB;EyBhkKF;IASM,gBAAgB;EzB0jKpB;EyBnkKF;IAWM,cAAc;EzB2jKlB;EyBtkKF;IAaQ,YAAY;EzB4jKlB;EyBzkKF;IAeQ,qBAAqB;EzB6jK3B;AACF;;AyB5jKA;EACE,sBAAsB;EACtB,WAAW;EACX,evBvHW;EuBwHX,kBAAkB;EAClB,gBAAgB;AzB+jKlB;;AyBpkKA;;;EAaU,cvB7JoB;AF0tK9B;;AyB1kKA;;;EAeQ,kBvBlIQ;AFmsKhB;;AyBhlKA;;;EAiBQ,kBvBtIQ;AF2sKhB;;AyBtlKA;;;EAmBQ,iBvBzIO;AFktKf;;AyB5lKA;EAqBM,cvBnKwB;EuBoKxB,ctBzKiB;EsB0KjB,oBAAoB;EACpB,kBAAkB;EAClB,MAAM;EACN,atB7KiB;EsB8KjB,UAAU;AzB2kKhB;;AyBtmKA;;EA+BM,oBtBlLiB;AH8vKvB;;AyB3mKA;EAiCM,OAAO;AzB8kKb;;AyB/mKA;;EAqCM,qBtBxLiB;AHuwKvB;;AyBpnKA;EAuCM,QAAQ;AzBilKd;;AyBxnKA;EA2CM,6BAA6B;EAC7B,cAAc;EACd,YAAY;EACZ,UAAU;AzBilKhB;;AyB/nKA;EAgDM,kBvBnKU;AFsvKhB;;AyBnoKA;EAkDM,kBvBvKU;AF4vKhB;;AyBvoKA;EAoDM,iBvB1KS;AFiwKf;;A0B1xKA;EAGE,exBwBW;EwBvBX,mBAAmB;A1B2xKrB;;A0B/xKA;EAMI,mBAAmB;EACnB,cxBK8B;EwBJ9B,aAAa;EACb,uBAAuB;EACvB,iBAduC;A1B2yK3C;;A0BvyKA;EAYM,cxBfwB;AF8yK9B;;A0B3yKA;EAcI,mBAAmB;EACnB,aAAa;A1BiyKjB;;A0BhzKA;EAiBM,eAAe;A1BmyKrB;;A0BpzKA;EAoBQ,cxBvBsB;EwBwBtB,eAAe;EACf,oBAAoB;A1BoyK5B;;A0B1zKA;EAwBM,cxBxBwB;EwByBxB,iBAAiB;A1BsyKvB;;A0B/zKA;;EA4BI,uBAAuB;EACvB,aAAa;EACb,eAAe;EACf,2BAA2B;A1BwyK/B;;A0Bv0KA;EAkCM,mBAAmB;A1ByyKzB;;A0B30KA;EAoCM,kBAAkB;A1B2yKxB;;A0B/0KA;;EAyCM,uBAAuB;A1B2yK7B;;A0Bp1KA;;EA6CM,yBAAyB;A1B4yK/B;;A0Bz1KA;EAgDI,kBxBpBY;AFi0KhB;;A0B71KA;EAkDI,kBxBxBY;AFu0KhB;;A0Bj2KA;EAoDI,iBxB3BW;AF40Kf;;A0Br2KA;EAwDM,iBAAiB;A1BizKvB;;A0Bz2KA;EA2DM,iBAAiB;A1BkzKvB;;A0B72KA;EA8DM,iBAAiB;A1BmzKvB;;A0Bj3KA;EAiEM,iBAAiB;A1BozKvB;;A2B32KA;EACE,uBzBN6B;EyBO7B,4EzBnB2B;EyBoB3B,czBf4B;EyBgB5B,eAAe;EACf,kBAAkB;A3B82KpB;;A2B52KA;EACE,6BAvBwC;EAwBxC,oBAAoB;EACpB,2CzB3B2B;EyB4B3B,aAAa;A3B+2Kf;;A2B72KA;EACE,mBAAmB;EACnB,czB5B4B;EyB6B5B,aAAa;EACb,YAAY;EACZ,gBzBMe;EyBLf,gBAhC2B;A3Bg5K7B;;A2Bt3KA;EAQI,uBAAuB;A3Bk3K3B;;A2Bh3KA;EACE,mBAAmB;EACnB,eAAe;EACf,aAAa;EACb,uBAAuB;EACvB,gBAzC2B;A3B45K7B;;A2Bj3KA;EACE,cAAc;EACd,kBAAkB;A3Bo3KpB;;A2Bl3KA;EACE,6BA5CyC;EA6CzC,eA5C2B;A3Bi6K7B;;A2Bn3KA;EACE,6BA7CwC;EA8CxC,6BzBjD4B;EyBkD5B,oBAAoB;EACpB,aAAa;A3Bs3Kf;;A2Bp3KA;EACE,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,uBAAuB;EACvB,gBAvD2B;A3B86K7B;;A2B93KA;EASI,+BzB9D0B;AFu7K9B;;A2Br3KA;EAEI,qBzB/BkB;AFs5KtB;;A4Bl7KA;EACE,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;A5Bq7KrB;;A4Bx7KA;EAOM,cAAc;A5Bq7KpB;;A4B57KA;EAUM,UAAU;EACV,QAAQ;A5Bs7Kd;;A4Bj8KA;EAcM,YAAY;EACZ,mBA9BuB;EA+BvB,oBAAoB;EACpB,SAAS;A5Bu7Kf;;A4Br7KA;EACE,aAAa;EACb,OAAO;EACP,gBAzC6B;EA0C7B,gBAtC2B;EAuC3B,kBAAkB;EAClB,SAAS;EACT,WApCqB;A5B49KvB;;A4Bt7KA;EACE,uB1BlC6B;E0BmC7B,kB1BmBU;E0BlBV,4E1BhD2B;E0BiD3B,sBA9CsC;EA+CtC,mBA9CmC;A5Bu+KrC;;Acn+KgB;Ec6Cd,c1BhD4B;E0BiD5B,cAAc;EACd,mBAAmB;EACnB,gBAAgB;EAChB,sBAAsB;EACtB,kBAAkB;A5B07KpB;;A4Bx7KA;;EAEE,mBAAmB;EACnB,gBAAgB;EAChB,mBAAmB;EACnB,WAAW;A5B27Kb;;A4Bh8KA;;EAOI,4B1BzD0B;E0B0D1B,c1BpEyB;AFkgL7B;;A4Bt8KA;;EAUI,yB1BnD8B;E0BoD9B,WnBZY;AT68KhB;;A4B/7KA;EACE,yB1BlE4B;E0BmE5B,YAAY;EACZ,cAAc;EACd,WAAW;EACX,gBAAgB;A5Bk8KlB;;A6BhhLA;EAEE,mBAAmB;EACnB,8BAA8B;A7BkhLhC;;A6BrhLA;EAKI,kB3B6DQ;AFu9KZ;;A6BzhLA;EAOI,qBAAqB;EACrB,mBAAmB;A7BshLvB;;A6B9hLA;EAWI,aAAa;A7BuhLjB;;A6BliLA;;EAcM,aAAa;A7ByhLnB;;A6BviLA;EAgBM,aAAa;A7B2hLnB;;A6B3iLA;EAmBQ,gBAAgB;EAChB,qBAtBiC;A7BkjLzC;;A6BhjLA;EAsBQ,YAAY;A7B8hLpB;;ACj+KE;E4BnFF;IAyBI,aAAa;E7BgiLf;E6BzjLF;IA4BQ,YAAY;E7BgiLlB;AACF;;A6B/hLA;EACE,mBAAmB;EACnB,aAAa;EACb,gBAAgB;EAChB,YAAY;EACZ,cAAc;EACd,uBAAuB;A7BkiLzB;;A6BxiLA;;EASI,gBAAgB;A7BoiLpB;;AC5/KE;E4BjDF;IAaM,sBA7CmC;E7BklLvC;AACF;;A6BpiLA;;EAEE,gBAAgB;EAChB,YAAY;EACZ,cAAc;A7BuiLhB;;A6B3iLA;;EAQM,YAAY;A7BwiLlB;;AC1gLE;E4BtCF;;IAYQ,qBA3DiC;E7BqmLvC;AACF;;A6BziLA;EACE,mBAAmB;EACnB,2BAA2B;A7B4iL7B;;AC1hLE;E4BpBF;IAMM,kBAAkB;E7B6iLtB;AACF;;AC5hLE;E4BxBF;IAQI,aAAa;E7BijLf;AACF;;A6BhjLA;EACE,mBAAmB;EACnB,yBAAyB;A7BmjL3B;;ACviLE;E4BdF;IAKI,aAAa;E7BqjLf;AACF;;A8BxnLA;EAEE,uB5BE6B;E4BD7B,kB5BuDU;E4BtDV,4E5BZ2B;AFsoL7B;;A8BrnLA;EACE,cAAc;EACd,kBAAkB;A9BwnLpB;;A8B1nLA;EAII,c5BhB0B;AF0oL9B;;A8B9nLA;EAMI,2B5B2CQ;E4B1CR,4B5B0CQ;AFklLZ;;A8BnoLA;EASI,8B5BwCQ;E4BvCR,+B5BuCQ;AFulLZ;;A8BxoLA;EAYI,gC5BrB0B;AFqpL9B;;A8B5oLA;EAcI,yB5BZ8B;E4Ba9B,WrB2BY;ATumLhB;;A8BhoLA;EACE,4B5BzB4B;E4B0B5B,eAAe;A9BmoLjB;;A+BzqLA;EACE,uBAAuB;EACvB,aAAa;EACb,gBAAgB;A/B4qLlB;;A+B/qLA;EAKI,sBAAsB;A/B8qL1B;;A+BnrLA;EAOI,8C7BG0B;E6BF1B,aAAa;EACb,oBAAoB;A/BgrLxB;;A+BzrLA;;EAYM,qBAAqB;A/BkrL3B;;A+B9rLA;EAcM,mBAAmB;A/BorLzB;;A+BlsLA;EAgBQ,kBAAkB;A/BsrL1B;;A+BtsLA;EAkBI,8C7BR0B;E6BS1B,gBAAgB;EAChB,iBAAiB;A/BwrLrB;;A+B5sLA;EAwBM,kBAAkB;EAClB,mBAAmB;A/BwrLzB;;A+BtrLA;;EAEE,gBAAgB;EAChB,YAAY;EACZ,cAAc;A/ByrLhB;;A+BvrLA;EACE,kBAAkB;A/B0rLpB;;A+BxrLA;EACE,iBAAiB;A/B2rLnB;;A+BzrLA;EACE,gBAAgB;EAChB,YAAY;EACZ,cAAc;EACd,gBAAgB;A/B4rLlB;;ACtpLE;E8B1CF;IAQI,gBAAgB;E/B6rLlB;AACF;;AgC3tLA;EACE,e9BiBW;AF6sLb;;AgC/tLA;EAII,kB9BeY;AFgtLhB;;AgCnuLA;EAMI,kB9BWY;AFstLhB;;AgCvuLA;EAQI,iB9BQW;AF2tLf;;AgCjuLA;EACE,iBArB0B;AhCyvL5B;;AgCruLA;EAGI,kB9BoCc;E8BnCd,c9BzB0B;E8B0B1B,cAAc;EACd,qBAzBiC;AhC+vLrC;;AgC5uLA;EAQM,4B9BxBwB;E8ByBxB,c9B/BwB;AFuwL9B;;AgCjvLA;EAYM,yB9BnB4B;E8BoB5B,WvBoBU;ATqtLhB;;AgCtvLA;EAgBM,8B9BlCwB;E8BmCxB,cAnC0B;EAoC1B,oBAnCgC;AhC6wLtC;;AgCxuLA;EACE,c9BzC4B;E8B0C5B,iBApC2B;EAqC3B,qBApC+B;EAqC/B,yBAAyB;AhC2uL3B;;AgC/uLA;EAMI,eAtCoB;AhCmxLxB;;AgCnvLA;EAQI,kBAxCoB;AhCuxLxB;;AiClxLA;EAEE,4B/BX4B;E+BY5B,kB/B4CU;E+B3CV,e/BWW;AFywLb;;AiCxxLA;EAMI,mBAAmB;AjCsxLvB;;AiC5xLA;EAQI,mBAAmB;EACnB,0BAA0B;AjCwxL9B;;AiCjyLA;EAYI,kB/BIY;AFqxLhB;;AiCryLA;EAcI,kB/BAY;AF2xLhB;;AiCzyLA;EAgBI,iB/BHW;AFgyLf;;AiC7yLA;EA0BM,uBAAmD;AjCuxLzD;;AiCjzLA;EA4BQ,uB/BnCuB;E+BoCvB,c/BhDqB;AFy0L7B;;AiCtzLA;EA+BQ,mB/BtCuB;E+BuCvB,cAA6E;AjC2xLrF;;AiC3zLA;EA0BM,yBAAmD;AjCqyLzD;;AiC/zLA;EA4BQ,yB/B/CqB;E+BgDrB,Y/BpCuB;AF20L/B;;AiCp0LA;EA+BQ,qB/BlDqB;E+BmDrB,cAA6E;AjCyyLrF;;AiCz0LA;EA0BM,yBAAmD;AjCmzLzD;;AiC70LA;EA4BQ,4B/BrCsB;E+BsCtB,c/B5CsB;AFi2L9B;;AiCl1LA;EA+BQ,wB/BxCsB;E+ByCtB,cAA6E;AjCuzLrF;;AiCv1LA;EA0BM,yBAAmD;AjCi0LzD;;AiC31LA;EA4BQ,yB/B3CsB;E+B4CtB,iB/BtCsB;AFy2L9B;;AiCh2LA;EA+BQ,qB/B9CsB;E+B+CtB,cAA6E;AjCq0LrF;;AiCr2LA;EA0BM,yBAAmD;AjC+0LzD;;AiCz2LA;EA4BQ,yB/B9B0B;E+B+B1B,WxBWQ;ATs0LhB;;AiC92LA;EA+BQ,qB/BjC0B;E+BkC1B,cAA6E;AjCm1LrF;;AiCn3LA;EA0BM,yBAAmD;AjC61LzD;;AiCv3LA;EA4BQ,yB/B5B0B;E+B6B1B,WxBWQ;ATo1LhB;;AiC53LA;EA+BQ,qB/B/B0B;E+BgC1B,cAA6E;AjCi2LrF;;AiCj4LA;EA0BM,yBAAmD;AjC22LzD;;AiCr4LA;EA4BQ,yB/B7B0B;E+B8B1B,WxBWQ;ATk2LhB;;AiC14LA;EA+BQ,qB/BhC0B;E+BiC1B,cAA6E;AjC+2LrF;;AiC/4LA;EA0BM,yBAAmD;AjCy3LzD;;AiCn5LA;EA4BQ,yB/B/B0B;E+BgC1B,WxBWQ;ATg3LhB;;AiCx5LA;EA+BQ,qB/BlC0B;E+BmC1B,cAA6E;AjC63LrF;;AiC75LA;EA0BM,yBAAmD;AjCu4LzD;;AiCj6LA;EA4BQ,yB/BhC0B;E+BiC1B,yBxBSa;ATg4LrB;;AiCt6LA;EA+BQ,qB/BnC0B;E+BoC1B,cAA6E;AjC24LrF;;AiC36LA;EA0BM,yBAAmD;AjCq5LzD;;AiC/6LA;EA4BQ,yB/B1B0B;E+B2B1B,WxBWQ;AT44LhB;;AiCp7LA;EA+BQ,qB/B7B0B;E+B8B1B,cAA6E;AjCy5LrF;;AiCv5LA;EACE,mBAAmB;EACnB,yB/BlD4B;E+BmD5B,0BAAgE;EAChE,WxBEc;EwBDd,aAAa;EACb,gB/BlBe;E+BmBf,8BAA8B;EAC9B,iBAAiB;EACjB,mBA1DiC;EA2DjC,kBAAkB;AjC05LpB;;AiCp6LA;EAYI,YAAY;EACZ,cAAc;EACd,mBAAmB;AjC45LvB;;AiC16LA;EAgBI,eArDgC;EAsDhC,yBAAyB;EACzB,0BAA0B;AjC85L9B;;AiC55LA;EACE,qB/BlE4B;E+BmE5B,kB/BTU;E+BUV,mBAAmB;EACnB,uBArEmC;EAsEnC,c/BzE4B;E+B0E5B,qBArEiC;AjCo+LnC;;AiCr6LA;;EASI,uB/BtE2B;AFu+L/B;;AiC16LA;EAWI,6BAtEgD;AjCy+LpD;;AkC39LA;EAEE,mBAAmB;EACnB,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,eAAe;EACf,WAtCU;AlCmgMZ;;AkCr+LA;EAWI,aAAa;AlC89LjB;;AkC59LA;EAEE,wChC3C2B;AFygM7B;;AkC59LA;;EAEE,cA5CgC;EA6ChC,+BAA0D;EAC1D,cAAc;EACd,kBAAkB;EAClB,WAAW;AlC+9Lb;;AC/7LE;EiCtCF;;IASI,cAAc;IACd,8BAA0D;IAC1D,YAtDuB;ElCwhMzB;AACF;;AkCj+LA;EAEE,gBAAgB;EAChB,YAtD2B;EAuD3B,eAAe;EACf,WAvDsB;EAwDtB,SAvDoB;EAwDpB,WA1D2B;AlC6hM7B;;AkCj+LA;EACE,aAAa;EACb,sBAAsB;EACtB,8BAAgD;EAChD,gBAAgB;EAChB,uBAAuB;AlCo+LzB;;AkCl+LA;;EAEE,mBAAmB;EACnB,4BhCnE4B;EgCoE5B,aAAa;EACb,cAAc;EACd,2BAA2B;EAC3B,aAlE4B;EAmE5B,kBAAkB;AlCq+LpB;;AkCn+LA;EACE,gChC7E4B;EgC8E5B,2BhCnBgB;EgCoBhB,4BhCpBgB;AF0/LlB;;AkCp+LA;EACE,chCtF4B;EgCuF5B,YAAY;EACZ,cAAc;EACd,iBhC7Da;EgC8Db,cA3E8B;AlCkjMhC;;AkCr+LA;EACE,8BhC9BgB;EgC+BhB,+BhC/BgB;EgCgChB,6BhC3F4B;AFmkM9B;;AkC3+LA;EAMM,mBAAmB;AlCy+LzB;;AkCv+LA;EjC5CE,iCAAiC;EiC8CjC,uBhC9F6B;EgC+F7B,YAAY;EACZ,cAAc;EACd,cAAc;EACd,aApF4B;AlC8jM9B;;AmCpiMA;EACE,uBjCzC6B;EiC0C7B,mBArDqB;EAsDrB,kBAAkB;EAClB,WApDW;AnC2lMb;;AmC3iMA;EASM,uBjCjDyB;EiCkDzB,cjC9DuB;AFomM7B;;AmChjMA;;EAcU,cjClEmB;AFymM7B;;AmCrjMA;;;;EAoBY,yBAAoC;EACpC,cjCzEiB;AFinM7B;;AmC7jMA;EAwBY,qBjC5EiB;AFqnM7B;;AmCjkMA;EA0BQ,cjC9EqB;AFynM7B;;ACljME;EkCnBF;;;;IAgCY,cjCpFiB;EFioM3B;EmC7kMF;;;;;;;;;;IAsCc,yBAAoC;IACpC,cjC3Fe;EF8oM3B;EmC1lMF;;IA0Cc,qBjC9Fe;EFkpM3B;EmC9lMF;;;IA8CU,yBAAoC;IACpC,cjCnGmB;EFwpM3B;EmCpmMF;IAmDc,uBjC3FiB;IiC4FjB,cjCxGe;EF4pM3B;AACF;;AmCzmMA;EASM,yBjC7DuB;EiC8DvB,YjClDyB;AFspM/B;;AmC9mMA;;EAcU,YjCtDqB;AF2pM/B;;AmCnnMA;;;;EAoBY,uBAAoC;EACpC,YjC7DmB;AFmqM/B;;AmC3nMA;EAwBY,mBjChEmB;AFuqM/B;;AmC/nMA;EA0BQ,YjClEuB;AF2qM/B;;AChnME;EkCnBF;;;;IAgCY,YjCxEmB;EFmrM7B;EmC3oMF;;;;;;;;;;IAsCc,uBAAoC;IACpC,YjC/EiB;EFgsM7B;EmCxpMF;;IA0Cc,mBjClFiB;EFosM7B;EmC5pMF;;;IA8CU,uBAAoC;IACpC,YjCvFqB;EF0sM7B;EmClqMF;IAmDc,yBjCvGe;IiCwGf,YjC5FiB;EF8sM7B;AACF;;AmCvqMA;EASM,4BjCnDwB;EiCoDxB,cjC1DwB;AF4tM9B;;AmC5qMA;;EAcU,cjC9DoB;AFiuM9B;;AmCjrMA;;;;EAoBY,yBAAoC;EACpC,cjCrEkB;AFyuM9B;;AmCzrMA;EAwBY,qBjCxEkB;AF6uM9B;;AmC7rMA;EA0BQ,cjC1EsB;AFivM9B;;AC9qME;EkCnBF;;;;IAgCY,cjChFkB;EFyvM5B;EmCzsMF;;;;;;;;;;IAsCc,yBAAoC;IACpC,cjCvFgB;EFswM5B;EmCttMF;;IA0Cc,qBjC1FgB;EF0wM5B;EmC1tMF;;;IA8CU,yBAAoC;IACpC,cjC/FoB;EFgxM5B;EmChuMF;IAmDc,4BjC7FgB;IiC8FhB,cjCpGgB;EFoxM5B;AACF;;AmCruMA;EASM,yBjCzDwB;EiC0DxB,iBjCpDwB;AFoxM9B;;AmC1uMA;;EAcU,iBjCxDoB;AFyxM9B;;AmC/uMA;;;;EAoBY,yBAAoC;EACpC,iBjC/DkB;AFiyM9B;;AmCvvMA;EAwBY,wBjClEkB;AFqyM9B;;AmC3vMA;EA0BQ,iBjCpEsB;AFyyM9B;;AC5uME;EkCnBF;;;;IAgCY,iBjC1EkB;EFizM5B;EmCvwMF;;;;;;;;;;IAsCc,yBAAoC;IACpC,iBjCjFgB;EF8zM5B;EmCpxMF;;IA0Cc,wBjCpFgB;EFk0M5B;EmCxxMF;;;IA8CU,yBAAoC;IACpC,iBjCzFoB;EFw0M5B;EmC9xMF;IAmDc,yBjCnGgB;IiCoGhB,iBjC9FgB;EF40M5B;AACF;;AmCnyMA;EASM,yBjC5C4B;EiC6C5B,W1BHU;ATiyMhB;;AmCxyMA;;EAcU,W1BPM;ATsyMhB;;AmC7yMA;;;;EAoBY,yBAAoC;EACpC,W1BdI;AT8yMhB;;AmCrzMA;EAwBY,kB1BjBI;ATkzMhB;;AmCzzMA;EA0BQ,W1BnBQ;ATszMhB;;AC1yME;EkCnBF;;;;IAgCY,W1BzBI;ET8zMd;EmCr0MF;;;;;;;;;;IAsCc,yBAAoC;IACpC,W1BhCE;ET20Md;EmCl1MF;;IA0Cc,kB1BnCE;ET+0Md;EmCt1MF;;;IA8CU,yBAAoC;IACpC,W1BxCM;ETq1Md;EmC51MF;IAmDc,yBjCtFoB;IiCuFpB,W1B7CE;ETy1Md;AACF;;AmCj2MA;EASM,yBjC1C4B;EiC2C5B,W1BHU;AT+1MhB;;AmCt2MA;;EAcU,W1BPM;ATo2MhB;;AmC32MA;;;;EAoBY,yBAAoC;EACpC,W1BdI;AT42MhB;;AmCn3MA;EAwBY,kB1BjBI;ATg3MhB;;AmCv3MA;EA0BQ,W1BnBQ;ATo3MhB;;ACx2ME;EkCnBF;;;;IAgCY,W1BzBI;ET43Md;EmCn4MF;;;;;;;;;;IAsCc,yBAAoC;IACpC,W1BhCE;ETy4Md;EmCh5MF;;IA0Cc,kB1BnCE;ET64Md;EmCp5MF;;;IA8CU,yBAAoC;IACpC,W1BxCM;ETm5Md;EmC15MF;IAmDc,yBjCpFoB;IiCqFpB,W1B7CE;ETu5Md;AACF;;AmC/5MA;EASM,yBjC3C4B;EiC4C5B,W1BHU;AT65MhB;;AmCp6MA;;EAcU,W1BPM;ATk6MhB;;AmCz6MA;;;;EAoBY,yBAAoC;EACpC,W1BdI;AT06MhB;;AmCj7MA;EAwBY,kB1BjBI;AT86MhB;;AmCr7MA;EA0BQ,W1BnBQ;ATk7MhB;;ACt6ME;EkCnBF;;;;IAgCY,W1BzBI;ET07Md;EmCj8MF;;;;;;;;;;IAsCc,yBAAoC;IACpC,W1BhCE;ETu8Md;EmC98MF;;IA0Cc,kB1BnCE;ET28Md;EmCl9MF;;;IA8CU,yBAAoC;IACpC,W1BxCM;ETi9Md;EmCx9MF;IAmDc,yBjCrFoB;IiCsFpB,W1B7CE;ETq9Md;AACF;;AmC79MA;EASM,yBjC7C4B;EiC8C5B,W1BHU;AT29MhB;;AmCl+MA;;EAcU,W1BPM;ATg+MhB;;AmCv+MA;;;;EAoBY,yBAAoC;EACpC,W1BdI;ATw+MhB;;AmC/+MA;EAwBY,kB1BjBI;AT4+MhB;;AmCn/MA;EA0BQ,W1BnBQ;ATg/MhB;;ACp+ME;EkCnBF;;;;IAgCY,W1BzBI;ETw/Md;EmC//MF;;;;;;;;;;IAsCc,yBAAoC;IACpC,W1BhCE;ETqgNd;EmC5gNF;;IA0Cc,kB1BnCE;ETygNd;EmChhNF;;;IA8CU,yBAAoC;IACpC,W1BxCM;ET+gNd;EmCthNF;IAmDc,yBjCvFoB;IiCwFpB,W1B7CE;ETmhNd;AACF;;AmC3hNA;EASM,yBjC9C4B;EiC+C5B,yB1BLe;AT2hNrB;;AmChiNA;;EAcU,yB1BTW;ATgiNrB;;AmCriNA;;;;EAoBY,yBAAoC;EACpC,yB1BhBS;ATwiNrB;;AmC7iNA;EAwBY,gC1BnBS;AT4iNrB;;AmCjjNA;EA0BQ,yB1BrBa;ATgjNrB;;ACliNE;EkCnBF;;;;IAgCY,yB1B3BS;ETwjNnB;EmC7jNF;;;;;;;;;;IAsCc,yBAAoC;IACpC,yB1BlCO;ETqkNnB;EmC1kNF;;IA0Cc,gC1BrCO;ETykNnB;EmC9kNF;;;IA8CU,yBAAoC;IACpC,yB1B1CW;ET+kNnB;EmCplNF;IAmDc,yBjCxFoB;IiCyFpB,yB1B/CO;ETmlNnB;AACF;;AmCzlNA;EASM,yBjCxC4B;EiCyC5B,W1BHU;ATulNhB;;AmC9lNA;;EAcU,W1BPM;AT4lNhB;;AmCnmNA;;;;EAoBY,yBAAoC;EACpC,W1BdI;ATomNhB;;AmC3mNA;EAwBY,kB1BjBI;ATwmNhB;;AmC/mNA;EA0BQ,W1BnBQ;AT4mNhB;;AChmNE;EkCnBF;;;;IAgCY,W1BzBI;ETonNd;EmC3nNF;;;;;;;;;;IAsCc,yBAAoC;IACpC,W1BhCE;ETioNd;EmCxoNF;;IA0Cc,kB1BnCE;ETqoNd;EmC5oNF;;;IA8CU,yBAAoC;IACpC,W1BxCM;ET2oNd;EmClpNF;IAmDc,yBjClFoB;IiCmFpB,W1B7CE;ET+oNd;AACF;;AmCvpNA;EAsDI,oBAAoB;EACpB,aAAa;EACb,mBA3GmB;EA4GnB,WAAW;AnCqmNf;;AmC9pNA;EA2DI,gCjCrG0B;AF4sN9B;;AmClqNA;EALE,OAAO;EACP,eAAe;EACf,QAAQ;EACR,WA7CiB;AnCwtNnB;;AmCzqNA;EAgEI,SAAS;AnC6mNb;;AmC7qNA;EAkEM,iCjC5GwB;AF2tN9B;;AmCjrNA;EAoEI,MAAM;AnCinNV;;AmC/mNA;;EAGI,oBA5HmB;AnC6uNvB;;AmCpnNA;;EAKI,uBA9HmB;AnCkvNvB;;AmClnNA;;EAEE,oBAAoB;EACpB,aAAa;EACb,cAAc;EACd,mBArIqB;AnC0vNvB;;AmCnnNA;EAIM,6BAA6B;AnCmnNnC;;AmCjnNA;ElClFE,iCAAiC;EkCoFjC,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;AnConNpB;;AmClnNA;EACE,cjChJ4B;EDoB5B,eAAe;EACf,cAAc;EACd,ekC1BqB;ElC2BrB,kBAAkB;EAClB,ckC5BqB;EAsJrB,iBAAiB;AnCynNnB;;AClvNE;EACE,8BAA8B;EAC9B,cAAc;EACd,WAAW;EACX,qBAAqB;EACrB,kBAAkB;EAClB,gCAAwB;UAAxB,wBAAwB;EACxB,yBCgCQ;ED/BR,iEAAyD;EAAzD,yDAAyD;EAAzD,4EAAyD;EACzD,oCCyBa;EDxBb,WAAW;ADqvNf;;ACpvNI;EACE,oBAAoB;ADuvN1B;;ACtvNI;EACE,oBAAoB;ADyvN1B;;ACxvNI;EACE,oBAAoB;AD2vN1B;;AC1vNE;EACE,qCAA4B;AD6vNhC;;ACzvNM;EACE,gDAAwC;UAAxC,wCAAwC;AD4vNhD;;AC3vNM;EACE,UAAU;AD8vNlB;;AC7vNM;EACE,kDAA0C;UAA1C,0CAA0C;ADgwNlD;;AmChqNA;EACE,aAAa;AnCmqNf;;AmCjqNA;;EAEE,cjCzJ4B;EiC0J5B,cAAc;EACd,gBAAgB;EAChB,uBAAuB;EACvB,kBAAkB;AnCoqNpB;;AmC1qNA;;EASM,qBAAqB;EACrB,sBAAsB;AnCsqN5B;;AmCpqNA;;EAEE,eAAe;AnCuqNjB;;AmCzqNA;;;;;EAOI,yBjCpK0B;EiCqK1B,cjC7J8B;AFu0NlC;;AmCxqNA;EACE,cAAc;EACd,YAAY;EACZ,cAAc;AnC2qNhB;;AmC9qNA;EAKI,mBA3KgC;AnCw1NpC;;AmClrNA;EAOI,UAAU;AnC+qNd;;AmCtrNA;EASI,YAAY;EACZ,cAAc;AnCirNlB;;AmC3rNA;EAYI,oCAAoC;EACpC,mBA9LmB;EA+LnB,kCAAkC;AnCmrNtC;;AmCjsNA;EAiBM,6BAnLyC;EAoLzC,4BjCjL4B;AFq2NlC;;AmCtsNA;EAoBM,6BAnL0C;EAoL1C,4BjCpL4B;EiCqL5B,0BAnLuC;EAoLvC,wBAnLqC;EAoLrC,cjCvL4B;EiCwL5B,kCAAwE;AnCsrN9E;;AmCprNA;EACE,YAAY;EACZ,cAAc;AnCurNhB;;AmCrrNA;EACE,oBAAoB;AnCwrNtB;;AmCzrNA;EAII,qBjClM8B;EiCmM9B,oBAAoB;EACpB,cAAc;AnCyrNlB;;AmCvrNA;EACE,mBAAmB;EACnB,sBAAsB;EACtB,mBAAmB;AnC0rNrB;;AmC7rNA;EAKI,oBAAoB;EACpB,qBAAqB;AnC4rNzB;;AmC1rNA;EACE,4BjCxN4B;EiCyN5B,YAAY;EACZ,aAAa;EACb,WA7LyB;EA8LzB,gBAAgB;AnC6rNlB;;ACx1NE;EkCvBF;IAsLI,cAAc;EnC8rNhB;EmC7rNA;;IAGI,mBAAmB;IACnB,aAAa;EnC8rNjB;EmC7rNA;IAEI,aAAa;EnC8rNjB;EmCvxNF;IA2FI,uBjCxO2B;IiCyO3B,4CjCrPyB;IiCsPzB,iBAAiB;EnC+rNnB;EmClsNA;IAKI,cAAc;EnCgsNlB;EmC9rNA;IA3MA,OAAO;IACP,eAAe;IACf,QAAQ;IACR,WA7CiB;EnCy7NjB;EmCpsNA;IAKI,SAAS;EnCksNb;EmCvsNA;IAOM,4CjCjQqB;EFo8N3B;EmC1sNA;IASI,MAAM;EnCosNV;EmC7sNA;IlC9LA,iCAAiC;IkC4M3B,iCAA2C;IAC3C,cAAc;EnCmsNpB;EmClsNA;;IAGI,oBA5QiB;EnC+8NrB;EmCtsNA;;IAKI,uBA9QiB;EnCm9NrB;AACF;;AC94NE;EkC2MA;;;;IAIE,oBAAoB;IACpB,aAAa;EnCusNf;EmC16NF;IAqOI,mBAxRmB;EnCg+NrB;EmCzsNA;IAGI,kBAxR0B;EnCi+N9B;EmC5sNA;;IAMM,mBAAmB;EnC0sNzB;EmChtNA;;IASM,kBjC/NI;EF06NV;EmCptNA;;;;IAgBQ,wCAAwC;EnC0sNhD;EmC1tNA;IAuBU,wCAAwC;EnCssNlD;EmC7tNA;IA4BU,4BjC1SkB;IiC2SlB,cjCrTiB;EFy/N3B;EmCjuNA;IA+BU,4BjC7SkB;IiC8SlB,cjCrSsB;EF0+NhC;EmCz2NF;IAsKI,aAAa;EnCssNf;EmCp2NF;;IAiKI,mBAAmB;IACnB,aAAa;EnCusNf;EmCn1NF;IA8II,aAAa;EnCwsNf;EmCt1NF;IAgJM,oBAAoB;EnCysNxB;EmC5sNA;IAMM,4DAAoD;YAApD,oDAAoD;EnCysN1D;EmC/sNA;IAQM,gCjC/TsB;IiCgUtB,0BAAkE;IAClE,gBAAgB;IAChB,YAAY;IACZ,4CjC3UqB;IiC4UrB,SAAS;EnC0sNf;EmCvtNA;IAmBM,cAAc;EnCusNpB;EmCtsNM;IAEE,UAAU;IACV,oBAAoB;IACpB,gCAAwB;YAAxB,wBAAwB;EnCusNhC;EmCr4NF;IAgMI,YAAY;IACZ,cAAc;EnCwsNhB;EmCvsNA;IACE,2BAA2B;IAC3B,kBAAkB;EnCysNpB;EmCxsNA;IACE,yBAAyB;IACzB,iBAAiB;EnC0sNnB;EmCj1NF;IAyII,uBjCtV2B;IiCuV3B,8BjChSc;IiCiSd,+BjCjSc;IiCkSd,6BjC7V0B;IiC8V1B,2CjCtWyB;IiCuWzB,aAAa;IACb,mBAAmB;IACnB,OAAO;IACP,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,WAhVkB;EnC2hOpB;EmC/1NF;IAsJM,sBAAsB;IACtB,mBAAmB;EnC4sNvB;EmC3tNA;IAiBI,mBAAmB;EnC6sNvB;EmC9tNA;IAoBM,4BjC3WsB;IiC4WtB,cjCtXqB;EFmkO3B;EmCluNA;IAuBM,4BjC9WsB;IiC+WtB,cjCtW0B;EFojOhC;EmC7sNE;IAEE,kBjCzTY;IiC0TZ,gBAAgB;IAChB,4EjC9XuB;IiC+XvB,cAAc;IACd,UAAU;IACV,oBAAoB;IACpB,wBAA8C;IAC9C,mCAA2B;YAA3B,2BAA2B;IAC3B,yBjC/TM;IiCgUN,+CAAuC;IAAvC,uCAAuC;IAAvC,0DAAuC;EnC8sN3C;EmClvNA;IAsCI,UAAU;IACV,QAAQ;EnC+sNZ;EmCt3NF;IAyKI,cAAc;EnCgtNhB;EmC/sNA;;IAGI,oBAAoB;EnCgtNxB;EmCntNA;;IAKI,qBAAqB;EnCktNzB;EmChtNA;IAnWA,OAAO;IACP,eAAe;IACf,QAAQ;IACR,WA7CiB;EnCmmOjB;EmCttNA;IAKI,SAAS;EnCotNb;EmCztNA;IAOM,4CjCzZqB;EF8mO3B;EmC5tNA;IASI,MAAM;EnCstNV;EmCrtNA;;IAGI,oBA9ZiB;EnConOrB;EmCztNA;;IAKI,uBAhaiB;EnCwnOrB;EmC7tNA;;IAOI,oBAA4D;EnC0tNhE;EmCjuNA;;IASI,uBAA+D;EnC4tNnE;EmC1tNA;;IAGI,cjC1auB;EFqoO3B;EmC9tNA;;IAKI,6BAja2C;EnC8nO/C;EmC5tNA;IAKM,yBjCvasB;EFioO5B;AACF;;AmCvtNA;EAEI,iCAA2C;AnCytN/C;;AoCpnOA;EACE,elCIW;EkCHX,gBA/B0B;ApCspO5B;;AoCznOA;EAKI,kBlCCY;AFunOhB;;AoC7nOA;EAOI,kBlCHY;AF6nOhB;;AoCjoOA;EASI,iBlCNW;AFkoOf;;AoCroOA;;EAaM,iBAAiB;EACjB,kBAAkB;EAClB,uBlCwBmB;AFqmOzB;;AoC5oOA;EAiBM,uBlCsBmB;AFymOzB;;AoC7nOA;;EAEE,mBAAmB;EACnB,aAAa;EACb,uBAAuB;EACvB,kBAAkB;ApCgoOpB;;AoC9nOA;;;;EAME,cA1D6B;EA2D7B,uBAAuB;EACvB,eA3D8B;EA4D9B,mBA3DkC;EA4DlC,oBA3DmC;EA4DnC,kBAAkB;ApC+nOpB;;AoC7nOA;;;EAGE,qBlC/D4B;EkCgE5B,clCpE4B;EkCqE5B,iBjCtEqB;AHssOvB;;AoCroOA;;;EAOI,qBlCpE0B;EkCqE1B,clCxE0B;AF4sO9B;;AoC5oOA;;;EAUI,qBlC3D8B;AFmsOlC;;AoClpOA;;;EAYI,iDlChFyB;AF4tO7B;;AoCxpOA;;;EAcI,yBlC1E0B;EkC2E1B,qBlC3E0B;EkC4E1B,gBAAgB;EAChB,clC/E0B;EkCgF1B,YAAY;ApCgpOhB;;AoC9oOA;;EAEE,oBAAoB;EACpB,qBAAqB;EACrB,mBAAmB;ApCipOrB;;AoC/oOA;EAEI,yBlC7E8B;EkC8E9B,qBlC9E8B;EkC+E9B,W3BvCY;ATwrOhB;;AoC/oOA;EACE,clC9F4B;EkC+F5B,oBAAoB;ApCkpOtB;;AoChpOA;EACE,eAAe;ApCmpOjB;;AC7qOE;EmClDF;IAgFI,eAAe;EpCopOjB;EoCzqOF;;IAwBI,YAAY;IACZ,cAAc;EpCqpOhB;EoCppOA;IAEI,YAAY;IACZ,cAAc;EpCqpOlB;AACF;;ACxrOE;EmCqBF;IAiBI,YAAY;IACZ,cAAc;IACd,2BAA2B;IAC3B,QAAQ;EpCupOV;EoCtpOA;IACE,QAAQ;EpCwpOV;EoCvpOA;IACE,QAAQ;EpCypOV;EoC5vOF;IAqGI,8BAA8B;EpC0pOhC;EoC3pOA;IAIM,QAAQ;EpC0pOd;EoC9pOA;IAMM,uBAAuB;IACvB,QAAQ;EpC2pOd;EoClqOA;IASM,QAAQ;EpC4pOd;EoCrqOA;IAYM,QAAQ;EpC4pOd;EoCxqOA;IAcM,QAAQ;EpC6pOd;EoC3qOA;IAgBM,yBAAyB;IACzB,QAAQ;EpC8pOd;AACF;;AqCxxOA;EACE,enCQW;AFmxOb;;AqC5xOA;EAGI,qBnCiBkB;AF4wOtB;;AqC3xOA;;;EAGE,gCnCzB4B;EmC0B5B,8BnC1B4B;EmC2B5B,+BnC3B4B;AFyzO9B;;AqCnyOA;;;EAOI,6BnC7B0B;AF+zO9B;;AqChyOA;EACE,4BnC9B4B;EmC+B5B,0BAA8D;EAC9D,cnCtC4B;EmCuC5B,iBArCyB;EAsCzB,gBnCPgB;EmCQhB,iBA1C8B;EA2C9B,qBA1CkC;ArC60OpC;;AqCjyOA;EACE,qBAAqB;EACrB,aAAa;EACb,kBA1C4B;EA2C5B,uBAAuB;ArCoyOzB;;AqCxyOA;EAMI,gCnC9C0B;EmC+C1B,mBAAmB;EACnB,cAAc;ArCsyOlB;;AqC9yOA;EAWM,4BnCtDwB;EmCuDxB,cnCxDwB;AF+1O9B;;AqCryOA;EAEI,cnC3D0B;AFk2O9B;;AqCzyOA;EAIM,cnC/C4B;AFw1OlC;;AqCvyOA;EACE,mBAAmB;EACnB,cnClE4B;EmCmE5B,aAAa;EACb,2BAA2B;EAC3B,qBAAqB;ArC0yOvB;;AqC/yOA;EAOI,oBAAoB;ArC4yOxB;;AqCnzOA;EASI,YAAY;EACZ,cAAc;EACd,WAAW;ArC8yOf;;AqCzzOA;EAaI,eAAe;ArCgzOnB;;AqC7zOA;EAeI,0BnChE8B;EmCiE9B,cnChF0B;AFk4O9B;;AqCl0OA;EAkBM,cnCnE4B;AFu3OlC;;AqClzOA;;EAEE,eAAe;ArCqzOjB;;AqCvzOA;;EAII,4BnClF0B;AF04O9B;;AqCtzOA;EpC9EE,qBAAqB;EACrB,eoC8EgB;EpC7EhB,WoC6EqB;EpC5ErB,gBoC4EqB;EpC3ErB,kBAAkB;EAClB,mBAAmB;EACnB,UoCyEqB;EACrB,cnC1F4B;EmC2F5B,oBAAoB;ArC+zOtB;;AqCl0OA;EAKI,kBAAkB;EAClB,oBAAoB;ArCi0OxB;;AsC34OA;ErCkCE,iCAAiC;EqC9BjC,oBAAoB;EACpB,aAAa;EACb,epCEW;EoCDX,8BAA8B;EAC9B,gBAAgB;EAChB,gBAAgB;EAChB,mBAAmB;AtC44OrB;;AsCt5OA;EAYI,mBAAmB;EACnB,4BpC/B0B;EoCgC1B,0BAzC4B;EA0C5B,wBAzC0B;EA0C1B,cpCrC0B;EoCsC1B,aAAa;EACb,uBAAuB;EACvB,mBAA6C;EAC7C,kBAxCyB;EAyCzB,mBAAmB;AtC84OvB;;AsCn6OA;EAuBM,4BpC7CwB;EoC8CxB,cpC9CwB;AF87O9B;;AsCx6OA;EA0BI,cAAc;AtCk5OlB;;AsC56OA;EA6BQ,4BpCpC0B;EoCqC1B,cpCrC0B;AFw7OlC;;AsCj7OA;EAgCI,mBAAmB;EACnB,4BpCnD0B;EoCoD1B,0BA7D4B;EA8D5B,wBA7D0B;EA8D1B,aAAa;EACb,YAAY;EACZ,cAAc;EACd,2BAA2B;AtCq5O/B;;AsC57OA;EAyCM,qBAAqB;AtCu5O3B;;AsCh8OA;EA2CM,UAAU;EACV,uBAAuB;EACvB,oBAAoB;EACpB,qBAAqB;AtCy5O3B;;AsCv8OA;EAgDM,yBAAyB;EACzB,oBAAoB;AtC25O1B;;AsC58OA;EAoDM,mBAAmB;AtC45OzB;;AsCh9OA;EAsDM,kBAAkB;AtC85OxB;;AsCp9OA;EA0DM,uBAAuB;AtC85O7B;;AsCx9OA;EA6DM,yBAAyB;AtC+5O/B;;AsC59OA;EAiEM,6BAA6B;EAC7B,0BAAkE;AtC+5OxE;;AsCj+OA;EAoEQ,4BpCpFsB;EoCqFtB,4BpCvFsB;AFw/O9B;;AsCt+OA;EAyEU,uBpCvFqB;EoCwFrB,qBpC5FoB;EoC6FpB,2CAA2E;AtCi6OrF;;AsC5+OA;EA8EM,YAAY;EACZ,cAAc;AtCk6OpB;;AsCj/OA;EAkFM,qBpCpGwB;EoCqGxB,mBA5F+B;EA6F/B,iBA5F6B;EA6F7B,gBAAgB;EAChB,kBAAkB;AtCm6OxB;;AsCz/OA;EAwFQ,4BpCxGsB;EoCyGtB,qBpC5GsB;EoC6GtB,UAAU;AtCq6OlB;;AsC//OA;EA6FQ,iBAAgD;AtCs6OxD;;AsCngPA;EA+FQ,0BpCvDI;AF+9OZ;;AsCvgPA;EAiGQ,0BAAoE;AtC06O5E;;AsC3gPA;EAoGU,yBpC3GwB;EoC4GxB,qBpC5GwB;EoC6GxB,W7BrEM;E6BsEN,UAAU;AtC26OpB;;AsClhPA;EAyGM,mBAAmB;AtC66OzB;;AsCthPA;EA6GU,mCpCnEe;EoCoEf,gCpCpEe;EoCqEf,oBAAoB;AtC66O9B;;AsC5hPA;EAiHU,oCpCvEe;EoCwEf,iCpCxEe;EoCyEf,qBAAqB;AtC+6O/B;;AsCliPA;EAsHI,kBpC7GY;AF6hPhB;;AsCtiPA;EAwHI,kBpCjHY;AFmiPhB;;AsC1iPA;EA0HI,iBpCpHW;AFwiPf;;AuCxkPA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,cAAc;EACd,gBAPkB;AvCklPpB;;AuC1kPE;EACE,UAAU;AvC6kPd;;AuC5kPE;EACE,UAAU;EACV,WAAW;AvC+kPf;;AuC9kPE;EACE,UAAU;EACV,UAAU;AvCilPd;;AuChlPE;EACE,UAAU;EACV,eAAe;AvCmlPnB;;AuCllPE;EACE,UAAU;EACV,UAAU;AvCqlPd;;AuCplPE;EACE,UAAU;EACV,eAAe;AvCulPnB;;AuCtlPE;EACE,UAAU;EACV,UAAU;AvCylPd;;AuCxlPE;EACE,UAAU;EACV,UAAU;AvC2lPd;;AuC1lPE;EACE,UAAU;EACV,UAAU;AvC6lPd;;AuC5lPE;EACE,UAAU;EACV,UAAU;AvC+lPd;;AuC9lPE;EACE,UAAU;EACV,UAAU;AvCimPd;;AuChmPE;EACE,gBAAgB;AvCmmPpB;;AuClmPE;EACE,qBAAqB;AvCqmPzB;;AuCpmPE;EACE,gBAAgB;AvCumPpB;;AuCtmPE;EACE,qBAAqB;AvCymPzB;;AuCxmPE;EACE,gBAAgB;AvC2mPpB;;AuC1mPE;EACE,gBAAgB;AvC6mPpB;;AuC5mPE;EACE,gBAAgB;AvC+mPpB;;AuC9mPE;EACE,gBAAgB;AvCinPpB;;AuChnPE;EACE,gBAAgB;AvCmnPpB;;AuCjnPI;EACE,UAAU;EACV,SAA0B;AvConPhC;;AuCnnPI;EACE,eAAgC;AvCsnPtC;;AuC1nPI;EACE,UAAU;EACV,eAA0B;AvC6nPhC;;AuC5nPI;EACE,qBAAgC;AvC+nPtC;;AuCnoPI;EACE,UAAU;EACV,gBAA0B;AvCsoPhC;;AuCroPI;EACE,sBAAgC;AvCwoPtC;;AuC5oPI;EACE,UAAU;EACV,UAA0B;AvC+oPhC;;AuC9oPI;EACE,gBAAgC;AvCipPtC;;AuCrpPI;EACE,UAAU;EACV,gBAA0B;AvCwpPhC;;AuCvpPI;EACE,sBAAgC;AvC0pPtC;;AuC9pPI;EACE,UAAU;EACV,gBAA0B;AvCiqPhC;;AuChqPI;EACE,sBAAgC;AvCmqPtC;;AuCvqPI;EACE,UAAU;EACV,UAA0B;AvC0qPhC;;AuCzqPI;EACE,gBAAgC;AvC4qPtC;;AuChrPI;EACE,UAAU;EACV,gBAA0B;AvCmrPhC;;AuClrPI;EACE,sBAAgC;AvCqrPtC;;AuCzrPI;EACE,UAAU;EACV,gBAA0B;AvC4rPhC;;AuC3rPI;EACE,sBAAgC;AvC8rPtC;;AuClsPI;EACE,UAAU;EACV,UAA0B;AvCqsPhC;;AuCpsPI;EACE,gBAAgC;AvCusPtC;;AuC3sPI;EACE,UAAU;EACV,gBAA0B;AvC8sPhC;;AuC7sPI;EACE,sBAAgC;AvCgtPtC;;AuCptPI;EACE,UAAU;EACV,gBAA0B;AvCutPhC;;AuCttPI;EACE,sBAAgC;AvCytPtC;;AuC7tPI;EACE,UAAU;EACV,WAA0B;AvCguPhC;;AuC/tPI;EACE,iBAAgC;AvCkuPtC;;AChtPE;EsC/EF;IAgEM,UAAU;EvCouPd;EuCpyPF;IAkEM,UAAU;IACV,WAAW;EvCquPf;EuCxyPF;IAqEM,UAAU;IACV,UAAU;EvCsuPd;EuC5yPF;IAwEM,UAAU;IACV,eAAe;EvCuuPnB;EuChzPF;IA2EM,UAAU;IACV,UAAU;EvCwuPd;EuCpzPF;IA8EM,UAAU;IACV,eAAe;EvCyuPnB;EuCxzPF;IAiFM,UAAU;IACV,UAAU;EvC0uPd;EuC5zPF;IAoFM,UAAU;IACV,UAAU;EvC2uPd;EuCh0PF;IAuFM,UAAU;IACV,UAAU;EvC4uPd;EuCp0PF;IA0FM,UAAU;IACV,UAAU;EvC6uPd;EuCx0PF;IA6FM,UAAU;IACV,UAAU;EvC8uPd;EuC50PF;IAgGM,gBAAgB;EvC+uPpB;EuC/0PF;IAkGM,qBAAqB;EvCgvPzB;EuCl1PF;IAoGM,gBAAgB;EvCivPpB;EuCr1PF;IAsGM,qBAAqB;EvCkvPzB;EuCx1PF;IAwGM,gBAAgB;EvCmvPpB;EuC31PF;IA0GM,gBAAgB;EvCovPpB;EuC91PF;IA4GM,gBAAgB;EvCqvPpB;EuCj2PF;IA8GM,gBAAgB;EvCsvPpB;EuCp2PF;IAgHM,gBAAgB;EvCuvPpB;EuCv2PF;IAmHQ,UAAU;IACV,SAA0B;EvCuvPhC;EuC32PF;IAsHQ,eAAgC;EvCwvPtC;EuC92PF;IAmHQ,UAAU;IACV,eAA0B;EvC8vPhC;EuCl3PF;IAsHQ,qBAAgC;EvC+vPtC;EuCr3PF;IAmHQ,UAAU;IACV,gBAA0B;EvCqwPhC;EuCz3PF;IAsHQ,sBAAgC;EvCswPtC;EuC53PF;IAmHQ,UAAU;IACV,UAA0B;EvC4wPhC;EuCh4PF;IAsHQ,gBAAgC;EvC6wPtC;EuCn4PF;IAmHQ,UAAU;IACV,gBAA0B;EvCmxPhC;EuCv4PF;IAsHQ,sBAAgC;EvCoxPtC;EuC14PF;IAmHQ,UAAU;IACV,gBAA0B;EvC0xPhC;EuC94PF;IAsHQ,sBAAgC;EvC2xPtC;EuCj5PF;IAmHQ,UAAU;IACV,UAA0B;EvCiyPhC;EuCr5PF;IAsHQ,gBAAgC;EvCkyPtC;EuCx5PF;IAmHQ,UAAU;IACV,gBAA0B;EvCwyPhC;EuC55PF;IAsHQ,sBAAgC;EvCyyPtC;EuC/5PF;IAmHQ,UAAU;IACV,gBAA0B;EvC+yPhC;EuCn6PF;IAsHQ,sBAAgC;EvCgzPtC;EuCt6PF;IAmHQ,UAAU;IACV,UAA0B;EvCszPhC;EuC16PF;IAsHQ,gBAAgC;EvCuzPtC;EuC76PF;IAmHQ,UAAU;IACV,gBAA0B;EvC6zPhC;EuCj7PF;IAsHQ,sBAAgC;EvC8zPtC;EuCp7PF;IAmHQ,UAAU;IACV,gBAA0B;EvCo0PhC;EuCx7PF;IAsHQ,sBAAgC;EvCq0PtC;EuC37PF;IAmHQ,UAAU;IACV,WAA0B;EvC20PhC;EuC/7PF;IAsHQ,iBAAgC;EvC40PtC;AACF;;ACh3PE;EsCnFF;IA0HM,UAAU;EvC80Pd;EuCx8PF;IA6HM,UAAU;IACV,WAAW;EvC80Pf;EuC58PF;IAiIM,UAAU;IACV,UAAU;EvC80Pd;EuCh9PF;IAqIM,UAAU;IACV,eAAe;EvC80PnB;EuCp9PF;IAyIM,UAAU;IACV,UAAU;EvC80Pd;EuCx9PF;IA6IM,UAAU;IACV,eAAe;EvC80PnB;EuC59PF;IAiJM,UAAU;IACV,UAAU;EvC80Pd;EuCh+PF;IAqJM,UAAU;IACV,UAAU;EvC80Pd;EuCp+PF;IAyJM,UAAU;IACV,UAAU;EvC80Pd;EuCx+PF;IA6JM,UAAU;IACV,UAAU;EvC80Pd;EuC5+PF;IAiKM,UAAU;IACV,UAAU;EvC80Pd;EuCh/PF;IAqKM,gBAAgB;EvC80PpB;EuCn/PF;IAwKM,qBAAqB;EvC80PzB;EuCt/PF;IA2KM,gBAAgB;EvC80PpB;EuCz/PF;IA8KM,qBAAqB;EvC80PzB;EuC5/PF;IAiLM,gBAAgB;EvC80PpB;EuC//PF;IAoLM,gBAAgB;EvC80PpB;EuClgQF;IAuLM,gBAAgB;EvC80PpB;EuCrgQF;IA0LM,gBAAgB;EvC80PpB;EuCxgQF;IA6LM,gBAAgB;EvC80PpB;EuC3gQF;IAiMQ,UAAU;IACV,SAA0B;EvC60PhC;EuC/gQF;IAqMQ,eAAgC;EvC60PtC;EuClhQF;IAiMQ,UAAU;IACV,eAA0B;EvCo1PhC;EuCthQF;IAqMQ,qBAAgC;EvCo1PtC;EuCzhQF;IAiMQ,UAAU;IACV,gBAA0B;EvC21PhC;EuC7hQF;IAqMQ,sBAAgC;EvC21PtC;EuChiQF;IAiMQ,UAAU;IACV,UAA0B;EvCk2PhC;EuCpiQF;IAqMQ,gBAAgC;EvCk2PtC;EuCviQF;IAiMQ,UAAU;IACV,gBAA0B;EvCy2PhC;EuC3iQF;IAqMQ,sBAAgC;EvCy2PtC;EuC9iQF;IAiMQ,UAAU;IACV,gBAA0B;EvCg3PhC;EuCljQF;IAqMQ,sBAAgC;EvCg3PtC;EuCrjQF;IAiMQ,UAAU;IACV,UAA0B;EvCu3PhC;EuCzjQF;IAqMQ,gBAAgC;EvCu3PtC;EuC5jQF;IAiMQ,UAAU;IACV,gBAA0B;EvC83PhC;EuChkQF;IAqMQ,sBAAgC;EvC83PtC;EuCnkQF;IAiMQ,UAAU;IACV,gBAA0B;EvCq4PhC;EuCvkQF;IAqMQ,sBAAgC;EvCq4PtC;EuC1kQF;IAiMQ,UAAU;IACV,UAA0B;EvC44PhC;EuC9kQF;IAqMQ,gBAAgC;EvC44PtC;EuCjlQF;IAiMQ,UAAU;IACV,gBAA0B;EvCm5PhC;EuCrlQF;IAqMQ,sBAAgC;EvCm5PtC;EuCxlQF;IAiMQ,UAAU;IACV,gBAA0B;EvC05PhC;EuC5lQF;IAqMQ,sBAAgC;EvC05PtC;EuC/lQF;IAiMQ,UAAU;IACV,WAA0B;EvCi6PhC;EuCnmQF;IAqMQ,iBAAgC;EvCi6PtC;AACF;;AC5gQE;EsC3FF;IAwMM,UAAU;EvCo6Pd;EuC5mQF;IA0MM,UAAU;IACV,WAAW;EvCq6Pf;EuChnQF;IA6MM,UAAU;IACV,UAAU;EvCs6Pd;EuCpnQF;IAgNM,UAAU;IACV,eAAe;EvCu6PnB;EuCxnQF;IAmNM,UAAU;IACV,UAAU;EvCw6Pd;EuC5nQF;IAsNM,UAAU;IACV,eAAe;EvCy6PnB;EuChoQF;IAyNM,UAAU;IACV,UAAU;EvC06Pd;EuCpoQF;IA4NM,UAAU;IACV,UAAU;EvC26Pd;EuCxoQF;IA+NM,UAAU;IACV,UAAU;EvC46Pd;EuC5oQF;IAkOM,UAAU;IACV,UAAU;EvC66Pd;EuChpQF;IAqOM,UAAU;IACV,UAAU;EvC86Pd;EuCppQF;IAwOM,gBAAgB;EvC+6PpB;EuCvpQF;IA0OM,qBAAqB;EvCg7PzB;EuC1pQF;IA4OM,gBAAgB;EvCi7PpB;EuC7pQF;IA8OM,qBAAqB;EvCk7PzB;EuChqQF;IAgPM,gBAAgB;EvCm7PpB;EuCnqQF;IAkPM,gBAAgB;EvCo7PpB;EuCtqQF;IAoPM,gBAAgB;EvCq7PpB;EuCzqQF;IAsPM,gBAAgB;EvCs7PpB;EuC5qQF;IAwPM,gBAAgB;EvCu7PpB;EuC/qQF;IA2PQ,UAAU;IACV,SAA0B;EvCu7PhC;EuCnrQF;IA8PQ,eAAgC;EvCw7PtC;EuCtrQF;IA2PQ,UAAU;IACV,eAA0B;EvC87PhC;EuC1rQF;IA8PQ,qBAAgC;EvC+7PtC;EuC7rQF;IA2PQ,UAAU;IACV,gBAA0B;EvCq8PhC;EuCjsQF;IA8PQ,sBAAgC;EvCs8PtC;EuCpsQF;IA2PQ,UAAU;IACV,UAA0B;EvC48PhC;EuCxsQF;IA8PQ,gBAAgC;EvC68PtC;EuC3sQF;IA2PQ,UAAU;IACV,gBAA0B;EvCm9PhC;EuC/sQF;IA8PQ,sBAAgC;EvCo9PtC;EuCltQF;IA2PQ,UAAU;IACV,gBAA0B;EvC09PhC;EuCttQF;IA8PQ,sBAAgC;EvC29PtC;EuCztQF;IA2PQ,UAAU;IACV,UAA0B;EvCi+PhC;EuC7tQF;IA8PQ,gBAAgC;EvCk+PtC;EuChuQF;IA2PQ,UAAU;IACV,gBAA0B;EvCw+PhC;EuCpuQF;IA8PQ,sBAAgC;EvCy+PtC;EuCvuQF;IA2PQ,UAAU;IACV,gBAA0B;EvC++PhC;EuC3uQF;IA8PQ,sBAAgC;EvCg/PtC;EuC9uQF;IA2PQ,UAAU;IACV,UAA0B;EvCs/PhC;EuClvQF;IA8PQ,gBAAgC;EvCu/PtC;EuCrvQF;IA2PQ,UAAU;IACV,gBAA0B;EvC6/PhC;EuCzvQF;IA8PQ,sBAAgC;EvC8/PtC;EuC5vQF;IA2PQ,UAAU;IACV,gBAA0B;EvCogQhC;EuChwQF;IA8PQ,sBAAgC;EvCqgQtC;EuCnwQF;IA2PQ,UAAU;IACV,WAA0B;EvC2gQhC;EuCvwQF;IA8PQ,iBAAgC;EvC4gQtC;AACF;;AC5qQE;EsC/FF;IAiQM,UAAU;EvC+gQd;EuChxQF;IAmQM,UAAU;IACV,WAAW;EvCghQf;EuCpxQF;IAsQM,UAAU;IACV,UAAU;EvCihQd;EuCxxQF;IAyQM,UAAU;IACV,eAAe;EvCkhQnB;EuC5xQF;IA4QM,UAAU;IACV,UAAU;EvCmhQd;EuChyQF;IA+QM,UAAU;IACV,eAAe;EvCohQnB;EuCpyQF;IAkRM,UAAU;IACV,UAAU;EvCqhQd;EuCxyQF;IAqRM,UAAU;IACV,UAAU;EvCshQd;EuC5yQF;IAwRM,UAAU;IACV,UAAU;EvCuhQd;EuChzQF;IA2RM,UAAU;IACV,UAAU;EvCwhQd;EuCpzQF;IA8RM,UAAU;IACV,UAAU;EvCyhQd;EuCxzQF;IAiSM,gBAAgB;EvC0hQpB;EuC3zQF;IAmSM,qBAAqB;EvC2hQzB;EuC9zQF;IAqSM,gBAAgB;EvC4hQpB;EuCj0QF;IAuSM,qBAAqB;EvC6hQzB;EuCp0QF;IAySM,gBAAgB;EvC8hQpB;EuCv0QF;IA2SM,gBAAgB;EvC+hQpB;EuC10QF;IA6SM,gBAAgB;EvCgiQpB;EuC70QF;IA+SM,gBAAgB;EvCiiQpB;EuCh1QF;IAiTM,gBAAgB;EvCkiQpB;EuCn1QF;IAoTQ,UAAU;IACV,SAA0B;EvCkiQhC;EuCv1QF;IAuTQ,eAAgC;EvCmiQtC;EuC11QF;IAoTQ,UAAU;IACV,eAA0B;EvCyiQhC;EuC91QF;IAuTQ,qBAAgC;EvC0iQtC;EuCj2QF;IAoTQ,UAAU;IACV,gBAA0B;EvCgjQhC;EuCr2QF;IAuTQ,sBAAgC;EvCijQtC;EuCx2QF;IAoTQ,UAAU;IACV,UAA0B;EvCujQhC;EuC52QF;IAuTQ,gBAAgC;EvCwjQtC;EuC/2QF;IAoTQ,UAAU;IACV,gBAA0B;EvC8jQhC;EuCn3QF;IAuTQ,sBAAgC;EvC+jQtC;EuCt3QF;IAoTQ,UAAU;IACV,gBAA0B;EvCqkQhC;EuC13QF;IAuTQ,sBAAgC;EvCskQtC;EuC73QF;IAoTQ,UAAU;IACV,UAA0B;EvC4kQhC;EuCj4QF;IAuTQ,gBAAgC;EvC6kQtC;EuCp4QF;IAoTQ,UAAU;IACV,gBAA0B;EvCmlQhC;EuCx4QF;IAuTQ,sBAAgC;EvColQtC;EuC34QF;IAoTQ,UAAU;IACV,gBAA0B;EvC0lQhC;EuC/4QF;IAuTQ,sBAAgC;EvC2lQtC;EuCl5QF;IAoTQ,UAAU;IACV,UAA0B;EvCimQhC;EuCt5QF;IAuTQ,gBAAgC;EvCkmQtC;EuCz5QF;IAoTQ,UAAU;IACV,gBAA0B;EvCwmQhC;EuC75QF;IAuTQ,sBAAgC;EvCymQtC;EuCh6QF;IAoTQ,UAAU;IACV,gBAA0B;EvC+mQhC;EuCp6QF;IAuTQ,sBAAgC;EvCgnQtC;EuCv6QF;IAoTQ,UAAU;IACV,WAA0B;EvCsnQhC;EuC36QF;IAuTQ,iBAAgC;EvCunQtC;AACF;;ACj0QI;EsC9GJ;IA0TM,UAAU;EvC0nQd;EuCp7QF;IA4TM,UAAU;IACV,WAAW;EvC2nQf;EuCx7QF;IA+TM,UAAU;IACV,UAAU;EvC4nQd;EuC57QF;IAkUM,UAAU;IACV,eAAe;EvC6nQnB;EuCh8QF;IAqUM,UAAU;IACV,UAAU;EvC8nQd;EuCp8QF;IAwUM,UAAU;IACV,eAAe;EvC+nQnB;EuCx8QF;IA2UM,UAAU;IACV,UAAU;EvCgoQd;EuC58QF;IA8UM,UAAU;IACV,UAAU;EvCioQd;EuCh9QF;IAiVM,UAAU;IACV,UAAU;EvCkoQd;EuCp9QF;IAoVM,UAAU;IACV,UAAU;EvCmoQd;EuCx9QF;IAuVM,UAAU;IACV,UAAU;EvCooQd;EuC59QF;IA0VM,gBAAgB;EvCqoQpB;EuC/9QF;IA4VM,qBAAqB;EvCsoQzB;EuCl+QF;IA8VM,gBAAgB;EvCuoQpB;EuCr+QF;IAgWM,qBAAqB;EvCwoQzB;EuCx+QF;IAkWM,gBAAgB;EvCyoQpB;EuC3+QF;IAoWM,gBAAgB;EvC0oQpB;EuC9+QF;IAsWM,gBAAgB;EvC2oQpB;EuCj/QF;IAwWM,gBAAgB;EvC4oQpB;EuCp/QF;IA0WM,gBAAgB;EvC6oQpB;EuCv/QF;IA6WQ,UAAU;IACV,SAA0B;EvC6oQhC;EuC3/QF;IAgXQ,eAAgC;EvC8oQtC;EuC9/QF;IA6WQ,UAAU;IACV,eAA0B;EvCopQhC;EuClgRF;IAgXQ,qBAAgC;EvCqpQtC;EuCrgRF;IA6WQ,UAAU;IACV,gBAA0B;EvC2pQhC;EuCzgRF;IAgXQ,sBAAgC;EvC4pQtC;EuC5gRF;IA6WQ,UAAU;IACV,UAA0B;EvCkqQhC;EuChhRF;IAgXQ,gBAAgC;EvCmqQtC;EuCnhRF;IA6WQ,UAAU;IACV,gBAA0B;EvCyqQhC;EuCvhRF;IAgXQ,sBAAgC;EvC0qQtC;EuC1hRF;IA6WQ,UAAU;IACV,gBAA0B;EvCgrQhC;EuC9hRF;IAgXQ,sBAAgC;EvCirQtC;EuCjiRF;IA6WQ,UAAU;IACV,UAA0B;EvCurQhC;EuCriRF;IAgXQ,gBAAgC;EvCwrQtC;EuCxiRF;IA6WQ,UAAU;IACV,gBAA0B;EvC8rQhC;EuC5iRF;IAgXQ,sBAAgC;EvC+rQtC;EuC/iRF;IA6WQ,UAAU;IACV,gBAA0B;EvCqsQhC;EuCnjRF;IAgXQ,sBAAgC;EvCssQtC;EuCtjRF;IA6WQ,UAAU;IACV,UAA0B;EvC4sQhC;EuC1jRF;IAgXQ,gBAAgC;EvC6sQtC;EuC7jRF;IA6WQ,UAAU;IACV,gBAA0B;EvCmtQhC;EuCjkRF;IAgXQ,sBAAgC;EvCotQtC;EuCpkRF;IA6WQ,UAAU;IACV,gBAA0B;EvC0tQhC;EuCxkRF;IAgXQ,sBAAgC;EvC2tQtC;EuC3kRF;IA6WQ,UAAU;IACV,WAA0B;EvCiuQhC;EuC/kRF;IAgXQ,iBAAgC;EvCkuQtC;AACF;;ACt9QI;EsC7HJ;IAmXM,UAAU;EvCquQd;EuCxlRF;IAqXM,UAAU;IACV,WAAW;EvCsuQf;EuC5lRF;IAwXM,UAAU;IACV,UAAU;EvCuuQd;EuChmRF;IA2XM,UAAU;IACV,eAAe;EvCwuQnB;EuCpmRF;IA8XM,UAAU;IACV,UAAU;EvCyuQd;EuCxmRF;IAiYM,UAAU;IACV,eAAe;EvC0uQnB;EuC5mRF;IAoYM,UAAU;IACV,UAAU;EvC2uQd;EuChnRF;IAuYM,UAAU;IACV,UAAU;EvC4uQd;EuCpnRF;IA0YM,UAAU;IACV,UAAU;EvC6uQd;EuCxnRF;IA6YM,UAAU;IACV,UAAU;EvC8uQd;EuC5nRF;IAgZM,UAAU;IACV,UAAU;EvC+uQd;EuChoRF;IAmZM,gBAAgB;EvCgvQpB;EuCnoRF;IAqZM,qBAAqB;EvCivQzB;EuCtoRF;IAuZM,gBAAgB;EvCkvQpB;EuCzoRF;IAyZM,qBAAqB;EvCmvQzB;EuC5oRF;IA2ZM,gBAAgB;EvCovQpB;EuC/oRF;IA6ZM,gBAAgB;EvCqvQpB;EuClpRF;IA+ZM,gBAAgB;EvCsvQpB;EuCrpRF;IAiaM,gBAAgB;EvCuvQpB;EuCxpRF;IAmaM,gBAAgB;EvCwvQpB;EuC3pRF;IAsaQ,UAAU;IACV,SAA0B;EvCwvQhC;EuC/pRF;IAyaQ,eAAgC;EvCyvQtC;EuClqRF;IAsaQ,UAAU;IACV,eAA0B;EvC+vQhC;EuCtqRF;IAyaQ,qBAAgC;EvCgwQtC;EuCzqRF;IAsaQ,UAAU;IACV,gBAA0B;EvCswQhC;EuC7qRF;IAyaQ,sBAAgC;EvCuwQtC;EuChrRF;IAsaQ,UAAU;IACV,UAA0B;EvC6wQhC;EuCprRF;IAyaQ,gBAAgC;EvC8wQtC;EuCvrRF;IAsaQ,UAAU;IACV,gBAA0B;EvCoxQhC;EuC3rRF;IAyaQ,sBAAgC;EvCqxQtC;EuC9rRF;IAsaQ,UAAU;IACV,gBAA0B;EvC2xQhC;EuClsRF;IAyaQ,sBAAgC;EvC4xQtC;EuCrsRF;IAsaQ,UAAU;IACV,UAA0B;EvCkyQhC;EuCzsRF;IAyaQ,gBAAgC;EvCmyQtC;EuC5sRF;IAsaQ,UAAU;IACV,gBAA0B;EvCyyQhC;EuChtRF;IAyaQ,sBAAgC;EvC0yQtC;EuCntRF;IAsaQ,UAAU;IACV,gBAA0B;EvCgzQhC;EuCvtRF;IAyaQ,sBAAgC;EvCizQtC;EuC1tRF;IAsaQ,UAAU;IACV,UAA0B;EvCuzQhC;EuC9tRF;IAyaQ,gBAAgC;EvCwzQtC;EuCjuRF;IAsaQ,UAAU;IACV,gBAA0B;EvC8zQhC;EuCruRF;IAyaQ,sBAAgC;EvC+zQtC;EuCxuRF;IAsaQ,UAAU;IACV,gBAA0B;EvCq0QhC;EuC5uRF;IAyaQ,sBAAgC;EvCs0QtC;EuC/uRF;IAsaQ,UAAU;IACV,WAA0B;EvC40QhC;EuCnvRF;IAyaQ,iBAAgC;EvC60QtC;AACF;;AuC50QA;EACE,qBA9akB;EA+alB,sBA/akB;EAgblB,oBAhbkB;AvC+vRpB;;AuCl1QA;EAKI,uBAlbgB;AvCmwRpB;;AuCt1QA;EAOI,qCAA4C;AvCm1QhD;;AuC11QA;EAUI,uBAAuB;AvCo1Q3B;;AuC91QA;EAYI,cAAc;EACd,eAAe;EACf,aAAa;AvCs1QjB;;AuCp2QA;EAgBM,SAAS;EACT,qBAAqB;AvCw1Q3B;;AuCz2QA;EAmBM,qBAAqB;AvC01Q3B;;AuC72QA;EAqBM,gBAAgB;AvC41QtB;;AuCj3QA;EAuBI,aAAa;AvC81QjB;;AuCr3QA;EAyBI,eAAe;AvCg2QnB;;AuCz3QA;EA2BI,mBAAmB;AvCk2QvB;;ACrtRE;EsCwVF;IA+BM,aAAa;EvCm2QjB;AACF;;AC/sRE;EsC4UF;IAmCM,aAAa;EvCq2QjB;AACF;;AuCn2QE;EACE,oBAAY;EACZ,wCAAwC;EACxC,yCAAyC;AvCs2Q7C;;AuCz2QE;EAKI,8BAA8B;EAC9B,+BAA+B;AvCw2QrC;;AuC92QE;EASM,iBAAY;AvCy2QpB;;ACpvRE;EsCkYA;IAYQ,iBAAY;EvC22QpB;AACF;;ACtvRE;EsC8XA;IAeQ,iBAAY;EvC82QpB;AACF;;ACxvRE;EsC0XA;IAkBQ,iBAAY;EvCi3QpB;AACF;;AC1vRE;EsCsXA;IAqBQ,iBAAY;EvCo3QpB;AACF;;AC5vRE;EsCkXA;IAwBQ,iBAAY;EvCu3QpB;AACF;;AC7vRI;EsC6WF;IA2BQ,iBAAY;EvC03QpB;AACF;;ACzvRI;EsCmWF;IA8BQ,iBAAY;EvC63QpB;AACF;;AC1vRI;EsC8VF;IAiCQ,iBAAY;EvCg4QpB;AACF;;ACtvRI;EsCoVF;IAoCQ,iBAAY;EvCm4QpB;AACF;;AuCx6QE;EASM,oBAAY;AvCm6QpB;;AC9yRE;EsCkYA;IAYQ,oBAAY;EvCq6QpB;AACF;;AChzRE;EsC8XA;IAeQ,oBAAY;EvCw6QpB;AACF;;AClzRE;EsC0XA;IAkBQ,oBAAY;EvC26QpB;AACF;;ACpzRE;EsCsXA;IAqBQ,oBAAY;EvC86QpB;AACF;;ACtzRE;EsCkXA;IAwBQ,oBAAY;EvCi7QpB;AACF;;ACvzRI;EsC6WF;IA2BQ,oBAAY;EvCo7QpB;AACF;;ACnzRI;EsCmWF;IA8BQ,oBAAY;EvCu7QpB;AACF;;ACpzRI;EsC8VF;IAiCQ,oBAAY;EvC07QpB;AACF;;AChzRI;EsCoVF;IAoCQ,oBAAY;EvC67QpB;AACF;;AuCl+QE;EASM,mBAAY;AvC69QpB;;ACx2RE;EsCkYA;IAYQ,mBAAY;EvC+9QpB;AACF;;AC12RE;EsC8XA;IAeQ,mBAAY;EvCk+QpB;AACF;;AC52RE;EsC0XA;IAkBQ,mBAAY;EvCq+QpB;AACF;;AC92RE;EsCsXA;IAqBQ,mBAAY;EvCw+QpB;AACF;;ACh3RE;EsCkXA;IAwBQ,mBAAY;EvC2+QpB;AACF;;ACj3RI;EsC6WF;IA2BQ,mBAAY;EvC8+QpB;AACF;;AC72RI;EsCmWF;IA8BQ,mBAAY;EvCi/QpB;AACF;;AC92RI;EsC8VF;IAiCQ,mBAAY;EvCo/QpB;AACF;;AC12RI;EsCoVF;IAoCQ,mBAAY;EvCu/QpB;AACF;;AuC5hRE;EASM,oBAAY;AvCuhRpB;;ACl6RE;EsCkYA;IAYQ,oBAAY;EvCyhRpB;AACF;;ACp6RE;EsC8XA;IAeQ,oBAAY;EvC4hRpB;AACF;;ACt6RE;EsC0XA;IAkBQ,oBAAY;EvC+hRpB;AACF;;ACx6RE;EsCsXA;IAqBQ,oBAAY;EvCkiRpB;AACF;;AC16RE;EsCkXA;IAwBQ,oBAAY;EvCqiRpB;AACF;;AC36RI;EsC6WF;IA2BQ,oBAAY;EvCwiRpB;AACF;;ACv6RI;EsCmWF;IA8BQ,oBAAY;EvC2iRpB;AACF;;ACx6RI;EsC8VF;IAiCQ,oBAAY;EvC8iRpB;AACF;;ACp6RI;EsCoVF;IAoCQ,oBAAY;EvCijRpB;AACF;;AuCtlRE;EASM,iBAAY;AvCilRpB;;AC59RE;EsCkYA;IAYQ,iBAAY;EvCmlRpB;AACF;;AC99RE;EsC8XA;IAeQ,iBAAY;EvCslRpB;AACF;;ACh+RE;EsC0XA;IAkBQ,iBAAY;EvCylRpB;AACF;;ACl+RE;EsCsXA;IAqBQ,iBAAY;EvC4lRpB;AACF;;ACp+RE;EsCkXA;IAwBQ,iBAAY;EvC+lRpB;AACF;;ACr+RI;EsC6WF;IA2BQ,iBAAY;EvCkmRpB;AACF;;ACj+RI;EsCmWF;IA8BQ,iBAAY;EvCqmRpB;AACF;;ACl+RI;EsC8VF;IAiCQ,iBAAY;EvCwmRpB;AACF;;AC99RI;EsCoVF;IAoCQ,iBAAY;EvC2mRpB;AACF;;AuChpRE;EASM,oBAAY;AvC2oRpB;;ACthSE;EsCkYA;IAYQ,oBAAY;EvC6oRpB;AACF;;ACxhSE;EsC8XA;IAeQ,oBAAY;EvCgpRpB;AACF;;AC1hSE;EsC0XA;IAkBQ,oBAAY;EvCmpRpB;AACF;;AC5hSE;EsCsXA;IAqBQ,oBAAY;EvCspRpB;AACF;;AC9hSE;EsCkXA;IAwBQ,oBAAY;EvCypRpB;AACF;;AC/hSI;EsC6WF;IA2BQ,oBAAY;EvC4pRpB;AACF;;AC3hSI;EsCmWF;IA8BQ,oBAAY;EvC+pRpB;AACF;;AC5hSI;EsC8VF;IAiCQ,oBAAY;EvCkqRpB;AACF;;ACxhSI;EsCoVF;IAoCQ,oBAAY;EvCqqRpB;AACF;;AuC1sRE;EASM,mBAAY;AvCqsRpB;;AChlSE;EsCkYA;IAYQ,mBAAY;EvCusRpB;AACF;;ACllSE;EsC8XA;IAeQ,mBAAY;EvC0sRpB;AACF;;ACplSE;EsC0XA;IAkBQ,mBAAY;EvC6sRpB;AACF;;ACtlSE;EsCsXA;IAqBQ,mBAAY;EvCgtRpB;AACF;;ACxlSE;EsCkXA;IAwBQ,mBAAY;EvCmtRpB;AACF;;ACzlSI;EsC6WF;IA2BQ,mBAAY;EvCstRpB;AACF;;ACrlSI;EsCmWF;IA8BQ,mBAAY;EvCytRpB;AACF;;ACtlSI;EsC8VF;IAiCQ,mBAAY;EvC4tRpB;AACF;;ACllSI;EsCoVF;IAoCQ,mBAAY;EvC+tRpB;AACF;;AuCpwRE;EASM,oBAAY;AvC+vRpB;;AC1oSE;EsCkYA;IAYQ,oBAAY;EvCiwRpB;AACF;;AC5oSE;EsC8XA;IAeQ,oBAAY;EvCowRpB;AACF;;AC9oSE;EsC0XA;IAkBQ,oBAAY;EvCuwRpB;AACF;;AChpSE;EsCsXA;IAqBQ,oBAAY;EvC0wRpB;AACF;;AClpSE;EsCkXA;IAwBQ,oBAAY;EvC6wRpB;AACF;;ACnpSI;EsC6WF;IA2BQ,oBAAY;EvCgxRpB;AACF;;AC/oSI;EsCmWF;IA8BQ,oBAAY;EvCmxRpB;AACF;;AChpSI;EsC8VF;IAiCQ,oBAAY;EvCsxRpB;AACF;;AC5oSI;EsCoVF;IAoCQ,oBAAY;EvCyxRpB;AACF;;AuC9zRE;EASM,iBAAY;AvCyzRpB;;ACpsSE;EsCkYA;IAYQ,iBAAY;EvC2zRpB;AACF;;ACtsSE;EsC8XA;IAeQ,iBAAY;EvC8zRpB;AACF;;ACxsSE;EsC0XA;IAkBQ,iBAAY;EvCi0RpB;AACF;;AC1sSE;EsCsXA;IAqBQ,iBAAY;EvCo0RpB;AACF;;AC5sSE;EsCkXA;IAwBQ,iBAAY;EvCu0RpB;AACF;;AC7sSI;EsC6WF;IA2BQ,iBAAY;EvC00RpB;AACF;;ACzsSI;EsCmWF;IA8BQ,iBAAY;EvC60RpB;AACF;;AC1sSI;EsC8VF;IAiCQ,iBAAY;EvCg1RpB;AACF;;ACtsSI;EsCoVF;IAoCQ,iBAAY;EvCm1RpB;AACF;;AwCz0SA;EACE,oBAAoB;EACpB,cAAc;EACd,aAAa;EACb,YAAY;EACZ,cAAc;EACd,+BAAuB;EAAvB,4BAAuB;EAAvB,uBAAuB;AxC40SzB;;AwCl1SA;EASI,qBAA+B;EAC/B,sBAAgC;EAChC,oBAA8B;AxC60SlC;;AwCx1SA;EAaM,uBAAiC;AxC+0SvC;;AwC51SA;EAeM,sBAjBgB;AxCk2StB;;AwCh2SA;EAiBI,oBAAoB;AxCm1SxB;;AwCp2SA;EAmBI,gBArBkB;AxC02StB;;AwCx2SA;EAqBI,sBAAsB;AxCu1S1B;;AwC52SA;EAuBM,gCAAgC;AxCy1StC;;AC7xSE;EuCnFF;IA2BM,aAAa;ExC01SjB;EwCr3SF;IA8BQ,UAAU;IACV,eAAuB;ExC01S7B;EwCz3SF;IA8BQ,UAAU;IACV,gBAAuB;ExC81S7B;EwC73SF;IA8BQ,UAAU;IACV,UAAuB;ExCk2S7B;EwCj4SF;IA8BQ,UAAU;IACV,gBAAuB;ExCs2S7B;EwCr4SF;IA8BQ,UAAU;IACV,gBAAuB;ExC02S7B;EwCz4SF;IA8BQ,UAAU;IACV,UAAuB;ExC82S7B;EwC74SF;IA8BQ,UAAU;IACV,gBAAuB;ExCk3S7B;EwCj5SF;IA8BQ,UAAU;IACV,gBAAuB;ExCs3S7B;EwCr5SF;IA8BQ,UAAU;IACV,UAAuB;ExC03S7B;EwCz5SF;IA8BQ,UAAU;IACV,gBAAuB;ExC83S7B;EwC75SF;IA8BQ,UAAU;IACV,gBAAuB;ExCk4S7B;EwCj6SF;IA8BQ,UAAU;IACV,WAAuB;ExCs4S7B;AACF;;AyCt6SA;EACE,oBAAoB;EACpB,aAAa;EACb,sBAAsB;EACtB,8BAA8B;AzCy6ShC;;AyC76SA;EAMI,gBAAgB;AzC26SpB;;AyCj7SA;EASM,mBAAmB;AzC46SzB;;AyCr7SA;EAeM,uBvCHyB;EuCIzB,cvChBuB;AF07S7B;;AyC17SA;;EAmBQ,cAAc;AzC46StB;;AyC/7SA;EAqBQ,cvCrBqB;AFm8S7B;;AyCn8SA;EAuBQ,4BvCvBqB;AFu8S7B;;AyCv8SA;;EA0BU,cvC1BmB;AF48S7B;;ACj3SE;EwC3FF;IA6BU,uBvCjBqB;EFq8S7B;AACF;;AyCl9SA;;EAgCQ,4BvChCqB;AFu9S7B;;AyCv9SA;;;EAqCU,yBAAoC;EACpC,cvCtCmB;AF89S7B;;AyC99SA;EAyCU,cvCzCmB;EuC0CnB,YAAY;AzCy7StB;;AyCn+SA;EA4CY,UAAU;AzC27StB;;AyCv+SA;EA+CY,UAAU;AzC47StB;;AyC3+SA;EAmDY,cvCnDiB;AF++S7B;;AyC/+SA;EAqDc,uCvCrDe;AFm/S7B;;AyCn/SA;EAyDc,yBvCzDe;EuC0Df,qBvC1De;EuC2Df,YvC/CiB;AF6+S/B;;AyCz/SA;EAgEQ,4EAAyG;AzC67SjH;;AC96SE;EwC/EF;IAmEY,4EAAyG;EzC+7SnH;AACF;;AyCngTA;EAeM,yBvCfuB;EuCgBvB,YvCJyB;AF4/S/B;;AyCxgTA;;EAmBQ,cAAc;AzC0/StB;;AyC7gTA;EAqBQ,YvCTuB;AFqgT/B;;AyCjhTA;EAuBQ,+BvCXuB;AFygT/B;;AyCrhTA;;EA0BU,YvCdqB;AF8gT/B;;AC/7SE;EwC3FF;IA6BU,yBvC7BmB;EF+hT3B;AACF;;AyChiTA;;EAgCQ,+BvCpBuB;AFyhT/B;;AyCriTA;;;EAqCU,uBAAoC;EACpC,YvC1BqB;AFgiT/B;;AyC5iTA;EAyCU,YvC7BqB;EuC8BrB,YAAY;AzCugTtB;;AyCjjTA;EA4CY,UAAU;AzCygTtB;;AyCrjTA;EA+CY,UAAU;AzC0gTtB;;AyCzjTA;EAmDY,YvCvCmB;AFijT/B;;AyC7jTA;EAqDc,uCvCrDe;AFikT7B;;AyCjkTA;EAyDc,uBvC7CiB;EuC8CjB,mBvC9CiB;EuC+CjB,cvC3De;AFukT7B;;AyCvkTA;EAgEQ,8EAAyG;AzC2gTjH;;AC5/SE;EwC/EF;IAmEY,8EAAyG;EzC6gTnH;AACF;;AyCjlTA;EAeM,4BvCLwB;EuCMxB,cvCZwB;AFklT9B;;AyCtlTA;;EAmBQ,cAAc;AzCwkTtB;;AyC3lTA;EAqBQ,cvCjBsB;AF2lT9B;;AyC/lTA;EAuBQ,4BvCnBsB;AF+lT9B;;AyCnmTA;;EA0BU,cvCtBoB;AFomT9B;;AC7gTE;EwC3FF;IA6BU,4BvCnBoB;EFmmT5B;AACF;;AyC9mTA;;EAgCQ,4BvC5BsB;AF+mT9B;;AyCnnTA;;;EAqCU,yBAAoC;EACpC,cvClCoB;AFsnT9B;;AyC1nTA;EAyCU,cvCrCoB;EuCsCpB,YAAY;AzCqlTtB;;AyC/nTA;EA4CY,UAAU;AzCulTtB;;AyCnoTA;EA+CY,UAAU;AzCwlTtB;;AyCvoTA;EAmDY,cvC/CkB;AFuoT9B;;AyC3oTA;EAqDc,uCvCrDe;AF+oT7B;;AyC/oTA;EAyDc,yBvCrDgB;EuCsDhB,qBvCtDgB;EuCuDhB,iBvCjDgB;AF2oT9B;;AyCrpTA;EAgEQ,iFAAyG;AzCylTjH;;AC1kTE;EwC/EF;IAmEY,iFAAyG;EzC2lTnH;AACF;;AyC/pTA;EAeM,yBvCXwB;EuCYxB,iBvCNwB;AF0pT9B;;AyCpqTA;;EAmBQ,cAAc;AzCspTtB;;AyCzqTA;EAqBQ,iBvCXsB;AFmqT9B;;AyC7qTA;EAuBQ,+BvCbsB;AFuqT9B;;AyCjrTA;;EA0BU,iBvChBoB;AF4qT9B;;AC3lTE;EwC3FF;IA6BU,yBvCzBoB;EFurT5B;AACF;;AyC5rTA;;EAgCQ,+BvCtBsB;AFurT9B;;AyCjsTA;;;EAqCU,yBAAoC;EACpC,iBvC5BoB;AF8rT9B;;AyCxsTA;EAyCU,iBvC/BoB;EuCgCpB,YAAY;AzCmqTtB;;AyC7sTA;EA4CY,UAAU;AzCqqTtB;;AyCjtTA;EA+CY,UAAU;AzCsqTtB;;AyCrtTA;EAmDY,iBvCzCkB;AF+sT9B;;AyCztTA;EAqDc,uCvCrDe;AF6tT7B;;AyC7tTA;EAyDc,4BvC/CgB;EuCgDhB,wBvChDgB;EuCiDhB,cvCvDgB;AF+tT9B;;AyCnuTA;EAgEQ,gFAAyG;AzCuqTjH;;ACxpTE;EwC/EF;IAmEY,gFAAyG;EzCyqTnH;AACF;;AyC7uTA;EAeM,yBvCE4B;EuCD5B,WhC2CU;ATurThB;;AyClvTA;;EAmBQ,cAAc;AzCouTtB;;AyCvvTA;EAqBQ,WhCsCQ;ATgsThB;;AyC3vTA;EAuBQ,+BhCoCQ;ATosThB;;AyC/vTA;;EA0BU,WhCiCM;ATysThB;;ACzqTE;EwC3FF;IA6BU,yBvCZwB;EFwvThC;AACF;;AyC1wTA;;EAgCQ,+BhC2BQ;ATotThB;;AyC/wTA;;;EAqCU,yBAAoC;EACpC,WhCqBM;AT2tThB;;AyCtxTA;EAyCU,WhCkBM;EgCjBN,YAAY;AzCivTtB;;AyC3xTA;EA4CY,UAAU;AzCmvTtB;;AyC/xTA;EA+CY,UAAU;AzCovTtB;;AyCnyTA;EAmDY,WhCQI;AT4uThB;;AyCvyTA;EAqDc,uCvCrDe;AF2yT7B;;AyC3yTA;EAyDc,sBhCEE;EgCDF,kBhCCE;EgCAF,cvC1CoB;AFgyTlC;;AyCjzTA;EAgEQ,gFAAyG;AzCqvTjH;;ACtuTE;EwC/EF;IAmEY,gFAAyG;EzCuvTnH;AACF;;AyC3zTA;EAeM,yBvCI4B;EuCH5B,WhC2CU;ATqwThB;;AyCh0TA;;EAmBQ,cAAc;AzCkzTtB;;AyCr0TA;EAqBQ,WhCsCQ;AT8wThB;;AyCz0TA;EAuBQ,+BhCoCQ;ATkxThB;;AyC70TA;;EA0BU,WhCiCM;ATuxThB;;ACvvTE;EwC3FF;IA6BU,yBvCVwB;EFo0ThC;AACF;;AyCx1TA;;EAgCQ,+BhC2BQ;ATkyThB;;AyC71TA;;;EAqCU,yBAAoC;EACpC,WhCqBM;ATyyThB;;AyCp2TA;EAyCU,WhCkBM;EgCjBN,YAAY;AzC+zTtB;;AyCz2TA;EA4CY,UAAU;AzCi0TtB;;AyC72TA;EA+CY,UAAU;AzCk0TtB;;AyCj3TA;EAmDY,WhCQI;AT0zThB;;AyCr3TA;EAqDc,uCvCrDe;AFy3T7B;;AyCz3TA;EAyDc,sBhCEE;EgCDF,kBhCCE;EgCAF,cvCxCoB;AF42TlC;;AyC/3TA;EAgEQ,gFAAyG;AzCm0TjH;;ACpzTE;EwC/EF;IAmEY,gFAAyG;EzCq0TnH;AACF;;AyCz4TA;EAeM,yBvCG4B;EuCF5B,WhC2CU;ATm1ThB;;AyC94TA;;EAmBQ,cAAc;AzCg4TtB;;AyCn5TA;EAqBQ,WhCsCQ;AT41ThB;;AyCv5TA;EAuBQ,+BhCoCQ;ATg2ThB;;AyC35TA;;EA0BU,WhCiCM;ATq2ThB;;ACr0TE;EwC3FF;IA6BU,yBvCXwB;EFm5ThC;AACF;;AyCt6TA;;EAgCQ,+BhC2BQ;ATg3ThB;;AyC36TA;;;EAqCU,yBAAoC;EACpC,WhCqBM;ATu3ThB;;AyCl7TA;EAyCU,WhCkBM;EgCjBN,YAAY;AzC64TtB;;AyCv7TA;EA4CY,UAAU;AzC+4TtB;;AyC37TA;EA+CY,UAAU;AzCg5TtB;;AyC/7TA;EAmDY,WhCQI;ATw4ThB;;AyCn8TA;EAqDc,uCvCrDe;AFu8T7B;;AyCv8TA;EAyDc,sBhCEE;EgCDF,kBhCCE;EgCAF,cvCzCoB;AF27TlC;;AyC78TA;EAgEQ,gFAAyG;AzCi5TjH;;ACl4TE;EwC/EF;IAmEY,gFAAyG;EzCm5TnH;AACF;;AyCv9TA;EAeM,yBvCC4B;EuCA5B,WhC2CU;ATi6ThB;;AyC59TA;;EAmBQ,cAAc;AzC88TtB;;AyCj+TA;EAqBQ,WhCsCQ;AT06ThB;;AyCr+TA;EAuBQ,+BhCoCQ;AT86ThB;;AyCz+TA;;EA0BU,WhCiCM;ATm7ThB;;ACn5TE;EwC3FF;IA6BU,yBvCbwB;EFm+ThC;AACF;;AyCp/TA;;EAgCQ,+BhC2BQ;AT87ThB;;AyCz/TA;;;EAqCU,yBAAoC;EACpC,WhCqBM;ATq8ThB;;AyChgUA;EAyCU,WhCkBM;EgCjBN,YAAY;AzC29TtB;;AyCrgUA;EA4CY,UAAU;AzC69TtB;;AyCzgUA;EA+CY,UAAU;AzC89TtB;;AyC7gUA;EAmDY,WhCQI;ATs9ThB;;AyCjhUA;EAqDc,uCvCrDe;AFqhU7B;;AyCrhUA;EAyDc,sBhCEE;EgCDF,kBhCCE;EgCAF,cvC3CoB;AF2gUlC;;AyC3hUA;EAgEQ,gFAAyG;AzC+9TjH;;ACh9TE;EwC/EF;IAmEY,gFAAyG;EzCi+TnH;AACF;;AyCriUA;EAeM,yBvCA4B;EuCC5B,yBhCyCe;ATi/TrB;;AyC1iUA;;EAmBQ,cAAc;AzC4hUtB;;AyC/iUA;EAqBQ,yBhCoCa;AT0/TrB;;AyCnjUA;EAuBQ,yBhCkCa;AT8/TrB;;AyCvjUA;;EA0BU,yBhC+BW;ATmgUrB;;ACj+TE;EwC3FF;IA6BU,yBvCdwB;EFkjUhC;AACF;;AyClkUA;;EAgCQ,yBhCyBa;AT8gUrB;;AyCvkUA;;;EAqCU,yBAAoC;EACpC,yBhCmBW;ATqhUrB;;AyC9kUA;EAyCU,yBhCgBW;EgCfX,YAAY;AzCyiUtB;;AyCnlUA;EA4CY,UAAU;AzC2iUtB;;AyCvlUA;EA+CY,UAAU;AzC4iUtB;;AyC3lUA;EAmDY,yBhCMS;ATsiUrB;;AyC/lUA;EAqDc,uCvCrDe;AFmmU7B;;AyCnmUA;EAyDc,oChCAO;EgCCP,gChCDO;EgCEP,cvC5CoB;AF0lUlC;;AyCzmUA;EAgEQ,gFAAyG;AzC6iUjH;;AC9hUE;EwC/EF;IAmEY,gFAAyG;EzC+iUnH;AACF;;AyCnnUA;EAeM,yBvCM4B;EuCL5B,WhC2CU;AT6jUhB;;AyCxnUA;;EAmBQ,cAAc;AzC0mUtB;;AyC7nUA;EAqBQ,WhCsCQ;ATskUhB;;AyCjoUA;EAuBQ,+BhCoCQ;AT0kUhB;;AyCroUA;;EA0BU,WhCiCM;AT+kUhB;;AC/iUE;EwC3FF;IA6BU,yBvCRwB;EF0nUhC;AACF;;AyChpUA;;EAgCQ,+BhC2BQ;AT0lUhB;;AyCrpUA;;;EAqCU,yBAAoC;EACpC,WhCqBM;ATimUhB;;AyC5pUA;EAyCU,WhCkBM;EgCjBN,YAAY;AzCunUtB;;AyCjqUA;EA4CY,UAAU;AzCynUtB;;AyCrqUA;EA+CY,UAAU;AzC0nUtB;;AyCzqUA;EAmDY,WhCQI;ATknUhB;;AyC7qUA;EAqDc,uCvCrDe;AFirU7B;;AyCjrUA;EAyDc,sBhCEE;EgCDF,kBhCCE;EgCAF,cvCtCoB;AFkqUlC;;AyCvrUA;EAgEQ,gFAAyG;AzC2nUjH;;AC5mUE;EwC/EF;IAmEY,gFAAyG;EzC6nUnH;AACF;;AyCjsUA;EAuEM,sBAAsB;EACtB,mBAAmB;AzC8nUzB;;ACnnUE;EwCnFF;IA4EQ,oBAAoB;IACpB,iBAAiB;EzC+nUvB;AACF;;AC1nUE;EwCnFF;IAiFQ,qBAAqB;IACrB,kBAAkB;EzCioUxB;AACF;;AyCptUA;EAuFM,mBAAmB;EACnB,aAAa;AzCioUnB;;AyCztUA;EA0FQ,YAAY;EACZ,cAAc;AzCmoUtB;;AyC9tUA;EA6FI,gBAAgB;AzCqoUpB;;AyCluUA;EA+FI,iBAAiB;AzCuoUrB;;AyCnoUA;EAEE,gBAAgB;AzCqoUlB;;AyCvoUA;EAII,SAAS;EACT,gBAAgB;EAChB,eAAe;EACf,kBAAkB;EAClB,QAAQ;EACR,6CAAqC;UAArC,qCAAqC;AzCuoUzC;;AyChpUA;EAYI,YAAY;AzCwoUhB;;ACxqUE;EwCoBF;IAeI,aAAa;EzC0oUf;AACF;;AyCzoUA;EACE,kBAAkB;AzC4oUpB;;AClrUE;EwCqCF;IAKM,aAAa;EzC6oUjB;EyClpUF;IAOQ,sBAAsB;EzC8oU5B;AACF;;ACvrUE;EwCiCF;IASI,aAAa;IACb,uBAAuB;EzCkpUzB;EyC5pUF;IAYM,oBAAoB;EzCmpUxB;AACF;;AyChpUA;;EAEE,YAAY;EACZ,cAAc;AzCmpUhB;;AyCjpUA;EACE,YAAY;EACZ,cAAc;EACd,oBAAoB;AzCopUtB;;A0C9xUA;EACE,oBAL2B;A1CsyU7B;;ACrsUE;EyC7FF;IAMM,oBAT8B;E1C0yUlC;E0CvyUF;IAQM,qBAV8B;E1C4yUlC;AACF;;A2C3yUA;EACE,yBzCQ4B;EyCP5B,yBAJ+B;A3CkzUjC","file":"bulma.css"} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.min.css b/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.min.css
new file mode 100644
index 0000000000..434a97896a
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/bulma-0.7.5/bulma.min.css
@@ -0,0 +1 @@
+/*! bulma.io v0.7.5 | MIT License | github.com/jgthms/bulma */@-webkit-keyframes spinAround{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spinAround{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.breadcrumb,.button,.delete,.file,.is-unselectable,.modal-close,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless)::after,.select:not(.is-multiple):not(.is-loading)::after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:center;transform-origin:center;width:.625em}.block:not(:last-child),.box:not(:last-child),.breadcrumb:not(:last-child),.content:not(:last-child),.highlight:not(:last-child),.level:not(:last-child),.list:not(:last-child),.message:not(:last-child),.notification:not(:last-child),.progress:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.tabs:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.delete,.modal-close{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:0;position:relative;vertical-align:top;width:20px}.delete::after,.delete::before,.modal-close::after,.modal-close::before{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.delete::before,.modal-close::before{height:2px;width:50%}.delete::after,.modal-close::after{height:50%;width:2px}.delete:focus,.delete:hover,.modal-close:focus,.modal-close:hover{background-color:rgba(10,10,10,.3)}.delete:active,.modal-close:active{background-color:rgba(10,10,10,.4)}.is-small.delete,.is-small.modal-close{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete,.is-medium.modal-close{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete,.is-large.modal-close{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading::after,.control.is-loading::after,.loader,.select.is-loading::after{-webkit-animation:spinAround .5s infinite linear;animation:spinAround .5s infinite linear;border:2px solid #dbdbdb;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.image.is-16by9 .has-ratio,.image.is-16by9 img,.image.is-1by1 .has-ratio,.image.is-1by1 img,.image.is-1by2 .has-ratio,.image.is-1by2 img,.image.is-1by3 .has-ratio,.image.is-1by3 img,.image.is-2by1 .has-ratio,.image.is-2by1 img,.image.is-2by3 .has-ratio,.image.is-2by3 img,.image.is-3by1 .has-ratio,.image.is-3by1 img,.image.is-3by2 .has-ratio,.image.is-3by2 img,.image.is-3by4 .has-ratio,.image.is-3by4 img,.image.is-3by5 .has-ratio,.image.is-3by5 img,.image.is-4by3 .has-ratio,.image.is-4by3 img,.image.is-4by5 .has-ratio,.image.is-4by5 img,.image.is-5by3 .has-ratio,.image.is-5by3 img,.image.is-5by4 .has-ratio,.image.is-5by4 img,.image.is-9by16 .has-ratio,.image.is-9by16 img,.image.is-square .has-ratio,.image.is-square img,.is-overlay,.modal,.modal-background{bottom:0;left:0;position:absolute;right:0;top:0}.button,.file-cta,.file-name,.input,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.select select,.textarea{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(.375em - 1px);padding-left:calc(.625em - 1px);padding-right:calc(.625em - 1px);padding-top:calc(.375em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.file-cta:active,.file-cta:focus,.file-name:active,.file-name:focus,.input:active,.input:focus,.is-active.button,.is-active.file-cta,.is-active.file-name,.is-active.input,.is-active.pagination-ellipsis,.is-active.pagination-link,.is-active.pagination-next,.is-active.pagination-previous,.is-active.textarea,.is-focused.button,.is-focused.file-cta,.is-focused.file-name,.is-focused.input,.is-focused.pagination-ellipsis,.is-focused.pagination-link,.is-focused.pagination-next,.is-focused.pagination-previous,.is-focused.textarea,.pagination-ellipsis:active,.pagination-ellipsis:focus,.pagination-link:active,.pagination-link:focus,.pagination-next:active,.pagination-next:focus,.pagination-previous:active,.pagination-previous:focus,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{outline:0}.button[disabled],.file-cta[disabled],.file-name[disabled],.input[disabled],.pagination-ellipsis[disabled],.pagination-link[disabled],.pagination-next[disabled],.pagination-previous[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .button,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .input,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-previous,fieldset[disabled] .select select,fieldset[disabled] .textarea{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}embed,iframe,img,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#4a4a4a;font-size:1em;font-weight:400;line-height:1.5}a{color:#3273dc;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:#f5f5f5;color:#ff3860;font-size:.875em;font-weight:400;padding:.25em .5em .25em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#363636;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:left}table th{color:#363636}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-clipped{overflow:hidden!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media screen and (min-width:769px),print{.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media screen and (min-width:769px),print{.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media screen and (min-width:769px),print{.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media screen and (min-width:769px),print{.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media screen and (min-width:769px),print{.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black{color:#0a0a0a!important}a.has-text-black:focus,a.has-text-black:hover{color:#000!important}.has-background-black{background-color:#0a0a0a!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:focus,a.has-text-light:hover{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:focus,a.has-text-dark:hover{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#00d1b2!important}a.has-text-primary:focus,a.has-text-primary:hover{color:#009e86!important}.has-background-primary{background-color:#00d1b2!important}.has-text-link{color:#3273dc!important}a.has-text-link:focus,a.has-text-link:hover{color:#205bbc!important}.has-background-link{background-color:#3273dc!important}.has-text-info{color:#209cee!important}a.has-text-info:focus,a.has-text-info:hover{color:#0f81cc!important}.has-background-info{background-color:#209cee!important}.has-text-success{color:#23d160!important}a.has-text-success:focus,a.has-text-success:hover{color:#1ca64c!important}.has-background-success{background-color:#23d160!important}.has-text-warning{color:#ffdd57!important}a.has-text-warning:focus,a.has-text-warning:hover{color:#ffd324!important}.has-background-warning{background-color:#ffdd57!important}.has-text-danger{color:#ff3860!important}a.has-text-danger:focus,a.has-text-danger:hover{color:#ff0537!important}.has-background-danger{background-color:#ff3860!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-monospace{font-family:monospace!important}.is-family-code{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile{display:block!important}}@media screen and (min-width:769px),print{.is-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width:1023px){.is-block-touch{display:block!important}}@media screen and (min-width:1024px){.is-block-desktop{display:block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width:1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width:1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width:768px){.is-flex-mobile{display:flex!important}}@media screen and (min-width:769px),print{.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width:1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width:768px){.is-inline-mobile{display:inline!important}}@media screen and (min-width:769px),print{.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width:1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-inline-block-mobile{display:inline-block!important}}@media screen and (min-width:769px),print{.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-inline-flex-mobile{display:inline-flex!important}}@media screen and (min-width:769px),print{.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-hidden-mobile{display:none!important}}@media screen and (min-width:769px),print{.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width:1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile{visibility:hidden!important}}@media screen and (min-width:769px),print{.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width:1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width:1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width:1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1408px){.is-invisible-fullhd{visibility:hidden!important}}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-relative{position:relative!important}.box{background-color:#fff;border-radius:6px;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);color:#4a4a4a;display:block;padding:1.25rem}a.box:focus,a.box:hover{box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px #3273dc}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2),0 0 0 1px #3273dc}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.375em - 1px);margin-right:.1875em}.button .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:calc(-.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.375em - 1px);margin-right:calc(-.375em - 1px)}.button.is-hovered,.button:hover{border-color:#b5b5b5;color:#363636}.button.is-focused,.button:focus{border-color:#3273dc;color:#363636}.button.is-focused:not(:active),.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#4a4a4a;text-decoration:underline}.button.is-text.is-focused,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text:hover{background-color:#f5f5f5;color:#363636}.button.is-text.is-active,.button.is-text:active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white.is-hovered,.button.is-white:hover{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white.is-focused,.button.is-white:focus{border-color:transparent;color:#0a0a0a}.button.is-white.is-focused:not(:active),.button.is-white:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.button.is-white.is-active,.button.is-white:active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-hovered,.button.is-white.is-inverted:hover{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined.is-focused,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-outlined.is-loading.is-focused::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading:hover::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined.is-focused,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined:hover{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black.is-hovered,.button.is-black:hover{background-color:#040404;border-color:transparent;color:#fff}.button.is-black.is-focused,.button.is-black:focus{border-color:transparent;color:#fff}.button.is-black.is-focused:not(:active),.button.is-black:focus:not(:active){box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.button.is-black.is-active,.button.is-black:active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-hovered,.button.is-black.is-inverted:hover{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined.is-focused,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-black.is-outlined.is-loading.is-focused::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined.is-focused,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined:hover{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#363636}.button.is-light.is-hovered,.button.is-light:hover{background-color:#eee;border-color:transparent;color:#363636}.button.is-light.is-focused,.button.is-light:focus{border-color:transparent;color:#363636}.button.is-light.is-focused:not(:active),.button.is-light:focus:not(:active){box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.button.is-light.is-active,.button.is-light:active{background-color:#e8e8e8;border-color:transparent;color:#363636}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:transparent;box-shadow:none}.button.is-light.is-inverted{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-hovered,.button.is-light.is-inverted:hover{background-color:#292929}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#363636;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent #363636 #363636!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined.is-focused,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-outlined.is-loading.is-focused::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading:hover::after{border-color:transparent transparent #363636 #363636!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-light.is-inverted.is-outlined.is-focused,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined:hover{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark.is-hovered,.button.is-dark:hover{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark.is-focused,.button.is-dark:focus{border-color:transparent;color:#f5f5f5}.button.is-dark.is-focused:not(:active),.button.is-dark:focus:not(:active){box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.button.is-dark.is-active,.button.is-dark:active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:transparent;box-shadow:none}.button.is-dark.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-hovered,.button.is-dark.is-inverted:hover{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined.is-focused,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-outlined.is-loading.is-focused::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading:hover::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined.is-focused,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined:hover{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary.is-hovered,.button.is-primary:hover{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary.is-focused,.button.is-primary:focus{border-color:transparent;color:#fff}.button.is-primary.is-focused:not(:active),.button.is-primary:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.button.is-primary.is-active,.button.is-primary:active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:transparent;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-hovered,.button.is-primary.is-inverted:hover{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined.is-focused,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined:hover{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading::after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-outlined.is-loading.is-focused::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-outlined.is-loading:focus::after,.button.is-primary.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined.is-focused,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined:hover{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link{background-color:#3273dc;border-color:transparent;color:#fff}.button.is-link.is-hovered,.button.is-link:hover{background-color:#276cda;border-color:transparent;color:#fff}.button.is-link.is-focused,.button.is-link:focus{border-color:transparent;color:#fff}.button.is-link.is-focused:not(:active),.button.is-link:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-link.is-active,.button.is-link:active{background-color:#2366d1;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#3273dc;border-color:transparent;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#3273dc}.button.is-link.is-inverted.is-hovered,.button.is-link.is-inverted:hover{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3273dc}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;color:#3273dc}.button.is-link.is-outlined.is-focused,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined:hover{background-color:#3273dc;border-color:#3273dc;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #3273dc #3273dc!important}.button.is-link.is-outlined.is-loading.is-focused::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;box-shadow:none;color:#3273dc}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined.is-focused,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined:hover{background-color:#fff;color:#3273dc}.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #3273dc #3273dc!important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info.is-hovered,.button.is-info:hover{background-color:#1496ed;border-color:transparent;color:#fff}.button.is-info.is-focused,.button.is-info:focus{border-color:transparent;color:#fff}.button.is-info.is-focused:not(:active),.button.is-info:focus:not(:active){box-shadow:0 0 0 .125em rgba(32,156,238,.25)}.button.is-info.is-active,.button.is-info:active{background-color:#118fe4;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:transparent;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-hovered,.button.is-info.is-inverted:hover{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined.is-focused,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined:hover{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee!important}.button.is-info.is-outlined.is-loading.is-focused::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined.is-focused,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined:hover{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #209cee #209cee!important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#23d160;border-color:transparent;color:#fff}.button.is-success.is-hovered,.button.is-success:hover{background-color:#22c65b;border-color:transparent;color:#fff}.button.is-success.is-focused,.button.is-success:focus{border-color:transparent;color:#fff}.button.is-success.is-focused:not(:active),.button.is-success:focus:not(:active){box-shadow:0 0 0 .125em rgba(35,209,96,.25)}.button.is-success.is-active,.button.is-success:active{background-color:#20bc56;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#23d160;border-color:transparent;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#23d160}.button.is-success.is-inverted.is-hovered,.button.is-success.is-inverted:hover{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#23d160}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#23d160;color:#23d160}.button.is-success.is-outlined.is-focused,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined:hover{background-color:#23d160;border-color:#23d160;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #23d160 #23d160!important}.button.is-success.is-outlined.is-loading.is-focused::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#23d160;box-shadow:none;color:#23d160}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined.is-focused,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined:hover{background-color:#fff;color:#23d160}.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #23d160 #23d160!important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-hovered,.button.is-warning:hover{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused,.button.is-warning:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused:not(:active),.button.is-warning:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,221,87,.25)}.button.is-warning.is-active,.button.is-warning:active{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:transparent;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);color:#ffdd57}.button.is-warning.is-inverted.is-hovered,.button.is-warning.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined.is-focused,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined:hover{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57!important}.button.is-warning.is-outlined.is-loading.is-focused::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading:hover::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-warning.is-inverted.is-outlined.is-focused,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #ffdd57 #ffdd57!important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-danger{background-color:#ff3860;border-color:transparent;color:#fff}.button.is-danger.is-hovered,.button.is-danger:hover{background-color:#ff2b56;border-color:transparent;color:#fff}.button.is-danger.is-focused,.button.is-danger:focus{border-color:transparent;color:#fff}.button.is-danger.is-focused:not(:active),.button.is-danger:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.button.is-danger.is-active,.button.is-danger:active{background-color:#ff1f4b;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#ff3860;border-color:transparent;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-hovered,.button.is-danger.is-inverted:hover{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ff3860}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;color:#ff3860}.button.is-danger.is-outlined.is-focused,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined:hover{background-color:#ff3860;border-color:#ff3860;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-outlined.is-loading.is-focused::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;box-shadow:none;color:#ff3860}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined.is-focused,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined:hover{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #ff3860 #ff3860!important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small{border-radius:2px;font-size:.75rem}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute!important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#7a7a7a;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:2px;font-size:.75rem}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button.is-hovered,.buttons.has-addons .button:hover{z-index:2}.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-focused,.buttons.has-addons .button.is-selected,.buttons.has-addons .button:active,.buttons.has-addons .button:focus{z-index:3}.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button.is-selected:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button:focus:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width:1024px){.container{max-width:960px}.container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width:1215px){.container.is-widescreen{max-width:1152px}}@media screen and (max-width:1407px){.container.is-fullhd{max-width:1344px}}@media screen and (min-width:1216px){.container{max-width:1152px}}@media screen and (min-width:1408px){.container{max-width:1344px}}.content li+li{margin-top:.25em}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sub,.content sup{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#363636}.content table th:not([align]){text-align:left}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:290486px}.image.is-16by9 .has-ratio,.image.is-16by9 img,.image.is-1by1 .has-ratio,.image.is-1by1 img,.image.is-1by2 .has-ratio,.image.is-1by2 img,.image.is-1by3 .has-ratio,.image.is-1by3 img,.image.is-2by1 .has-ratio,.image.is-2by1 img,.image.is-2by3 .has-ratio,.image.is-2by3 img,.image.is-3by1 .has-ratio,.image.is-3by1 img,.image.is-3by2 .has-ratio,.image.is-3by2 img,.image.is-3by4 .has-ratio,.image.is-3by4 img,.image.is-3by5 .has-ratio,.image.is-3by5 img,.image.is-4by3 .has-ratio,.image.is-4by3 img,.image.is-4by5 .has-ratio,.image.is-4by5 img,.image.is-5by3 .has-ratio,.image.is-5by3 img,.image.is-5by4 .has-ratio,.image.is-5by4 img,.image.is-9by16 .has-ratio,.image.is-9by16 img,.image.is-square .has-ratio,.image.is-square img{height:100%;width:100%}.image.is-1by1,.image.is-square{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:0 0}.notification>.delete{position:absolute;right:.5rem;top:.5rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#363636}.notification.is-dark{background-color:#363636;color:#f5f5f5}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-link{background-color:#3273dc;color:#fff}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-success{background-color:#23d160;color:#fff}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.notification.is-danger{background-color:#ff3860;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#dbdbdb}.progress::-webkit-progress-value{background-color:#4a4a4a}.progress::-moz-progress-bar{background-color:#4a4a4a}.progress::-ms-fill{background-color:#4a4a4a;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right,#fff 30%,#dbdbdb 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right,#0a0a0a 30%,#dbdbdb 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right,#f5f5f5 30%,#dbdbdb 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right,#363636 30%,#dbdbdb 30%)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(to right,#00d1b2 30%,#dbdbdb 30%)}.progress.is-link::-webkit-progress-value{background-color:#3273dc}.progress.is-link::-moz-progress-bar{background-color:#3273dc}.progress.is-link::-ms-fill{background-color:#3273dc}.progress.is-link:indeterminate{background-image:linear-gradient(to right,#3273dc 30%,#dbdbdb 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right,#209cee 30%,#dbdbdb 30%)}.progress.is-success::-webkit-progress-value{background-color:#23d160}.progress.is-success::-moz-progress-bar{background-color:#23d160}.progress.is-success::-ms-fill{background-color:#23d160}.progress.is-success:indeterminate{background-image:linear-gradient(to right,#23d160 30%,#dbdbdb 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right,#ffdd57 30%,#dbdbdb 30%)}.progress.is-danger::-webkit-progress-value{background-color:#ff3860}.progress.is-danger::-moz-progress-bar{background-color:#ff3860}.progress.is-danger::-ms-fill{background-color:#ff3860}.progress.is-danger:indeterminate{background-image:linear-gradient(to right,#ff3860 30%,#dbdbdb 30%)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#dbdbdb;background-image:linear-gradient(to right,#4a4a4a 30%,#dbdbdb 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#f5f5f5}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#3273dc;border-color:#3273dc;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#23d160;border-color:#23d160;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,.7)}.table td.is-danger,.table th.is-danger{background-color:#ff3860;border-color:#ff3860;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#4a4a4a;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:#363636}.tag:not(body).is-dark{background-color:#363636;color:#f5f5f5}.tag:not(body).is-primary{background-color:#00d1b2;color:#fff}.tag:not(body).is-link{background-color:#3273dc;color:#fff}.tag:not(body).is-info{background-color:#209cee;color:#fff}.tag:not(body).is-success{background-color:#23d160;color:#fff}.tag:not(body).is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.tag:not(body).is-danger{background-color:#ff3860;color:#fff}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete::after,.tag:not(body).is-delete::before{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.tag:not(body).is-delete::before{height:1px;width:50%}.tag:not(body).is-delete::after{height:50%;width:1px}.tag:not(body).is-delete:focus,.tag:not(body).is-delete:hover{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:290486px}a.tag:hover{text-decoration:underline}.subtitle,.title{word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.title sub{font-size:.75em}.subtitle sup,.title sup{font-size:.75em}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title+.highlight{margin-top:-.75rem}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}.highlight pre{overflow:auto;max-width:100%}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.input,.select select,.textarea{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.input::-moz-placeholder,.select select::-moz-placeholder,.textarea::-moz-placeholder{color:rgba(54,54,54,.3)}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:rgba(54,54,54,.3)}.input:-moz-placeholder,.select select:-moz-placeholder,.textarea:-moz-placeholder{color:rgba(54,54,54,.3)}.input:-ms-input-placeholder,.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:rgba(54,54,54,.3)}.input:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered,.select select:hover,.textarea:hover{border-color:#b5b5b5}.input:active,.input:focus,.is-active.input,.is-active.textarea,.is-focused.input,.is-focused.textarea,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{border-color:#3273dc;box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.input[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,.select select[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,.select select[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:rgba(122,122,122,.3)}.input,.textarea{box-shadow:inset 0 1px 2px rgba(10,10,10,.1);max-width:100%;width:100%}.input[readonly],.textarea[readonly]{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:active,.is-white.input:focus,.is-white.is-active.input,.is-white.is-active.textarea,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.textarea:active,.is-white.textarea:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.is-black.input,.is-black.textarea{border-color:#0a0a0a}.is-black.input:active,.is-black.input:focus,.is-black.is-active.input,.is-black.is-active.textarea,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.textarea:active,.is-black.textarea:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:active,.is-light.input:focus,.is-light.is-active.input,.is-light.is-active.textarea,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.textarea:active,.is-light.textarea:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:active,.is-dark.input:focus,.is-dark.is-active.input,.is-dark.is-active.textarea,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.textarea:active,.is-dark.textarea:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:active,.is-primary.input:focus,.is-primary.is-active.input,.is-primary.is-active.textarea,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.textarea:active,.is-primary.textarea:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.is-link.input,.is-link.textarea{border-color:#3273dc}.is-link.input:active,.is-link.input:focus,.is-link.is-active.input,.is-link.is-active.textarea,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.textarea:active,.is-link.textarea:focus{box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.is-info.input,.is-info.textarea{border-color:#209cee}.is-info.input:active,.is-info.input:focus,.is-info.is-active.input,.is-info.is-active.textarea,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.textarea:active,.is-info.textarea:focus{box-shadow:0 0 0 .125em rgba(32,156,238,.25)}.is-success.input,.is-success.textarea{border-color:#23d160}.is-success.input:active,.is-success.input:focus,.is-success.is-active.input,.is-success.is-active.textarea,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.textarea:active,.is-success.textarea:focus{box-shadow:0 0 0 .125em rgba(35,209,96,.25)}.is-warning.input,.is-warning.textarea{border-color:#ffdd57}.is-warning.input:active,.is-warning.input:focus,.is-warning.is-active.input,.is-warning.is-active.textarea,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.textarea:active,.is-warning.textarea:focus{box-shadow:0 0 0 .125em rgba(255,221,87,.25)}.is-danger.input,.is-danger.textarea{border-color:#ff3860}.is-danger.input:active,.is-danger.input:focus,.is-danger.is-active.input,.is-danger.is-active.textarea,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.textarea:active,.is-danger.textarea:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:.625em;resize:vertical}.textarea:not([rows]){max-height:600px;min-height:120px}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#7a7a7a;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.25em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#3273dc;right:1.125em;z-index:4}.select.is-rounded select{border-radius:290486px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:0}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select.is-hovered,.select.is-white select:hover{border-color:#f2f2f2}.select.is-white select.is-active,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select.is-hovered,.select.is-black select:hover{border-color:#000}.select.is-black select.is-active,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select.is-hovered,.select.is-light select:hover{border-color:#e8e8e8}.select.is-light select.is-active,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.select.is-dark:not(:hover)::after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select.is-hovered,.select.is-dark select:hover{border-color:#292929}.select.is-dark select.is-active,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.select.is-primary:not(:hover)::after{border-color:#00d1b2}.select.is-primary select{border-color:#00d1b2}.select.is-primary select.is-hovered,.select.is-primary select:hover{border-color:#00b89c}.select.is-primary select.is-active,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.select.is-link:not(:hover)::after{border-color:#3273dc}.select.is-link select{border-color:#3273dc}.select.is-link select.is-hovered,.select.is-link select:hover{border-color:#2366d1}.select.is-link select.is-active,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select:focus{box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select.is-hovered,.select.is-info select:hover{border-color:#118fe4}.select.is-info select.is-active,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select:focus{box-shadow:0 0 0 .125em rgba(32,156,238,.25)}.select.is-success:not(:hover)::after{border-color:#23d160}.select.is-success select{border-color:#23d160}.select.is-success select.is-hovered,.select.is-success select:hover{border-color:#20bc56}.select.is-success select.is-active,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(35,209,96,.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select.is-hovered,.select.is-warning select:hover{border-color:#ffd83d}.select.is-warning select.is-active,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select:focus{box-shadow:0 0 0 .125em rgba(255,221,87,.25)}.select.is-danger:not(:hover)::after{border-color:#ff3860}.select.is-danger select{border-color:#ff3860}.select.is-danger select.is-hovered,.select.is-danger select:hover{border-color:#ff1f4b}.select.is-danger select.is-active,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select:focus{box-shadow:0 0 0 .125em rgba(255,56,96,.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#7a7a7a}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:.625em;top:.625em;-webkit-transform:none;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white.is-hovered .file-cta,.file.is-white:hover .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white.is-focused .file-cta,.file.is-white:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,255,255,.25);color:#0a0a0a}.file.is-white.is-active .file-cta,.file.is-white:active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black.is-hovered .file-cta,.file.is-black:hover .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black.is-focused .file-cta,.file.is-black:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(10,10,10,.25);color:#fff}.file.is-black.is-active .file-cta,.file.is-black:active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#363636}.file.is-light.is-hovered .file-cta,.file.is-light:hover .file-cta{background-color:#eee;border-color:transparent;color:#363636}.file.is-light.is-focused .file-cta,.file.is-light:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(245,245,245,.25);color:#363636}.file.is-light.is-active .file-cta,.file.is-light:active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#363636}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#f5f5f5}.file.is-dark.is-hovered .file-cta,.file.is-dark:hover .file-cta{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.file.is-dark.is-focused .file-cta,.file.is-dark:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(54,54,54,.25);color:#f5f5f5}.file.is-dark.is-active .file-cta,.file.is-dark:active .file-cta{background-color:#292929;border-color:transparent;color:#f5f5f5}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary.is-hovered .file-cta,.file.is-primary:hover .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary.is-focused .file-cta,.file.is-primary:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,209,178,.25);color:#fff}.file.is-primary.is-active .file-cta,.file.is-primary:active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#3273dc;border-color:transparent;color:#fff}.file.is-link.is-hovered .file-cta,.file.is-link:hover .file-cta{background-color:#276cda;border-color:transparent;color:#fff}.file.is-link.is-focused .file-cta,.file.is-link:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(50,115,220,.25);color:#fff}.file.is-link.is-active .file-cta,.file.is-link:active .file-cta{background-color:#2366d1;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info.is-hovered .file-cta,.file.is-info:hover .file-cta{background-color:#1496ed;border-color:transparent;color:#fff}.file.is-info.is-focused .file-cta,.file.is-info:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(32,156,238,.25);color:#fff}.file.is-info.is-active .file-cta,.file.is-info:active .file-cta{background-color:#118fe4;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#23d160;border-color:transparent;color:#fff}.file.is-success.is-hovered .file-cta,.file.is-success:hover .file-cta{background-color:#22c65b;border-color:transparent;color:#fff}.file.is-success.is-focused .file-cta,.file.is-success:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(35,209,96,.25);color:#fff}.file.is-success.is-active .file-cta,.file.is-success:active .file-cta{background-color:#20bc56;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-hovered .file-cta,.file.is-warning:hover .file-cta{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-focused .file-cta,.file.is-warning:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,221,87,.25);color:rgba(0,0,0,.7)}.file.is-warning.is-active .file-cta,.file.is-warning:active .file-cta{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-danger .file-cta{background-color:#ff3860;border-color:transparent;color:#fff}.file.is-danger.is-hovered .file-cta,.file.is-danger:hover .file-cta{background-color:#ff2b56;border-color:transparent;color:#fff}.file.is-danger.is-focused .file-cta,.file.is-danger:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,56,96,.25);color:#fff}.file.is-danger.is-active .file-cta,.file.is-danger:active .file-cta{background-color:#ff1f4b;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:0;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#3273dc}.help.is-info{color:#209cee}.help.is-success{color:#23d160}.help.is-warning{color:#ffdd57}.help.is-danger{color:#ff3860}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width:769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media screen and (min-width:769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width:769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:left}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#7a7a7a}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.25em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.25em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#3273dc;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#363636;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ol,.breadcrumb ul{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);color:#4a4a4a;max-width:100%;position:relative}.card-header{background-color:transparent;align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,.1);display:flex}.card-header-title{align-items:center;color:#363636;display:flex;flex-grow:1;font-weight:700;padding:.75rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.card-image{display:block;position:relative}.card-content{background-color:transparent;padding:1.5rem}.card-footer{background-color:transparent;border-top:1px solid #dbdbdb;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #dbdbdb}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#3273dc;color:#fff}.dropdown-divider{background-color:#dbdbdb;border:none;display:block;height:1px;margin:.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width:769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}@media screen and (max-width:768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width:769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width:768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width:769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width:769px),print{.level-right{display:flex}}.list{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1)}.list-item{display:block;padding:.5em 1em}.list-item:not(a){color:#4a4a4a}.list-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.list-item:not(:last-child){border-bottom:1px solid #dbdbdb}.list-item.is-active{background-color:#3273dc;color:#fff}a.list-item{background-color:#f5f5f5;cursor:pointer}.media{align-items:flex-start;display:flex;text-align:left}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(219,219,219,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(219,219,219,.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width:768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#4a4a4a;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#3273dc;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff;color:#4d4d4d}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a;color:#090909}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#363636}.message.is-light .message-body{border-color:#f5f5f5;color:#505050}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#f5f5f5}.message.is-dark .message-body{border-color:#363636;color:#2a2a2a}.message.is-primary{background-color:#f5fffd}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#021310}.message.is-link{background-color:#f6f9fe}.message.is-link .message-header{background-color:#3273dc;color:#fff}.message.is-link .message-body{border-color:#3273dc;color:#22509a}.message.is-info{background-color:#f6fbfe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#12537e}.message.is-success{background-color:#f6fef9}.message.is-success .message-header{background-color:#23d160;color:#fff}.message.is-success .message-body{border-color:#23d160;color:#0e301a}.message.is-warning{background-color:#fffdf5}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#3b3108}.message.is-danger{background-color:#fff5f7}.message.is-danger .message-header{background-color:#ff3860;color:#fff}.message.is-danger .message-body{border-color:#ff3860;color:#cd0930}.message-header{align-items:center;background-color:#4a4a4a;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#4a4a4a;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:transparent}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,.86)}.modal-card,.modal-content{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width:769px),print{.modal-card,.modal-content{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:0 0;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-foot,.modal-card-head{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#363636;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link,.navbar.is-white .navbar-brand>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width:1024px){.navbar.is-white .navbar-end .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-start>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link::after,.navbar.is-white .navbar-start .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand .navbar-link,.navbar.is-black .navbar-brand>.navbar-item{color:#fff}.navbar.is-black .navbar-brand .navbar-link.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-black .navbar-end .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-start>.navbar-item{color:#fff}.navbar.is-black .navbar-end .navbar-link.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-end .navbar-link::after,.navbar.is-black .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#363636}.navbar.is-light .navbar-brand .navbar-link,.navbar.is-light .navbar-brand>.navbar-item{color:#363636}.navbar.is-light .navbar-brand .navbar-link.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-brand .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-burger{color:#363636}@media screen and (min-width:1024px){.navbar.is-light .navbar-end .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-start>.navbar-item{color:#363636}.navbar.is-light .navbar-end .navbar-link.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-end .navbar-link::after,.navbar.is-light .navbar-start .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#363636}}.navbar.is-dark{background-color:#363636;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link,.navbar.is-dark .navbar-brand>.navbar-item{color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-burger{color:#f5f5f5}@media screen and (min-width:1024px){.navbar.is-dark .navbar-end .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-start>.navbar-item{color:#f5f5f5}.navbar.is-dark .navbar-end .navbar-link.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-end .navbar-link::after,.navbar.is-dark .navbar-start .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#f5f5f5}}.navbar.is-primary{background-color:#00d1b2;color:#fff}.navbar.is-primary .navbar-brand .navbar-link,.navbar.is-primary .navbar-brand>.navbar-item{color:#fff}.navbar.is-primary .navbar-brand .navbar-link.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-primary .navbar-end .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-start>.navbar-item{color:#fff}.navbar.is-primary .navbar-end .navbar-link.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-end .navbar-link::after,.navbar.is-primary .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#00d1b2;color:#fff}}.navbar.is-link{background-color:#3273dc;color:#fff}.navbar.is-link .navbar-brand .navbar-link,.navbar.is-link .navbar-brand>.navbar-item{color:#fff}.navbar.is-link .navbar-brand .navbar-link.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-link .navbar-end .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-start>.navbar-item{color:#fff}.navbar.is-link .navbar-end .navbar-link.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-end .navbar-link::after,.navbar.is-link .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#3273dc;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand .navbar-link,.navbar.is-info .navbar-brand>.navbar-item{color:#fff}.navbar.is-info .navbar-brand .navbar-link.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-info .navbar-end .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-start>.navbar-item{color:#fff}.navbar.is-info .navbar-end .navbar-link.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-end .navbar-link::after,.navbar.is-info .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#23d160;color:#fff}.navbar.is-success .navbar-brand .navbar-link,.navbar.is-success .navbar-brand>.navbar-item{color:#fff}.navbar.is-success .navbar-brand .navbar-link.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-success .navbar-end .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-start>.navbar-item{color:#fff}.navbar.is-success .navbar-end .navbar-link.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-end .navbar-link::after,.navbar.is-success .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#23d160;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link,.navbar.is-warning .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover{background-color:#ffd83d;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1024px){.navbar.is-warning .navbar-end .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover{background-color:#ffd83d;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link::after,.navbar.is-warning .navbar-start .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link{background-color:#ffd83d;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,.7)}}.navbar.is-danger{background-color:#ff3860;color:#fff}.navbar.is-danger .navbar-brand .navbar-link,.navbar.is-danger .navbar-brand>.navbar-item{color:#fff}.navbar.is-danger .navbar-brand .navbar-link.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-danger .navbar-end .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-start>.navbar-item{color:#fff}.navbar.is-danger .navbar-end .navbar-link.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-end .navbar-link::after,.navbar.is-danger .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#ff3860;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:3.25rem}body.has-navbar-fixed-bottom,html.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;-webkit-transform-origin:center;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,-webkit-transform;transition-property:background-color,opacity,transform;transition-property:background-color,opacity,transform,-webkit-transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:nth-child(1){-webkit-transform:translateY(5px) rotate(45deg);transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){-webkit-transform:translateY(-5px) rotate(-45deg);transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}.navbar-link,a.navbar-item{cursor:pointer}.navbar-link.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{background-color:#fafafa;color:#3273dc}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#3273dc}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#3273dc;border-bottom-style:solid;border-bottom-width:3px;color:#3273dc;padding-bottom:calc(.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#3273dc;margin-top:-.375em;right:1.125em}.navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:.5rem 0}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}body.has-navbar-fixed-top-touch,html.has-navbar-fixed-top-touch{padding-top:3.25rem}body.has-navbar-fixed-bottom-touch,html.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-end,.navbar.is-spaced .navbar-start{align-items:center}.navbar.is-spaced .navbar-link,.navbar.is-spaced a.navbar-item{border-radius:4px}.navbar.is-transparent .navbar-link.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover{background-color:transparent!important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent!important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{-webkit-transform:rotate(135deg) translate(.25em,-.25em);transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,.1);display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-dropdown{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));-webkit-transform:translateY(-5px);transform:translateY(-5px);transition-duration:86ms;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-desktop{top:0}body.has-navbar-fixed-top-desktop,html.has-navbar-fixed-top-desktop{padding-top:3.25rem}body.has-navbar-fixed-bottom-desktop,html.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}body.has-spaced-navbar-fixed-top,html.has-spaced-navbar-fixed-top{padding-top:5.25rem}body.has-spaced-navbar-fixed-bottom,html.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}.navbar-link.is-active,a.navbar-item.is-active{color:#0a0a0a}.navbar-link.is-active:not(:focus):not(:hover),a.navbar-item.is-active:not(:focus):not(:hover){background-color:transparent}.navbar-item.has-dropdown.is-active .navbar-link,.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{padding-left:1em;padding-right:1em;border-radius:290486px}.pagination.is-rounded .pagination-link{border-radius:290486px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-link,.pagination-next,.pagination-previous{border-color:#dbdbdb;color:#363636;min-width:2.25em}.pagination-link:hover,.pagination-next:hover,.pagination-previous:hover{border-color:#b5b5b5;color:#363636}.pagination-link:focus,.pagination-next:focus,.pagination-previous:focus{border-color:#3273dc}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2)}.pagination-link[disabled],.pagination-next[disabled],.pagination-previous[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:.5}.pagination-next,.pagination-previous{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#3273dc;border-color:#3273dc;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width:769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel-block,.panel-heading,.panel-tabs{border-bottom:1px solid #dbdbdb;border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.panel-block:first-child,.panel-heading:first-child,.panel-tabs:first-child{border-top:1px solid #dbdbdb}.panel-heading{background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#363636;font-size:1.25em;font-weight:300;line-height:1.25;padding:.5em .75em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#4a4a4a}.panel-list a:hover{color:#3273dc}.panel-block{align-items:center;color:#363636;display:flex;justify-content:flex-start;padding:.5em .75em}.panel-block input[type=checkbox]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#3273dc;color:#363636}.panel-block.is-active .panel-icon{color:#3273dc}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#7a7a7a;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#4a4a4a;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#363636}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#3273dc;color:#3273dc}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em;padding-right:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:transparent!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-radius:4px 0 0 4px}.tabs.is-toggle li:last-child a{border-radius:0 4px 4px 0}.tabs.is-toggle li.is-active a{background-color:#3273dc;border-color:#3273dc;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0}.columns.is-mobile>.column.is-1{flex:none;width:8.33333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333%}.columns.is-mobile>.column.is-2{flex:none;width:16.66667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333%}.columns.is-mobile>.column.is-5{flex:none;width:41.66667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333%}.columns.is-mobile>.column.is-8{flex:none;width:66.66667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333%}.columns.is-mobile>.column.is-11{flex:none;width:91.66667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0}.column.is-1-mobile{flex:none;width:8.33333%}.column.is-offset-1-mobile{margin-left:8.33333%}.column.is-2-mobile{flex:none;width:16.66667%}.column.is-offset-2-mobile{margin-left:16.66667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333%}.column.is-offset-4-mobile{margin-left:33.33333%}.column.is-5-mobile{flex:none;width:41.66667%}.column.is-offset-5-mobile{margin-left:41.66667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333%}.column.is-offset-7-mobile{margin-left:58.33333%}.column.is-8-mobile{flex:none;width:66.66667%}.column.is-offset-8-mobile{margin-left:66.66667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333%}.column.is-offset-10-mobile{margin-left:83.33333%}.column.is-11-mobile{flex:none;width:91.66667%}.column.is-offset-11-mobile{margin-left:91.66667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width:769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width:1023px){.column.is-narrow-touch{flex:none}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0}.column.is-1-touch{flex:none;width:8.33333%}.column.is-offset-1-touch{margin-left:8.33333%}.column.is-2-touch{flex:none;width:16.66667%}.column.is-offset-2-touch{margin-left:16.66667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333%}.column.is-offset-4-touch{margin-left:33.33333%}.column.is-5-touch{flex:none;width:41.66667%}.column.is-offset-5-touch{margin-left:41.66667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333%}.column.is-offset-7-touch{margin-left:58.33333%}.column.is-8-touch{flex:none;width:66.66667%}.column.is-offset-8-touch{margin-left:66.66667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333%}.column.is-offset-10-touch{margin-left:83.33333%}.column.is-11-touch{flex:none;width:91.66667%}.column.is-offset-11-touch{margin-left:91.66667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width:1024px){.column.is-narrow-desktop{flex:none}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0}.column.is-1-desktop{flex:none;width:8.33333%}.column.is-offset-1-desktop{margin-left:8.33333%}.column.is-2-desktop{flex:none;width:16.66667%}.column.is-offset-2-desktop{margin-left:16.66667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333%}.column.is-offset-4-desktop{margin-left:33.33333%}.column.is-5-desktop{flex:none;width:41.66667%}.column.is-offset-5-desktop{margin-left:41.66667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333%}.column.is-offset-7-desktop{margin-left:58.33333%}.column.is-8-desktop{flex:none;width:66.66667%}.column.is-offset-8-desktop{margin-left:66.66667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333%}.column.is-offset-10-desktop{margin-left:83.33333%}.column.is-11-desktop{flex:none;width:91.66667%}.column.is-offset-11-desktop{margin-left:91.66667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width:1216px){.column.is-narrow-widescreen{flex:none}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0}.column.is-1-widescreen{flex:none;width:8.33333%}.column.is-offset-1-widescreen{margin-left:8.33333%}.column.is-2-widescreen{flex:none;width:16.66667%}.column.is-offset-2-widescreen{margin-left:16.66667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333%}.column.is-offset-4-widescreen{margin-left:33.33333%}.column.is-5-widescreen{flex:none;width:41.66667%}.column.is-offset-5-widescreen{margin-left:41.66667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333%}.column.is-offset-7-widescreen{margin-left:58.33333%}.column.is-8-widescreen{flex:none;width:66.66667%}.column.is-offset-8-widescreen{margin-left:66.66667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333%}.column.is-offset-10-widescreen{margin-left:83.33333%}.column.is-11-widescreen{flex:none;width:91.66667%}.column.is-offset-11-widescreen{margin-left:91.66667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width:1408px){.column.is-narrow-fullhd{flex:none}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0}.column.is-1-fullhd{flex:none;width:8.33333%}.column.is-offset-1-fullhd{margin-left:8.33333%}.column.is-2-fullhd{flex:none;width:16.66667%}.column.is-offset-2-fullhd{margin-left:16.66667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333%}.column.is-offset-4-fullhd{margin-left:33.33333%}.column.is-5-fullhd{flex:none;width:41.66667%}.column.is-offset-5-fullhd{margin-left:41.66667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333%}.column.is-offset-7-fullhd{margin-left:58.33333%}.column.is-8-fullhd{flex:none;width:66.66667%}.column.is-offset-8-fullhd{margin-left:66.66667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333%}.column.is-offset-10-fullhd{margin-left:83.33333%}.column.is-11-fullhd{flex:none;width:91.66667%}.column.is-offset-11-fullhd{margin-left:91.66667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width:769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap:0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap:0rem}@media screen and (max-width:768px){.columns.is-variable.is-0-mobile{--columnGap:0rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-0-tablet{--columnGap:0rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-0-tablet-only{--columnGap:0rem}}@media screen and (max-width:1023px){.columns.is-variable.is-0-touch{--columnGap:0rem}}@media screen and (min-width:1024px){.columns.is-variable.is-0-desktop{--columnGap:0rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-0-desktop-only{--columnGap:0rem}}@media screen and (min-width:1216px){.columns.is-variable.is-0-widescreen{--columnGap:0rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-0-widescreen-only{--columnGap:0rem}}@media screen and (min-width:1408px){.columns.is-variable.is-0-fullhd{--columnGap:0rem}}.columns.is-variable.is-1{--columnGap:0.25rem}@media screen and (max-width:768px){.columns.is-variable.is-1-mobile{--columnGap:0.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-1-tablet{--columnGap:0.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-1-tablet-only{--columnGap:0.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-1-touch{--columnGap:0.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-1-desktop{--columnGap:0.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-1-desktop-only{--columnGap:0.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-1-widescreen{--columnGap:0.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-1-widescreen-only{--columnGap:0.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-1-fullhd{--columnGap:0.25rem}}.columns.is-variable.is-2{--columnGap:0.5rem}@media screen and (max-width:768px){.columns.is-variable.is-2-mobile{--columnGap:0.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-2-tablet{--columnGap:0.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-2-tablet-only{--columnGap:0.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-2-touch{--columnGap:0.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-2-desktop{--columnGap:0.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-2-desktop-only{--columnGap:0.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-2-widescreen{--columnGap:0.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-2-widescreen-only{--columnGap:0.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-2-fullhd{--columnGap:0.5rem}}.columns.is-variable.is-3{--columnGap:0.75rem}@media screen and (max-width:768px){.columns.is-variable.is-3-mobile{--columnGap:0.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-3-tablet{--columnGap:0.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-3-tablet-only{--columnGap:0.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-3-touch{--columnGap:0.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-3-desktop{--columnGap:0.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-3-desktop-only{--columnGap:0.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-3-widescreen{--columnGap:0.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-3-widescreen-only{--columnGap:0.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-3-fullhd{--columnGap:0.75rem}}.columns.is-variable.is-4{--columnGap:1rem}@media screen and (max-width:768px){.columns.is-variable.is-4-mobile{--columnGap:1rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-4-tablet{--columnGap:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-4-tablet-only{--columnGap:1rem}}@media screen and (max-width:1023px){.columns.is-variable.is-4-touch{--columnGap:1rem}}@media screen and (min-width:1024px){.columns.is-variable.is-4-desktop{--columnGap:1rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-4-desktop-only{--columnGap:1rem}}@media screen and (min-width:1216px){.columns.is-variable.is-4-widescreen{--columnGap:1rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-4-widescreen-only{--columnGap:1rem}}@media screen and (min-width:1408px){.columns.is-variable.is-4-fullhd{--columnGap:1rem}}.columns.is-variable.is-5{--columnGap:1.25rem}@media screen and (max-width:768px){.columns.is-variable.is-5-mobile{--columnGap:1.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-5-tablet{--columnGap:1.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-5-tablet-only{--columnGap:1.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-5-touch{--columnGap:1.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-5-desktop{--columnGap:1.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-5-desktop-only{--columnGap:1.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-5-widescreen{--columnGap:1.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-5-widescreen-only{--columnGap:1.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-5-fullhd{--columnGap:1.25rem}}.columns.is-variable.is-6{--columnGap:1.5rem}@media screen and (max-width:768px){.columns.is-variable.is-6-mobile{--columnGap:1.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-6-tablet{--columnGap:1.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-6-tablet-only{--columnGap:1.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-6-touch{--columnGap:1.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-6-desktop{--columnGap:1.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-6-desktop-only{--columnGap:1.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-6-widescreen{--columnGap:1.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-6-widescreen-only{--columnGap:1.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-6-fullhd{--columnGap:1.5rem}}.columns.is-variable.is-7{--columnGap:1.75rem}@media screen and (max-width:768px){.columns.is-variable.is-7-mobile{--columnGap:1.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-7-tablet{--columnGap:1.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-7-tablet-only{--columnGap:1.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-7-touch{--columnGap:1.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-7-desktop{--columnGap:1.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-7-desktop-only{--columnGap:1.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-7-widescreen{--columnGap:1.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-7-widescreen-only{--columnGap:1.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-7-fullhd{--columnGap:1.75rem}}.columns.is-variable.is-8{--columnGap:2rem}@media screen and (max-width:768px){.columns.is-variable.is-8-mobile{--columnGap:2rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-8-tablet{--columnGap:2rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-8-tablet-only{--columnGap:2rem}}@media screen and (max-width:1023px){.columns.is-variable.is-8-touch{--columnGap:2rem}}@media screen and (min-width:1024px){.columns.is-variable.is-8-desktop{--columnGap:2rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-8-desktop-only{--columnGap:2rem}}@media screen and (min-width:1216px){.columns.is-variable.is-8-widescreen{--columnGap:2rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-8-widescreen-only{--columnGap:2rem}}@media screen and (min-width:1408px){.columns.is-variable.is-8-fullhd{--columnGap:2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media screen and (min-width:769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333%}.tile.is-2{flex:none;width:16.66667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333%}.tile.is-5{flex:none;width:41.66667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333%}.tile.is-8{flex:none;width:66.66667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333%}.tile.is-11{flex:none;width:91.66667%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:0 0}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width:1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,.7)}.hero.is-white .navbar-link.is-active,.hero.is-white .navbar-link:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,.7)}.hero.is-black .navbar-link.is-active,.hero.is-black .navbar-link:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black a.navbar-item:hover{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#363636}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#363636}.hero.is-light .subtitle{color:rgba(54,54,54,.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#363636}@media screen and (max-width:1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(54,54,54,.7)}.hero.is-light .navbar-link.is-active,.hero.is-light .navbar-link:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light a.navbar-item:hover{background-color:#e8e8e8;color:#363636}.hero.is-light .tabs a{color:#363636;opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#363636}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}}.hero.is-dark{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#f5f5f5}.hero.is-dark .subtitle{color:rgba(245,245,245,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#f5f5f5}@media screen and (max-width:1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:rgba(245,245,245,.7)}.hero.is-dark .navbar-link.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark a.navbar-item:hover{background-color:#292929;color:#f5f5f5}.hero.is-dark .tabs a{color:#f5f5f5;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#f5f5f5}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:rgba(255,255,255,.7)}.hero.is-primary .navbar-link.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary a.navbar-item:hover{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}}.hero.is-link{background-color:#3273dc;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-link .navbar-menu{background-color:#3273dc}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,.7)}.hero.is-link .navbar-link.is-active,.hero.is-link .navbar-link:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link a.navbar-item:hover{background-color:#2366d1;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3273dc}.hero.is-link.is-bold{background-image:linear-gradient(141deg,#1577c6 0,#3273dc 71%,#4366e5 100%)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1577c6 0,#3273dc 71%,#4366e5 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,.7)}.hero.is-info .navbar-link.is-active,.hero.is-info .navbar-link:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info a.navbar-item:hover{background-color:#118fe4;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#04a6d7 0,#209cee 71%,#3287f5 100%)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#04a6d7 0,#209cee 71%,#3287f5 100%)}}.hero.is-success{background-color:#23d160;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-success .navbar-menu{background-color:#23d160}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,.7)}.hero.is-success .navbar-link.is-active,.hero.is-success .navbar-link:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success a.navbar-item:hover{background-color:#20bc56;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#23d160}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#12af2f 0,#23d160 71%,#2ce28a 100%)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#12af2f 0,#23d160 71%,#2ce28a 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,.7)}.hero.is-warning .navbar-link.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning a.navbar-item:hover{background-color:#ffd83d;color:rgba(0,0,0,.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffaf24 0,#ffdd57 71%,#fffa70 100%)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffaf24 0,#ffdd57 71%,#fffa70 100%)}}.hero.is-danger{background-color:#ff3860;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-danger .navbar-menu{background-color:#ff3860}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,.7)}.hero.is-danger .navbar-link.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger a.navbar-item:hover{background-color:#ff1f4b;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ff3860}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#ff0561 0,#ff3860 71%,#ff5257 100%)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ff0561 0,#ff3860 71%,#ff5257 100%)}}.hero.is-small .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width:769px),print{.hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width:769px),print{.hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media screen and (min-width:769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section.is-medium{padding:9rem 1.5rem}.section.is-large{padding:18rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/css/fontawesome-5.7.2.min.css b/testing/web-platform/tests/tools/wave/www/css/fontawesome-5.7.2.min.css
new file mode 100644
index 0000000000..a74835e25b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/fontawesome-5.7.2.min.css
@@ -0,0 +1 @@
+.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/css/fontawesome.min.css b/testing/web-platform/tests/tools/wave/www/css/fontawesome.min.css
new file mode 100644
index 0000000000..812418ae90
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/fontawesome.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.2.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:a 2s infinite linear}.fa-pulse{animation:a 1s infinite steps(8)}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-r-project:before{content:"\f4f7"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/css/main.css b/testing/web-platform/tests/tools/wave/www/css/main.css
new file mode 100644
index 0000000000..7edbb0f3ba
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/main.css
@@ -0,0 +1,101 @@
+h2 {
+ font-weight: bold;
+ margin-bottom: 10px;
+}
+
+.site-logo {
+ max-width: 300px;
+ margin-bottom: 30px;
+ margin-left: -15px;
+}
+
+.page-description {
+ max-width: 700px;
+ margin-top: 50px;
+}
+
+.field-controls {
+ padding-top: 25px;
+}
+
+#api-controls {
+ margin-top: 15px;
+ max-width: 850px;
+}
+
+#select-none {
+ margin-right: 25px;
+}
+
+.test-count-container {
+ vertical-align: sub;
+ margin-left: 10px;
+}
+
+.section-heading {
+ font-size: 18px;
+ margin-top: 25px;
+ margin-bottom: 0;
+ font-weight: bold;
+}
+
+.button-group {
+ margin-top: 30px;
+}
+
+.mb-1 {
+ margin-bottom: 10px;
+}
+
+.form-group {
+ display: inline-block;
+}
+
+.form-group--offset {
+ margin-left: 25px;
+}
+
+.filter-group {
+ margin-top: 30px;
+ padding-top: 15px;
+ padding-bottom: 20px;
+ border-top: 1px solid #d2d2d2;
+ border-bottom: 1px solid #d2d2d2;
+}
+
+.focused {
+ /* box-shadow: inset -3px -3px 0 red, inset 3px 3px 0 red; */
+}
+
+.focused:after {
+ display: block;
+ position: absolute;
+ border: solid 3px red;
+ content: "";
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+}
+
+.button.is-light.is-focused:not(:active),
+.button.is-light:focus:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.2);
+}
+
+.button.is-info.is-focused:not(:active),
+.button.is-info:focus:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
+}
+
+@media screen and (min-width: 560px) {
+ #api-controls {
+ columns: 2;
+ }
+}
+
+@media screen and (min-width: 780px) {
+ #api-controls {
+ columns: 3;
+ }
+}
diff --git a/testing/web-platform/tests/tools/wave/www/css/result.css b/testing/web-platform/tests/tools/wave/www/css/result.css
new file mode 100644
index 0000000000..6f944a0a83
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/result.css
@@ -0,0 +1,75 @@
+body {
+ margin: 0;
+ padding: 0;
+ display: flex;
+ justify-content: center;
+ font-family: "Noto Sans", sans-serif;
+ background-color: white;
+ color: #000;
+}
+
+.header {
+ display: flex;
+ margin: 50px 0 30px 0;
+}
+
+.header :first-child {
+ flex: 1;
+}
+
+.site-logo {
+ max-width: 300px;
+ margin-left: -15px;
+}
+
+.content {
+ width: 1000px;
+}
+
+#test-path,
+#token {
+ font-family: monospace;
+ font-size: 12pt;
+}
+
+.pass {
+ color: green;
+}
+
+.fail {
+ color: red;
+}
+
+.timeout {
+ color: rgb(224, 127, 0);
+}
+
+.not-run {
+ color: blue;
+}
+
+.api-result-timeoutfiles {
+ display: none; /* don't display for now */
+ flex-basis: 100%;
+}
+
+#header {
+ display: flex;
+ align-items: center;
+}
+
+#header > :first-child {
+ flex: 1;
+}
+
+#controls-wrapper {
+ display: flex;
+}
+
+.no-border-radius {
+ border-radius: 0;
+}
+
+#results-table .button {
+ margin: 0 2px;
+}
diff --git a/testing/web-platform/tests/tools/wave/www/css/style.css b/testing/web-platform/tests/tools/wave/www/css/style.css
new file mode 100644
index 0000000000..9264a47bc5
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/css/style.css
@@ -0,0 +1,86 @@
+body {
+ width: 100vw;
+ height: 100vh;
+ padding: 0;
+ margin: 0;
+ color: #000;
+}
+
+.section {
+ max-width: 1000px;
+ margin: 0 auto;
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.site-logo {
+ max-width: 300px;
+ margin-bottom: 30px;
+ margin-left: -15px;
+}
+
+.site-header {
+ margin-bottom: 50px;
+}
+
+#content {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+}
+
+#qr-code {
+ padding: 10px;
+ border: 1px solid rgb(200, 200, 200);
+ border-radius: 3px;
+}
+
+#button-wrapper {
+ display: flex;
+ margin: 20px 0;
+}
+
+#button-wrapper :not(:first-child) {
+ margin-left: 15px;
+}
+
+#token,
+#test-path {
+ font-family: monospace;
+ font-size: 12pt;
+}
+
+#details-wrapper {
+ display: flex;
+ flex-direction: column;
+ max-width: 600px;
+ margin-top: 20px;
+}
+
+.prompt {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ width: 700px;
+}
+
+.detail {
+ margin: 2px 0;
+ display: flex;
+ width: 100%;
+}
+
+.detail :first-child {
+ width: 150px;
+ flex: none;
+ font-weight: bold;
+}
+
+.detail div {
+ flex: 1;
+}
+
+.mb-2 {
+ margin-bottom: 20px;
+}
diff --git a/testing/web-platform/tests/tools/wave/www/favicon.ico b/testing/web-platform/tests/tools/wave/www/favicon.ico
new file mode 100644
index 0000000000..46d0d17d7b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/favicon.ico
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/finish.html b/testing/web-platform/tests/tools/wave/www/finish.html
new file mode 100644
index 0000000000..403cb2879e
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/finish.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>Session Finished - Web Platform Test Runner</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/style.css" />
+ <link rel="stylesheet" href="css/main.css" />
+ <script src="lib/davidshimjs/qrcode.js"></script>
+ <script src="lib/keycodes.js"></script>
+ <script src="lib/wave-service.js"></script>
+ </head>
+ <body>
+ <section class="section">
+ <div class="container site-header">
+ <img src="res/wavelogo_2016.jpg" alt="WAVE Logo" class="site-logo" />
+ <h1 class="title is-spaced" id="title"></h1>
+ </div>
+
+ <div class="container">
+ <div id="content">
+ <div id="qr-code"></div>
+ <div id="button-wrapper">
+ <div id="new-button" class="button is-success is-large tabbable">
+ Create New Session
+ </div>
+ <button id="results-button" class="button is-large tabbable">
+ View Result Page
+ </button>
+ </div>
+ <div id="details-wrapper">
+ <h3 class="title is-5 is-spaced">Details</h3>
+ <div class="detail">
+ <div>Token:</div>
+ <div id="token"></div>
+ </div>
+ <div class="detail">
+ <div>User Agent:</div>
+ <div id="user-agent"></div>
+ </div>
+ <div class="detail">
+ <div>Test Types:</div>
+ <div id="test-types"></div>
+ </div>
+ <div class="detail">
+ <div>Total Test Files:</div>
+ <div id="total-tests"></div>
+ </div>
+ <div class="detail">
+ <div>Reference Tokens:</div>
+ <div id="reference-tokens"></div>
+ </div>
+ <div class="detail">
+ <div>Test Timeouts:</div>
+ <div id="test-timeout"></div>
+ </div>
+ <div class="detail">
+ <div>Test Paths:</div>
+ <div id="test-path"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <script>
+ var HOSTNAME = location.hostname;
+ var PORT = location.port;
+ var PROTOCOL = location.protocol.replace(/:/, "");
+ var QUERY = location.search.replace(/\?/, "");
+ var match = QUERY.match(/token=([^&]+)/);
+ var TOKEN = match ? match[1] : null;
+ var selectedTabbable = -1;
+
+ function displaySessionConfiguration(configuration) {
+ var userAgent = document.getElementById("user-agent");
+ userAgent.innerText = configuration.userAgent;
+ var testPath = document.getElementById("test-path");
+ for (var i = 0; i < configuration.tests.include.length; i++) {
+ var path = configuration.tests.include[i];
+ testPath.innerText += path + "\n";
+ }
+ var testTypes = document.getElementById("test-types");
+ testTypes.innerText = configuration.types.join(", ");
+ var testTimeout = document.getElementById("test-timeout");
+ for (var timeout in configuration.timeouts) {
+ testTimeout.innerText +=
+ timeout + ": " + configuration.timeouts[timeout] / 1000 + "s\n";
+ }
+ var referenceTokens = document.getElementById("reference-tokens");
+ if (configuration.referenceTokens.length === 0) {
+ referenceTokens.innerText = "none";
+ } else {
+ for (var i = 0; i < configuration.referenceTokens.length; i++) {
+ var token = configuration.referenceTokens[i];
+ referenceTokens.innerText += token + "\n";
+ }
+ }
+ }
+
+ function displaySessionStatus(status) {
+ var title = document.getElementById("title");
+ if (status.status === "aborted") {
+ title.innerText = "Session Aborted";
+ } else {
+ title.innerText = "Session Complete";
+ }
+
+ var testTypes = document.getElementById("total-tests");
+ var count = 0;
+ for (var api in status.testFilesCount) {
+ count += status.testFilesCount[api];
+ }
+ testTypes.innerText = count;
+ }
+
+ function startTests() {
+ sendRequest("GET", WEB_ROOT + "api/next", null, function(response) {
+ location.href = response;
+ });
+ }
+
+ var resultsUrl =
+ "http://" + location.host + WEB_ROOT + "overview.html" + location.search;
+ new QRCode(document.getElementById("qr-code"), resultsUrl);
+
+ var resultsButton = document.getElementById("results-button");
+ resultsButton.onclick = function() {
+ window.open(resultsUrl, "_blank");
+ };
+
+ var newButton = document.getElementById("new-button");
+ newButton.onclick = function() {
+ location.href = WEB_ROOT + "index.html";
+ };
+
+ function removeClass(element, className) {
+ var elementClass = element.className;
+ var index = elementClass.indexOf(className);
+ if (index !== -1) {
+ element.className = elementClass.replace(className, "");
+ }
+ }
+
+ function addClass(element, className) {
+ element.className += " " + className;
+ }
+
+ function skipFocus(steps) {
+ var tabbables = document.getElementsByClassName("tabbable");
+ if (selectedTabbable === -1) {
+ selectedTabbable = 0;
+ } else {
+ removeClass(tabbables[selectedTabbable], "focused");
+ selectedTabbable += steps;
+ }
+
+ if (selectedTabbable >= tabbables.length) {
+ selectedTabbable = 0;
+ }
+
+ if (selectedTabbable < 0) {
+ selectedTabbable = tabbables.length - 1;
+ }
+
+ tabbables[selectedTabbable].focus();
+ addClass(tabbables[selectedTabbable], "focused");
+ }
+
+ function focusNext() {
+ skipFocus(1);
+ }
+
+ function focusPrevious() {
+ skipFocus(-1);
+ }
+
+ document.onkeydown = function(event) {
+ event = event || window.event;
+ var charCode =
+ typeof event.which === "number" ? event.which : event.keyCode;
+
+ if (ACTION_KEYS.indexOf(charCode) !== -1) {
+ event.preventDefault();
+ if (selectedTabbable === -1) {
+ return;
+ }
+ var tabbables = document.getElementsByClassName("tabbable");
+ var element = tabbables[selectedTabbable];
+ if (element.type === "checkbox") {
+ element.checked = !element.checked;
+ } else {
+ element.click();
+ }
+ }
+
+ if (PREV_KEYS.indexOf(charCode) !== -1) {
+ focusPrevious();
+ }
+
+ if (NEXT_KEYS.indexOf(charCode) !== -1) {
+ focusNext();
+ }
+ };
+
+ var match = location.search.match(/token=(.+)/);
+ var token = match[1];
+ var tokenView = document.getElementById("token");
+ tokenView.innerText = token;
+
+ WaveService.readSession(token, displaySessionConfiguration);
+ WaveService.readSessionStatus(token, displaySessionStatus);
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/index.html b/testing/web-platform/tests/tools/wave/www/index.html
new file mode 100644
index 0000000000..8ba94dfac0
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/index.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>Web Media API Snapshot Test Suite</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/fontawesome.min.css" />
+ <script src="lib/keycodes.js"></script>
+ <script src="lib/wave-service.js"></script>
+ <script src="lib/davidshimjs/qrcode.js"></script>
+ </head>
+
+ <body>
+ <section class="section">
+ <div class="container">
+ <img
+ style="max-width: 300px; margin-bottom: 30px; margin-left: -15px;"
+ src="res/wavelogo_2016.jpg"
+ alt="WAVE (Web Application Video Ecosystem) Project Logo"
+ />
+
+ <h1 class="title is-spaced">
+ WAVE WMAS Test Suite
+ </h1>
+ <p class="subtitle">
+ <a href="https://github.com/w3c/webmediaapi/">GitHub</a> -
+ </p>
+ </div>
+
+ <div class="container" style="margin-top: 2em;">
+ <h2 class="title is-5">
+ New test session
+ </h2>
+ <div class="columns is-vcentered" style="margin-top: 20px;">
+ <div class="column is-narrow">
+ <div
+ id="qr-code"
+ style="
+ width: 256px;
+ height: 256px;
+ padding: 5px;
+ border: 1px gray solid;
+ border-radius: 3px;
+ "
+ ></div>
+ </div>
+ <div class="column">
+ <table style="margin-bottom: 1.5em;">
+ <tr>
+ <td class="has-text-weight-bold" style="padding-right: 1rem;">
+ Token:
+ </td>
+ <td id="session-token" class="is-family-monospace"></td>
+ </tr>
+ <tr>
+ <td class="has-text-weight-bold" style="padding-right: 1rem;">
+ Expires:
+ </td>
+ <td id="expiary-date"></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <p class="is-size-7">(Session start revokes expiration.)</p>
+ </td>
+ </tr>
+ </table>
+
+ <p style="max-width: 32rem; margin-bottom: 1rem;">
+ Configure a new session on a second device by scanning the
+ QR-Code, or click the button:
+ </p>
+ <div
+ class="button"
+ style="margin-bottom: 1rem;"
+ id="configure-button"
+ >
+ <span class="icon"><i class="fas fa-sliders-h"></i></span>
+ <span>Configure Session</span>
+ </div>
+ <p style="max-width: 32rem;">
+ The tests will start running in this window, as soon as the
+ session is started from the configuration view.
+ </p>
+ </div>
+ </div>
+ </div>
+
+ <div class="container" style="margin-top: 2em;">
+ <h2 class="title is-5">
+ Resume running session
+ </h2>
+ <article
+ id="unknown_token_error"
+ style="max-width: 30em; display: none;"
+ class="message is-danger"
+ >
+ <div class="message-body">
+ Unknown token
+ </div>
+ </article>
+ <div class="columns is-vcentered">
+ <div id="resume_token" class="column is-narrow"></div>
+ <div class="button-group column">
+ <button
+ id="resume-button"
+ class="button is-success tabbable"
+ type="submit"
+ data-uid="100"
+ autofocus
+ >
+ <span class="icon"><i class="fas fa-redo"></i></span>
+ <span>Resume</span>
+ </button>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <script>
+ var selectedTabbable = -1;
+
+ function removeClass(element, className) {
+ var elementClass = element.className;
+ var index = elementClass.indexOf(className);
+ if (index !== -1) {
+ element.className = elementClass.replace(className, "");
+ }
+ }
+
+ function addClass(element, className) {
+ element.className += " " + className;
+ }
+
+ function skipFocus(steps) {
+ var tabbables = document.getElementsByClassName("tabbable");
+ if (selectedTabbable === -1) {
+ selectedTabbable = 0;
+ } else {
+ removeClass(tabbables[selectedTabbable], "focused");
+ selectedTabbable += steps;
+ }
+
+ if (selectedTabbable >= tabbables.length) {
+ selectedTabbable = 0;
+ }
+
+ if (selectedTabbable < 0) {
+ selectedTabbable = tabbables.length - 1;
+ }
+
+ tabbables[selectedTabbable].focus();
+ addClass(tabbables[selectedTabbable], "focused");
+ }
+
+ function focusNext() {
+ skipFocus(1);
+ }
+
+ function focusPrevious() {
+ skipFocus(-1);
+ }
+
+ // Resume
+ var resumeToken = "";
+ var cookies = document.cookie.split(";");
+ for (var i = 0; i < cookies.length; i++) {
+ var cookie = cookies[i];
+ if (cookie.split("=")[0].replace(/ /g, "") === "resume_token") {
+ resumeToken = cookie.split("=")[1];
+ break;
+ }
+ }
+ if (!resumeToken) resumeToken = "";
+
+ var resumeButton = document.getElementById("resume-button");
+
+ var tokenText = document.getElementById("resume_token");
+ if (resumeToken) {
+ tokenText.innerText = "Last session: " + resumeToken;
+ } else {
+ tokenText.innerText = "No recent session.";
+ resumeButton.setAttribute("disabled", "");
+ }
+ var unknownTokenError = document.getElementById("unknown_token_error");
+ resumeButton.onclick = function (event) {
+ location.href = WEB_ROOT + "next.html?token=" + resumeToken;
+ };
+
+ resumeButton.onkeydown = function (event) {
+ var charCode =
+ typeof event.which === "number" ? event.which : event.keyCode;
+ if (ACTION_KEYS.indexOf(charCode) === -1) return;
+ location.href = WEB_ROOT + "next.html?token=" + resumeToken;
+ };
+
+ document.onkeydown = function (event) {
+ event = event || window.event;
+ var charCode =
+ typeof event.which === "number" ? event.which : event.keyCode;
+
+ if (ACTION_KEYS.indexOf(charCode) !== -1) {
+ event.preventDefault();
+ var tabbables = document.getElementsByClassName("tabbable");
+ var element = tabbables[selectedTabbable];
+ if (!element) return;
+ if (element.type === "checkbox") {
+ element.checked = !element.checked;
+ } else {
+ element.click();
+ }
+ }
+
+ if (PREV_KEYS.indexOf(charCode) !== -1) {
+ focusPrevious();
+ }
+
+ if (NEXT_KEYS.indexOf(charCode) !== -1) {
+ focusNext();
+ }
+ };
+
+ var lifeTime = 30 * 60 * 1000; // 30min
+ WaveService.createSession(
+ { expirationDate: new Date().getTime() + lifeTime },
+ function (token) {
+ var sessionTokenElement = document.getElementById("session-token");
+ sessionTokenElement.innerText = token;
+
+ WaveService.readSessionStatus(token, function (config) {
+ var expiaryDateElement = document.getElementById("expiary-date");
+ expiaryDateElement.innerText = config.expirationDate.toLocaleString();
+ });
+
+ var configurationUrl =
+ location.origin +
+ WEB_ROOT +
+ "configuration.html?token=" +
+ token +
+ "&resume=" +
+ resumeToken;
+ new QRCode(document.getElementById("qr-code"), configurationUrl);
+ document.getElementById("configure-button").onclick = function () {
+ window.open(configurationUrl, "_blank");
+ };
+
+ WaveService.addSessionEventListener(token, function (message) {
+ if (message.type === "resume") {
+ var resumeToken = message.data;
+ location.href = WEB_ROOT + "next.html?token=" + resumeToken;
+ }
+
+ if (message.type !== "status") return;
+ if (message.data === "pending") return;
+ location.href = WEB_ROOT + "next.html?token=" + token;
+ });
+ }
+ );
+ document.getElementById("resume-button").focus();
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/lib/davidshimjs/LICENSE b/testing/web-platform/tests/tools/wave/www/lib/davidshimjs/LICENSE
new file mode 100644
index 0000000000..93c33233fa
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/davidshimjs/LICENSE
@@ -0,0 +1,14 @@
+The MIT License (MIT)
+---------------------
+Copyright (c) 2012 davidshimjs
+
+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. \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/lib/davidshimjs/qrcode.js b/testing/web-platform/tests/tools/wave/www/lib/davidshimjs/qrcode.js
new file mode 100644
index 0000000000..45e5d7b974
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/davidshimjs/qrcode.js
@@ -0,0 +1,1533 @@
+/**
+ * @fileoverview
+ * - Using the 'QRCode for Javascript library'
+ * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.
+ * - this library has no dependencies.
+ *
+ * @author davidshimjs
+ * @see <a href="http://www.d-project.com/" target="_blank">http://www.d-project.com/</a>
+ * @see <a href="http://jeromeetienne.github.com/jquery-qrcode/" target="_blank">http://jeromeetienne.github.com/jquery-qrcode/</a>
+ */
+var QRCode
+;(function () {
+ // ---------------------------------------------------------------------
+ // QRCode for JavaScript
+ //
+ // Copyright (c) 2009 Kazuhiko Arase
+ //
+ // URL: http://www.d-project.com/
+ //
+ // Licensed under the MIT license:
+ // http://www.opensource.org/licenses/mit-license.php
+ //
+ // The word "QR Code" is registered trademark of
+ // DENSO WAVE INCORPORATED
+ // http://www.denso-wave.com/qrcode/faqpatent-e.html
+ //
+ // ---------------------------------------------------------------------
+ function QR8bitByte (data) {
+ this.mode = QRMode.MODE_8BIT_BYTE
+ this.data = data
+ this.parsedData = []
+
+ // Added to support UTF-8 Characters
+ for (var i = 0, l = this.data.length; i < l; i++) {
+ var byteArray = []
+ var code = this.data.charCodeAt(i)
+
+ if (code > 0x10000) {
+ byteArray[0] = 0xf0 | ((code & 0x1c0000) >>> 18)
+ byteArray[1] = 0x80 | ((code & 0x3f000) >>> 12)
+ byteArray[2] = 0x80 | ((code & 0xfc0) >>> 6)
+ byteArray[3] = 0x80 | (code & 0x3f)
+ } else if (code > 0x800) {
+ byteArray[0] = 0xe0 | ((code & 0xf000) >>> 12)
+ byteArray[1] = 0x80 | ((code & 0xfc0) >>> 6)
+ byteArray[2] = 0x80 | (code & 0x3f)
+ } else if (code > 0x80) {
+ byteArray[0] = 0xc0 | ((code & 0x7c0) >>> 6)
+ byteArray[1] = 0x80 | (code & 0x3f)
+ } else {
+ byteArray[0] = code
+ }
+
+ this.parsedData.push(byteArray)
+ }
+
+ this.parsedData = Array.prototype.concat.apply([], this.parsedData)
+
+ if (this.parsedData.length != this.data.length) {
+ this.parsedData.unshift(191)
+ this.parsedData.unshift(187)
+ this.parsedData.unshift(239)
+ }
+ }
+
+ QR8bitByte.prototype = {
+ getLength: function (buffer) {
+ return this.parsedData.length
+ },
+ write: function (buffer) {
+ for (var i = 0, l = this.parsedData.length; i < l; i++) {
+ buffer.put(this.parsedData[i], 8)
+ }
+ }
+ }
+
+ function QRCodeModel (typeNumber, errorCorrectLevel) {
+ this.typeNumber = typeNumber
+ this.errorCorrectLevel = errorCorrectLevel
+ this.modules = null
+ this.moduleCount = 0
+ this.dataCache = null
+ this.dataList = []
+ }
+
+ QRCodeModel.prototype = {
+ addData: function (data) {
+ var newData = new QR8bitByte(data)
+ this.dataList.push(newData)
+ this.dataCache = null
+ },
+ isDark: function (row, col) {
+ if (
+ row < 0 ||
+ this.moduleCount <= row ||
+ col < 0 ||
+ this.moduleCount <= col
+ ) {
+ throw new Error(row + ',' + col)
+ }
+ return this.modules[row][col]
+ },
+ getModuleCount: function () {
+ return this.moduleCount
+ },
+ make: function () {
+ this.makeImpl(false, this.getBestMaskPattern())
+ },
+ makeImpl: function (test, maskPattern) {
+ this.moduleCount = this.typeNumber * 4 + 17
+ this.modules = new Array(this.moduleCount)
+ for (var row = 0; row < this.moduleCount; row++) {
+ this.modules[row] = new Array(this.moduleCount)
+ for (var col = 0; col < this.moduleCount; col++) {
+ this.modules[row][col] = null
+ }
+ }
+ this.setupPositionProbePattern(0, 0)
+ this.setupPositionProbePattern(this.moduleCount - 7, 0)
+ this.setupPositionProbePattern(0, this.moduleCount - 7)
+ this.setupPositionAdjustPattern()
+ this.setupTimingPattern()
+ this.setupTypeInfo(test, maskPattern)
+ if (this.typeNumber >= 7) {
+ this.setupTypeNumber(test)
+ }
+ if (this.dataCache == null) {
+ this.dataCache = QRCodeModel.createData(
+ this.typeNumber,
+ this.errorCorrectLevel,
+ this.dataList
+ )
+ }
+ this.mapData(this.dataCache, maskPattern)
+ },
+ setupPositionProbePattern: function (row, col) {
+ for (var r = -1; r <= 7; r++) {
+ if (row + r <= -1 || this.moduleCount <= row + r) continue
+ for (var c = -1; c <= 7; c++) {
+ if (col + c <= -1 || this.moduleCount <= col + c) continue
+ if (
+ (r >= 0 && r <= 6 && (c == 0 || c == 6)) ||
+ (c >= 0 && c <= 6 && (r == 0 || r == 6)) ||
+ (r >= 2 && r <= 4 && c >= 2 && c <= 4)
+ ) {
+ this.modules[row + r][col + c] = true
+ } else {
+ this.modules[row + r][col + c] = false
+ }
+ }
+ }
+ },
+ getBestMaskPattern: function () {
+ var minLostPoint = 0
+ var pattern = 0
+ for (var i = 0; i < 8; i++) {
+ this.makeImpl(true, i)
+ var lostPoint = QRUtil.getLostPoint(this)
+ if (i == 0 || minLostPoint > lostPoint) {
+ minLostPoint = lostPoint
+ pattern = i
+ }
+ }
+ return pattern
+ },
+ createMovieClip: function (target_mc, instance_name, depth) {
+ var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth)
+ var cs = 1
+ this.make()
+ for (var row = 0; row < this.modules.length; row++) {
+ var y = row * cs
+ for (var col = 0; col < this.modules[row].length; col++) {
+ var x = col * cs
+ var dark = this.modules[row][col]
+ if (dark) {
+ qr_mc.beginFill(0, 100)
+ qr_mc.moveTo(x, y)
+ qr_mc.lineTo(x + cs, y)
+ qr_mc.lineTo(x + cs, y + cs)
+ qr_mc.lineTo(x, y + cs)
+ qr_mc.endFill()
+ }
+ }
+ }
+ return qr_mc
+ },
+ setupTimingPattern: function () {
+ for (var r = 8; r < this.moduleCount - 8; r++) {
+ if (this.modules[r][6] != null) {
+ continue
+ }
+ this.modules[r][6] = r % 2 == 0
+ }
+ for (var c = 8; c < this.moduleCount - 8; c++) {
+ if (this.modules[6][c] != null) {
+ continue
+ }
+ this.modules[6][c] = c % 2 == 0
+ }
+ },
+ setupPositionAdjustPattern: function () {
+ var pos = QRUtil.getPatternPosition(this.typeNumber)
+ for (var i = 0; i < pos.length; i++) {
+ for (var j = 0; j < pos.length; j++) {
+ var row = pos[i]
+ var col = pos[j]
+ if (this.modules[row][col] != null) {
+ continue
+ }
+ for (var r = -2; r <= 2; r++) {
+ for (var c = -2; c <= 2; c++) {
+ if (
+ r == -2 ||
+ r == 2 ||
+ c == -2 ||
+ c == 2 ||
+ (r == 0 && c == 0)
+ ) {
+ this.modules[row + r][col + c] = true
+ } else {
+ this.modules[row + r][col + c] = false
+ }
+ }
+ }
+ }
+ }
+ },
+ setupTypeNumber: function (test) {
+ var bits = QRUtil.getBCHTypeNumber(this.typeNumber)
+ for (var i = 0; i < 18; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod
+ }
+ for (var i = 0; i < 18; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod
+ }
+ },
+ setupTypeInfo: function (test, maskPattern) {
+ var data = (this.errorCorrectLevel << 3) | maskPattern
+ var bits = QRUtil.getBCHTypeInfo(data)
+ for (var i = 0; i < 15; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ if (i < 6) {
+ this.modules[i][8] = mod
+ } else if (i < 8) {
+ this.modules[i + 1][8] = mod
+ } else {
+ this.modules[this.moduleCount - 15 + i][8] = mod
+ }
+ }
+ for (var i = 0; i < 15; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ if (i < 8) {
+ this.modules[8][this.moduleCount - i - 1] = mod
+ } else if (i < 9) {
+ this.modules[8][15 - i - 1 + 1] = mod
+ } else {
+ this.modules[8][15 - i - 1] = mod
+ }
+ }
+ this.modules[this.moduleCount - 8][8] = !test
+ },
+ mapData: function (data, maskPattern) {
+ var inc = -1
+ var row = this.moduleCount - 1
+ var bitIndex = 7
+ var byteIndex = 0
+ for (var col = this.moduleCount - 1; col > 0; col -= 2) {
+ if (col == 6) col--
+ while (true) {
+ for (var c = 0; c < 2; c++) {
+ if (this.modules[row][col - c] == null) {
+ var dark = false
+ if (byteIndex < data.length) {
+ dark = ((data[byteIndex] >>> bitIndex) & 1) == 1
+ }
+ var mask = QRUtil.getMask(maskPattern, row, col - c)
+ if (mask) {
+ dark = !dark
+ }
+ this.modules[row][col - c] = dark
+ bitIndex--
+ if (bitIndex == -1) {
+ byteIndex++
+ bitIndex = 7
+ }
+ }
+ }
+ row += inc
+ if (row < 0 || this.moduleCount <= row) {
+ row -= inc
+ inc = -inc
+ break
+ }
+ }
+ }
+ }
+ }
+ QRCodeModel.PAD0 = 0xec
+ QRCodeModel.PAD1 = 0x11
+ QRCodeModel.createData = function (typeNumber, errorCorrectLevel, dataList) {
+ var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel)
+ var buffer = new QRBitBuffer()
+ for (var i = 0; i < dataList.length; i++) {
+ var data = dataList[i]
+ buffer.put(data.mode, 4)
+ buffer.put(
+ data.getLength(),
+ QRUtil.getLengthInBits(data.mode, typeNumber)
+ )
+ data.write(buffer)
+ }
+ var totalDataCount = 0
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalDataCount += rsBlocks[i].dataCount
+ }
+ if (buffer.getLengthInBits() > totalDataCount * 8) {
+ throw new Error(
+ 'code length overflow. (' +
+ buffer.getLengthInBits() +
+ '>' +
+ totalDataCount * 8 +
+ ')'
+ )
+ }
+ if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {
+ buffer.put(0, 4)
+ }
+ while (buffer.getLengthInBits() % 8 != 0) {
+ buffer.putBit(false)
+ }
+ while (true) {
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
+ break
+ }
+ buffer.put(QRCodeModel.PAD0, 8)
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
+ break
+ }
+ buffer.put(QRCodeModel.PAD1, 8)
+ }
+ return QRCodeModel.createBytes(buffer, rsBlocks)
+ }
+ QRCodeModel.createBytes = function (buffer, rsBlocks) {
+ var offset = 0
+ var maxDcCount = 0
+ var maxEcCount = 0
+ var dcdata = new Array(rsBlocks.length)
+ var ecdata = new Array(rsBlocks.length)
+ for (var r = 0; r < rsBlocks.length; r++) {
+ var dcCount = rsBlocks[r].dataCount
+ var ecCount = rsBlocks[r].totalCount - dcCount
+ maxDcCount = Math.max(maxDcCount, dcCount)
+ maxEcCount = Math.max(maxEcCount, ecCount)
+ dcdata[r] = new Array(dcCount)
+ for (var i = 0; i < dcdata[r].length; i++) {
+ dcdata[r][i] = 0xff & buffer.buffer[i + offset]
+ }
+ offset += dcCount
+ var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount)
+ var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1)
+ var modPoly = rawPoly.mod(rsPoly)
+ ecdata[r] = new Array(rsPoly.getLength() - 1)
+ for (var i = 0; i < ecdata[r].length; i++) {
+ var modIndex = i + modPoly.getLength() - ecdata[r].length
+ ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0
+ }
+ }
+ var totalCodeCount = 0
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalCodeCount += rsBlocks[i].totalCount
+ }
+ var data = new Array(totalCodeCount)
+ var index = 0
+ for (var i = 0; i < maxDcCount; i++) {
+ for (var r = 0; r < rsBlocks.length; r++) {
+ if (i < dcdata[r].length) {
+ data[index++] = dcdata[r][i]
+ }
+ }
+ }
+ for (var i = 0; i < maxEcCount; i++) {
+ for (var r = 0; r < rsBlocks.length; r++) {
+ if (i < ecdata[r].length) {
+ data[index++] = ecdata[r][i]
+ }
+ }
+ }
+ return data
+ }
+ var QRMode = {
+ MODE_NUMBER: 1 << 0,
+ MODE_ALPHA_NUM: 1 << 1,
+ MODE_8BIT_BYTE: 1 << 2,
+ MODE_KANJI: 1 << 3
+ }
+ var QRErrorCorrectLevel = { L: 1, M: 0, Q: 3, H: 2 }
+ var QRMaskPattern = {
+ PATTERN000: 0,
+ PATTERN001: 1,
+ PATTERN010: 2,
+ PATTERN011: 3,
+ PATTERN100: 4,
+ PATTERN101: 5,
+ PATTERN110: 6,
+ PATTERN111: 7
+ }
+ var QRUtil = {
+ PATTERN_POSITION_TABLE: [
+ [],
+ [6, 18],
+ [6, 22],
+ [6, 26],
+ [6, 30],
+ [6, 34],
+ [6, 22, 38],
+ [6, 24, 42],
+ [6, 26, 46],
+ [6, 28, 50],
+ [6, 30, 54],
+ [6, 32, 58],
+ [6, 34, 62],
+ [6, 26, 46, 66],
+ [6, 26, 48, 70],
+ [6, 26, 50, 74],
+ [6, 30, 54, 78],
+ [6, 30, 56, 82],
+ [6, 30, 58, 86],
+ [6, 34, 62, 90],
+ [6, 28, 50, 72, 94],
+ [6, 26, 50, 74, 98],
+ [6, 30, 54, 78, 102],
+ [6, 28, 54, 80, 106],
+ [6, 32, 58, 84, 110],
+ [6, 30, 58, 86, 114],
+ [6, 34, 62, 90, 118],
+ [6, 26, 50, 74, 98, 122],
+ [6, 30, 54, 78, 102, 126],
+ [6, 26, 52, 78, 104, 130],
+ [6, 30, 56, 82, 108, 134],
+ [6, 34, 60, 86, 112, 138],
+ [6, 30, 58, 86, 114, 142],
+ [6, 34, 62, 90, 118, 146],
+ [6, 30, 54, 78, 102, 126, 150],
+ [6, 24, 50, 76, 102, 128, 154],
+ [6, 28, 54, 80, 106, 132, 158],
+ [6, 32, 58, 84, 110, 136, 162],
+ [6, 26, 54, 82, 110, 138, 166],
+ [6, 30, 58, 86, 114, 142, 170]
+ ],
+ G15:
+ (1 << 10) |
+ (1 << 8) |
+ (1 << 5) |
+ (1 << 4) |
+ (1 << 2) |
+ (1 << 1) |
+ (1 << 0),
+ G18:
+ (1 << 12) |
+ (1 << 11) |
+ (1 << 10) |
+ (1 << 9) |
+ (1 << 8) |
+ (1 << 5) |
+ (1 << 2) |
+ (1 << 0),
+ G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),
+ getBCHTypeInfo: function (data) {
+ var d = data << 10
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
+ d ^=
+ QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15))
+ }
+ return ((data << 10) | d) ^ QRUtil.G15_MASK
+ },
+ getBCHTypeNumber: function (data) {
+ var d = data << 12
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
+ d ^=
+ QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18))
+ }
+ return (data << 12) | d
+ },
+ getBCHDigit: function (data) {
+ var digit = 0
+ while (data != 0) {
+ digit++
+ data >>>= 1
+ }
+ return digit
+ },
+ getPatternPosition: function (typeNumber) {
+ return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]
+ },
+ getMask: function (maskPattern, i, j) {
+ switch (maskPattern) {
+ case QRMaskPattern.PATTERN000:
+ return (i + j) % 2 == 0
+ case QRMaskPattern.PATTERN001:
+ return i % 2 == 0
+ case QRMaskPattern.PATTERN010:
+ return j % 3 == 0
+ case QRMaskPattern.PATTERN011:
+ return (i + j) % 3 == 0
+ case QRMaskPattern.PATTERN100:
+ return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0
+ case QRMaskPattern.PATTERN101:
+ return (i * j) % 2 + (i * j) % 3 == 0
+ case QRMaskPattern.PATTERN110:
+ return ((i * j) % 2 + (i * j) % 3) % 2 == 0
+ case QRMaskPattern.PATTERN111:
+ return ((i * j) % 3 + (i + j) % 2) % 2 == 0
+ default:
+ throw new Error('bad maskPattern:' + maskPattern)
+ }
+ },
+ getErrorCorrectPolynomial: function (errorCorrectLength) {
+ var a = new QRPolynomial([1], 0)
+ for (var i = 0; i < errorCorrectLength; i++) {
+ a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0))
+ }
+ return a
+ },
+ getLengthInBits: function (mode, type) {
+ if (type >= 1 && type < 10) {
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 10
+ case QRMode.MODE_ALPHA_NUM:
+ return 9
+ case QRMode.MODE_8BIT_BYTE:
+ return 8
+ case QRMode.MODE_KANJI:
+ return 8
+ default:
+ throw new Error('mode:' + mode)
+ }
+ } else if (type < 27) {
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 12
+ case QRMode.MODE_ALPHA_NUM:
+ return 11
+ case QRMode.MODE_8BIT_BYTE:
+ return 16
+ case QRMode.MODE_KANJI:
+ return 10
+ default:
+ throw new Error('mode:' + mode)
+ }
+ } else if (type < 41) {
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 14
+ case QRMode.MODE_ALPHA_NUM:
+ return 13
+ case QRMode.MODE_8BIT_BYTE:
+ return 16
+ case QRMode.MODE_KANJI:
+ return 12
+ default:
+ throw new Error('mode:' + mode)
+ }
+ } else {
+ throw new Error('type:' + type)
+ }
+ },
+ getLostPoint: function (qrCode) {
+ var moduleCount = qrCode.getModuleCount()
+ var lostPoint = 0
+ for (var row = 0; row < moduleCount; row++) {
+ for (var col = 0; col < moduleCount; col++) {
+ var sameCount = 0
+ var dark = qrCode.isDark(row, col)
+ for (var r = -1; r <= 1; r++) {
+ if (row + r < 0 || moduleCount <= row + r) {
+ continue
+ }
+ for (var c = -1; c <= 1; c++) {
+ if (col + c < 0 || moduleCount <= col + c) {
+ continue
+ }
+ if (r == 0 && c == 0) {
+ continue
+ }
+ if (dark == qrCode.isDark(row + r, col + c)) {
+ sameCount++
+ }
+ }
+ }
+ if (sameCount > 5) {
+ lostPoint += 3 + sameCount - 5
+ }
+ }
+ }
+ for (var row = 0; row < moduleCount - 1; row++) {
+ for (var col = 0; col < moduleCount - 1; col++) {
+ var count = 0
+ if (qrCode.isDark(row, col)) count++
+ if (qrCode.isDark(row + 1, col)) count++
+ if (qrCode.isDark(row, col + 1)) count++
+ if (qrCode.isDark(row + 1, col + 1)) count++
+ if (count == 0 || count == 4) {
+ lostPoint += 3
+ }
+ }
+ }
+ for (var row = 0; row < moduleCount; row++) {
+ for (var col = 0; col < moduleCount - 6; col++) {
+ if (
+ qrCode.isDark(row, col) &&
+ !qrCode.isDark(row, col + 1) &&
+ qrCode.isDark(row, col + 2) &&
+ qrCode.isDark(row, col + 3) &&
+ qrCode.isDark(row, col + 4) &&
+ !qrCode.isDark(row, col + 5) &&
+ qrCode.isDark(row, col + 6)
+ ) {
+ lostPoint += 40
+ }
+ }
+ }
+ for (var col = 0; col < moduleCount; col++) {
+ for (var row = 0; row < moduleCount - 6; row++) {
+ if (
+ qrCode.isDark(row, col) &&
+ !qrCode.isDark(row + 1, col) &&
+ qrCode.isDark(row + 2, col) &&
+ qrCode.isDark(row + 3, col) &&
+ qrCode.isDark(row + 4, col) &&
+ !qrCode.isDark(row + 5, col) &&
+ qrCode.isDark(row + 6, col)
+ ) {
+ lostPoint += 40
+ }
+ }
+ }
+ var darkCount = 0
+ for (var col = 0; col < moduleCount; col++) {
+ for (var row = 0; row < moduleCount; row++) {
+ if (qrCode.isDark(row, col)) {
+ darkCount++
+ }
+ }
+ }
+ var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5
+ lostPoint += ratio * 10
+ return lostPoint
+ }
+ }
+ var QRMath = {
+ glog: function (n) {
+ if (n < 1) {
+ throw new Error('glog(' + n + ')')
+ }
+ return QRMath.LOG_TABLE[n]
+ },
+ gexp: function (n) {
+ while (n < 0) {
+ n += 255
+ }
+ while (n >= 256) {
+ n -= 255
+ }
+ return QRMath.EXP_TABLE[n]
+ },
+ EXP_TABLE: new Array(256),
+ LOG_TABLE: new Array(256)
+ }
+ for (var i = 0; i < 8; i++) {
+ QRMath.EXP_TABLE[i] = 1 << i
+ }
+ for (var i = 8; i < 256; i++) {
+ QRMath.EXP_TABLE[i] =
+ QRMath.EXP_TABLE[i - 4] ^
+ QRMath.EXP_TABLE[i - 5] ^
+ QRMath.EXP_TABLE[i - 6] ^
+ QRMath.EXP_TABLE[i - 8]
+ }
+ for (var i = 0; i < 255; i++) {
+ QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i
+ }
+ function QRPolynomial (num, shift) {
+ if (num.length == undefined) {
+ throw new Error(num.length + '/' + shift)
+ }
+ var offset = 0
+ while (offset < num.length && num[offset] == 0) {
+ offset++
+ }
+ this.num = new Array(num.length - offset + shift)
+ for (var i = 0; i < num.length - offset; i++) {
+ this.num[i] = num[i + offset]
+ }
+ }
+ QRPolynomial.prototype = {
+ get: function (index) {
+ return this.num[index]
+ },
+ getLength: function () {
+ return this.num.length
+ },
+ multiply: function (e) {
+ var num = new Array(this.getLength() + e.getLength() - 1)
+ for (var i = 0; i < this.getLength(); i++) {
+ for (var j = 0; j < e.getLength(); j++) {
+ num[i + j] ^= QRMath.gexp(
+ QRMath.glog(this.get(i)) + QRMath.glog(e.get(j))
+ )
+ }
+ }
+ return new QRPolynomial(num, 0)
+ },
+ mod: function (e) {
+ if (this.getLength() - e.getLength() < 0) {
+ return this
+ }
+ var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0))
+ var num = new Array(this.getLength())
+ for (var i = 0; i < this.getLength(); i++) {
+ num[i] = this.get(i)
+ }
+ for (var i = 0; i < e.getLength(); i++) {
+ num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio)
+ }
+ return new QRPolynomial(num, 0).mod(e)
+ }
+ }
+ function QRRSBlock (totalCount, dataCount) {
+ this.totalCount = totalCount
+ this.dataCount = dataCount
+ }
+ QRRSBlock.RS_BLOCK_TABLE = [
+ [1, 26, 19],
+ [1, 26, 16],
+ [1, 26, 13],
+ [1, 26, 9],
+ [1, 44, 34],
+ [1, 44, 28],
+ [1, 44, 22],
+ [1, 44, 16],
+ [1, 70, 55],
+ [1, 70, 44],
+ [2, 35, 17],
+ [2, 35, 13],
+ [1, 100, 80],
+ [2, 50, 32],
+ [2, 50, 24],
+ [4, 25, 9],
+ [1, 134, 108],
+ [2, 67, 43],
+ [2, 33, 15, 2, 34, 16],
+ [2, 33, 11, 2, 34, 12],
+ [2, 86, 68],
+ [4, 43, 27],
+ [4, 43, 19],
+ [4, 43, 15],
+ [2, 98, 78],
+ [4, 49, 31],
+ [2, 32, 14, 4, 33, 15],
+ [4, 39, 13, 1, 40, 14],
+ [2, 121, 97],
+ [2, 60, 38, 2, 61, 39],
+ [4, 40, 18, 2, 41, 19],
+ [4, 40, 14, 2, 41, 15],
+ [2, 146, 116],
+ [3, 58, 36, 2, 59, 37],
+ [4, 36, 16, 4, 37, 17],
+ [4, 36, 12, 4, 37, 13],
+ [2, 86, 68, 2, 87, 69],
+ [4, 69, 43, 1, 70, 44],
+ [6, 43, 19, 2, 44, 20],
+ [6, 43, 15, 2, 44, 16],
+ [4, 101, 81],
+ [1, 80, 50, 4, 81, 51],
+ [4, 50, 22, 4, 51, 23],
+ [3, 36, 12, 8, 37, 13],
+ [2, 116, 92, 2, 117, 93],
+ [6, 58, 36, 2, 59, 37],
+ [4, 46, 20, 6, 47, 21],
+ [7, 42, 14, 4, 43, 15],
+ [4, 133, 107],
+ [8, 59, 37, 1, 60, 38],
+ [8, 44, 20, 4, 45, 21],
+ [12, 33, 11, 4, 34, 12],
+ [3, 145, 115, 1, 146, 116],
+ [4, 64, 40, 5, 65, 41],
+ [11, 36, 16, 5, 37, 17],
+ [11, 36, 12, 5, 37, 13],
+ [5, 109, 87, 1, 110, 88],
+ [5, 65, 41, 5, 66, 42],
+ [5, 54, 24, 7, 55, 25],
+ [11, 36, 12],
+ [5, 122, 98, 1, 123, 99],
+ [7, 73, 45, 3, 74, 46],
+ [15, 43, 19, 2, 44, 20],
+ [3, 45, 15, 13, 46, 16],
+ [1, 135, 107, 5, 136, 108],
+ [10, 74, 46, 1, 75, 47],
+ [1, 50, 22, 15, 51, 23],
+ [2, 42, 14, 17, 43, 15],
+ [5, 150, 120, 1, 151, 121],
+ [9, 69, 43, 4, 70, 44],
+ [17, 50, 22, 1, 51, 23],
+ [2, 42, 14, 19, 43, 15],
+ [3, 141, 113, 4, 142, 114],
+ [3, 70, 44, 11, 71, 45],
+ [17, 47, 21, 4, 48, 22],
+ [9, 39, 13, 16, 40, 14],
+ [3, 135, 107, 5, 136, 108],
+ [3, 67, 41, 13, 68, 42],
+ [15, 54, 24, 5, 55, 25],
+ [15, 43, 15, 10, 44, 16],
+ [4, 144, 116, 4, 145, 117],
+ [17, 68, 42],
+ [17, 50, 22, 6, 51, 23],
+ [19, 46, 16, 6, 47, 17],
+ [2, 139, 111, 7, 140, 112],
+ [17, 74, 46],
+ [7, 54, 24, 16, 55, 25],
+ [34, 37, 13],
+ [4, 151, 121, 5, 152, 122],
+ [4, 75, 47, 14, 76, 48],
+ [11, 54, 24, 14, 55, 25],
+ [16, 45, 15, 14, 46, 16],
+ [6, 147, 117, 4, 148, 118],
+ [6, 73, 45, 14, 74, 46],
+ [11, 54, 24, 16, 55, 25],
+ [30, 46, 16, 2, 47, 17],
+ [8, 132, 106, 4, 133, 107],
+ [8, 75, 47, 13, 76, 48],
+ [7, 54, 24, 22, 55, 25],
+ [22, 45, 15, 13, 46, 16],
+ [10, 142, 114, 2, 143, 115],
+ [19, 74, 46, 4, 75, 47],
+ [28, 50, 22, 6, 51, 23],
+ [33, 46, 16, 4, 47, 17],
+ [8, 152, 122, 4, 153, 123],
+ [22, 73, 45, 3, 74, 46],
+ [8, 53, 23, 26, 54, 24],
+ [12, 45, 15, 28, 46, 16],
+ [3, 147, 117, 10, 148, 118],
+ [3, 73, 45, 23, 74, 46],
+ [4, 54, 24, 31, 55, 25],
+ [11, 45, 15, 31, 46, 16],
+ [7, 146, 116, 7, 147, 117],
+ [21, 73, 45, 7, 74, 46],
+ [1, 53, 23, 37, 54, 24],
+ [19, 45, 15, 26, 46, 16],
+ [5, 145, 115, 10, 146, 116],
+ [19, 75, 47, 10, 76, 48],
+ [15, 54, 24, 25, 55, 25],
+ [23, 45, 15, 25, 46, 16],
+ [13, 145, 115, 3, 146, 116],
+ [2, 74, 46, 29, 75, 47],
+ [42, 54, 24, 1, 55, 25],
+ [23, 45, 15, 28, 46, 16],
+ [17, 145, 115],
+ [10, 74, 46, 23, 75, 47],
+ [10, 54, 24, 35, 55, 25],
+ [19, 45, 15, 35, 46, 16],
+ [17, 145, 115, 1, 146, 116],
+ [14, 74, 46, 21, 75, 47],
+ [29, 54, 24, 19, 55, 25],
+ [11, 45, 15, 46, 46, 16],
+ [13, 145, 115, 6, 146, 116],
+ [14, 74, 46, 23, 75, 47],
+ [44, 54, 24, 7, 55, 25],
+ [59, 46, 16, 1, 47, 17],
+ [12, 151, 121, 7, 152, 122],
+ [12, 75, 47, 26, 76, 48],
+ [39, 54, 24, 14, 55, 25],
+ [22, 45, 15, 41, 46, 16],
+ [6, 151, 121, 14, 152, 122],
+ [6, 75, 47, 34, 76, 48],
+ [46, 54, 24, 10, 55, 25],
+ [2, 45, 15, 64, 46, 16],
+ [17, 152, 122, 4, 153, 123],
+ [29, 74, 46, 14, 75, 47],
+ [49, 54, 24, 10, 55, 25],
+ [24, 45, 15, 46, 46, 16],
+ [4, 152, 122, 18, 153, 123],
+ [13, 74, 46, 32, 75, 47],
+ [48, 54, 24, 14, 55, 25],
+ [42, 45, 15, 32, 46, 16],
+ [20, 147, 117, 4, 148, 118],
+ [40, 75, 47, 7, 76, 48],
+ [43, 54, 24, 22, 55, 25],
+ [10, 45, 15, 67, 46, 16],
+ [19, 148, 118, 6, 149, 119],
+ [18, 75, 47, 31, 76, 48],
+ [34, 54, 24, 34, 55, 25],
+ [20, 45, 15, 61, 46, 16]
+ ]
+ QRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {
+ var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel)
+ if (rsBlock == undefined) {
+ throw new Error(
+ 'bad rs block @ typeNumber:' +
+ typeNumber +
+ '/errorCorrectLevel:' +
+ errorCorrectLevel
+ )
+ }
+ var length = rsBlock.length / 3
+ var list = []
+ for (var i = 0; i < length; i++) {
+ var count = rsBlock[i * 3 + 0]
+ var totalCount = rsBlock[i * 3 + 1]
+ var dataCount = rsBlock[i * 3 + 2]
+ for (var j = 0; j < count; j++) {
+ list.push(new QRRSBlock(totalCount, dataCount))
+ }
+ }
+ return list
+ }
+ QRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {
+ switch (errorCorrectLevel) {
+ case QRErrorCorrectLevel.L:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0]
+ case QRErrorCorrectLevel.M:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1]
+ case QRErrorCorrectLevel.Q:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2]
+ case QRErrorCorrectLevel.H:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3]
+ default:
+ return undefined
+ }
+ }
+ function QRBitBuffer () {
+ this.buffer = []
+ this.length = 0
+ }
+ QRBitBuffer.prototype = {
+ get: function (index) {
+ var bufIndex = Math.floor(index / 8)
+ return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1
+ },
+ put: function (num, length) {
+ for (var i = 0; i < length; i++) {
+ this.putBit(((num >>> (length - i - 1)) & 1) == 1)
+ }
+ },
+ getLengthInBits: function () {
+ return this.length
+ },
+ putBit: function (bit) {
+ var bufIndex = Math.floor(this.length / 8)
+ if (this.buffer.length <= bufIndex) {
+ this.buffer.push(0)
+ }
+ if (bit) {
+ this.buffer[bufIndex] |= 0x80 >>> (this.length % 8)
+ }
+ this.length++
+ }
+ }
+ var QRCodeLimitLength = [
+ [17, 14, 11, 7],
+ [32, 26, 20, 14],
+ [53, 42, 32, 24],
+ [78, 62, 46, 34],
+ [106, 84, 60, 44],
+ [134, 106, 74, 58],
+ [154, 122, 86, 64],
+ [192, 152, 108, 84],
+ [230, 180, 130, 98],
+ [271, 213, 151, 119],
+ [321, 251, 177, 137],
+ [367, 287, 203, 155],
+ [425, 331, 241, 177],
+ [458, 362, 258, 194],
+ [520, 412, 292, 220],
+ [586, 450, 322, 250],
+ [644, 504, 364, 280],
+ [718, 560, 394, 310],
+ [792, 624, 442, 338],
+ [858, 666, 482, 382],
+ [929, 711, 509, 403],
+ [1003, 779, 565, 439],
+ [1091, 857, 611, 461],
+ [1171, 911, 661, 511],
+ [1273, 997, 715, 535],
+ [1367, 1059, 751, 593],
+ [1465, 1125, 805, 625],
+ [1528, 1190, 868, 658],
+ [1628, 1264, 908, 698],
+ [1732, 1370, 982, 742],
+ [1840, 1452, 1030, 790],
+ [1952, 1538, 1112, 842],
+ [2068, 1628, 1168, 898],
+ [2188, 1722, 1228, 958],
+ [2303, 1809, 1283, 983],
+ [2431, 1911, 1351, 1051],
+ [2563, 1989, 1423, 1093],
+ [2699, 2099, 1499, 1139],
+ [2809, 2213, 1579, 1219],
+ [2953, 2331, 1663, 1273]
+ ]
+
+ function _isSupportCanvas () {
+ return typeof CanvasRenderingContext2D !== 'undefined'
+ }
+
+ // android 2.x doesn't support Data-URI spec
+ function _getAndroid () {
+ var android = false
+ var sAgent = navigator.userAgent
+
+ if (/android/i.test(sAgent)) {
+ // android
+ android = true
+ var aMat = sAgent.toString().match(/android ([0-9]\.[0-9])/i)
+
+ if (aMat && aMat[1]) {
+ android = parseFloat(aMat[1])
+ }
+ }
+
+ return android
+ }
+
+ var svgDrawer = (function () {
+ var Drawing = function (el, htOption) {
+ this._el = el
+ this._htOption = htOption
+ }
+
+ Drawing.prototype.draw = function (oQRCode) {
+ var _htOption = this._htOption
+ var _el = this._el
+ var nCount = oQRCode.getModuleCount()
+ var nWidth = Math.floor(_htOption.width / nCount)
+ var nHeight = Math.floor(_htOption.height / nCount)
+
+ this.clear()
+
+ function makeSVG (tag, attrs) {
+ var el = document.createElementNS('http://www.w3.org/2000/svg', tag)
+ for (var k in attrs) {
+ if (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k])
+ }
+ return el
+ }
+
+ var svg = makeSVG('svg', {
+ viewBox: '0 0 ' + String(nCount) + ' ' + String(nCount),
+ width: '100%',
+ height: '100%',
+ fill: _htOption.colorLight
+ })
+ svg.setAttributeNS(
+ 'http://www.w3.org/2000/xmlns/',
+ 'xmlns:xlink',
+ 'http://www.w3.org/1999/xlink'
+ )
+ _el.appendChild(svg)
+
+ svg.appendChild(
+ makeSVG('rect', {
+ fill: _htOption.colorLight,
+ width: '100%',
+ height: '100%'
+ })
+ )
+ svg.appendChild(
+ makeSVG('rect', {
+ fill: _htOption.colorDark,
+ width: '1',
+ height: '1',
+ id: 'template'
+ })
+ )
+
+ for (var row = 0; row < nCount; row++) {
+ for (var col = 0; col < nCount; col++) {
+ if (oQRCode.isDark(row, col)) {
+ var child = makeSVG('use', { x: String(col), y: String(row) })
+ child.setAttributeNS(
+ 'http://www.w3.org/1999/xlink',
+ 'href',
+ '#template'
+ )
+ svg.appendChild(child)
+ }
+ }
+ }
+ }
+ Drawing.prototype.clear = function () {
+ while (this._el.hasChildNodes()) this._el.removeChild(this._el.lastChild)
+ }
+ return Drawing
+ })()
+
+ var useSVG = document.documentElement.tagName.toLowerCase() === 'svg'
+
+ // Drawing in DOM by using Table tag
+ var Drawing = useSVG
+ ? svgDrawer
+ : !_isSupportCanvas()
+ ? (function () {
+ var Drawing = function (el, htOption) {
+ this._el = el
+ this._htOption = htOption
+ }
+
+ /**
+ * Draw the QRCode
+ *
+ * @param {QRCode} oQRCode
+ */
+ Drawing.prototype.draw = function (oQRCode) {
+ var _htOption = this._htOption
+ var _el = this._el
+ var nCount = oQRCode.getModuleCount()
+ var nWidth = Math.floor(_htOption.width / nCount)
+ var nHeight = Math.floor(_htOption.height / nCount)
+ var aHTML = ['<table style="border:0;border-collapse:collapse;">']
+
+ for (var row = 0; row < nCount; row++) {
+ aHTML.push('<tr>')
+
+ for (var col = 0; col < nCount; col++) {
+ aHTML.push(
+ '<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' +
+ nWidth +
+ 'px;height:' +
+ nHeight +
+ 'px;background-color:' +
+ (oQRCode.isDark(row, col)
+ ? _htOption.colorDark
+ : _htOption.colorLight) +
+ ';"></td>'
+ )
+ }
+
+ aHTML.push('</tr>')
+ }
+
+ aHTML.push('</table>')
+ _el.innerHTML = aHTML.join('')
+
+ // Fix the margin values as real size.
+ var elTable = _el.childNodes[0]
+ var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2
+ var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2
+
+ if (nLeftMarginTable > 0 && nTopMarginTable > 0) {
+ elTable.style.margin =
+ nTopMarginTable + 'px ' + nLeftMarginTable + 'px'
+ }
+ }
+
+ /**
+ * Clear the QRCode
+ */
+ Drawing.prototype.clear = function () {
+ this._el.innerHTML = ''
+ }
+
+ return Drawing
+ })()
+ : (function () {
+ // Drawing in Canvas
+ function _onMakeImage () {
+ this._elImage.src = this._elCanvas.toDataURL('image/png')
+ this._elImage.style.display = 'block'
+ this._elCanvas.style.display = 'none'
+ }
+
+ // Android 2.1 bug workaround
+ // http://code.google.com/p/android/issues/detail?id=5141
+ if (this._android && this._android <= 2.1) {
+ var factor = 1 / window.devicePixelRatio
+ var drawImage = CanvasRenderingContext2D.prototype.drawImage
+ CanvasRenderingContext2D.prototype.drawImage = function (
+ image,
+ sx,
+ sy,
+ sw,
+ sh,
+ dx,
+ dy,
+ dw,
+ dh
+ ) {
+ if ('nodeName' in image && /img/i.test(image.nodeName)) {
+ for (var i = arguments.length - 1; i >= 1; i--) {
+ arguments[i] = arguments[i] * factor
+ }
+ } else if (typeof dw === 'undefined') {
+ arguments[1] *= factor
+ arguments[2] *= factor
+ arguments[3] *= factor
+ arguments[4] *= factor
+ }
+
+ drawImage.apply(this, arguments)
+ }
+ }
+
+ /**
+ * Check whether the user's browser supports Data URI or not
+ *
+ * @private
+ * @param {Function} fSuccess Occurs if it supports Data URI
+ * @param {Function} fFail Occurs if it doesn't support Data URI
+ */
+ function _safeSetDataURI (fSuccess, fFail) {
+ var self = this
+ self._fFail = fFail
+ self._fSuccess = fSuccess
+
+ // Check it just once
+ if (self._bSupportDataURI === null) {
+ var el = document.createElement('img')
+ var fOnError = function () {
+ self._bSupportDataURI = false
+
+ if (self._fFail) {
+ self._fFail.call(self)
+ }
+ }
+ var fOnSuccess = function () {
+ self._bSupportDataURI = true
+
+ if (self._fSuccess) {
+ self._fSuccess.call(self)
+ }
+ }
+
+ el.onabort = fOnError
+ el.onerror = fOnError
+ el.onload = fOnSuccess
+ el.src =
+ 'data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' // the Image contains 1px data.
+ } else if (self._bSupportDataURI === true && self._fSuccess) {
+ self._fSuccess.call(self)
+ } else if (self._bSupportDataURI === false && self._fFail) {
+ self._fFail.call(self)
+ }
+ }
+
+ /**
+ * Drawing QRCode by using canvas
+ *
+ * @constructor
+ * @param {HTMLElement} el
+ * @param {Object} htOption QRCode Options
+ */
+ var Drawing = function (el, htOption) {
+ this._bIsPainted = false
+ this._android = _getAndroid()
+
+ this._htOption = htOption
+ this._elCanvas = document.createElement('canvas')
+ this._elCanvas.width = htOption.width
+ this._elCanvas.height = htOption.height
+ el.appendChild(this._elCanvas)
+ this._el = el
+ this._oContext = this._elCanvas.getContext('2d')
+ this._bIsPainted = false
+ this._elImage = document.createElement('img')
+ this._elImage.alt = 'Scan me!'
+ this._elImage.style.display = 'none'
+ this._el.appendChild(this._elImage)
+ this._bSupportDataURI = null
+ }
+
+ /**
+ * Draw the QRCode
+ *
+ * @param {QRCode} oQRCode
+ */
+ Drawing.prototype.draw = function (oQRCode) {
+ var _elImage = this._elImage
+ var _oContext = this._oContext
+ var _htOption = this._htOption
+
+ var nCount = oQRCode.getModuleCount()
+ var nWidth = _htOption.width / nCount
+ var nHeight = _htOption.height / nCount
+ var nRoundedWidth = Math.round(nWidth)
+ var nRoundedHeight = Math.round(nHeight)
+
+ _elImage.style.display = 'none'
+ this.clear()
+
+ for (var row = 0; row < nCount; row++) {
+ for (var col = 0; col < nCount; col++) {
+ var bIsDark = oQRCode.isDark(row, col)
+ var nLeft = col * nWidth
+ var nTop = row * nHeight
+ _oContext.strokeStyle = bIsDark
+ ? _htOption.colorDark
+ : _htOption.colorLight
+ _oContext.lineWidth = 1
+ _oContext.fillStyle = bIsDark
+ ? _htOption.colorDark
+ : _htOption.colorLight
+ _oContext.fillRect(nLeft, nTop, nWidth, nHeight)
+
+ // 안티 앨리어싱 방지 처리
+ _oContext.strokeRect(
+ Math.floor(nLeft) + 0.5,
+ Math.floor(nTop) + 0.5,
+ nRoundedWidth,
+ nRoundedHeight
+ )
+
+ _oContext.strokeRect(
+ Math.ceil(nLeft) - 0.5,
+ Math.ceil(nTop) - 0.5,
+ nRoundedWidth,
+ nRoundedHeight
+ )
+ }
+ }
+
+ this._bIsPainted = true
+ }
+
+ /**
+ * Make the image from Canvas if the browser supports Data URI.
+ */
+ Drawing.prototype.makeImage = function () {
+ if (this._bIsPainted) {
+ _safeSetDataURI.call(this, _onMakeImage)
+ }
+ }
+
+ /**
+ * Return whether the QRCode is painted or not
+ *
+ * @return {Boolean}
+ */
+ Drawing.prototype.isPainted = function () {
+ return this._bIsPainted
+ }
+
+ /**
+ * Clear the QRCode
+ */
+ Drawing.prototype.clear = function () {
+ this._oContext.clearRect(
+ 0,
+ 0,
+ this._elCanvas.width,
+ this._elCanvas.height
+ )
+ this._bIsPainted = false
+ }
+
+ /**
+ * @private
+ * @param {Number} nNumber
+ */
+ Drawing.prototype.round = function (nNumber) {
+ if (!nNumber) {
+ return nNumber
+ }
+
+ return Math.floor(nNumber * 1000) / 1000
+ }
+
+ return Drawing
+ })()
+
+ /**
+ * Get the type by string length
+ *
+ * @private
+ * @param {String} sText
+ * @param {Number} nCorrectLevel
+ * @return {Number} type
+ */
+ function _getTypeNumber (sText, nCorrectLevel) {
+ var nType = 1
+ var length = _getUTF8Length(sText)
+
+ for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {
+ var nLimit = 0
+
+ switch (nCorrectLevel) {
+ case QRErrorCorrectLevel.L:
+ nLimit = QRCodeLimitLength[i][0]
+ break
+ case QRErrorCorrectLevel.M:
+ nLimit = QRCodeLimitLength[i][1]
+ break
+ case QRErrorCorrectLevel.Q:
+ nLimit = QRCodeLimitLength[i][2]
+ break
+ case QRErrorCorrectLevel.H:
+ nLimit = QRCodeLimitLength[i][3]
+ break
+ }
+
+ if (length <= nLimit) {
+ break
+ } else {
+ nType++
+ }
+ }
+
+ if (nType > QRCodeLimitLength.length) {
+ throw new Error('Too long data')
+ }
+
+ return nType
+ }
+
+ function _getUTF8Length (sText) {
+ var replacedText = encodeURI(sText)
+ .toString()
+ .replace(/\%[0-9a-fA-F]{2}/g, 'a')
+ return replacedText.length + (replacedText.length != sText ? 3 : 0)
+ }
+
+ /**
+ * @class QRCode
+ * @constructor
+ * @example
+ * new QRCode(document.getElementById("test"), "http://jindo.dev.naver.com/collie");
+ *
+ * @example
+ * var oQRCode = new QRCode("test", {
+ * text : "http://naver.com",
+ * width : 128,
+ * height : 128
+ * });
+ *
+ * oQRCode.clear(); // Clear the QRCode.
+ * oQRCode.makeCode("http://map.naver.com"); // Re-create the QRCode.
+ *
+ * @param {HTMLElement|String} el target element or 'id' attribute of element.
+ * @param {Object|String} vOption
+ * @param {String} vOption.text QRCode link data
+ * @param {Number} [vOption.width=256]
+ * @param {Number} [vOption.height=256]
+ * @param {String} [vOption.colorDark="#000000"]
+ * @param {String} [vOption.colorLight="#ffffff"]
+ * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H]
+ */
+ QRCode = function (el, vOption) {
+ this._htOption = {
+ width: 256,
+ height: 256,
+ typeNumber: 4,
+ colorDark: '#000000',
+ colorLight: '#ffffff',
+ correctLevel: QRErrorCorrectLevel.H
+ }
+
+ if (typeof vOption === 'string') {
+ vOption = {
+ text: vOption
+ }
+ }
+
+ // Overwrites options
+ if (vOption) {
+ for (var i in vOption) {
+ this._htOption[i] = vOption[i]
+ }
+ }
+
+ if (typeof el === 'string') {
+ el = document.getElementById(el)
+ }
+
+ if (this._htOption.useSVG) {
+ Drawing = svgDrawer
+ }
+
+ this._android = _getAndroid()
+ this._el = el
+ this._oQRCode = null
+ this._oDrawing = new Drawing(this._el, this._htOption)
+
+ if (this._htOption.text) {
+ this.makeCode(this._htOption.text)
+ }
+ }
+
+ /**
+ * Make the QRCode
+ *
+ * @param {String} sText link data
+ */
+ QRCode.prototype.makeCode = function (sText) {
+ this._oQRCode = new QRCodeModel(
+ _getTypeNumber(sText, this._htOption.correctLevel),
+ this._htOption.correctLevel
+ )
+ this._oQRCode.addData(sText)
+ this._oQRCode.make()
+ this._el.title = sText
+ this._oDrawing.draw(this._oQRCode)
+ this.makeImage()
+ }
+
+ /**
+ * Make the Image from Canvas element
+ * - It occurs automatically
+ * - Android below 3 doesn't support Data-URI spec.
+ *
+ * @private
+ */
+ QRCode.prototype.makeImage = function () {
+ if (
+ typeof this._oDrawing.makeImage === 'function' &&
+ (!this._android || this._android >= 3)
+ ) {
+ this._oDrawing.makeImage()
+ }
+ }
+
+ /**
+ * Clear the QRCode
+ */
+ QRCode.prototype.clear = function () {
+ this._oDrawing.clear()
+ }
+
+ /**
+ * @name QRCode.CorrectLevel
+ */
+ QRCode.CorrectLevel = QRErrorCorrectLevel
+})()
diff --git a/testing/web-platform/tests/tools/wave/www/lib/jszip.min.js b/testing/web-platform/tests/tools/wave/www/lib/jszip.min.js
new file mode 100644
index 0000000000..b9188736b7
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/jszip.min.js
@@ -0,0 +1,15 @@
+/*!
+
+JSZip v3.1.5 - A JavaScript class for generating and reading zip files
+<http://stuartk.com/jszip>
+
+(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
+
+JSZip uses the library pako released under the MIT license :
+https://github.com/nodeca/pako/blob/master/LICENSE
+*/
+!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d=a("./utils"),e=a("./support"),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,g,h,i,j,k=[],l=0,m=a.length,n=m,o="string"!==d.getTypeOf(a);l<a.length;)n=m-l,o?(b=a[l++],c=l<m?a[l++]:0,e=l<m?a[l++]:0):(b=a.charCodeAt(l++),c=l<m?a.charCodeAt(l++):0,e=l<m?a.charCodeAt(l++):0),g=b>>2,h=(3&b)<<4|c>>4,i=n>1?(15&c)<<2|e>>6:64,j=n>2?63&e:64,k.push(f.charAt(g)+f.charAt(h)+f.charAt(i)+f.charAt(j));return k.join("")},c.decode=function(a){var b,c,d,g,h,i,j,k=0,l=0,m="data:";if(a.substr(0,m.length)===m)throw new Error("Invalid base64 input, it looks like a data url.");a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");var n=3*a.length/4;if(a.charAt(a.length-1)===f.charAt(64)&&n--,a.charAt(a.length-2)===f.charAt(64)&&n--,n%1!==0)throw new Error("Invalid base64 input, bad content length.");var o;for(o=e.uint8array?new Uint8Array(0|n):new Array(0|n);k<a.length;)g=f.indexOf(a.charAt(k++)),h=f.indexOf(a.charAt(k++)),i=f.indexOf(a.charAt(k++)),j=f.indexOf(a.charAt(k++)),b=g<<2|h>>4,c=(15&h)<<4|i>>2,d=(3&i)<<6|j,o[l++]=b,64!==i&&(o[l++]=c),64!==j&&(o[l++]=d);return o}},{"./support":30,"./utils":32}],2:[function(a,b,c){"use strict";function d(a,b,c,d,e){this.compressedSize=a,this.uncompressedSize=b,this.crc32=c,this.compression=d,this.compressedContent=e}var e=a("./external"),f=a("./stream/DataWorker"),g=a("./stream/DataLengthProbe"),h=a("./stream/Crc32Probe"),g=a("./stream/DataLengthProbe");d.prototype={getContentWorker:function(){var a=new f(e.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new g("data_length")),b=this;return a.on("end",function(){if(this.streamInfo.data_length!==b.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),a},getCompressedWorker:function(){return new f(e.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},d.createWorkerFrom=function(a,b,c){return a.pipe(new h).pipe(new g("uncompressedSize")).pipe(b.compressWorker(c)).pipe(new g("compressedSize")).withStreamInfo("compression",b)},b.exports=d},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(a,b,c){"use strict";var d=a("./stream/GenericWorker");c.STORE={magic:"\0\0",compressWorker:function(a){return new d("STORE compression")},uncompressWorker:function(){return new d("STORE decompression")}},c.DEFLATE=a("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(a,b,c){"use strict";function d(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function e(a,b,c,d){var e=h,f=d+c;a^=-1;for(var g=d;g<f;g++)a=a>>>8^e[255&(a^b[g])];return a^-1}function f(a,b,c,d){var e=h,f=d+c;a^=-1;for(var g=d;g<f;g++)a=a>>>8^e[255&(a^b.charCodeAt(g))];return a^-1}var g=a("./utils"),h=d();b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var c="string"!==g.getTypeOf(a);return c?e(0|b,a,a.length,0):f(0|b,a,a.length,0)}},{"./utils":32}],5:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!0,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],6:[function(a,b,c){"use strict";var d=null;d="undefined"!=typeof Promise?Promise:a("lie"),b.exports={Promise:d}},{lie:58}],7:[function(a,b,c){"use strict";function d(a,b){h.call(this,"FlateWorker/"+a),this._pako=null,this._pakoAction=a,this._pakoOptions=b,this.meta={}}var e="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,f=a("pako"),g=a("./utils"),h=a("./stream/GenericWorker"),i=e?"uint8array":"array";c.magic="\b\0",g.inherits(d,h),d.prototype.processChunk=function(a){this.meta=a.meta,null===this._pako&&this._createPako(),this._pako.push(g.transformTo(i,a.data),!1)},d.prototype.flush=function(){h.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},d.prototype.cleanUp=function(){h.prototype.cleanUp.call(this),this._pako=null},d.prototype._createPako=function(){this._pako=new f[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var a=this;this._pako.onData=function(b){a.push({data:b,meta:a.meta})}},c.compressWorker=function(a){return new d("Deflate",a)},c.uncompressWorker=function(){return new d("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:59}],8:[function(a,b,c){"use strict";function d(a,b,c,d){f.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=b,this.zipPlatform=c,this.encodeFileName=d,this.streamFiles=a,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}var e=a("../utils"),f=a("../stream/GenericWorker"),g=a("../utf8"),h=a("../crc32"),i=a("../signature"),j=function(a,b){var c,d="";for(c=0;c<b;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},k=function(a,b){var c=a;return a||(c=b?16893:33204),(65535&c)<<16},l=function(a,b){return 63&(a||0)},m=function(a,b,c,d,f,m){var n,o,p=a.file,q=a.compression,r=m!==g.utf8encode,s=e.transformTo("string",m(p.name)),t=e.transformTo("string",g.utf8encode(p.name)),u=p.comment,v=e.transformTo("string",m(u)),w=e.transformTo("string",g.utf8encode(u)),x=t.length!==p.name.length,y=w.length!==u.length,z="",A="",B="",C=p.dir,D=p.date,E={crc32:0,compressedSize:0,uncompressedSize:0};b&&!c||(E.crc32=a.crc32,E.compressedSize=a.compressedSize,E.uncompressedSize=a.uncompressedSize);var F=0;b&&(F|=8),r||!x&&!y||(F|=2048);var G=0,H=0;C&&(G|=16),"UNIX"===f?(H=798,G|=k(p.unixPermissions,C)):(H=20,G|=l(p.dosPermissions,C)),n=D.getUTCHours(),n<<=6,n|=D.getUTCMinutes(),n<<=5,n|=D.getUTCSeconds()/2,o=D.getUTCFullYear()-1980,o<<=4,o|=D.getUTCMonth()+1,o<<=5,o|=D.getUTCDate(),x&&(A=j(1,1)+j(h(s),4)+t,z+="up"+j(A.length,2)+A),y&&(B=j(1,1)+j(h(v),4)+w,z+="uc"+j(B.length,2)+B);var I="";I+="\n\0",I+=j(F,2),I+=q.magic,I+=j(n,2),I+=j(o,2),I+=j(E.crc32,4),I+=j(E.compressedSize,4),I+=j(E.uncompressedSize,4),I+=j(s.length,2),I+=j(z.length,2);var J=i.LOCAL_FILE_HEADER+I+s+z,K=i.CENTRAL_FILE_HEADER+j(H,2)+I+j(v.length,2)+"\0\0\0\0"+j(G,4)+j(d,4)+s+z+v;return{fileRecord:J,dirRecord:K}},n=function(a,b,c,d,f){var g="",h=e.transformTo("string",f(d));return g=i.CENTRAL_DIRECTORY_END+"\0\0\0\0"+j(a,2)+j(a,2)+j(b,4)+j(c,4)+j(h.length,2)+h},o=function(a){var b="";return b=i.DATA_DESCRIPTOR+j(a.crc32,4)+j(a.compressedSize,4)+j(a.uncompressedSize,4)};e.inherits(d,f),d.prototype.push=function(a){var b=a.meta.percent||0,c=this.entriesCount,d=this._sources.length;this.accumulate?this.contentBuffer.push(a):(this.bytesWritten+=a.data.length,f.prototype.push.call(this,{data:a.data,meta:{currentFile:this.currentFile,percent:c?(b+100*(c-d-1))/c:100}}))},d.prototype.openedSource=function(a){this.currentSourceOffset=this.bytesWritten,this.currentFile=a.file.name;var b=this.streamFiles&&!a.file.dir;if(b){var c=m(a,b,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:c.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(a){this.accumulate=!1;var b=this.streamFiles&&!a.file.dir,c=m(a,b,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(c.dirRecord),b)this.push({data:o(a),meta:{percent:100}});else for(this.push({data:c.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var a=this.bytesWritten,b=0;b<this.dirRecords.length;b++)this.push({data:this.dirRecords[b],meta:{percent:100}});var c=this.bytesWritten-a,d=n(this.dirRecords.length,c,a,this.zipComment,this.encodeFileName);this.push({data:d,meta:{percent:100}})},d.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},d.prototype.registerPrevious=function(a){this._sources.push(a);var b=this;return a.on("data",function(a){b.processChunk(a)}),a.on("end",function(){b.closedSource(b.previous.streamInfo),b._sources.length?b.prepareNextSource():b.end()}),a.on("error",function(a){b.error(a)}),this},d.prototype.resume=function(){return!!f.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},d.prototype.error=function(a){var b=this._sources;if(!f.prototype.error.call(this,a))return!1;for(var c=0;c<b.length;c++)try{b[c].error(a)}catch(a){}return!0},d.prototype.lock=function(){f.prototype.lock.call(this);for(var a=this._sources,b=0;b<a.length;b++)a[b].lock()},b.exports=d},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(a,b,c){"use strict";var d=a("../compressions"),e=a("./ZipFileWorker"),f=function(a,b){var c=a||b,e=d[c];if(!e)throw new Error(c+" is not a valid compression method !");return e};c.generateWorker=function(a,b,c){var d=new e(b.streamFiles,c,b.platform,b.encodeFileName),g=0;try{a.forEach(function(a,c){g++;var e=f(c.options.compression,b.compression),h=c.options.compressionOptions||b.compressionOptions||{},i=c.dir,j=c.date;c._compressWorker(e,h).withStreamInfo("file",{name:a,dir:i,date:j,comment:c.comment||"",unixPermissions:c.unixPermissions,dosPermissions:c.dosPermissions}).pipe(d)}),d.entriesCount=g}catch(h){d.error(h)}return d}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(a,b,c){"use strict";function d(){if(!(this instanceof d))return new d;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var a=new d;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a}}d.prototype=a("./object"),d.prototype.loadAsync=a("./load"),d.support=a("./support"),d.defaults=a("./defaults"),d.version="3.1.5",d.loadAsync=function(a,b){return(new d).loadAsync(a,b)},d.external=a("./external"),b.exports=d},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(a,b,c){"use strict";function d(a){return new f.Promise(function(b,c){var d=a.decompressed.getContentWorker().pipe(new i);d.on("error",function(a){c(a)}).on("end",function(){d.streamInfo.crc32!==a.decompressed.crc32?c(new Error("Corrupted zip : CRC32 mismatch")):b()}).resume()})}var e=a("./utils"),f=a("./external"),g=a("./utf8"),e=a("./utils"),h=a("./zipEntries"),i=a("./stream/Crc32Probe"),j=a("./nodejsUtils");b.exports=function(a,b){var c=this;return b=e.extend(b||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:g.utf8decode}),j.isNode&&j.isStream(a)?f.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):e.prepareContent("the loaded zip file",a,!0,b.optimizedBinaryString,b.base64).then(function(a){var c=new h(b);return c.load(a),c}).then(function(a){var c=[f.Promise.resolve(a)],e=a.files;if(b.checkCRC32)for(var g=0;g<e.length;g++)c.push(d(e[g]));return f.Promise.all(c)}).then(function(a){for(var d=a.shift(),e=d.files,f=0;f<e.length;f++){var g=e[f];c.file(g.fileNameStr,g.decompressed,{binary:!0,optimizedBinaryString:!0,date:g.date,dir:g.dir,comment:g.fileCommentStr.length?g.fileCommentStr:null,unixPermissions:g.unixPermissions,dosPermissions:g.dosPermissions,createFolders:b.createFolders})}return d.zipComment.length&&(c.comment=d.zipComment),c})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(a,b,c){"use strict";function d(a,b){f.call(this,"Nodejs stream input adapter for "+a),this._upstreamEnded=!1,this._bindStream(b)}var e=a("../utils"),f=a("../stream/GenericWorker");e.inherits(d,f),d.prototype._bindStream=function(a){var b=this;this._stream=a,a.pause(),a.on("data",function(a){b.push({data:a,meta:{percent:0}})}).on("error",function(a){b.isPaused?this.generatedError=a:b.error(a)}).on("end",function(){b.isPaused?b._upstreamEnded=!0:b.end()})},d.prototype.pause=function(){return!!f.prototype.pause.call(this)&&(this._stream.pause(),!0)},d.prototype.resume=function(){return!!f.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},b.exports=d},{"../stream/GenericWorker":28,"../utils":32}],13:[function(a,b,c){"use strict";function d(a,b,c){e.call(this,b),this._helper=a;var d=this;a.on("data",function(a,b){d.push(a)||d._helper.pause(),c&&c(b)}).on("error",function(a){d.emit("error",a)}).on("end",function(){d.push(null)})}var e=a("readable-stream").Readable,f=a("../utils");f.inherits(d,e),d.prototype._read=function(){this._helper.resume()},b.exports=d},{"../utils":32,"readable-stream":16}],14:[function(a,b,c){"use strict";b.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(a,b){return new Buffer(a,b)},allocBuffer:function(a){return Buffer.alloc?Buffer.alloc(a):new Buffer(a)},isBuffer:function(a){return Buffer.isBuffer(a)},isStream:function(a){return a&&"function"==typeof a.on&&"function"==typeof a.pause&&"function"==typeof a.resume}}},{}],15:[function(a,b,c){"use strict";function d(a){return"[object RegExp]"===Object.prototype.toString.call(a)}var e=a("./utf8"),f=a("./utils"),g=a("./stream/GenericWorker"),h=a("./stream/StreamHelper"),i=a("./defaults"),j=a("./compressedObject"),k=a("./zipObject"),l=a("./generate"),m=a("./nodejsUtils"),n=a("./nodejs/NodejsStreamInputAdapter"),o=function(a,b,c){var d,e=f.getTypeOf(b),h=f.extend(c||{},i);h.date=h.date||new Date,null!==h.compression&&(h.compression=h.compression.toUpperCase()),"string"==typeof h.unixPermissions&&(h.unixPermissions=parseInt(h.unixPermissions,8)),h.unixPermissions&&16384&h.unixPermissions&&(h.dir=!0),h.dosPermissions&&16&h.dosPermissions&&(h.dir=!0),h.dir&&(a=q(a)),h.createFolders&&(d=p(a))&&r.call(this,d,!0);var l="string"===e&&h.binary===!1&&h.base64===!1;c&&"undefined"!=typeof c.binary||(h.binary=!l);var o=b instanceof j&&0===b.uncompressedSize;(o||h.dir||!b||0===b.length)&&(h.base64=!1,h.binary=!0,b="",h.compression="STORE",e="string");var s=null;s=b instanceof j||b instanceof g?b:m.isNode&&m.isStream(b)?new n(a,b):f.prepareContent(a,b,h.binary,h.optimizedBinaryString,h.base64);var t=new k(a,s,h);this.files[a]=t},p=function(a){"/"===a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},q=function(a){return"/"!==a.slice(-1)&&(a+="/"),a},r=function(a,b){return b="undefined"!=typeof b?b:i.createFolders,a=q(a),this.files[a]||o.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},s={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(a){var b,c,d;for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],c=b.slice(this.root.length,b.length),c&&b.slice(0,this.root.length)===this.root&&a(c,d))},filter:function(a){var b=[];return this.forEach(function(c,d){a(c,d)&&b.push(d)}),b},file:function(a,b,c){if(1===arguments.length){if(d(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}var f=this.files[this.root+a];return f&&!f.dir?f:null}return a=this.root+a,o.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=r.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!==a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(a){var b,c={};try{if(c=f.extend(a||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:e.utf8encode}),c.type=c.type.toLowerCase(),c.compression=c.compression.toUpperCase(),"binarystring"===c.type&&(c.type="string"),!c.type)throw new Error("No output type specified.");f.checkSupport(c.type),"darwin"!==c.platform&&"freebsd"!==c.platform&&"linux"!==c.platform&&"sunos"!==c.platform||(c.platform="UNIX"),"win32"===c.platform&&(c.platform="DOS");var d=c.comment||this.comment||"";b=l.generateWorker(this,c,d)}catch(i){b=new g("error"),b.error(i)}return new h(b,c.type||"string",c.mimeType)},generateAsync:function(a,b){return this.generateInternalStream(a).accumulate(b)},generateNodeStream:function(a,b){return a=a||{},a.type||(a.type="nodebuffer"),this.generateInternalStream(a).toNodejsStream(b)}};b.exports=s},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(a,b,c){b.exports=a("stream")},{stream:void 0}],17:[function(a,b,c){"use strict";function d(a){e.call(this,a);for(var b=0;b<this.data.length;b++)a[b]=255&a[b]}var e=a("./DataReader"),f=a("../utils");f.inherits(d,e),d.prototype.byteAt=function(a){return this.data[this.zero+a]},d.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f-this.zero;return-1},d.prototype.readAndCheckSignature=function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.readData(4);return b===f[0]&&c===f[1]&&d===f[2]&&e===f[3]},d.prototype.readData=function(a){if(this.checkOffset(a),0===a)return[];var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{"../utils":32,"./DataReader":18}],18:[function(a,b,c){"use strict";function d(a){this.data=a,this.length=a.length,this.index=0,this.zero=0}var e=a("../utils");d.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<this.zero+a||a<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(a){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return e.transformTo("string",this.readData(a))},readData:function(a){},lastIndexOfSignature:function(a){},readAndCheckSignature:function(a){},readDate:function(){var a=this.readInt(4);return new Date(Date.UTC((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1))}},b.exports=d},{"../utils":32}],19:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("./Uint8ArrayReader"),f=a("../utils");f.inherits(d,e),d.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("./DataReader"),f=a("../utils");f.inherits(d,e),d.prototype.byteAt=function(a){return this.data.charCodeAt(this.zero+a)},d.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)-this.zero},d.prototype.readAndCheckSignature=function(a){var b=this.readData(4);return a===b},d.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{"../utils":32,"./DataReader":18}],21:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("./ArrayReader"),f=a("../utils");f.inherits(d,e),d.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{"../utils":32,"./ArrayReader":17}],22:[function(a,b,c){"use strict";var d=a("../utils"),e=a("../support"),f=a("./ArrayReader"),g=a("./StringReader"),h=a("./NodeBufferReader"),i=a("./Uint8ArrayReader");b.exports=function(a){var b=d.getTypeOf(a);return d.checkSupport(b),"string"!==b||e.uint8array?"nodebuffer"===b?new h(a):e.uint8array?new i(d.transformTo("uint8array",a)):new f(d.transformTo("array",a)):new g(a)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],24:[function(a,b,c){"use strict";function d(a){e.call(this,"ConvertWorker to "+a),this.destType=a}var e=a("./GenericWorker"),f=a("../utils");f.inherits(d,e),d.prototype.processChunk=function(a){this.push({data:f.transformTo(this.destType,a.data),meta:a.meta})},b.exports=d},{"../utils":32,"./GenericWorker":28}],25:[function(a,b,c){"use strict";function d(){e.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}var e=a("./GenericWorker"),f=a("../crc32"),g=a("../utils");g.inherits(d,e),d.prototype.processChunk=function(a){this.streamInfo.crc32=f(a.data,this.streamInfo.crc32||0),this.push(a)},b.exports=d},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(a,b,c){"use strict";function d(a){f.call(this,"DataLengthProbe for "+a),this.propName=a,this.withStreamInfo(a,0)}var e=a("../utils"),f=a("./GenericWorker");e.inherits(d,f),d.prototype.processChunk=function(a){if(a){var b=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=b+a.data.length}f.prototype.processChunk.call(this,a)},b.exports=d},{"../utils":32,"./GenericWorker":28}],27:[function(a,b,c){"use strict";function d(a){f.call(this,"DataWorker");var b=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,a.then(function(a){b.dataIsReady=!0,b.data=a,b.max=a&&a.length||0,b.type=e.getTypeOf(a),b.isPaused||b._tickAndRepeat()},function(a){b.error(a)})}var e=a("../utils"),f=a("./GenericWorker"),g=16384;e.inherits(d,f),d.prototype.cleanUp=function(){f.prototype.cleanUp.call(this),this.data=null},d.prototype.resume=function(){return!!f.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,e.delay(this._tickAndRepeat,[],this)),!0)},d.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(e.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},d.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var a=g,b=null,c=Math.min(this.max,this.index+a);if(this.index>=this.max)return this.end();switch(this.type){case"string":b=this.data.substring(this.index,c);break;case"uint8array":b=this.data.subarray(this.index,c);break;case"array":case"nodebuffer":b=this.data.slice(this.index,c)}return this.index=c,this.push({data:b,meta:{percent:this.max?this.index/this.max*100:0}})},b.exports=d},{"../utils":32,"./GenericWorker":28}],28:[function(a,b,c){"use strict";function d(a){this.name=a||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}d.prototype={push:function(a){this.emit("data",a)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(a){this.emit("error",a)}return!0},error:function(a){return!this.isFinished&&(this.isPaused?this.generatedError=a:(this.isFinished=!0,this.emit("error",a),this.previous&&this.previous.error(a),this.cleanUp()),!0)},on:function(a,b){return this._listeners[a].push(b),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(a,b){if(this._listeners[a])for(var c=0;c<this._listeners[a].length;c++)this._listeners[a][c].call(this,b)},pipe:function(a){return a.registerPrevious(this)},registerPrevious:function(a){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=a.streamInfo,this.mergeStreamInfo(),this.previous=a;var b=this;return a.on("data",function(a){b.processChunk(a)}),a.on("end",function(){b.end()}),a.on("error",function(a){b.error(a)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var a=!1;return this.generatedError&&(this.error(this.generatedError),a=!0),this.previous&&this.previous.resume(),!a},flush:function(){},processChunk:function(a){this.push(a)},withStreamInfo:function(a,b){return this.extraStreamInfo[a]=b,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var a in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(a)&&(this.streamInfo[a]=this.extraStreamInfo[a])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var a="Worker "+this.name;return this.previous?this.previous+" -> "+a:a}},b.exports=d},{}],29:[function(a,b,c){"use strict";function d(a,b,c){switch(a){case"blob":return h.newBlob(h.transformTo("arraybuffer",b),c);case"base64":return k.encode(b);default:return h.transformTo(a,b)}}function e(a,b){var c,d=0,e=null,f=0;for(c=0;c<b.length;c++)f+=b[c].length;switch(a){case"string":return b.join("");case"array":return Array.prototype.concat.apply([],b);case"uint8array":for(e=new Uint8Array(f),c=0;c<b.length;c++)e.set(b[c],d),d+=b[c].length;return e;case"nodebuffer":return Buffer.concat(b);default:throw new Error("concat : unsupported type '"+a+"'")}}function f(a,b){return new m.Promise(function(c,f){var g=[],h=a._internalType,i=a._outputType,j=a._mimeType;a.on("data",function(a,c){g.push(a),b&&b(c)}).on("error",function(a){g=[],f(a)}).on("end",function(){try{var a=d(i,e(h,g),j);c(a)}catch(b){f(b)}g=[]}).resume()})}function g(a,b,c){var d=b;switch(b){case"blob":case"arraybuffer":d="uint8array";break;case"base64":d="string"}try{this._internalType=d,this._outputType=b,this._mimeType=c,h.checkSupport(d),this._worker=a.pipe(new i(d)),a.lock()}catch(e){this._worker=new j("error"),this._worker.error(e)}}var h=a("../utils"),i=a("./ConvertWorker"),j=a("./GenericWorker"),k=a("../base64"),l=a("../support"),m=a("../external"),n=null;if(l.nodestream)try{n=a("../nodejs/NodejsStreamOutputAdapter")}catch(o){}g.prototype={accumulate:function(a){return f(this,a)},on:function(a,b){var c=this;return"data"===a?this._worker.on(a,function(a){b.call(c,a.data,a.meta)}):this._worker.on(a,function(){h.delay(b,arguments,c)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(a){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new n(this,{objectMode:"nodebuffer"!==this._outputType},a)}},b.exports=g},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(a,b,c){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof Buffer,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var d=new ArrayBuffer(0);try{c.blob=0===new Blob([d],{type:"application/zip"}).size}catch(e){try{var f=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,g=new f;g.append(d),c.blob=0===g.getBlob("application/zip").size}catch(e){c.blob=!1}}}try{c.nodestream=!!a("readable-stream").Readable}catch(e){c.nodestream=!1}},{"readable-stream":16}],31:[function(a,b,c){"use strict";function d(){i.call(this,"utf-8 decode"),this.leftOver=null}function e(){i.call(this,"utf-8 encode")}for(var f=a("./utils"),g=a("./support"),h=a("./nodejsUtils"),i=a("./stream/GenericWorker"),j=new Array(256),k=0;k<256;k++)j[k]=k>=252?6:k>=248?5:k>=240?4:k>=224?3:k>=192?2:1;j[254]=j[254]=1;var l=function(a){var b,c,d,e,f,h=a.length,i=0;for(e=0;e<h;e++)c=a.charCodeAt(e),55296===(64512&c)&&e+1<h&&(d=a.charCodeAt(e+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),e++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=g.uint8array?new Uint8Array(i):new Array(i),f=0,e=0;f<i;e++)c=a.charCodeAt(e),55296===(64512&c)&&e+1<h&&(d=a.charCodeAt(e+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),e++)),c<128?b[f++]=c:c<2048?(b[f++]=192|c>>>6,b[f++]=128|63&c):c<65536?(b[f++]=224|c>>>12,b[f++]=128|c>>>6&63,b[f++]=128|63&c):(b[f++]=240|c>>>18,b[f++]=128|c>>>12&63,b[f++]=128|c>>>6&63,b[f++]=128|63&c);return b},m=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+j[a[c]]>b?c:b},n=function(a){var b,c,d,e,g=a.length,h=new Array(2*g);for(c=0,b=0;b<g;)if(d=a[b++],d<128)h[c++]=d;else if(e=j[d],e>4)h[c++]=65533,b+=e-1;else{for(d&=2===e?31:3===e?15:7;e>1&&b<g;)d=d<<6|63&a[b++],e--;e>1?h[c++]=65533:d<65536?h[c++]=d:(d-=65536,h[c++]=55296|d>>10&1023,h[c++]=56320|1023&d)}return h.length!==c&&(h.subarray?h=h.subarray(0,c):h.length=c),f.applyFromCharCode(h)};c.utf8encode=function(a){return g.nodebuffer?h.newBufferFrom(a,"utf-8"):l(a)},c.utf8decode=function(a){return g.nodebuffer?f.transformTo("nodebuffer",a).toString("utf-8"):(a=f.transformTo(g.uint8array?"uint8array":"array",a),n(a))},f.inherits(d,i),d.prototype.processChunk=function(a){var b=f.transformTo(g.uint8array?"uint8array":"array",a.data);if(this.leftOver&&this.leftOver.length){if(g.uint8array){var d=b;b=new Uint8Array(d.length+this.leftOver.length),b.set(this.leftOver,0),b.set(d,this.leftOver.length)}else b=this.leftOver.concat(b);this.leftOver=null}var e=m(b),h=b;e!==b.length&&(g.uint8array?(h=b.subarray(0,e),this.leftOver=b.subarray(e,b.length)):(h=b.slice(0,e),this.leftOver=b.slice(e,b.length))),this.push({data:c.utf8decode(h),meta:a.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:c.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},c.Utf8DecodeWorker=d,f.inherits(e,i),e.prototype.processChunk=function(a){this.push({data:c.utf8encode(a.data),meta:a.meta})},c.Utf8EncodeWorker=e},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(a,b,c){"use strict";function d(a){var b=null;return b=i.uint8array?new Uint8Array(a.length):new Array(a.length),f(a,b)}function e(a){return a}function f(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function g(a){var b=65536,d=c.getTypeOf(a),e=!0;if("uint8array"===d?e=n.applyCanBeUsed.uint8array:"nodebuffer"===d&&(e=n.applyCanBeUsed.nodebuffer),e)for(;b>1;)try{return n.stringifyByChunk(a,d,b)}catch(f){b=Math.floor(b/2)}return n.stringifyByChar(a)}function h(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];
+return b}var i=a("./support"),j=a("./base64"),k=a("./nodejsUtils"),l=a("core-js/library/fn/set-immediate"),m=a("./external");c.newBlob=function(a,b){c.checkSupport("blob");try{return new Blob([a],{type:b})}catch(d){try{var e=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,f=new e;return f.append(a),f.getBlob(b)}catch(d){throw new Error("Bug : can't construct the Blob.")}}};var n={stringifyByChunk:function(a,b,c){var d=[],e=0,f=a.length;if(f<=c)return String.fromCharCode.apply(null,a);for(;e<f;)"array"===b||"nodebuffer"===b?d.push(String.fromCharCode.apply(null,a.slice(e,Math.min(e+c,f)))):d.push(String.fromCharCode.apply(null,a.subarray(e,Math.min(e+c,f)))),e+=c;return d.join("")},stringifyByChar:function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(a[c]);return b},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(a){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,k.allocBuffer(1)).length}catch(a){return!1}}()}};c.applyFromCharCode=g;var o={};o.string={string:e,array:function(a){return f(a,new Array(a.length))},arraybuffer:function(a){return o.string.uint8array(a).buffer},uint8array:function(a){return f(a,new Uint8Array(a.length))},nodebuffer:function(a){return f(a,k.allocBuffer(a.length))}},o.array={string:g,array:e,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return k.newBufferFrom(a)}},o.arraybuffer={string:function(a){return g(new Uint8Array(a))},array:function(a){return h(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:e,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return k.newBufferFrom(new Uint8Array(a))}},o.uint8array={string:g,array:function(a){return h(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:e,nodebuffer:function(a){return k.newBufferFrom(a)}},o.nodebuffer={string:g,array:function(a){return h(a,new Array(a.length))},arraybuffer:function(a){return o.nodebuffer.uint8array(a).buffer},uint8array:function(a){return h(a,new Uint8Array(a.length))},nodebuffer:e},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=o[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":i.nodebuffer&&k.isBuffer(a)?"nodebuffer":i.uint8array&&a instanceof Uint8Array?"uint8array":i.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=i[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this platform")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(b<16?"0":"")+b.toString(16).toUpperCase();return d},c.delay=function(a,b,c){l(function(){a.apply(c||null,b||[])})},c.inherits=function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c},c.extend=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},c.prepareContent=function(a,b,e,f,g){var h=m.Promise.resolve(b).then(function(a){var b=i.blob&&(a instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(a))!==-1);return b&&"undefined"!=typeof FileReader?new m.Promise(function(b,c){var d=new FileReader;d.onload=function(a){b(a.target.result)},d.onerror=function(a){c(a.target.error)},d.readAsArrayBuffer(a)}):a});return h.then(function(b){var h=c.getTypeOf(b);return h?("arraybuffer"===h?b=c.transformTo("uint8array",b):"string"===h&&(g?b=j.decode(b):e&&f!==!0&&(b=d(b))),b):m.Promise.reject(new Error("Can't read the data of '"+a+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"core-js/library/fn/set-immediate":36}],33:[function(a,b,c){"use strict";function d(a){this.files=[],this.loadOptions=a}var e=a("./reader/readerFor"),f=a("./utils"),g=a("./signature"),h=a("./zipEntry"),i=(a("./utf8"),a("./support"));d.prototype={checkSignature:function(a){if(!this.reader.readAndCheckSignature(a)){this.reader.index-=4;var b=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+f.pretty(b)+", expected "+f.pretty(a)+")")}},isSignature:function(a,b){var c=this.reader.index;this.reader.setIndex(a);var d=this.reader.readString(4),e=d===b;return this.reader.setIndex(c),e},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var a=this.reader.readData(this.zipCommentLength),b=i.uint8array?"uint8array":"array",c=f.transformTo(b,a);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;e<d;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readData(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(g.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8(),b.processAttributes()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(g.CENTRAL_FILE_HEADER);)a=new h({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(g.CENTRAL_DIRECTORY_END);if(a<0){var b=!this.isSignature(0,g.LOCAL_FILE_HEADER);throw b?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory")}this.reader.setIndex(a);var c=a;if(this.checkSignature(g.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===f.MAX_VALUE_16BITS||this.diskWithCentralDirStart===f.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===f.MAX_VALUE_16BITS||this.centralDirRecords===f.MAX_VALUE_16BITS||this.centralDirSize===f.MAX_VALUE_32BITS||this.centralDirOffset===f.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(g.ZIP64_CENTRAL_DIRECTORY_LOCATOR),a<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(a),this.checkSignature(g.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,g.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(g.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(g.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var d=this.centralDirOffset+this.centralDirSize;this.zip64&&(d+=20,d+=12+this.zip64EndOfCentralSize);var e=c-d;if(e>0)this.isSignature(c,g.CENTRAL_FILE_HEADER)||(this.reader.zero=e);else if(e<0)throw new Error("Corrupted zip: missing "+Math.abs(e)+" bytes.")},prepareReader:function(a){this.reader=e(a)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=d},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(a,b,c){"use strict";function d(a,b){this.options=a,this.loadOptions=b}var e=a("./reader/readerFor"),f=a("./utils"),g=a("./compressedObject"),h=a("./crc32"),i=a("./utf8"),j=a("./compressions"),k=a("./support"),l=0,m=3,n=function(a){for(var b in j)if(j.hasOwnProperty(b)&&j[b].magic===a)return j[b];return null};d.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readData(this.fileNameLength),a.skip(c),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(b=n(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+f.pretty(this.compressionMethod)+" unknown (inner file : "+f.transformTo("string",this.fileName)+")");this.decompressed=new g(this.compressedSize,this.uncompressedSize,this.crc32,b,a.readData(this.compressedSize))},readCentralPart:function(a){this.versionMadeBy=a.readInt(2),a.skip(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4);var b=a.readInt(2);if(this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");a.skip(b),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var a=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),a===l&&(this.dosPermissions=63&this.externalFileAttributes),a===m&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(a){if(this.extraFields[1]){var b=e(this.extraFields[1].value);this.uncompressedSize===f.MAX_VALUE_32BITS&&(this.uncompressedSize=b.readInt(8)),this.compressedSize===f.MAX_VALUE_32BITS&&(this.compressedSize=b.readInt(8)),this.localHeaderOffset===f.MAX_VALUE_32BITS&&(this.localHeaderOffset=b.readInt(8)),this.diskNumberStart===f.MAX_VALUE_32BITS&&(this.diskNumberStart=b.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});a.index<e;)b=a.readInt(2),c=a.readInt(2),d=a.readData(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){var a=k.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=i.utf8decode(this.fileName),this.fileCommentStr=i.utf8decode(this.fileComment);else{var b=this.findExtraFieldUnicodePath();if(null!==b)this.fileNameStr=b;else{var c=f.transformTo(a,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(c)}var d=this.findExtraFieldUnicodeComment();if(null!==d)this.fileCommentStr=d;else{var e=f.transformTo(a,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(e)}}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=e(a.value);return 1!==b.readInt(1)?null:h(this.fileName)!==b.readInt(4)?null:i.utf8decode(b.readData(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=e(a.value);return 1!==b.readInt(1)?null:h(this.fileComment)!==b.readInt(4)?null:i.utf8decode(b.readData(a.length-5))}return null}},b.exports=d},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(a,b,c){"use strict";var d=a("./stream/StreamHelper"),e=a("./stream/DataWorker"),f=a("./utf8"),g=a("./compressedObject"),h=a("./stream/GenericWorker"),i=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this.unixPermissions=c.unixPermissions,this.dosPermissions=c.dosPermissions,this._data=b,this._dataBinary=c.binary,this.options={compression:c.compression,compressionOptions:c.compressionOptions}};i.prototype={internalStream:function(a){var b=null,c="string";try{if(!a)throw new Error("No output type specified.");c=a.toLowerCase();var e="string"===c||"text"===c;"binarystring"!==c&&"text"!==c||(c="string"),b=this._decompressWorker();var g=!this._dataBinary;g&&!e&&(b=b.pipe(new f.Utf8EncodeWorker)),!g&&e&&(b=b.pipe(new f.Utf8DecodeWorker))}catch(i){b=new h("error"),b.error(i)}return new d(b,c,"")},async:function(a,b){return this.internalStream(a).accumulate(b)},nodeStream:function(a,b){return this.internalStream(a||"nodebuffer").toNodejsStream(b)},_compressWorker:function(a,b){if(this._data instanceof g&&this._data.compression.magic===a.magic)return this._data.getCompressedWorker();var c=this._decompressWorker();return this._dataBinary||(c=c.pipe(new f.Utf8EncodeWorker)),g.createWorkerFrom(c,a,b)},_decompressWorker:function(){return this._data instanceof g?this._data.getContentWorker():this._data instanceof h?this._data:new e(this._data)}};for(var j=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],k=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},l=0;l<j.length;l++)i.prototype[j[l]]=k;b.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(a,b,c){a("../modules/web.immediate"),b.exports=a("../modules/_core").setImmediate},{"../modules/_core":40,"../modules/web.immediate":56}],37:[function(a,b,c){b.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},{}],38:[function(a,b,c){var d=a("./_is-object");b.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},{"./_is-object":51}],39:[function(a,b,c){var d={}.toString;b.exports=function(a){return d.call(a).slice(8,-1)}},{}],40:[function(a,b,c){var d=b.exports={version:"2.3.0"};"number"==typeof __e&&(__e=d)},{}],41:[function(a,b,c){var d=a("./_a-function");b.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},{"./_a-function":37}],42:[function(a,b,c){b.exports=!a("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":45}],43:[function(a,b,c){var d=a("./_is-object"),e=a("./_global").document,f=d(e)&&d(e.createElement);b.exports=function(a){return f?e.createElement(a):{}}},{"./_global":46,"./_is-object":51}],44:[function(a,b,c){var d=a("./_global"),e=a("./_core"),f=a("./_ctx"),g=a("./_hide"),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];n&&(c=b);for(j in c)k=!m&&u&&void 0!==u[j],k&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,b.exports=i},{"./_core":40,"./_ctx":41,"./_global":46,"./_hide":47}],45:[function(a,b,c){b.exports=function(a){try{return!!a()}catch(b){return!0}}},{}],46:[function(a,b,c){var d=b.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=d)},{}],47:[function(a,b,c){var d=a("./_object-dp"),e=a("./_property-desc");b.exports=a("./_descriptors")?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},{"./_descriptors":42,"./_object-dp":52,"./_property-desc":53}],48:[function(a,b,c){b.exports=a("./_global").document&&document.documentElement},{"./_global":46}],49:[function(a,b,c){b.exports=!a("./_descriptors")&&!a("./_fails")(function(){return 7!=Object.defineProperty(a("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":42,"./_dom-create":43,"./_fails":45}],50:[function(a,b,c){b.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},{}],51:[function(a,b,c){b.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},{}],52:[function(a,b,c){var d=a("./_an-object"),e=a("./_ie8-dom-define"),f=a("./_to-primitive"),g=Object.defineProperty;c.f=a("./_descriptors")?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(h){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},{"./_an-object":38,"./_descriptors":42,"./_ie8-dom-define":49,"./_to-primitive":55}],53:[function(a,b,c){b.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},{}],54:[function(a,b,c){var d,e,f,g=a("./_ctx"),h=a("./_invoke"),i=a("./_html"),j=a("./_dom-create"),k=a("./_global"),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==a("./_cof")(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(e=new o,f=e.port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),b.exports={set:m,clear:n}},{"./_cof":39,"./_ctx":41,"./_dom-create":43,"./_global":46,"./_html":48,"./_invoke":50}],55:[function(a,b,c){var d=a("./_is-object");b.exports=function(a,b){if(!d(a))return a;var c,e;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;if("function"==typeof(c=a.valueOf)&&!d(e=c.call(a)))return e;if(!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},{"./_is-object":51}],56:[function(a,b,c){var d=a("./_export"),e=a("./_task");d(d.G+d.B,{setImmediate:e.set,clearImmediate:e.clear})},{"./_export":44,"./_task":54}],57:[function(a,b,c){(function(a){"use strict";function c(){k=!0;for(var a,b,c=l.length;c;){for(b=l,l=[],a=-1;++a<c;)b[a]();c=l.length}k=!1}function d(a){1!==l.push(a)||k||e()}var e,f=a.MutationObserver||a.WebKitMutationObserver;if(f){var g=0,h=new f(c),i=a.document.createTextNode("");h.observe(i,{characterData:!0}),e=function(){i.data=g=++g%2}}else if(a.setImmediate||"undefined"==typeof a.MessageChannel)e="document"in a&&"onreadystatechange"in a.document.createElement("script")?function(){var b=a.document.createElement("script");b.onreadystatechange=function(){c(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},a.document.documentElement.appendChild(b)}:function(){setTimeout(c,0)};else{var j=new a.MessageChannel;j.port1.onmessage=c,e=function(){j.port2.postMessage(0)}}var k,l=[];b.exports=d}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],58:[function(a,b,c){"use strict";function d(){}function e(a){if("function"!=typeof a)throw new TypeError("resolver must be a function");this.state=s,this.queue=[],this.outcome=void 0,a!==d&&i(this,a)}function f(a,b,c){this.promise=a,"function"==typeof b&&(this.onFulfilled=b,this.callFulfilled=this.otherCallFulfilled),"function"==typeof c&&(this.onRejected=c,this.callRejected=this.otherCallRejected)}function g(a,b,c){o(function(){var d;try{d=b(c)}catch(e){return p.reject(a,e)}d===a?p.reject(a,new TypeError("Cannot resolve promise with itself")):p.resolve(a,d)})}function h(a){var b=a&&a.then;if(a&&("object"==typeof a||"function"==typeof a)&&"function"==typeof b)return function(){b.apply(a,arguments)}}function i(a,b){function c(b){f||(f=!0,p.reject(a,b))}function d(b){f||(f=!0,p.resolve(a,b))}function e(){b(d,c)}var f=!1,g=j(e);"error"===g.status&&c(g.value)}function j(a,b){var c={};try{c.value=a(b),c.status="success"}catch(d){c.status="error",c.value=d}return c}function k(a){return a instanceof this?a:p.resolve(new this(d),a)}function l(a){var b=new this(d);return p.reject(b,a)}function m(a){function b(a,b){function d(a){g[b]=a,++h!==e||f||(f=!0,p.resolve(j,g))}c.resolve(a).then(d,function(a){f||(f=!0,p.reject(j,a))})}var c=this;if("[object Array]"!==Object.prototype.toString.call(a))return this.reject(new TypeError("must be an array"));var e=a.length,f=!1;if(!e)return this.resolve([]);for(var g=new Array(e),h=0,i=-1,j=new this(d);++i<e;)b(a[i],i);return j}function n(a){function b(a){c.resolve(a).then(function(a){f||(f=!0,p.resolve(h,a))},function(a){f||(f=!0,p.reject(h,a))})}var c=this;if("[object Array]"!==Object.prototype.toString.call(a))return this.reject(new TypeError("must be an array"));var e=a.length,f=!1;if(!e)return this.resolve([]);for(var g=-1,h=new this(d);++g<e;)b(a[g]);return h}var o=a("immediate"),p={},q=["REJECTED"],r=["FULFILLED"],s=["PENDING"];b.exports=e,e.prototype["catch"]=function(a){return this.then(null,a)},e.prototype.then=function(a,b){if("function"!=typeof a&&this.state===r||"function"!=typeof b&&this.state===q)return this;var c=new this.constructor(d);if(this.state!==s){var e=this.state===r?a:b;g(c,e,this.outcome)}else this.queue.push(new f(c,a,b));return c},f.prototype.callFulfilled=function(a){p.resolve(this.promise,a)},f.prototype.otherCallFulfilled=function(a){g(this.promise,this.onFulfilled,a)},f.prototype.callRejected=function(a){p.reject(this.promise,a)},f.prototype.otherCallRejected=function(a){g(this.promise,this.onRejected,a)},p.resolve=function(a,b){var c=j(h,b);if("error"===c.status)return p.reject(a,c.value);var d=c.value;if(d)i(a,d);else{a.state=r,a.outcome=b;for(var e=-1,f=a.queue.length;++e<f;)a.queue[e].callFulfilled(b)}return a},p.reject=function(a,b){a.state=q,a.outcome=b;for(var c=-1,d=a.queue.length;++c<d;)a.queue[c].callRejected(b);return a},e.resolve=k,e.reject=l,e.all=m,e.race=n},{immediate:57}],59:[function(a,b,c){"use strict";var d=a("./lib/utils/common").assign,e=a("./lib/deflate"),f=a("./lib/inflate"),g=a("./lib/zlib/constants"),h={};d(h,e,f,g),b.exports=h},{"./lib/deflate":60,"./lib/inflate":61,"./lib/utils/common":62,"./lib/zlib/constants":65}],60:[function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);this.options=i.assign({level:s,method:u,chunkSize:16384,windowBits:15,memLevel:8,strategy:t,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=h.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==p)throw new Error(k[c]);if(b.header&&h.deflateSetHeader(this.strm,b.header),b.dictionary){var e;if(e="string"==typeof b.dictionary?j.string2buf(b.dictionary):"[object ArrayBuffer]"===m.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,c=h.deflateSetDictionary(this.strm,e),c!==p)throw new Error(k[c]);this._dict_set=!0}}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg||k[c.err];return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}function g(a,b){return b=b||{},b.gzip=!0,e(a,b)}var h=a("./zlib/deflate"),i=a("./utils/common"),j=a("./utils/strings"),k=a("./zlib/messages"),l=a("./zlib/zstream"),m=Object.prototype.toString,n=0,o=4,p=0,q=1,r=2,s=-1,t=0,u=8;d.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?o:n,"string"==typeof a?e.input=j.string2buf(a):"[object ArrayBuffer]"===m.call(a)?e.input=new Uint8Array(a):e.input=a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new i.Buf8(f),e.next_out=0,e.avail_out=f),c=h.deflate(e,d),c!==q&&c!==p)return this.onEnd(c),this.ended=!0,!1;0!==e.avail_out&&(0!==e.avail_in||d!==o&&d!==r)||("string"===this.options.to?this.onData(j.buf2binstring(i.shrinkBuf(e.output,e.next_out))):this.onData(i.shrinkBuf(e.output,e.next_out)))}while((e.avail_in>0||0===e.avail_out)&&c!==q);return d===o?(c=h.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===p):d!==r||(this.onEnd(p),e.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===p&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=d,c.deflate=e,c.deflateRaw=f,c.gzip=g},{"./utils/common":62,"./utils/strings":63,"./zlib/deflate":67,"./zlib/messages":72,"./zlib/zstream":74}],61:[function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);this.options=h.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=g.inflateInit2(this.strm,b.windowBits);if(c!==j.Z_OK)throw new Error(k[c]);this.header=new m,g.inflateGetHeader(this.strm,this.header)}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg||k[c.err];return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}var g=a("./zlib/inflate"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/constants"),k=a("./zlib/messages"),l=a("./zlib/zstream"),m=a("./zlib/gzheader"),n=Object.prototype.toString;d.prototype.push=function(a,b){var c,d,e,f,k,l,m=this.strm,o=this.options.chunkSize,p=this.options.dictionary,q=!1;if(this.ended)return!1;d=b===~~b?b:b===!0?j.Z_FINISH:j.Z_NO_FLUSH,"string"==typeof a?m.input=i.binstring2buf(a):"[object ArrayBuffer]"===n.call(a)?m.input=new Uint8Array(a):m.input=a,m.next_in=0,m.avail_in=m.input.length;do{if(0===m.avail_out&&(m.output=new h.Buf8(o),m.next_out=0,m.avail_out=o),c=g.inflate(m,j.Z_NO_FLUSH),c===j.Z_NEED_DICT&&p&&(l="string"==typeof p?i.string2buf(p):"[object ArrayBuffer]"===n.call(p)?new Uint8Array(p):p,c=g.inflateSetDictionary(this.strm,l)),c===j.Z_BUF_ERROR&&q===!0&&(c=j.Z_OK,q=!1),c!==j.Z_STREAM_END&&c!==j.Z_OK)return this.onEnd(c),this.ended=!0,!1;m.next_out&&(0!==m.avail_out&&c!==j.Z_STREAM_END&&(0!==m.avail_in||d!==j.Z_FINISH&&d!==j.Z_SYNC_FLUSH)||("string"===this.options.to?(e=i.utf8border(m.output,m.next_out),f=m.next_out-e,k=i.buf2string(m.output,e),m.next_out=f,m.avail_out=o-f,f&&h.arraySet(m.output,m.output,e,f,0),this.onData(k)):this.onData(h.shrinkBuf(m.output,m.next_out)))),0===m.avail_in&&0===m.avail_out&&(q=!0)}while((m.avail_in>0||0===m.avail_out)&&c!==j.Z_STREAM_END);return c===j.Z_STREAM_END&&(d=j.Z_FINISH),d===j.Z_FINISH?(c=g.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===j.Z_OK):d!==j.Z_SYNC_FLUSH||(this.onEnd(j.Z_OK),m.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===j.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=d,c.inflate=e,c.inflateRaw=f,c.ungzip=e},{"./utils/common":62,"./utils/strings":63,"./zlib/constants":65,"./zlib/gzheader":68,"./zlib/inflate":70,"./zlib/messages":72,"./zlib/zstream":74}],62:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;b<c;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;b<c;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],63:[function(a,b,c){"use strict";function d(a,b){if(b<65537&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;d<b;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;j<256;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=new e.Buf8(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;c<d;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;c<h;)if(f=a[c++],f<128)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&c<h;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:f<65536?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":62}],64:[function(a,b,c){"use strict";function d(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0;
+}b.exports=d},{}],65:[function(a,b,c){"use strict";b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],66:[function(a,b,c){"use strict";function d(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function e(a,b,c,d){var e=f,g=d+c;a^=-1;for(var h=d;h<g;h++)a=a>>>8^e[255&(a^b[h])];return a^-1}var f=d();b.exports=e},{}],67:[function(a,b,c){"use strict";function d(a,b){return a.msg=I[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(E.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){F._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,E.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=G(a.adler,b,e,c):2===a.state.wrap&&(a.adler=H(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-la?a.strstart-(a.w_size-la):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ka,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&f<m);if(d=ka-(m-f),f=m-ka,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-la)){E.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=ja)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+ja-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<ja)););}while(a.lookahead<la&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===J)return ua;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return ua;if(a.strstart-a.block_start>=a.w_size-la&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?ua:ua}function o(a,b){for(var c,d;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c)),a.match_length>=ja)if(d=F._tr_tally(a,a.strstart-a.match_start,a.match_length-ja),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=ja){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function p(a,b){for(var c,d,e;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=ja-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===U||a.match_length===ja&&a.strstart-a.match_start>4096)&&(a.match_length=ja-1)),a.prev_length>=ja&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-ja,d=F._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-ja),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=ja-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return ua}else if(a.match_available){if(d=F._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return ua}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=F._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ka){if(m(a),a.lookahead<=ka&&b===J)return ua;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=ja&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ka;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&e<f);a.match_length=ka-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=ja?(c=F._tr_tally(a,1,a.match_length-ja),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===J)return ua;break}if(a.match_length=0,c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function s(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function t(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=D[a.level].max_lazy,a.good_match=D[a.level].good_length,a.nice_match=D[a.level].nice_length,a.max_chain_length=D[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=ja-1,a.match_available=0,a.ins_h=0}function u(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new E.Buf16(2*ha),this.dyn_dtree=new E.Buf16(2*(2*fa+1)),this.bl_tree=new E.Buf16(2*(2*ga+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new E.Buf16(ia+1),this.heap=new E.Buf16(2*ea+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new E.Buf16(2*ea+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=Z,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?na:sa,a.adler=2===b.wrap?0:1,b.last_flush=J,F._tr_init(b),O):d(a,Q)}function w(a){var b=v(a);return b===O&&t(a.state),b}function x(a,b){return a&&a.state?2!==a.state.wrap?Q:(a.state.gzhead=b,O):Q}function y(a,b,c,e,f,g){if(!a)return Q;var h=1;if(b===T&&(b=6),e<0?(h=0,e=-e):e>15&&(h=2,e-=16),f<1||f>_||c!==$||e<8||e>15||b<0||b>9||g<0||g>X)return d(a,Q);8===e&&(e=9);var i=new u;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+ja-1)/ja),i.window=new E.Buf8(2*i.w_size),i.head=new E.Buf16(i.hash_size),i.prev=new E.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new E.Buf8(i.pending_buf_size),i.d_buf=1*i.lit_bufsize,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,w(a)}function z(a,b){return y(a,b,$,aa,ba,Y)}function A(a,b){var c,h,k,l;if(!a||!a.state||b>N||b<0)return a?d(a,Q):Q;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===ta&&b!==M)return d(a,0===a.avail_out?S:Q);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===na)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=H(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=oa):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,ya),h.status=sa);else{var m=$+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=V||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=ma),m+=31-m%31,h.status=sa,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===oa)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=pa)}else h.status=pa;if(h.status===pa)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=qa)}else h.status=qa;if(h.status===qa)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=ra)}else h.status=ra;if(h.status===ra&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=sa)):h.status=sa),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,O}else if(0===a.avail_in&&e(b)<=e(c)&&b!==M)return d(a,S);if(h.status===ta&&0!==a.avail_in)return d(a,S);if(0!==a.avail_in||0!==h.lookahead||b!==J&&h.status!==ta){var o=h.strategy===V?r(h,b):h.strategy===W?q(h,b):D[h.level].func(h,b);if(o!==wa&&o!==xa||(h.status=ta),o===ua||o===wa)return 0===a.avail_out&&(h.last_flush=-1),O;if(o===va&&(b===K?F._tr_align(h):b!==N&&(F._tr_stored_block(h,0,0,!1),b===L&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,O}return b!==M?O:h.wrap<=0?P:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?O:P)}function B(a){var b;return a&&a.state?(b=a.state.status,b!==na&&b!==oa&&b!==pa&&b!==qa&&b!==ra&&b!==sa&&b!==ta?d(a,Q):(a.state=null,b===sa?d(a,R):O)):Q}function C(a,b){var c,d,e,g,h,i,j,k,l=b.length;if(!a||!a.state)return Q;if(c=a.state,g=c.wrap,2===g||1===g&&c.status!==na||c.lookahead)return Q;for(1===g&&(a.adler=G(a.adler,b,l,0)),c.wrap=0,l>=c.w_size&&(0===g&&(f(c.head),c.strstart=0,c.block_start=0,c.insert=0),k=new E.Buf8(c.w_size),E.arraySet(k,b,l-c.w_size,c.w_size,0),b=k,l=c.w_size),h=a.avail_in,i=a.next_in,j=a.input,a.avail_in=l,a.next_in=0,a.input=b,m(c);c.lookahead>=ja;){d=c.strstart,e=c.lookahead-(ja-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[d+ja-1])&c.hash_mask,c.prev[d&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=d,d++;while(--e);c.strstart=d,c.lookahead=ja-1,m(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=ja-1,c.match_available=0,a.next_in=i,a.input=j,a.avail_in=h,c.wrap=g,O}var D,E=a("../utils/common"),F=a("./trees"),G=a("./adler32"),H=a("./crc32"),I=a("./messages"),J=0,K=1,L=3,M=4,N=5,O=0,P=1,Q=-2,R=-3,S=-5,T=-1,U=1,V=2,W=3,X=4,Y=0,Z=2,$=8,_=9,aa=15,ba=8,ca=29,da=256,ea=da+1+ca,fa=30,ga=19,ha=2*ea+1,ia=15,ja=3,ka=258,la=ka+ja+1,ma=32,na=42,oa=69,pa=73,qa=91,ra=103,sa=113,ta=666,ua=1,va=2,wa=3,xa=4,ya=3;D=[new s(0,0,0,0,n),new s(4,4,8,4,o),new s(4,5,16,8,o),new s(4,6,32,32,o),new s(4,4,16,16,p),new s(8,16,32,32,p),new s(8,16,128,128,p),new s(8,32,128,256,p),new s(32,128,258,1024,p),new s(32,258,258,4096,p)],c.deflateInit=z,c.deflateInit2=y,c.deflateReset=w,c.deflateResetKeep=v,c.deflateSetHeader=x,c.deflate=A,c.deflateEnd=B,c.deflateSetDictionary=C,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":62,"./adler32":64,"./crc32":66,"./messages":72,"./trees":73}],68:[function(a,b,c){"use strict";function d(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=d},{}],69:[function(a,b,c){"use strict";var d=30,e=12;b.exports=function(a,b){var c,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;c=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=c.dmax,l=c.wsize,m=c.whave,n=c.wnext,o=c.window,p=c.hold,q=c.bits,r=c.lencode,s=c.distcode,t=(1<<c.lenbits)-1,u=(1<<c.distbits)-1;a:do{q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){c.mode=e;break a}a.msg="invalid literal/length code",c.mode=d;break a}x=65535&v,w&=15,w&&(q<w&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",c.mode=d;break a}if(y=65535&v,w&=15,q<w&&(p+=B[f++]<<q,q+=8,q<w&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",c.mode=d;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&c.sane){a.msg="invalid distance too far back",c.mode=d;break a}if(z=0,A=o,0===n){if(z+=l-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(n<w){if(z+=l+n-w,w-=n,w<x){x-=w;do C[h++]=o[z++];while(--w);if(z=0,n<x){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(f<g&&h<j);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=f<g?5+(g-f):5-(f-g),a.avail_out=h<j?257+(j-h):257-(h-j),c.hold=p,c.bits=q}},{}],70:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=L,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new s.Buf32(pa),b.distcode=b.distdyn=new s.Buf32(qa),b.sane=1,b.back=-1,D):G}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):G}function h(a,b){var c,d;return a&&a.state?(d=a.state,b<0?(c=0,b=-b):(c=(b>>4)+1,b<48&&(b&=15)),b&&(b<8||b>15)?G:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):G}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==D&&(a.state=null),c):G}function j(a){return i(a,sa)}function k(a){if(ta){var b;for(q=new s.Buf32(512),r=new s.Buf32(32),b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(w(y,a.lens,0,288,q,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;w(z,a.lens,0,32,r,0,a.work,{bits:5}),ta=!1}a.lencode=q,a.lenbits=9,a.distcode=r,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new s.Buf8(f.wsize)),d>=f.wsize?(s.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),s.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(s.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,r,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=0,Ba=new s.Buf8(4),Ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return G;c=a.state,c.mode===W&&(c.mode=X),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xa=D;a:for(;;)switch(c.mode){case L:if(0===c.wrap){c.mode=X;break}for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0),m=0,n=0,c.mode=M;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=ma;break}if((15&m)!==K){a.msg="unknown compression method",c.mode=ma;break}if(m>>>=4,n-=4,wa=(15&m)+8,0===c.wbits)c.wbits=wa;else if(wa>c.wbits){a.msg="invalid window size",c.mode=ma;break}c.dmax=1<<wa,a.adler=c.check=1,c.mode=512&m?U:W,m=0,n=0;break;case M:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==K){a.msg="unknown compression method",c.mode=ma;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=ma;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=N;case N:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,Ba[2]=m>>>16&255,Ba[3]=m>>>24&255,c.check=u(c.check,Ba,4,0)),m=0,n=0,c.mode=O;case O:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=P;case P:if(1024&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=Q;case Q:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),s.arraySet(c.head.extra,e,g,q,wa)),512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=R;case R:if(2048&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.name+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=S;case S:if(4096&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.comment+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.comment=null);c.mode=T;case T:if(512&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=ma;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=W;break;case U:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=V;case V:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,F;a.adler=c.check=1,c.mode=W;case W:if(b===B||b===C)break a;case X:if(c.last){m>>>=7&n,n-=7&n,c.mode=ja;break}for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=Y;break;case 1:if(k(c),c.mode=ca,b===C){m>>>=2,n-=2;break a}break;case 2:c.mode=_;break;case 3:a.msg="invalid block type",c.mode=ma}m>>>=2,n-=2;break;case Y:for(m>>>=7&n,n-=7&n;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=ma;break}if(c.length=65535&m,m=0,n=0,c.mode=Z,b===C)break a;case Z:c.mode=$;case $:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;s.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=W;break;case _:for(;n<14;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=ma;break}c.have=0,c.mode=aa;case aa:for(;c.have<c.ncode;){for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Ca[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ya={bits:c.lenbits},xa=w(x,c.lens,0,19,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg="invalid code lengths set",c.mode=ma;break}c.have=0,c.mode=ba;case ba:for(;c.have<c.nlen+c.ndist;){for(;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(sa<16)m>>>=qa,n-=qa,c.lens[c.have++]=sa;else{if(16===sa){for(za=qa+2;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qa,n-=qa,0===c.have){a.msg="invalid bit length repeat",c.mode=ma;break}wa=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sa){for(za=qa+3;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=3+(7&m),m>>>=3,n-=3}else{for(za=qa+7;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=ma;break}for(;q--;)c.lens[c.have++]=wa}}if(c.mode===ma)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=ma;break}if(c.lenbits=9,ya={bits:c.lenbits},xa=w(y,c.lens,0,c.nlen,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg="invalid literal/lengths set",c.mode=ma;break}if(c.distbits=6,c.distcode=c.distdyn,ya={bits:c.distbits},xa=w(z,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ya),c.distbits=ya.bits,xa){a.msg="invalid distances set",c.mode=ma;break}if(c.mode=ca,b===C)break a;case ca:c.mode=da;case da:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,v(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===W&&(c.back=-1);break}for(c.back=0;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(ra&&0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.lencode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,c.length=sa,0===ra){c.mode=ia;break}if(32&ra){c.back=-1,c.mode=W;break}if(64&ra){a.msg="invalid literal/length code",c.mode=ma;break}c.extra=15&ra,c.mode=ea;case ea:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=fa;case fa:for(;Aa=c.distcode[m&(1<<c.distbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.distcode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,64&ra){a.msg="invalid distance code",c.mode=ma;break}c.offset=sa,c.extra=15&ra,c.mode=ga;case ga:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=ma;break}c.mode=ha;case ha:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=ma;break}q>c.wnext?(q-=c.wnext,r=c.wsize-q):r=c.wnext-q,q>c.length&&(q=c.length),pa=c.window}else pa=f,r=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pa[r++];while(--q);0===c.length&&(c.mode=da);break;case ia:if(0===j)break a;f[h++]=c.length,j--,c.mode=da;break;case ja:if(c.wrap){for(;n<32;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?u(c.check,f,p,h-p):t(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=ma;break}m=0,n=0}c.mode=ka;case ka:if(c.wrap&&c.flags){for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=ma;break}m=0,n=0}c.mode=la;case la:xa=E;break a;case ma:xa=H;break a;case na:return I;case oa:default:return G}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<ma&&(c.mode<ja||b!==A))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=na,I):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?u(c.check,f,p,a.next_out-p):t(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===W?128:0)+(c.mode===ca||c.mode===Z?256:0),(0===o&&0===p||b===A)&&xa===D&&(xa=J),xa)}function n(a){if(!a||!a.state)return G;var b=a.state;return b.window&&(b.window=null),a.state=null,D}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?G:(c.head=b,b.done=!1,D)):G}function p(a,b){var c,d,e,f=b.length;return a&&a.state?(c=a.state,0!==c.wrap&&c.mode!==V?G:c.mode===V&&(d=1,d=t(d,b,f,0),d!==c.check)?H:(e=l(a,b,f,f))?(c.mode=na,I):(c.havedict=1,D)):G}var q,r,s=a("../utils/common"),t=a("./adler32"),u=a("./crc32"),v=a("./inffast"),w=a("./inftrees"),x=0,y=1,z=2,A=4,B=5,C=6,D=0,E=1,F=2,G=-2,H=-3,I=-4,J=-5,K=8,L=1,M=2,N=3,O=4,P=5,Q=6,R=7,S=8,T=9,U=10,V=11,W=12,X=13,Y=14,Z=15,$=16,_=17,aa=18,ba=19,ca=20,da=21,ea=22,fa=23,ga=24,ha=25,ia=26,ja=27,ka=28,la=29,ma=30,na=31,oa=32,pa=852,qa=592,ra=15,sa=ra,ta=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateSetDictionary=p,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":62,"./adler32":64,"./crc32":66,"./inffast":69,"./inftrees":71}],71:[function(a,b,c){"use strict";var d=a("../utils/common"),e=15,f=852,g=592,h=0,i=1,j=2,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],n=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,c,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new d.Buf16(e+1),Q=new d.Buf16(e+1),R=null,S=0;for(D=0;D<=e;D++)P[D]=0;for(E=0;E<o;E++)P[b[c+E]]++;for(H=C,G=e;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;F<G&&0===P[F];F++);for(H<F&&(H=F),K=1,D=1;D<=e;D++)if(K<<=1,K-=P[D],K<0)return-1;if(K>0&&(a===h||1!==G))return-1;for(Q[1]=0,D=1;D<e;D++)Q[D+1]=Q[D]+P[D];for(E=0;E<o;E++)0!==b[c+E]&&(r[Q[b[c+E]]++]=E);if(a===h?(N=R=r,y=19):a===i?(N=k,O-=257,R=l,S-=257,y=256):(N=m,R=n,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===i&&L>f||a===j&&L>g)return 1;for(;;){z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[c+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;I+J<G&&(K-=P[I+J],!(K<=0));)I++,K<<=1;if(L+=1<<I,a===i&&L>f||a===j&&L>g)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":62}],72:[function(a,b,c){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],73:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function f(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function g(a){return a<256?ia[a]:ia[256+(a>>>7)]}function h(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function i(a,b,c){a.bi_valid>X-c?(a.bi_buf|=b<<a.bi_valid&65535,h(a,a.bi_buf),a.bi_buf=b>>X-a.bi_valid,a.bi_valid+=c-X):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function j(a,b,c){i(a,c[2*b],c[2*b+1])}function k(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function l(a){16===a.bi_valid?(h(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function m(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;f<=W;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,
+c=a.heap_max+1;c<V;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function n(a,b,c){var d,e,f=new Array(W+1),g=0;for(d=1;d<=W;d++)f[d]=g=g+c[d-1]<<1;for(e=0;e<=b;e++){var h=a[2*e+1];0!==h&&(a[2*e]=k(f[h]++,h))}}function o(){var a,b,c,d,f,g=new Array(W+1);for(c=0,d=0;d<Q-1;d++)for(ka[d]=c,a=0;a<1<<ba[d];a++)ja[c++]=d;for(ja[c-1]=d,f=0,d=0;d<16;d++)for(la[d]=f,a=0;a<1<<ca[d];a++)ia[f++]=d;for(f>>=7;d<T;d++)for(la[d]=f<<7,a=0;a<1<<ca[d]-7;a++)ia[256+f++]=d;for(b=0;b<=W;b++)g[b]=0;for(a=0;a<=143;)ga[2*a+1]=8,a++,g[8]++;for(;a<=255;)ga[2*a+1]=9,a++,g[9]++;for(;a<=279;)ga[2*a+1]=7,a++,g[7]++;for(;a<=287;)ga[2*a+1]=8,a++,g[8]++;for(n(ga,S+1,g),a=0;a<T;a++)ha[2*a+1]=5,ha[2*a]=k(a,5);ma=new e(ga,ba,R+1,S,W),na=new e(ha,ca,0,T,W),oa=new e(new Array(0),da,0,U,Y)}function p(a){var b;for(b=0;b<S;b++)a.dyn_ltree[2*b]=0;for(b=0;b<T;b++)a.dyn_dtree[2*b]=0;for(b=0;b<U;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*Z]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function q(a){a.bi_valid>8?h(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function r(a,b,c,d){q(a),d&&(h(a,c),h(a,~c)),G.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function s(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function t(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&s(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!s(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function u(a,b,c){var d,e,f,h,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],e=a.pending_buf[a.l_buf+k],k++,0===d?j(a,e,b):(f=ja[e],j(a,f+R+1,b),h=ba[f],0!==h&&(e-=ka[f],i(a,e,h)),d--,f=g(d),j(a,f,c),h=ca[f],0!==h&&(d-=la[f],i(a,d,h)));while(k<a.last_lit);j(a,Z,b)}function v(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=V,c=0;c<i;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=j<2?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)t(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],t(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,t(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],m(a,b),n(f,j,a.bl_count)}function w(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(h<j?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*$]++):h<=10?a.bl_tree[2*_]++:a.bl_tree[2*aa]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function x(a,b,c){var d,e,f=-1,g=b[1],h=0,k=7,l=4;for(0===g&&(k=138,l=3),d=0;d<=c;d++)if(e=g,g=b[2*(d+1)+1],!(++h<k&&e===g)){if(h<l){do j(a,e,a.bl_tree);while(0!==--h)}else 0!==e?(e!==f&&(j(a,e,a.bl_tree),h--),j(a,$,a.bl_tree),i(a,h-3,2)):h<=10?(j(a,_,a.bl_tree),i(a,h-3,3)):(j(a,aa,a.bl_tree),i(a,h-11,7));h=0,f=e,0===g?(k=138,l=3):e===g?(k=6,l=3):(k=7,l=4)}}function y(a){var b;for(w(a,a.dyn_ltree,a.l_desc.max_code),w(a,a.dyn_dtree,a.d_desc.max_code),v(a,a.bl_desc),b=U-1;b>=3&&0===a.bl_tree[2*ea[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function z(a,b,c,d){var e;for(i(a,b-257,5),i(a,c-1,5),i(a,d-4,4),e=0;e<d;e++)i(a,a.bl_tree[2*ea[e]+1],3);x(a,a.dyn_ltree,b-1),x(a,a.dyn_dtree,c-1)}function A(a){var b,c=4093624447;for(b=0;b<=31;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return I;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return J;for(b=32;b<R;b++)if(0!==a.dyn_ltree[2*b])return J;return I}function B(a){pa||(o(),pa=!0),a.l_desc=new f(a.dyn_ltree,ma),a.d_desc=new f(a.dyn_dtree,na),a.bl_desc=new f(a.bl_tree,oa),a.bi_buf=0,a.bi_valid=0,p(a)}function C(a,b,c,d){i(a,(L<<1)+(d?1:0),3),r(a,b,c,!0)}function D(a){i(a,M<<1,3),j(a,Z,ga),l(a)}function E(a,b,c,d){var e,f,g=0;a.level>0?(a.strm.data_type===K&&(a.strm.data_type=A(a)),v(a,a.l_desc),v(a,a.d_desc),g=y(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,f<=e&&(e=f)):e=f=c+5,c+4<=e&&b!==-1?C(a,b,c,d):a.strategy===H||f===e?(i(a,(M<<1)+(d?1:0),3),u(a,ga,ha)):(i(a,(N<<1)+(d?1:0),3),z(a,a.l_desc.max_code+1,a.d_desc.max_code+1,g+1),u(a,a.dyn_ltree,a.dyn_dtree)),p(a),d&&q(a)}function F(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(ja[c]+R+1)]++,a.dyn_dtree[2*g(b)]++),a.last_lit===a.lit_bufsize-1}var G=a("../utils/common"),H=4,I=0,J=1,K=2,L=0,M=1,N=2,O=3,P=258,Q=29,R=256,S=R+1+Q,T=30,U=19,V=2*S+1,W=15,X=16,Y=7,Z=256,$=16,_=17,aa=18,ba=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ca=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],da=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ea=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fa=512,ga=new Array(2*(S+2));d(ga);var ha=new Array(2*T);d(ha);var ia=new Array(fa);d(ia);var ja=new Array(P-O+1);d(ja);var ka=new Array(Q);d(ka);var la=new Array(T);d(la);var ma,na,oa,pa=!1;c._tr_init=B,c._tr_stored_block=C,c._tr_flush_block=E,c._tr_tally=F,c._tr_align=D},{"../utils/common":62}],74:[function(a,b,c){"use strict";function d(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=d},{}]},{},[10])(10)}); \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/lib/keycodes.js b/testing/web-platform/tests/tools/wave/www/lib/keycodes.js
new file mode 100644
index 0000000000..2d01b035ab
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/keycodes.js
@@ -0,0 +1,88 @@
+if (typeof KeyEvent != "undefined") {
+ if (typeof KeyEvent.VK_LEFT != "undefined") {
+ var VK_LEFT = KeyEvent.VK_LEFT;
+ var VK_UP = KeyEvent.VK_UP;
+ var VK_RIGHT = KeyEvent.VK_RIGHT;
+ var VK_DOWN = KeyEvent.VK_DOWN;
+ }
+ if (typeof KeyEvent.VK_ENTER != "undefined") {
+ var VK_ENTER = KeyEvent.VK_ENTER;
+ }
+ if (typeof KeyEvent.VK_RED != "undefined") {
+ var VK_RED = KeyEvent.VK_RED;
+ var VK_GREEN = KeyEvent.VK_GREEN;
+ var VK_YELLOW = KeyEvent.VK_YELLOW;
+ var VK_BLUE = KeyEvent.VK_BLUE;
+ }
+ if (typeof KeyEvent.VK_PLAY != "undefined") {
+ var VK_PLAY = KeyEvent.VK_PLAY;
+ var VK_PAUSE = KeyEvent.VK_PAUSE;
+ var VK_STOP = KeyEvent.VK_STOP;
+ }
+ if (typeof KeyEvent.VK_BACK != "undefined") {
+ var VK_BACK = KeyEvent.VK_BACK;
+ }
+ if (typeof KeyEvent.VK_0 != "undefined") {
+ var VK_0 = KeyEvent.VK_0;
+ var VK_1 = KeyEvent.VK_1;
+ var VK_2 = KeyEvent.VK_2;
+ var VK_3 = KeyEvent.VK_3;
+ var VK_4 = KeyEvent.VK_4;
+ var VK_5 = KeyEvent.VK_5;
+ var VK_6 = KeyEvent.VK_6;
+ var VK_7 = KeyEvent.VK_7;
+ var VK_8 = KeyEvent.VK_8;
+ var VK_9 = KeyEvent.VK_9;
+ }
+}
+if (typeof VK_LEFT == "undefined") {
+ var VK_LEFT = 132;
+ var VK_UP = 130;
+ var VK_RIGHT = 133;
+ var VK_DOWN = 131;
+}
+if (typeof VK_ENTER == "undefined") {
+ var VK_ENTER = 13;
+}
+if (typeof VK_RED == "undefined") {
+ var VK_RED = 403;
+ var VK_GREEN = 404;
+ var VK_YELLOW = 502;
+ var VK_BLUE = 406;
+}
+if (typeof VK_PLAY == "undefined") {
+ var VK_PLAY = 19;
+ var VK_PAUSE = 19;
+ var VK_STOP = 413;
+}
+if (typeof VK_BACK == "undefined") {
+ var VK_BACK = 0xa6;
+}
+if (typeof VK_0 == "undefined") {
+ var VK_0 = 48;
+ var VK_1 = 49;
+ var VK_2 = 50;
+ var VK_3 = 51;
+ var VK_4 = 52;
+ var VK_5 = 53;
+ var VK_6 = 54;
+ var VK_7 = 55;
+ var VK_8 = 56;
+ var VK_9 = 57;
+}
+
+var NEXT_KEYS = [39, 133, 131];
+var PREV_KEYS = [37, 132, 130];
+var ACTION_KEYS = [13, 32];
+
+if (typeof KeyEvent != "undefined") {
+ if (typeof KeyEvent.VK_LEFT != "undefined") {
+ PREV_KEYS.push(KeyEvent.VK_LEFT);
+ PREV_KEYS.push(KeyEvent.VK_UP);
+ NEXT_KEYS.push(KeyEvent.VK_RIGHT);
+ NEXT_KEYS.push(KeyEvent.VK_DOWN);
+ }
+ if (typeof KeyEvent.VK_ENTER != "undefined") {
+ ACTION_KEYS.push(KeyEvent.VK_ENTER);
+ }
+} \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/lib/qrcode.js b/testing/web-platform/tests/tools/wave/www/lib/qrcode.js
new file mode 100644
index 0000000000..45e5d7b974
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/qrcode.js
@@ -0,0 +1,1533 @@
+/**
+ * @fileoverview
+ * - Using the 'QRCode for Javascript library'
+ * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.
+ * - this library has no dependencies.
+ *
+ * @author davidshimjs
+ * @see <a href="http://www.d-project.com/" target="_blank">http://www.d-project.com/</a>
+ * @see <a href="http://jeromeetienne.github.com/jquery-qrcode/" target="_blank">http://jeromeetienne.github.com/jquery-qrcode/</a>
+ */
+var QRCode
+;(function () {
+ // ---------------------------------------------------------------------
+ // QRCode for JavaScript
+ //
+ // Copyright (c) 2009 Kazuhiko Arase
+ //
+ // URL: http://www.d-project.com/
+ //
+ // Licensed under the MIT license:
+ // http://www.opensource.org/licenses/mit-license.php
+ //
+ // The word "QR Code" is registered trademark of
+ // DENSO WAVE INCORPORATED
+ // http://www.denso-wave.com/qrcode/faqpatent-e.html
+ //
+ // ---------------------------------------------------------------------
+ function QR8bitByte (data) {
+ this.mode = QRMode.MODE_8BIT_BYTE
+ this.data = data
+ this.parsedData = []
+
+ // Added to support UTF-8 Characters
+ for (var i = 0, l = this.data.length; i < l; i++) {
+ var byteArray = []
+ var code = this.data.charCodeAt(i)
+
+ if (code > 0x10000) {
+ byteArray[0] = 0xf0 | ((code & 0x1c0000) >>> 18)
+ byteArray[1] = 0x80 | ((code & 0x3f000) >>> 12)
+ byteArray[2] = 0x80 | ((code & 0xfc0) >>> 6)
+ byteArray[3] = 0x80 | (code & 0x3f)
+ } else if (code > 0x800) {
+ byteArray[0] = 0xe0 | ((code & 0xf000) >>> 12)
+ byteArray[1] = 0x80 | ((code & 0xfc0) >>> 6)
+ byteArray[2] = 0x80 | (code & 0x3f)
+ } else if (code > 0x80) {
+ byteArray[0] = 0xc0 | ((code & 0x7c0) >>> 6)
+ byteArray[1] = 0x80 | (code & 0x3f)
+ } else {
+ byteArray[0] = code
+ }
+
+ this.parsedData.push(byteArray)
+ }
+
+ this.parsedData = Array.prototype.concat.apply([], this.parsedData)
+
+ if (this.parsedData.length != this.data.length) {
+ this.parsedData.unshift(191)
+ this.parsedData.unshift(187)
+ this.parsedData.unshift(239)
+ }
+ }
+
+ QR8bitByte.prototype = {
+ getLength: function (buffer) {
+ return this.parsedData.length
+ },
+ write: function (buffer) {
+ for (var i = 0, l = this.parsedData.length; i < l; i++) {
+ buffer.put(this.parsedData[i], 8)
+ }
+ }
+ }
+
+ function QRCodeModel (typeNumber, errorCorrectLevel) {
+ this.typeNumber = typeNumber
+ this.errorCorrectLevel = errorCorrectLevel
+ this.modules = null
+ this.moduleCount = 0
+ this.dataCache = null
+ this.dataList = []
+ }
+
+ QRCodeModel.prototype = {
+ addData: function (data) {
+ var newData = new QR8bitByte(data)
+ this.dataList.push(newData)
+ this.dataCache = null
+ },
+ isDark: function (row, col) {
+ if (
+ row < 0 ||
+ this.moduleCount <= row ||
+ col < 0 ||
+ this.moduleCount <= col
+ ) {
+ throw new Error(row + ',' + col)
+ }
+ return this.modules[row][col]
+ },
+ getModuleCount: function () {
+ return this.moduleCount
+ },
+ make: function () {
+ this.makeImpl(false, this.getBestMaskPattern())
+ },
+ makeImpl: function (test, maskPattern) {
+ this.moduleCount = this.typeNumber * 4 + 17
+ this.modules = new Array(this.moduleCount)
+ for (var row = 0; row < this.moduleCount; row++) {
+ this.modules[row] = new Array(this.moduleCount)
+ for (var col = 0; col < this.moduleCount; col++) {
+ this.modules[row][col] = null
+ }
+ }
+ this.setupPositionProbePattern(0, 0)
+ this.setupPositionProbePattern(this.moduleCount - 7, 0)
+ this.setupPositionProbePattern(0, this.moduleCount - 7)
+ this.setupPositionAdjustPattern()
+ this.setupTimingPattern()
+ this.setupTypeInfo(test, maskPattern)
+ if (this.typeNumber >= 7) {
+ this.setupTypeNumber(test)
+ }
+ if (this.dataCache == null) {
+ this.dataCache = QRCodeModel.createData(
+ this.typeNumber,
+ this.errorCorrectLevel,
+ this.dataList
+ )
+ }
+ this.mapData(this.dataCache, maskPattern)
+ },
+ setupPositionProbePattern: function (row, col) {
+ for (var r = -1; r <= 7; r++) {
+ if (row + r <= -1 || this.moduleCount <= row + r) continue
+ for (var c = -1; c <= 7; c++) {
+ if (col + c <= -1 || this.moduleCount <= col + c) continue
+ if (
+ (r >= 0 && r <= 6 && (c == 0 || c == 6)) ||
+ (c >= 0 && c <= 6 && (r == 0 || r == 6)) ||
+ (r >= 2 && r <= 4 && c >= 2 && c <= 4)
+ ) {
+ this.modules[row + r][col + c] = true
+ } else {
+ this.modules[row + r][col + c] = false
+ }
+ }
+ }
+ },
+ getBestMaskPattern: function () {
+ var minLostPoint = 0
+ var pattern = 0
+ for (var i = 0; i < 8; i++) {
+ this.makeImpl(true, i)
+ var lostPoint = QRUtil.getLostPoint(this)
+ if (i == 0 || minLostPoint > lostPoint) {
+ minLostPoint = lostPoint
+ pattern = i
+ }
+ }
+ return pattern
+ },
+ createMovieClip: function (target_mc, instance_name, depth) {
+ var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth)
+ var cs = 1
+ this.make()
+ for (var row = 0; row < this.modules.length; row++) {
+ var y = row * cs
+ for (var col = 0; col < this.modules[row].length; col++) {
+ var x = col * cs
+ var dark = this.modules[row][col]
+ if (dark) {
+ qr_mc.beginFill(0, 100)
+ qr_mc.moveTo(x, y)
+ qr_mc.lineTo(x + cs, y)
+ qr_mc.lineTo(x + cs, y + cs)
+ qr_mc.lineTo(x, y + cs)
+ qr_mc.endFill()
+ }
+ }
+ }
+ return qr_mc
+ },
+ setupTimingPattern: function () {
+ for (var r = 8; r < this.moduleCount - 8; r++) {
+ if (this.modules[r][6] != null) {
+ continue
+ }
+ this.modules[r][6] = r % 2 == 0
+ }
+ for (var c = 8; c < this.moduleCount - 8; c++) {
+ if (this.modules[6][c] != null) {
+ continue
+ }
+ this.modules[6][c] = c % 2 == 0
+ }
+ },
+ setupPositionAdjustPattern: function () {
+ var pos = QRUtil.getPatternPosition(this.typeNumber)
+ for (var i = 0; i < pos.length; i++) {
+ for (var j = 0; j < pos.length; j++) {
+ var row = pos[i]
+ var col = pos[j]
+ if (this.modules[row][col] != null) {
+ continue
+ }
+ for (var r = -2; r <= 2; r++) {
+ for (var c = -2; c <= 2; c++) {
+ if (
+ r == -2 ||
+ r == 2 ||
+ c == -2 ||
+ c == 2 ||
+ (r == 0 && c == 0)
+ ) {
+ this.modules[row + r][col + c] = true
+ } else {
+ this.modules[row + r][col + c] = false
+ }
+ }
+ }
+ }
+ }
+ },
+ setupTypeNumber: function (test) {
+ var bits = QRUtil.getBCHTypeNumber(this.typeNumber)
+ for (var i = 0; i < 18; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod
+ }
+ for (var i = 0; i < 18; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod
+ }
+ },
+ setupTypeInfo: function (test, maskPattern) {
+ var data = (this.errorCorrectLevel << 3) | maskPattern
+ var bits = QRUtil.getBCHTypeInfo(data)
+ for (var i = 0; i < 15; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ if (i < 6) {
+ this.modules[i][8] = mod
+ } else if (i < 8) {
+ this.modules[i + 1][8] = mod
+ } else {
+ this.modules[this.moduleCount - 15 + i][8] = mod
+ }
+ }
+ for (var i = 0; i < 15; i++) {
+ var mod = !test && ((bits >> i) & 1) == 1
+ if (i < 8) {
+ this.modules[8][this.moduleCount - i - 1] = mod
+ } else if (i < 9) {
+ this.modules[8][15 - i - 1 + 1] = mod
+ } else {
+ this.modules[8][15 - i - 1] = mod
+ }
+ }
+ this.modules[this.moduleCount - 8][8] = !test
+ },
+ mapData: function (data, maskPattern) {
+ var inc = -1
+ var row = this.moduleCount - 1
+ var bitIndex = 7
+ var byteIndex = 0
+ for (var col = this.moduleCount - 1; col > 0; col -= 2) {
+ if (col == 6) col--
+ while (true) {
+ for (var c = 0; c < 2; c++) {
+ if (this.modules[row][col - c] == null) {
+ var dark = false
+ if (byteIndex < data.length) {
+ dark = ((data[byteIndex] >>> bitIndex) & 1) == 1
+ }
+ var mask = QRUtil.getMask(maskPattern, row, col - c)
+ if (mask) {
+ dark = !dark
+ }
+ this.modules[row][col - c] = dark
+ bitIndex--
+ if (bitIndex == -1) {
+ byteIndex++
+ bitIndex = 7
+ }
+ }
+ }
+ row += inc
+ if (row < 0 || this.moduleCount <= row) {
+ row -= inc
+ inc = -inc
+ break
+ }
+ }
+ }
+ }
+ }
+ QRCodeModel.PAD0 = 0xec
+ QRCodeModel.PAD1 = 0x11
+ QRCodeModel.createData = function (typeNumber, errorCorrectLevel, dataList) {
+ var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel)
+ var buffer = new QRBitBuffer()
+ for (var i = 0; i < dataList.length; i++) {
+ var data = dataList[i]
+ buffer.put(data.mode, 4)
+ buffer.put(
+ data.getLength(),
+ QRUtil.getLengthInBits(data.mode, typeNumber)
+ )
+ data.write(buffer)
+ }
+ var totalDataCount = 0
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalDataCount += rsBlocks[i].dataCount
+ }
+ if (buffer.getLengthInBits() > totalDataCount * 8) {
+ throw new Error(
+ 'code length overflow. (' +
+ buffer.getLengthInBits() +
+ '>' +
+ totalDataCount * 8 +
+ ')'
+ )
+ }
+ if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {
+ buffer.put(0, 4)
+ }
+ while (buffer.getLengthInBits() % 8 != 0) {
+ buffer.putBit(false)
+ }
+ while (true) {
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
+ break
+ }
+ buffer.put(QRCodeModel.PAD0, 8)
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
+ break
+ }
+ buffer.put(QRCodeModel.PAD1, 8)
+ }
+ return QRCodeModel.createBytes(buffer, rsBlocks)
+ }
+ QRCodeModel.createBytes = function (buffer, rsBlocks) {
+ var offset = 0
+ var maxDcCount = 0
+ var maxEcCount = 0
+ var dcdata = new Array(rsBlocks.length)
+ var ecdata = new Array(rsBlocks.length)
+ for (var r = 0; r < rsBlocks.length; r++) {
+ var dcCount = rsBlocks[r].dataCount
+ var ecCount = rsBlocks[r].totalCount - dcCount
+ maxDcCount = Math.max(maxDcCount, dcCount)
+ maxEcCount = Math.max(maxEcCount, ecCount)
+ dcdata[r] = new Array(dcCount)
+ for (var i = 0; i < dcdata[r].length; i++) {
+ dcdata[r][i] = 0xff & buffer.buffer[i + offset]
+ }
+ offset += dcCount
+ var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount)
+ var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1)
+ var modPoly = rawPoly.mod(rsPoly)
+ ecdata[r] = new Array(rsPoly.getLength() - 1)
+ for (var i = 0; i < ecdata[r].length; i++) {
+ var modIndex = i + modPoly.getLength() - ecdata[r].length
+ ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0
+ }
+ }
+ var totalCodeCount = 0
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalCodeCount += rsBlocks[i].totalCount
+ }
+ var data = new Array(totalCodeCount)
+ var index = 0
+ for (var i = 0; i < maxDcCount; i++) {
+ for (var r = 0; r < rsBlocks.length; r++) {
+ if (i < dcdata[r].length) {
+ data[index++] = dcdata[r][i]
+ }
+ }
+ }
+ for (var i = 0; i < maxEcCount; i++) {
+ for (var r = 0; r < rsBlocks.length; r++) {
+ if (i < ecdata[r].length) {
+ data[index++] = ecdata[r][i]
+ }
+ }
+ }
+ return data
+ }
+ var QRMode = {
+ MODE_NUMBER: 1 << 0,
+ MODE_ALPHA_NUM: 1 << 1,
+ MODE_8BIT_BYTE: 1 << 2,
+ MODE_KANJI: 1 << 3
+ }
+ var QRErrorCorrectLevel = { L: 1, M: 0, Q: 3, H: 2 }
+ var QRMaskPattern = {
+ PATTERN000: 0,
+ PATTERN001: 1,
+ PATTERN010: 2,
+ PATTERN011: 3,
+ PATTERN100: 4,
+ PATTERN101: 5,
+ PATTERN110: 6,
+ PATTERN111: 7
+ }
+ var QRUtil = {
+ PATTERN_POSITION_TABLE: [
+ [],
+ [6, 18],
+ [6, 22],
+ [6, 26],
+ [6, 30],
+ [6, 34],
+ [6, 22, 38],
+ [6, 24, 42],
+ [6, 26, 46],
+ [6, 28, 50],
+ [6, 30, 54],
+ [6, 32, 58],
+ [6, 34, 62],
+ [6, 26, 46, 66],
+ [6, 26, 48, 70],
+ [6, 26, 50, 74],
+ [6, 30, 54, 78],
+ [6, 30, 56, 82],
+ [6, 30, 58, 86],
+ [6, 34, 62, 90],
+ [6, 28, 50, 72, 94],
+ [6, 26, 50, 74, 98],
+ [6, 30, 54, 78, 102],
+ [6, 28, 54, 80, 106],
+ [6, 32, 58, 84, 110],
+ [6, 30, 58, 86, 114],
+ [6, 34, 62, 90, 118],
+ [6, 26, 50, 74, 98, 122],
+ [6, 30, 54, 78, 102, 126],
+ [6, 26, 52, 78, 104, 130],
+ [6, 30, 56, 82, 108, 134],
+ [6, 34, 60, 86, 112, 138],
+ [6, 30, 58, 86, 114, 142],
+ [6, 34, 62, 90, 118, 146],
+ [6, 30, 54, 78, 102, 126, 150],
+ [6, 24, 50, 76, 102, 128, 154],
+ [6, 28, 54, 80, 106, 132, 158],
+ [6, 32, 58, 84, 110, 136, 162],
+ [6, 26, 54, 82, 110, 138, 166],
+ [6, 30, 58, 86, 114, 142, 170]
+ ],
+ G15:
+ (1 << 10) |
+ (1 << 8) |
+ (1 << 5) |
+ (1 << 4) |
+ (1 << 2) |
+ (1 << 1) |
+ (1 << 0),
+ G18:
+ (1 << 12) |
+ (1 << 11) |
+ (1 << 10) |
+ (1 << 9) |
+ (1 << 8) |
+ (1 << 5) |
+ (1 << 2) |
+ (1 << 0),
+ G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),
+ getBCHTypeInfo: function (data) {
+ var d = data << 10
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
+ d ^=
+ QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15))
+ }
+ return ((data << 10) | d) ^ QRUtil.G15_MASK
+ },
+ getBCHTypeNumber: function (data) {
+ var d = data << 12
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
+ d ^=
+ QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18))
+ }
+ return (data << 12) | d
+ },
+ getBCHDigit: function (data) {
+ var digit = 0
+ while (data != 0) {
+ digit++
+ data >>>= 1
+ }
+ return digit
+ },
+ getPatternPosition: function (typeNumber) {
+ return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]
+ },
+ getMask: function (maskPattern, i, j) {
+ switch (maskPattern) {
+ case QRMaskPattern.PATTERN000:
+ return (i + j) % 2 == 0
+ case QRMaskPattern.PATTERN001:
+ return i % 2 == 0
+ case QRMaskPattern.PATTERN010:
+ return j % 3 == 0
+ case QRMaskPattern.PATTERN011:
+ return (i + j) % 3 == 0
+ case QRMaskPattern.PATTERN100:
+ return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0
+ case QRMaskPattern.PATTERN101:
+ return (i * j) % 2 + (i * j) % 3 == 0
+ case QRMaskPattern.PATTERN110:
+ return ((i * j) % 2 + (i * j) % 3) % 2 == 0
+ case QRMaskPattern.PATTERN111:
+ return ((i * j) % 3 + (i + j) % 2) % 2 == 0
+ default:
+ throw new Error('bad maskPattern:' + maskPattern)
+ }
+ },
+ getErrorCorrectPolynomial: function (errorCorrectLength) {
+ var a = new QRPolynomial([1], 0)
+ for (var i = 0; i < errorCorrectLength; i++) {
+ a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0))
+ }
+ return a
+ },
+ getLengthInBits: function (mode, type) {
+ if (type >= 1 && type < 10) {
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 10
+ case QRMode.MODE_ALPHA_NUM:
+ return 9
+ case QRMode.MODE_8BIT_BYTE:
+ return 8
+ case QRMode.MODE_KANJI:
+ return 8
+ default:
+ throw new Error('mode:' + mode)
+ }
+ } else if (type < 27) {
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 12
+ case QRMode.MODE_ALPHA_NUM:
+ return 11
+ case QRMode.MODE_8BIT_BYTE:
+ return 16
+ case QRMode.MODE_KANJI:
+ return 10
+ default:
+ throw new Error('mode:' + mode)
+ }
+ } else if (type < 41) {
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 14
+ case QRMode.MODE_ALPHA_NUM:
+ return 13
+ case QRMode.MODE_8BIT_BYTE:
+ return 16
+ case QRMode.MODE_KANJI:
+ return 12
+ default:
+ throw new Error('mode:' + mode)
+ }
+ } else {
+ throw new Error('type:' + type)
+ }
+ },
+ getLostPoint: function (qrCode) {
+ var moduleCount = qrCode.getModuleCount()
+ var lostPoint = 0
+ for (var row = 0; row < moduleCount; row++) {
+ for (var col = 0; col < moduleCount; col++) {
+ var sameCount = 0
+ var dark = qrCode.isDark(row, col)
+ for (var r = -1; r <= 1; r++) {
+ if (row + r < 0 || moduleCount <= row + r) {
+ continue
+ }
+ for (var c = -1; c <= 1; c++) {
+ if (col + c < 0 || moduleCount <= col + c) {
+ continue
+ }
+ if (r == 0 && c == 0) {
+ continue
+ }
+ if (dark == qrCode.isDark(row + r, col + c)) {
+ sameCount++
+ }
+ }
+ }
+ if (sameCount > 5) {
+ lostPoint += 3 + sameCount - 5
+ }
+ }
+ }
+ for (var row = 0; row < moduleCount - 1; row++) {
+ for (var col = 0; col < moduleCount - 1; col++) {
+ var count = 0
+ if (qrCode.isDark(row, col)) count++
+ if (qrCode.isDark(row + 1, col)) count++
+ if (qrCode.isDark(row, col + 1)) count++
+ if (qrCode.isDark(row + 1, col + 1)) count++
+ if (count == 0 || count == 4) {
+ lostPoint += 3
+ }
+ }
+ }
+ for (var row = 0; row < moduleCount; row++) {
+ for (var col = 0; col < moduleCount - 6; col++) {
+ if (
+ qrCode.isDark(row, col) &&
+ !qrCode.isDark(row, col + 1) &&
+ qrCode.isDark(row, col + 2) &&
+ qrCode.isDark(row, col + 3) &&
+ qrCode.isDark(row, col + 4) &&
+ !qrCode.isDark(row, col + 5) &&
+ qrCode.isDark(row, col + 6)
+ ) {
+ lostPoint += 40
+ }
+ }
+ }
+ for (var col = 0; col < moduleCount; col++) {
+ for (var row = 0; row < moduleCount - 6; row++) {
+ if (
+ qrCode.isDark(row, col) &&
+ !qrCode.isDark(row + 1, col) &&
+ qrCode.isDark(row + 2, col) &&
+ qrCode.isDark(row + 3, col) &&
+ qrCode.isDark(row + 4, col) &&
+ !qrCode.isDark(row + 5, col) &&
+ qrCode.isDark(row + 6, col)
+ ) {
+ lostPoint += 40
+ }
+ }
+ }
+ var darkCount = 0
+ for (var col = 0; col < moduleCount; col++) {
+ for (var row = 0; row < moduleCount; row++) {
+ if (qrCode.isDark(row, col)) {
+ darkCount++
+ }
+ }
+ }
+ var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5
+ lostPoint += ratio * 10
+ return lostPoint
+ }
+ }
+ var QRMath = {
+ glog: function (n) {
+ if (n < 1) {
+ throw new Error('glog(' + n + ')')
+ }
+ return QRMath.LOG_TABLE[n]
+ },
+ gexp: function (n) {
+ while (n < 0) {
+ n += 255
+ }
+ while (n >= 256) {
+ n -= 255
+ }
+ return QRMath.EXP_TABLE[n]
+ },
+ EXP_TABLE: new Array(256),
+ LOG_TABLE: new Array(256)
+ }
+ for (var i = 0; i < 8; i++) {
+ QRMath.EXP_TABLE[i] = 1 << i
+ }
+ for (var i = 8; i < 256; i++) {
+ QRMath.EXP_TABLE[i] =
+ QRMath.EXP_TABLE[i - 4] ^
+ QRMath.EXP_TABLE[i - 5] ^
+ QRMath.EXP_TABLE[i - 6] ^
+ QRMath.EXP_TABLE[i - 8]
+ }
+ for (var i = 0; i < 255; i++) {
+ QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i
+ }
+ function QRPolynomial (num, shift) {
+ if (num.length == undefined) {
+ throw new Error(num.length + '/' + shift)
+ }
+ var offset = 0
+ while (offset < num.length && num[offset] == 0) {
+ offset++
+ }
+ this.num = new Array(num.length - offset + shift)
+ for (var i = 0; i < num.length - offset; i++) {
+ this.num[i] = num[i + offset]
+ }
+ }
+ QRPolynomial.prototype = {
+ get: function (index) {
+ return this.num[index]
+ },
+ getLength: function () {
+ return this.num.length
+ },
+ multiply: function (e) {
+ var num = new Array(this.getLength() + e.getLength() - 1)
+ for (var i = 0; i < this.getLength(); i++) {
+ for (var j = 0; j < e.getLength(); j++) {
+ num[i + j] ^= QRMath.gexp(
+ QRMath.glog(this.get(i)) + QRMath.glog(e.get(j))
+ )
+ }
+ }
+ return new QRPolynomial(num, 0)
+ },
+ mod: function (e) {
+ if (this.getLength() - e.getLength() < 0) {
+ return this
+ }
+ var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0))
+ var num = new Array(this.getLength())
+ for (var i = 0; i < this.getLength(); i++) {
+ num[i] = this.get(i)
+ }
+ for (var i = 0; i < e.getLength(); i++) {
+ num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio)
+ }
+ return new QRPolynomial(num, 0).mod(e)
+ }
+ }
+ function QRRSBlock (totalCount, dataCount) {
+ this.totalCount = totalCount
+ this.dataCount = dataCount
+ }
+ QRRSBlock.RS_BLOCK_TABLE = [
+ [1, 26, 19],
+ [1, 26, 16],
+ [1, 26, 13],
+ [1, 26, 9],
+ [1, 44, 34],
+ [1, 44, 28],
+ [1, 44, 22],
+ [1, 44, 16],
+ [1, 70, 55],
+ [1, 70, 44],
+ [2, 35, 17],
+ [2, 35, 13],
+ [1, 100, 80],
+ [2, 50, 32],
+ [2, 50, 24],
+ [4, 25, 9],
+ [1, 134, 108],
+ [2, 67, 43],
+ [2, 33, 15, 2, 34, 16],
+ [2, 33, 11, 2, 34, 12],
+ [2, 86, 68],
+ [4, 43, 27],
+ [4, 43, 19],
+ [4, 43, 15],
+ [2, 98, 78],
+ [4, 49, 31],
+ [2, 32, 14, 4, 33, 15],
+ [4, 39, 13, 1, 40, 14],
+ [2, 121, 97],
+ [2, 60, 38, 2, 61, 39],
+ [4, 40, 18, 2, 41, 19],
+ [4, 40, 14, 2, 41, 15],
+ [2, 146, 116],
+ [3, 58, 36, 2, 59, 37],
+ [4, 36, 16, 4, 37, 17],
+ [4, 36, 12, 4, 37, 13],
+ [2, 86, 68, 2, 87, 69],
+ [4, 69, 43, 1, 70, 44],
+ [6, 43, 19, 2, 44, 20],
+ [6, 43, 15, 2, 44, 16],
+ [4, 101, 81],
+ [1, 80, 50, 4, 81, 51],
+ [4, 50, 22, 4, 51, 23],
+ [3, 36, 12, 8, 37, 13],
+ [2, 116, 92, 2, 117, 93],
+ [6, 58, 36, 2, 59, 37],
+ [4, 46, 20, 6, 47, 21],
+ [7, 42, 14, 4, 43, 15],
+ [4, 133, 107],
+ [8, 59, 37, 1, 60, 38],
+ [8, 44, 20, 4, 45, 21],
+ [12, 33, 11, 4, 34, 12],
+ [3, 145, 115, 1, 146, 116],
+ [4, 64, 40, 5, 65, 41],
+ [11, 36, 16, 5, 37, 17],
+ [11, 36, 12, 5, 37, 13],
+ [5, 109, 87, 1, 110, 88],
+ [5, 65, 41, 5, 66, 42],
+ [5, 54, 24, 7, 55, 25],
+ [11, 36, 12],
+ [5, 122, 98, 1, 123, 99],
+ [7, 73, 45, 3, 74, 46],
+ [15, 43, 19, 2, 44, 20],
+ [3, 45, 15, 13, 46, 16],
+ [1, 135, 107, 5, 136, 108],
+ [10, 74, 46, 1, 75, 47],
+ [1, 50, 22, 15, 51, 23],
+ [2, 42, 14, 17, 43, 15],
+ [5, 150, 120, 1, 151, 121],
+ [9, 69, 43, 4, 70, 44],
+ [17, 50, 22, 1, 51, 23],
+ [2, 42, 14, 19, 43, 15],
+ [3, 141, 113, 4, 142, 114],
+ [3, 70, 44, 11, 71, 45],
+ [17, 47, 21, 4, 48, 22],
+ [9, 39, 13, 16, 40, 14],
+ [3, 135, 107, 5, 136, 108],
+ [3, 67, 41, 13, 68, 42],
+ [15, 54, 24, 5, 55, 25],
+ [15, 43, 15, 10, 44, 16],
+ [4, 144, 116, 4, 145, 117],
+ [17, 68, 42],
+ [17, 50, 22, 6, 51, 23],
+ [19, 46, 16, 6, 47, 17],
+ [2, 139, 111, 7, 140, 112],
+ [17, 74, 46],
+ [7, 54, 24, 16, 55, 25],
+ [34, 37, 13],
+ [4, 151, 121, 5, 152, 122],
+ [4, 75, 47, 14, 76, 48],
+ [11, 54, 24, 14, 55, 25],
+ [16, 45, 15, 14, 46, 16],
+ [6, 147, 117, 4, 148, 118],
+ [6, 73, 45, 14, 74, 46],
+ [11, 54, 24, 16, 55, 25],
+ [30, 46, 16, 2, 47, 17],
+ [8, 132, 106, 4, 133, 107],
+ [8, 75, 47, 13, 76, 48],
+ [7, 54, 24, 22, 55, 25],
+ [22, 45, 15, 13, 46, 16],
+ [10, 142, 114, 2, 143, 115],
+ [19, 74, 46, 4, 75, 47],
+ [28, 50, 22, 6, 51, 23],
+ [33, 46, 16, 4, 47, 17],
+ [8, 152, 122, 4, 153, 123],
+ [22, 73, 45, 3, 74, 46],
+ [8, 53, 23, 26, 54, 24],
+ [12, 45, 15, 28, 46, 16],
+ [3, 147, 117, 10, 148, 118],
+ [3, 73, 45, 23, 74, 46],
+ [4, 54, 24, 31, 55, 25],
+ [11, 45, 15, 31, 46, 16],
+ [7, 146, 116, 7, 147, 117],
+ [21, 73, 45, 7, 74, 46],
+ [1, 53, 23, 37, 54, 24],
+ [19, 45, 15, 26, 46, 16],
+ [5, 145, 115, 10, 146, 116],
+ [19, 75, 47, 10, 76, 48],
+ [15, 54, 24, 25, 55, 25],
+ [23, 45, 15, 25, 46, 16],
+ [13, 145, 115, 3, 146, 116],
+ [2, 74, 46, 29, 75, 47],
+ [42, 54, 24, 1, 55, 25],
+ [23, 45, 15, 28, 46, 16],
+ [17, 145, 115],
+ [10, 74, 46, 23, 75, 47],
+ [10, 54, 24, 35, 55, 25],
+ [19, 45, 15, 35, 46, 16],
+ [17, 145, 115, 1, 146, 116],
+ [14, 74, 46, 21, 75, 47],
+ [29, 54, 24, 19, 55, 25],
+ [11, 45, 15, 46, 46, 16],
+ [13, 145, 115, 6, 146, 116],
+ [14, 74, 46, 23, 75, 47],
+ [44, 54, 24, 7, 55, 25],
+ [59, 46, 16, 1, 47, 17],
+ [12, 151, 121, 7, 152, 122],
+ [12, 75, 47, 26, 76, 48],
+ [39, 54, 24, 14, 55, 25],
+ [22, 45, 15, 41, 46, 16],
+ [6, 151, 121, 14, 152, 122],
+ [6, 75, 47, 34, 76, 48],
+ [46, 54, 24, 10, 55, 25],
+ [2, 45, 15, 64, 46, 16],
+ [17, 152, 122, 4, 153, 123],
+ [29, 74, 46, 14, 75, 47],
+ [49, 54, 24, 10, 55, 25],
+ [24, 45, 15, 46, 46, 16],
+ [4, 152, 122, 18, 153, 123],
+ [13, 74, 46, 32, 75, 47],
+ [48, 54, 24, 14, 55, 25],
+ [42, 45, 15, 32, 46, 16],
+ [20, 147, 117, 4, 148, 118],
+ [40, 75, 47, 7, 76, 48],
+ [43, 54, 24, 22, 55, 25],
+ [10, 45, 15, 67, 46, 16],
+ [19, 148, 118, 6, 149, 119],
+ [18, 75, 47, 31, 76, 48],
+ [34, 54, 24, 34, 55, 25],
+ [20, 45, 15, 61, 46, 16]
+ ]
+ QRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {
+ var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel)
+ if (rsBlock == undefined) {
+ throw new Error(
+ 'bad rs block @ typeNumber:' +
+ typeNumber +
+ '/errorCorrectLevel:' +
+ errorCorrectLevel
+ )
+ }
+ var length = rsBlock.length / 3
+ var list = []
+ for (var i = 0; i < length; i++) {
+ var count = rsBlock[i * 3 + 0]
+ var totalCount = rsBlock[i * 3 + 1]
+ var dataCount = rsBlock[i * 3 + 2]
+ for (var j = 0; j < count; j++) {
+ list.push(new QRRSBlock(totalCount, dataCount))
+ }
+ }
+ return list
+ }
+ QRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {
+ switch (errorCorrectLevel) {
+ case QRErrorCorrectLevel.L:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0]
+ case QRErrorCorrectLevel.M:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1]
+ case QRErrorCorrectLevel.Q:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2]
+ case QRErrorCorrectLevel.H:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3]
+ default:
+ return undefined
+ }
+ }
+ function QRBitBuffer () {
+ this.buffer = []
+ this.length = 0
+ }
+ QRBitBuffer.prototype = {
+ get: function (index) {
+ var bufIndex = Math.floor(index / 8)
+ return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1
+ },
+ put: function (num, length) {
+ for (var i = 0; i < length; i++) {
+ this.putBit(((num >>> (length - i - 1)) & 1) == 1)
+ }
+ },
+ getLengthInBits: function () {
+ return this.length
+ },
+ putBit: function (bit) {
+ var bufIndex = Math.floor(this.length / 8)
+ if (this.buffer.length <= bufIndex) {
+ this.buffer.push(0)
+ }
+ if (bit) {
+ this.buffer[bufIndex] |= 0x80 >>> (this.length % 8)
+ }
+ this.length++
+ }
+ }
+ var QRCodeLimitLength = [
+ [17, 14, 11, 7],
+ [32, 26, 20, 14],
+ [53, 42, 32, 24],
+ [78, 62, 46, 34],
+ [106, 84, 60, 44],
+ [134, 106, 74, 58],
+ [154, 122, 86, 64],
+ [192, 152, 108, 84],
+ [230, 180, 130, 98],
+ [271, 213, 151, 119],
+ [321, 251, 177, 137],
+ [367, 287, 203, 155],
+ [425, 331, 241, 177],
+ [458, 362, 258, 194],
+ [520, 412, 292, 220],
+ [586, 450, 322, 250],
+ [644, 504, 364, 280],
+ [718, 560, 394, 310],
+ [792, 624, 442, 338],
+ [858, 666, 482, 382],
+ [929, 711, 509, 403],
+ [1003, 779, 565, 439],
+ [1091, 857, 611, 461],
+ [1171, 911, 661, 511],
+ [1273, 997, 715, 535],
+ [1367, 1059, 751, 593],
+ [1465, 1125, 805, 625],
+ [1528, 1190, 868, 658],
+ [1628, 1264, 908, 698],
+ [1732, 1370, 982, 742],
+ [1840, 1452, 1030, 790],
+ [1952, 1538, 1112, 842],
+ [2068, 1628, 1168, 898],
+ [2188, 1722, 1228, 958],
+ [2303, 1809, 1283, 983],
+ [2431, 1911, 1351, 1051],
+ [2563, 1989, 1423, 1093],
+ [2699, 2099, 1499, 1139],
+ [2809, 2213, 1579, 1219],
+ [2953, 2331, 1663, 1273]
+ ]
+
+ function _isSupportCanvas () {
+ return typeof CanvasRenderingContext2D !== 'undefined'
+ }
+
+ // android 2.x doesn't support Data-URI spec
+ function _getAndroid () {
+ var android = false
+ var sAgent = navigator.userAgent
+
+ if (/android/i.test(sAgent)) {
+ // android
+ android = true
+ var aMat = sAgent.toString().match(/android ([0-9]\.[0-9])/i)
+
+ if (aMat && aMat[1]) {
+ android = parseFloat(aMat[1])
+ }
+ }
+
+ return android
+ }
+
+ var svgDrawer = (function () {
+ var Drawing = function (el, htOption) {
+ this._el = el
+ this._htOption = htOption
+ }
+
+ Drawing.prototype.draw = function (oQRCode) {
+ var _htOption = this._htOption
+ var _el = this._el
+ var nCount = oQRCode.getModuleCount()
+ var nWidth = Math.floor(_htOption.width / nCount)
+ var nHeight = Math.floor(_htOption.height / nCount)
+
+ this.clear()
+
+ function makeSVG (tag, attrs) {
+ var el = document.createElementNS('http://www.w3.org/2000/svg', tag)
+ for (var k in attrs) {
+ if (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k])
+ }
+ return el
+ }
+
+ var svg = makeSVG('svg', {
+ viewBox: '0 0 ' + String(nCount) + ' ' + String(nCount),
+ width: '100%',
+ height: '100%',
+ fill: _htOption.colorLight
+ })
+ svg.setAttributeNS(
+ 'http://www.w3.org/2000/xmlns/',
+ 'xmlns:xlink',
+ 'http://www.w3.org/1999/xlink'
+ )
+ _el.appendChild(svg)
+
+ svg.appendChild(
+ makeSVG('rect', {
+ fill: _htOption.colorLight,
+ width: '100%',
+ height: '100%'
+ })
+ )
+ svg.appendChild(
+ makeSVG('rect', {
+ fill: _htOption.colorDark,
+ width: '1',
+ height: '1',
+ id: 'template'
+ })
+ )
+
+ for (var row = 0; row < nCount; row++) {
+ for (var col = 0; col < nCount; col++) {
+ if (oQRCode.isDark(row, col)) {
+ var child = makeSVG('use', { x: String(col), y: String(row) })
+ child.setAttributeNS(
+ 'http://www.w3.org/1999/xlink',
+ 'href',
+ '#template'
+ )
+ svg.appendChild(child)
+ }
+ }
+ }
+ }
+ Drawing.prototype.clear = function () {
+ while (this._el.hasChildNodes()) this._el.removeChild(this._el.lastChild)
+ }
+ return Drawing
+ })()
+
+ var useSVG = document.documentElement.tagName.toLowerCase() === 'svg'
+
+ // Drawing in DOM by using Table tag
+ var Drawing = useSVG
+ ? svgDrawer
+ : !_isSupportCanvas()
+ ? (function () {
+ var Drawing = function (el, htOption) {
+ this._el = el
+ this._htOption = htOption
+ }
+
+ /**
+ * Draw the QRCode
+ *
+ * @param {QRCode} oQRCode
+ */
+ Drawing.prototype.draw = function (oQRCode) {
+ var _htOption = this._htOption
+ var _el = this._el
+ var nCount = oQRCode.getModuleCount()
+ var nWidth = Math.floor(_htOption.width / nCount)
+ var nHeight = Math.floor(_htOption.height / nCount)
+ var aHTML = ['<table style="border:0;border-collapse:collapse;">']
+
+ for (var row = 0; row < nCount; row++) {
+ aHTML.push('<tr>')
+
+ for (var col = 0; col < nCount; col++) {
+ aHTML.push(
+ '<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' +
+ nWidth +
+ 'px;height:' +
+ nHeight +
+ 'px;background-color:' +
+ (oQRCode.isDark(row, col)
+ ? _htOption.colorDark
+ : _htOption.colorLight) +
+ ';"></td>'
+ )
+ }
+
+ aHTML.push('</tr>')
+ }
+
+ aHTML.push('</table>')
+ _el.innerHTML = aHTML.join('')
+
+ // Fix the margin values as real size.
+ var elTable = _el.childNodes[0]
+ var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2
+ var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2
+
+ if (nLeftMarginTable > 0 && nTopMarginTable > 0) {
+ elTable.style.margin =
+ nTopMarginTable + 'px ' + nLeftMarginTable + 'px'
+ }
+ }
+
+ /**
+ * Clear the QRCode
+ */
+ Drawing.prototype.clear = function () {
+ this._el.innerHTML = ''
+ }
+
+ return Drawing
+ })()
+ : (function () {
+ // Drawing in Canvas
+ function _onMakeImage () {
+ this._elImage.src = this._elCanvas.toDataURL('image/png')
+ this._elImage.style.display = 'block'
+ this._elCanvas.style.display = 'none'
+ }
+
+ // Android 2.1 bug workaround
+ // http://code.google.com/p/android/issues/detail?id=5141
+ if (this._android && this._android <= 2.1) {
+ var factor = 1 / window.devicePixelRatio
+ var drawImage = CanvasRenderingContext2D.prototype.drawImage
+ CanvasRenderingContext2D.prototype.drawImage = function (
+ image,
+ sx,
+ sy,
+ sw,
+ sh,
+ dx,
+ dy,
+ dw,
+ dh
+ ) {
+ if ('nodeName' in image && /img/i.test(image.nodeName)) {
+ for (var i = arguments.length - 1; i >= 1; i--) {
+ arguments[i] = arguments[i] * factor
+ }
+ } else if (typeof dw === 'undefined') {
+ arguments[1] *= factor
+ arguments[2] *= factor
+ arguments[3] *= factor
+ arguments[4] *= factor
+ }
+
+ drawImage.apply(this, arguments)
+ }
+ }
+
+ /**
+ * Check whether the user's browser supports Data URI or not
+ *
+ * @private
+ * @param {Function} fSuccess Occurs if it supports Data URI
+ * @param {Function} fFail Occurs if it doesn't support Data URI
+ */
+ function _safeSetDataURI (fSuccess, fFail) {
+ var self = this
+ self._fFail = fFail
+ self._fSuccess = fSuccess
+
+ // Check it just once
+ if (self._bSupportDataURI === null) {
+ var el = document.createElement('img')
+ var fOnError = function () {
+ self._bSupportDataURI = false
+
+ if (self._fFail) {
+ self._fFail.call(self)
+ }
+ }
+ var fOnSuccess = function () {
+ self._bSupportDataURI = true
+
+ if (self._fSuccess) {
+ self._fSuccess.call(self)
+ }
+ }
+
+ el.onabort = fOnError
+ el.onerror = fOnError
+ el.onload = fOnSuccess
+ el.src =
+ 'data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' // the Image contains 1px data.
+ } else if (self._bSupportDataURI === true && self._fSuccess) {
+ self._fSuccess.call(self)
+ } else if (self._bSupportDataURI === false && self._fFail) {
+ self._fFail.call(self)
+ }
+ }
+
+ /**
+ * Drawing QRCode by using canvas
+ *
+ * @constructor
+ * @param {HTMLElement} el
+ * @param {Object} htOption QRCode Options
+ */
+ var Drawing = function (el, htOption) {
+ this._bIsPainted = false
+ this._android = _getAndroid()
+
+ this._htOption = htOption
+ this._elCanvas = document.createElement('canvas')
+ this._elCanvas.width = htOption.width
+ this._elCanvas.height = htOption.height
+ el.appendChild(this._elCanvas)
+ this._el = el
+ this._oContext = this._elCanvas.getContext('2d')
+ this._bIsPainted = false
+ this._elImage = document.createElement('img')
+ this._elImage.alt = 'Scan me!'
+ this._elImage.style.display = 'none'
+ this._el.appendChild(this._elImage)
+ this._bSupportDataURI = null
+ }
+
+ /**
+ * Draw the QRCode
+ *
+ * @param {QRCode} oQRCode
+ */
+ Drawing.prototype.draw = function (oQRCode) {
+ var _elImage = this._elImage
+ var _oContext = this._oContext
+ var _htOption = this._htOption
+
+ var nCount = oQRCode.getModuleCount()
+ var nWidth = _htOption.width / nCount
+ var nHeight = _htOption.height / nCount
+ var nRoundedWidth = Math.round(nWidth)
+ var nRoundedHeight = Math.round(nHeight)
+
+ _elImage.style.display = 'none'
+ this.clear()
+
+ for (var row = 0; row < nCount; row++) {
+ for (var col = 0; col < nCount; col++) {
+ var bIsDark = oQRCode.isDark(row, col)
+ var nLeft = col * nWidth
+ var nTop = row * nHeight
+ _oContext.strokeStyle = bIsDark
+ ? _htOption.colorDark
+ : _htOption.colorLight
+ _oContext.lineWidth = 1
+ _oContext.fillStyle = bIsDark
+ ? _htOption.colorDark
+ : _htOption.colorLight
+ _oContext.fillRect(nLeft, nTop, nWidth, nHeight)
+
+ // 안티 앨리어싱 방지 처리
+ _oContext.strokeRect(
+ Math.floor(nLeft) + 0.5,
+ Math.floor(nTop) + 0.5,
+ nRoundedWidth,
+ nRoundedHeight
+ )
+
+ _oContext.strokeRect(
+ Math.ceil(nLeft) - 0.5,
+ Math.ceil(nTop) - 0.5,
+ nRoundedWidth,
+ nRoundedHeight
+ )
+ }
+ }
+
+ this._bIsPainted = true
+ }
+
+ /**
+ * Make the image from Canvas if the browser supports Data URI.
+ */
+ Drawing.prototype.makeImage = function () {
+ if (this._bIsPainted) {
+ _safeSetDataURI.call(this, _onMakeImage)
+ }
+ }
+
+ /**
+ * Return whether the QRCode is painted or not
+ *
+ * @return {Boolean}
+ */
+ Drawing.prototype.isPainted = function () {
+ return this._bIsPainted
+ }
+
+ /**
+ * Clear the QRCode
+ */
+ Drawing.prototype.clear = function () {
+ this._oContext.clearRect(
+ 0,
+ 0,
+ this._elCanvas.width,
+ this._elCanvas.height
+ )
+ this._bIsPainted = false
+ }
+
+ /**
+ * @private
+ * @param {Number} nNumber
+ */
+ Drawing.prototype.round = function (nNumber) {
+ if (!nNumber) {
+ return nNumber
+ }
+
+ return Math.floor(nNumber * 1000) / 1000
+ }
+
+ return Drawing
+ })()
+
+ /**
+ * Get the type by string length
+ *
+ * @private
+ * @param {String} sText
+ * @param {Number} nCorrectLevel
+ * @return {Number} type
+ */
+ function _getTypeNumber (sText, nCorrectLevel) {
+ var nType = 1
+ var length = _getUTF8Length(sText)
+
+ for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {
+ var nLimit = 0
+
+ switch (nCorrectLevel) {
+ case QRErrorCorrectLevel.L:
+ nLimit = QRCodeLimitLength[i][0]
+ break
+ case QRErrorCorrectLevel.M:
+ nLimit = QRCodeLimitLength[i][1]
+ break
+ case QRErrorCorrectLevel.Q:
+ nLimit = QRCodeLimitLength[i][2]
+ break
+ case QRErrorCorrectLevel.H:
+ nLimit = QRCodeLimitLength[i][3]
+ break
+ }
+
+ if (length <= nLimit) {
+ break
+ } else {
+ nType++
+ }
+ }
+
+ if (nType > QRCodeLimitLength.length) {
+ throw new Error('Too long data')
+ }
+
+ return nType
+ }
+
+ function _getUTF8Length (sText) {
+ var replacedText = encodeURI(sText)
+ .toString()
+ .replace(/\%[0-9a-fA-F]{2}/g, 'a')
+ return replacedText.length + (replacedText.length != sText ? 3 : 0)
+ }
+
+ /**
+ * @class QRCode
+ * @constructor
+ * @example
+ * new QRCode(document.getElementById("test"), "http://jindo.dev.naver.com/collie");
+ *
+ * @example
+ * var oQRCode = new QRCode("test", {
+ * text : "http://naver.com",
+ * width : 128,
+ * height : 128
+ * });
+ *
+ * oQRCode.clear(); // Clear the QRCode.
+ * oQRCode.makeCode("http://map.naver.com"); // Re-create the QRCode.
+ *
+ * @param {HTMLElement|String} el target element or 'id' attribute of element.
+ * @param {Object|String} vOption
+ * @param {String} vOption.text QRCode link data
+ * @param {Number} [vOption.width=256]
+ * @param {Number} [vOption.height=256]
+ * @param {String} [vOption.colorDark="#000000"]
+ * @param {String} [vOption.colorLight="#ffffff"]
+ * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H]
+ */
+ QRCode = function (el, vOption) {
+ this._htOption = {
+ width: 256,
+ height: 256,
+ typeNumber: 4,
+ colorDark: '#000000',
+ colorLight: '#ffffff',
+ correctLevel: QRErrorCorrectLevel.H
+ }
+
+ if (typeof vOption === 'string') {
+ vOption = {
+ text: vOption
+ }
+ }
+
+ // Overwrites options
+ if (vOption) {
+ for (var i in vOption) {
+ this._htOption[i] = vOption[i]
+ }
+ }
+
+ if (typeof el === 'string') {
+ el = document.getElementById(el)
+ }
+
+ if (this._htOption.useSVG) {
+ Drawing = svgDrawer
+ }
+
+ this._android = _getAndroid()
+ this._el = el
+ this._oQRCode = null
+ this._oDrawing = new Drawing(this._el, this._htOption)
+
+ if (this._htOption.text) {
+ this.makeCode(this._htOption.text)
+ }
+ }
+
+ /**
+ * Make the QRCode
+ *
+ * @param {String} sText link data
+ */
+ QRCode.prototype.makeCode = function (sText) {
+ this._oQRCode = new QRCodeModel(
+ _getTypeNumber(sText, this._htOption.correctLevel),
+ this._htOption.correctLevel
+ )
+ this._oQRCode.addData(sText)
+ this._oQRCode.make()
+ this._el.title = sText
+ this._oDrawing.draw(this._oQRCode)
+ this.makeImage()
+ }
+
+ /**
+ * Make the Image from Canvas element
+ * - It occurs automatically
+ * - Android below 3 doesn't support Data-URI spec.
+ *
+ * @private
+ */
+ QRCode.prototype.makeImage = function () {
+ if (
+ typeof this._oDrawing.makeImage === 'function' &&
+ (!this._android || this._android >= 3)
+ ) {
+ this._oDrawing.makeImage()
+ }
+ }
+
+ /**
+ * Clear the QRCode
+ */
+ QRCode.prototype.clear = function () {
+ this._oDrawing.clear()
+ }
+
+ /**
+ * @name QRCode.CorrectLevel
+ */
+ QRCode.CorrectLevel = QRErrorCorrectLevel
+})()
diff --git a/testing/web-platform/tests/tools/wave/www/lib/query-parser.js b/testing/web-platform/tests/tools/wave/www/lib/query-parser.js
new file mode 100644
index 0000000000..c8ab8333d2
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/query-parser.js
@@ -0,0 +1,12 @@
+var QueryParser = {};
+
+QueryParser.parseQuery = function () {
+ var queryParameters = {};
+ var keysAndValues = location.search.replace("?", "").split("&");
+ for (var i = 0; i < keysAndValues.length; i++) {
+ var key = keysAndValues[i].split("=")[0];
+ var value = keysAndValues[i].split("=")[1];
+ queryParameters[key] = value;
+ }
+ return queryParameters;
+};
diff --git a/testing/web-platform/tests/tools/wave/www/lib/screen-console.js b/testing/web-platform/tests/tools/wave/www/lib/screen-console.js
new file mode 100644
index 0000000000..0e13b963a6
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/screen-console.js
@@ -0,0 +1,16 @@
+function ScreenConsole(element) {
+ this._element = element;
+}
+
+ScreenConsole.prototype.log = function () {
+ var text = "";
+ for (var i = 0; i < arguments.length; i++) {
+ text += arguments[i] + " ";
+ }
+ console.log(text);
+ this._element.innerText += text + "\n";
+};
+
+ScreenConsole.prototype.clear = function () {
+ this._element.innerText = "";
+};
diff --git a/testing/web-platform/tests/tools/wave/www/lib/ui.js b/testing/web-platform/tests/tools/wave/www/lib/ui.js
new file mode 100644
index 0000000000..4abbece985
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/ui.js
@@ -0,0 +1,100 @@
+const UI = {
+ createElement: config => {
+ if (!config) return;
+ const elementType = config.element || "div";
+ const element = document.createElement(elementType);
+
+ Object.keys(config).forEach(property => {
+ const value = config[property];
+ switch (property.toLowerCase()) {
+ case "id":
+ case "src":
+ case "style":
+ case "placeholder":
+ case "title":
+ case "accept":
+ element.setAttribute(property, value);
+ return;
+ case "classname":
+ element.setAttribute("class", value);
+ return;
+ case "colspan":
+ element.setAttribute("colspan", value);
+ return;
+ case "text":
+ element.innerText = value;
+ return;
+ case "value":
+ element.value = value;
+ return;
+ case "html":
+ element.innerHTML = value;
+ return;
+ case "onclick":
+ element.onclick = value.bind(element);
+ return;
+ case "onchange":
+ element.onchange = value.bind(element);
+ return;
+ case "onkeydown":
+ element.onkeydown = value.bind(element);
+ return;
+ case "onkeyup":
+ element.onkeyup = value.bind(element);
+ return;
+ case "type":
+ if (elementType === "input") element.setAttribute("type", value);
+ return;
+ case "children":
+ if (value instanceof Array) {
+ value.forEach(child => {
+ const childElement =
+ child instanceof Element ? child : UI.createElement(child);
+ if (!childElement) return;
+ element.appendChild(childElement);
+ });
+ } else {
+ const child = value;
+ const childElement =
+ child instanceof Element ? child : UI.createElement(child);
+ if (!childElement) return;
+ element.appendChild(childElement);
+ element.appendChild(childElement);
+ }
+ return;
+ case "disabled":
+ if (value) element.setAttribute("disabled", true);
+ return;
+ case "checked":
+ if (value) element.setAttribute("checked", true);
+ return;
+ case "indeterminate":
+ element.indeterminate = value;
+ return;
+ }
+ });
+ return element;
+ },
+ getElement: id => {
+ return document.getElementById(id);
+ },
+ getRoot: () => {
+ return document.getElementsByTagName("body")[0];
+ },
+ scrollPositions: {},
+ saveScrollPosition: elementId => {
+ let scrollElement = UI.getElement(elementId);
+ if (!scrollElement) return;
+ UI.scrollPositions[elementId] = {
+ scrollLeft: scrollElement.scrollLeft,
+ scrollRight: scrollElement.scrollRight
+ };
+ },
+ loadScrollPosition: elementId => {
+ let scrollElement = UI.getElement(elementId);
+ if (!scrollElement) return;
+ if (!UI.scrollPositions[elementId]) return;
+ scrollElement.scrollLeft = UI.scrollPositions[elementId].scrollLeft;
+ scrollElement.scrollRight = UI.scrollPositions[elementId].scrollRight;
+ }
+};
diff --git a/testing/web-platform/tests/tools/wave/www/lib/utils.js b/testing/web-platform/tests/tools/wave/www/lib/utils.js
new file mode 100644
index 0000000000..d84a2cb69c
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/utils.js
@@ -0,0 +1,57 @@
+const utils = {
+ parseQuery: queryString => {
+ if (queryString.indexOf("?") === -1) return {};
+ queryString = queryString.split("?")[1];
+ const query = {};
+ for (let part of queryString.split("&")) {
+ const keyValue = part.split("=");
+ query[keyValue[0]] = keyValue[1] ? keyValue[1] : null;
+ }
+ return query;
+ },
+ percent: (count, total) => {
+ const percent = Math.floor((count / total) * 10000) / 100;
+ if (!percent) {
+ return 0;
+ }
+ return percent;
+ },
+ saveBlobAsFile: (blob, filename) => {
+ const url = URL.createObjectURL(blob);
+ const a = document.createElement("a");
+ a.style.display = "none";
+ document.body.appendChild(a);
+ a.href = url;
+ a.download = filename;
+ a.click();
+ document.body.removeChild(a);
+ },
+ millisToTimeString(totalMilliseconds) {
+ let milliseconds = (totalMilliseconds % 1000) + "";
+ milliseconds = milliseconds.padStart(3, "0");
+ let seconds = (Math.floor(totalMilliseconds / 1000) % 60) + "";
+ seconds = seconds.padStart(2, "0");
+ let minutes = (Math.floor(totalMilliseconds / 60000) % 60) + "";
+ minutes = minutes.padStart(2, "0");
+ let hours = Math.floor(totalMilliseconds / 3600000) + "";
+ hours = hours.padStart(2, "0");
+ return `${hours}:${minutes}:${seconds}`;
+ },
+ getBrowserIcon(browser) {
+ switch (browser.toLowerCase()) {
+ case "firefox":
+ return "fab fa-firefox";
+ case "edge":
+ return "fab fa-edge";
+ case "chrome":
+ case "chromium":
+ return "fab fa-chrome";
+ case "safari":
+ case "webkit":
+ return "fab fa-safari";
+ }
+ },
+ copyObject(object) {
+ return JSON.parse(JSON.stringify(object));
+ }
+};
diff --git a/testing/web-platform/tests/tools/wave/www/lib/wave-service.js b/testing/web-platform/tests/tools/wave/www/lib/wave-service.js
new file mode 100644
index 0000000000..f7a60e153d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/lib/wave-service.js
@@ -0,0 +1,866 @@
+function sendRequest(method, uri, headers, data, onSuccess, onError) {
+ var xhr = new XMLHttpRequest();
+ xhr.onload = function () {
+ if (xhr.status === 200) {
+ onSuccess(xhr.response);
+ } else {
+ if (onError) onError(xhr.status, xhr.response);
+ }
+ };
+ xhr.onerror = function () {
+ if (onError) onError();
+ };
+ xhr.open(method, WaveService.uriPrefix + uri, true);
+ for (var header in headers) {
+ xhr.setRequestHeader(header, headers[header]);
+ }
+ xhr.send(data);
+ return xhr;
+}
+
+var WEB_ROOT = "{{WEB_ROOT}}";
+var HTTP_PORT = "{{HTTP_PORT}}";
+var HTTPS_PORT = "{{HTTPS_PORT}}";
+var OPEN = "open";
+var CLOSED = "closed";
+
+var WaveService = {
+ uriPrefix: WEB_ROOT,
+ socket: {
+ state: CLOSED,
+ onMessage: function () {},
+ onOpen: function () {},
+ onClose: function () {},
+ send: function () {},
+ close: function () {},
+ onStateChange: function () {},
+ },
+ // SESSIONS API
+ createSession: function (configuration, onSuccess, onError) {
+ var data = JSON.stringify({
+ tests: configuration.tests,
+ types: configuration.types,
+ timeouts: configuration.timeouts,
+ reference_tokens: configuration.referenceTokens,
+ expiration_date: configuration.expirationDate,
+ labels: configuration.labels,
+ });
+ sendRequest(
+ "POST",
+ "api/sessions",
+ { "Content-Type": "application/json" },
+ data,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject.token);
+ },
+ onError
+ );
+ },
+ readSession: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/sessions/" + token,
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess({
+ token: jsonObject.token,
+ tests: jsonObject.tests,
+ types: jsonObject.types,
+ userAgent: jsonObject.user_agent,
+ labels: jsonObject.labels,
+ timeouts: jsonObject.timeouts,
+ browser: jsonObject.browser,
+ isPublic: jsonObject.is_public,
+ referenceTokens: jsonObject.reference_tokens,
+ });
+ },
+ onError
+ );
+ },
+ readMultipleSessions: function (tokens, onSuccess, onError) {
+ var requestsLeft = tokens.length;
+ if (requestsLeft === 0) onSuccess([]);
+ var configurations = [];
+ for (var i = 0; i < tokens.length; i++) {
+ var token = tokens[i];
+ WaveService.readSession(
+ token,
+ function (configuration) {
+ requestsLeft--;
+ configurations.push(configuration);
+ if (requestsLeft === 0) onSuccess(configurations);
+ },
+ function (status) {
+ if (status === 404) requestsLeft--;
+ if (status !== 404 && onError) onError();
+ if (requestsLeft === 0) onSuccess(configurations);
+ }
+ );
+ }
+ },
+ readSessionStatus: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/sessions/" + token + "/status",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ var dateStarted = null;
+ if (jsonObject.date_started) {
+ dateStarted = new Date(jsonObject.date_started);
+ }
+ var dateFinished = null;
+ if (jsonObject.date_finished) {
+ dateFinished = new Date(jsonObject.date_finished);
+ }
+ var expirationDate = null;
+ if (jsonObject.expiration_date) {
+ expirationDate = new Date(jsonObject.expiration_date);
+ }
+ onSuccess({
+ token: jsonObject.token,
+ dateStarted: dateStarted,
+ dateFinished: dateFinished,
+ testFilesCount: jsonObject.test_files_count,
+ testFilesCompleted: jsonObject.test_files_completed,
+ status: jsonObject.status,
+ expirationDate: expirationDate,
+ });
+ },
+ function () {
+ if (onError) onError();
+ }
+ );
+ },
+ readMultipleSessionStatuses: function (tokens, onSuccess, onError) {
+ var requestsLeft = tokens.length;
+ if (requestsLeft === 0) onSuccess([]);
+ var statuses = [];
+ for (var i = 0; i < tokens.length; i++) {
+ var token = tokens[i];
+ WaveService.readSessionStatus(
+ token,
+ function (status) {
+ requestsLeft--;
+ statuses.push(status);
+ if (requestsLeft === 0) onSuccess(statuses);
+ },
+ function () {
+ requestsLeft--;
+ if (requestsLeft === 0) onSuccess(statuses);
+ }
+ );
+ }
+ },
+ readPublicSessions: function (onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/sessions/public",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject);
+ },
+ onError
+ );
+ },
+ updateSession: function (token, configuration, onSuccess, onError) {
+ var data = JSON.stringify({
+ tests: configuration.tests,
+ types: configuration.types,
+ timeouts: configuration.timeouts,
+ reference_tokens: configuration.referenceTokens,
+ expiration_date: configuration.expirationDate,
+ type: configuration.type,
+ });
+ sendRequest(
+ "PUT",
+ "api/sessions/" + token,
+ { "Content-Type": "application/json" },
+ data,
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ },
+ updateLabels: function (token, labels, onSuccess, onError) {
+ var data = JSON.stringify({ labels: labels });
+ sendRequest(
+ "PUT",
+ "api/sessions/" + token + "/labels",
+ { "Content-Type": "application/json" },
+ data,
+ function () {
+ if (onSuccess) onSuccess();
+ },
+ onError
+ );
+ },
+ findToken: function (fragment, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/sessions/" + fragment,
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject.token);
+ },
+ onError
+ );
+ },
+ startSession: function (token, onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/sessions/" + token + "/start",
+ null,
+ null,
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ },
+ pauseSession: function (token, onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/sessions/" + token + "/pause",
+ null,
+ null,
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ },
+ stopSession: function (token, onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/sessions/" + token + "/stop",
+ null,
+ null,
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ },
+ resumeSession: function (token, resumeToken, onSuccess, onError) {
+ var data = JSON.stringify({ resume_token: resumeToken });
+ sendRequest(
+ "POST",
+ "api/sessions/" + token + "/resume",
+ { "Content-Type": "application/json" },
+ data,
+ function () {
+ if (onSuccess) onSuccess();
+ },
+ function (response) {
+ if (onError) onError(response);
+ }
+ );
+ },
+ deleteSession: function (token, onSuccess, onError) {
+ sendRequest(
+ "DELETE",
+ "api/sessions/" + token,
+ null,
+ null,
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ },
+
+ // TESTS API
+ readTestList: function (onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/tests",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject);
+ },
+ onError
+ );
+ },
+ readNextTest: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/tests/" + token + "/next",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject.next_test);
+ },
+ onError
+ );
+ },
+ readLastCompletedTests: function (token, resultTypes, onSuccess, onError) {
+ var status = "";
+ if (resultTypes) {
+ for (var i = 0; i < resultTypes.length; i++) {
+ var type = resultTypes[i];
+ status += type + ",";
+ }
+ }
+ sendRequest(
+ "GET",
+ "api/tests/" + token + "/last_completed?status=" + status,
+ null,
+ null,
+ function (response) {
+ var tests = JSON.parse(response);
+ var parsedTests = [];
+ for (var status in tests) {
+ for (var i = 0; i < tests[status].length; i++) {
+ var path = tests[status][i];
+ parsedTests.push({ path: path, status: status });
+ }
+ }
+ onSuccess(parsedTests);
+ },
+ onError
+ );
+ },
+ readMalfunctioningTests: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/tests/" + token + "/malfunctioning",
+ null,
+ null,
+ function (response) {
+ var tests = JSON.parse(response);
+ onSuccess(tests);
+ },
+ function (response) {
+ var errorMessage = JSON.parse(response).error;
+ onError(errorMessage);
+ }
+ );
+ },
+ updateMalfunctioningTests: function (
+ token,
+ malfunctioningTests,
+ onSuccess,
+ onError
+ ) {
+ var data = JSON.stringify(malfunctioningTests);
+ sendRequest(
+ "PUT",
+ "api/tests/" + token + "/malfunctioning",
+ { "Content-Type": "application/json" },
+ data,
+ function () {
+ onSuccess();
+ },
+ function (response) {
+ var errorMessage = JSON.parse(response).error;
+ onError(errorMessage);
+ }
+ );
+ },
+ readAvailableApis: function (onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/tests/apis",
+ null,
+ null,
+ function (response) {
+ var apis = JSON.parse(response);
+ onSuccess(apis);
+ },
+ function (response) {
+ if (!onError) return;
+ var errorMessage = JSON.parse(response).error;
+ onError(errorMessage);
+ }
+ );
+ },
+
+ // RESULTS API
+ createResult: function (token, result, onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/results/" + token,
+ { "Content-Type": "application/json" },
+ JSON.stringify(result),
+ function () {
+ onSuccess();
+ },
+ onError
+ );
+ },
+ readResults: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/results/" + token,
+ null,
+ null,
+ function (response) {
+ onSuccess(JSON.parse(response));
+ },
+ onError
+ );
+ },
+ readResultsCompact: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/results/" + token + "/compact",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject);
+ },
+ onError
+ );
+ },
+ readResultComparison: function (tokens, onSuccess, onError) {
+ var comparison = {};
+ var fetchComplete = function (results) {
+ comparison.total = {};
+ for (var i = 0; i < results.length; i++) {
+ var result = results[i];
+ var token = result.token;
+ comparison[token] = {};
+ for (var api in result) {
+ if (api === "token") continue;
+ comparison[token][api] = result[api].pass;
+ if (!comparison.total[api]) {
+ var total = 0;
+ for (var status in result[api]) {
+ total = total + result[api][status];
+ }
+ comparison.total[api] = total;
+ }
+ }
+ }
+ onSuccess(comparison);
+ };
+ var requestsLeft = tokens.length;
+ if (requestsLeft === 0) onSuccess([]);
+ var results = [];
+ for (var i = 0; i < tokens.length; i++) {
+ var token = tokens[i];
+ (function (token) {
+ WaveService.readResultsCompact(
+ token,
+ function (result) {
+ requestsLeft--;
+ result.token = token;
+ results.push(result);
+ if (requestsLeft === 0) fetchComplete(results);
+ },
+ function (responseStatus) {
+ if (responseStatus === 404) requestsLeft--;
+ if (status !== 404 && onError) onError();
+ if (requestsLeft === 0) fetchComplete(results);
+ }
+ );
+ })(token);
+ }
+ },
+ downloadResults: function (token) {
+ location.href = "api/results/" + token + "/export";
+ },
+ downloadApiResult: function (token, api) {
+ location.href = "api/results/" + token + "/" + api + "/json";
+ },
+ downloadAllApiResults: function (token, api) {
+ location.href = "api/results/" + token + "/json";
+ },
+ downloadReport: function (token, api) {
+ location.href = "api/results/" + token + "/" + api + "/report";
+ },
+ importResults: function (data, onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/results/import",
+ { "Content-Type": "application/octet-stream" },
+ data,
+ function (response) {
+ var token = JSON.parse(response).token;
+ onSuccess(token);
+ },
+ function (status, response) {
+ var errorMessage;
+ if (status === 500) {
+ errorMessage = "Internal server error.";
+ } else {
+ errorMessage = JSON.parse(response).error;
+ }
+ onError(errorMessage);
+ }
+ );
+ },
+ readReportUri: function (token, api, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/results/" + token + "/" + api + "/reporturl",
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject.uri);
+ },
+ onError
+ );
+ },
+ downloadMultiReport: function (tokens, api) {
+ location.href = "api/results/" + api + "/report?tokens=" + tokens.join(",");
+ },
+ readMultiReportUri: function (tokens, api, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/results/" + api + "/reporturl?tokens=" + tokens.join(","),
+ null,
+ null,
+ function (response) {
+ var jsonObject = JSON.parse(response);
+ onSuccess(jsonObject.uri);
+ },
+ onError
+ );
+ },
+ downloadResultsOverview: function (token) {
+ location.href = "api/results/" + token + "/overview";
+ },
+
+ // DEVICES API
+ _device_token: null,
+ _deviceEventListeners: {},
+ _deviceEventNumbers: {},
+ registerDevice: function (onSuccess, onError) {
+ sendRequest(
+ "POST",
+ "api/devices",
+ null,
+ null,
+ function (response) {
+ var data = JSON.parse(response);
+ WaveService._device_token = data.token;
+ onSuccess(data.token);
+ },
+ onError
+ );
+ },
+ readDevice: function (token, onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/devices/" + token,
+ null,
+ null,
+ function (response) {
+ if (!onSuccess) return;
+ var data = JSON.parse(response);
+ onSuccess(data);
+ },
+ function (error) {
+ if (!onError) return;
+ onError(error);
+ }
+ );
+ },
+ DEVICE_ADDED_EVENT: "device_added",
+ DEVICE_REMOVED_EVENT: "device_removed",
+ START_SESSION: "start_session",
+ addDeviceEventListener: function (token, callback) {
+ var listeners = WaveService._deviceEventListeners;
+ if (!listeners[token]) listeners[token] = [];
+ listeners[token].push(callback);
+ WaveService._deviceEventListeners = listeners;
+ WaveService.listenDeviceEvents(token);
+ },
+ removeDeviceEventListener: function (callback) {
+ var listeners = WaveService._deviceEventListeners;
+ for (var token of Object.keys(listeners)) {
+ var index = listeners[token].indexOf(callback);
+ if (index === -1) continue;
+ listeners[token].splice(index, 1);
+ break;
+ }
+ WaveService._deviceEventListeners = listeners;
+ },
+ listenDeviceEvents: function (token) {
+ var listeners = WaveService._deviceEventListeners;
+ if (!listeners[token] || listeners.length === 0) return;
+ var url = "api/devices/" + token + "/events";
+ var lastEventNumber = WaveService._deviceEventNumbers[token];
+ if (lastEventNumber) {
+ url += "?last_active=" + lastEventNumber;
+ }
+ WaveService.listenHttpPolling(
+ url,
+ function (response) {
+ if (!response) {
+ WaveService.listenDeviceEvents(token);
+ return;
+ }
+ for (var listener of listeners[token]) {
+ listener(response);
+ }
+ WaveService._deviceEventNumbers[token] = lastEventNumber;
+ WaveService.listenDeviceEvents(token);
+ },
+ function () {
+ setTimeout(function () {
+ WaveService.listenDeviceEvents();
+ }, 1000);
+ }
+ );
+ },
+ sendDeviceEvent: function (device_token, event, onSuccess, onError) {
+ var data = JSON.stringify({
+ type: event.type,
+ data: event.data,
+ });
+ sendRequest(
+ "POST",
+ "api/devices/" + device_token + "/events",
+ { "Content-Type": "application/json" },
+ data,
+ onSuccess,
+ onError
+ );
+ },
+ addGlobalDeviceEventListener: function (callback) {
+ WaveService._globalDeviceEventListeners.push(callback);
+ WaveService.listenGlobalDeviceEvents();
+ },
+ removeGlobalDeviceEventListener: function (callback) {
+ var index = WaveService._globalDeviceEventListeners.indexOf(callback);
+ WaveService._globalDeviceEventListeners.splice(index, 1);
+ },
+ listenGlobalDeviceEvents: function () {
+ var listeners = WaveService._globalDeviceEventListeners;
+ if (listeners.length === 0) return;
+ var query = "";
+ if (WaveService._device_token) {
+ query = "?device_token=" + WaveService._device_token;
+ }
+ WaveService.listenHttpPolling(
+ "api/devices/events" + query,
+ function (response) {
+ if (!response) {
+ WaveService.listenGlobalDeviceEvents();
+ return;
+ }
+ for (var listener of listeners) {
+ listener(response);
+ }
+ WaveService.listenGlobalDeviceEvents();
+ },
+ function () {
+ setTimeout(function () {
+ WaveService.listenGlobalDeviceEvents();
+ }, 1000);
+ }
+ );
+ },
+ sendGlobalDeviceEvent: function (event, onSuccess, onError) {
+ var data = JSON.stringify({
+ type: event.type,
+ data: event.data,
+ });
+ sendRequest(
+ "POST",
+ "api/devices/events",
+ { "Content-Type": "application/json" },
+ data,
+ onSuccess,
+ onError
+ );
+ },
+
+ // GENERAL API
+ readStatus: function (onSuccess, onError) {
+ sendRequest(
+ "GET",
+ "api/status",
+ null,
+ null,
+ function (response) {
+ var data = JSON.parse(response);
+ var configuration = {
+ readSessionsEnabled: data.read_sessions_enabled,
+ importResultsEnabled: data.import_results_enabled,
+ reportsEnabled: data.reports_enabled,
+ versionString: data.version_string,
+ testTypeSelectionEnabled: data.test_type_selection_enabled,
+ testFileSelectionEnabled: data.test_file_selection_enabled
+ };
+ onSuccess(configuration);
+ },
+ onError
+ );
+ },
+
+ // UTILITY
+ addRecentSession: function (token) {
+ if (!token) return;
+ var state = WaveService.getState();
+ if (!state.recent_sessions) state.recent_sessions = [];
+ if (state.recent_sessions.indexOf(token) !== -1) return;
+ state.recent_sessions.unshift(token);
+ WaveService.setState(state);
+ },
+ addRecentSessions: function (tokens) {
+ for (var i = 0; i < tokens.length; i++) {
+ var token = tokens[i];
+ WaveService.addRecentSession(token);
+ }
+ },
+ getPinnedSessions: function () {
+ var state = WaveService.getState();
+ if (!state || !state.pinned_sessions) return [];
+ return state.pinned_sessions;
+ },
+ addPinnedSession: function (token) {
+ if (!token) return;
+ var state = WaveService.getState();
+ if (!state.pinned_sessions) state.pinned_sessions = [];
+ if (state.pinned_sessions.indexOf(token) !== -1) return;
+ state.pinned_sessions.unshift(token);
+ WaveService.setState(state);
+ },
+ getRecentSessions: function () {
+ var state = WaveService.getState();
+ if (!state || !state.recent_sessions) return [];
+ return state.recent_sessions;
+ },
+ setRecentSessions: function (sessionTokens) {
+ var state = WaveService.getState();
+ state.recent_sessions = sessionTokens;
+ WaveService.setState(state);
+ },
+ removePinnedSession: function (token) {
+ if (!token) return;
+ var state = WaveService.getState();
+ if (!state.pinned_sessions) return;
+ var index = state.pinned_sessions.indexOf(token);
+ if (index === -1) return;
+ state.pinned_sessions.splice(index, 1);
+ WaveService.setState(state);
+ },
+ removeRecentSession: function (token) {
+ var state = WaveService.getState();
+ if (!state.recent_sessions) return;
+ var index = state.recent_sessions.indexOf(token);
+ if (index === -1) return;
+ state.recent_sessions.splice(index, 1);
+ WaveService.setState(state);
+ },
+ getState: function () {
+ if (!window.localStorage) return null;
+ var storage = window.localStorage;
+ var state = JSON.parse(storage.getItem("wave"));
+ if (!state) return {};
+ return state;
+ },
+ setState: function (state) {
+ if (!window.localStorage) return null;
+ var storage = window.localStorage;
+ storage.setItem("wave", JSON.stringify(state));
+ },
+ _globalDeviceEventListeners: [],
+ _sessionEventListeners: {},
+ _sessionEventNumbers: {},
+ listenHttpPolling: function (url, onSuccess, onError) {
+ var uniqueId = new Date().getTime();
+ if (url.indexOf("?") === -1) {
+ url = url + "?id=" + uniqueId;
+ } else {
+ url = url + "&id=" + uniqueId;
+ }
+ sendRequest(
+ "GET",
+ url,
+ null,
+ null,
+ function (response) {
+ if (!response) {
+ onSuccess(null);
+ return;
+ }
+ onSuccess(JSON.parse(response));
+ },
+ onError
+ );
+ },
+ addSessionEventListener: function (token, callback) {
+ var listeners = WaveService._sessionEventListeners;
+ if (!listeners[token]) listeners[token] = [];
+ if (listeners[token].indexOf(callback) >= 0) return;
+ listeners[token].push(callback);
+ WaveService._sessionEventListeners = listeners;
+ WaveService.listenSessionEvents(token);
+ },
+ removeSessionEventListener: function (callback) {
+ var listeners = WaveService._sessionEventListeners;
+ for (var token of Object.keys(listeners)) {
+ var index = listeners[token].indexOf(callback);
+ if (index === -1) continue;
+ listeners[token].splice(index, 1);
+ break;
+ }
+ WaveService._sessionEventListeners = listeners;
+ },
+ listenSessionEvents: function (token) {
+ var listeners = WaveService._sessionEventListeners;
+ if (!listeners[token] || listeners.length === 0) return;
+ var url = "api/sessions/" + token + "/events";
+ var lastEventNumber = WaveService._sessionEventNumbers[token];
+ if (lastEventNumber) {
+ url += "?last_event=" + lastEventNumber;
+ }
+ WaveService.listenHttpPolling(
+ url,
+ function (response) {
+ if (!response) {
+ WaveService.listenSessionEvents(token);
+ return;
+ }
+ var lastEventNumber = 0;
+ for (var listener of listeners[token]) {
+ for (var event of response) {
+ if (event.number > lastEventNumber) {
+ lastEventNumber = event.number;
+ }
+ listener(event);
+ }
+ }
+ WaveService._sessionEventNumbers[token] = lastEventNumber;
+ WaveService.listenSessionEvents(token);
+ },
+ function () {
+ setTimeout(function () {
+ WaveService.listenSessionEvents();
+ }, 1000);
+ }
+ );
+ },
+ openSession: function (token) {
+ location.href = "/results.html?token=" + token;
+ },
+};
+
+if (!Object.keys)
+ Object.keys = function (o) {
+ if (o !== Object(o))
+ throw new TypeError("Object.keys called on a non-object");
+ var k = [],
+ p;
+ for (p in o) if (Object.prototype.hasOwnProperty.call(o, p)) k.push(p);
+ return k;
+ };
diff --git a/testing/web-platform/tests/tools/wave/www/newsession.html b/testing/web-platform/tests/tools/wave/www/newsession.html
new file mode 100644
index 0000000000..0ff308c8b4
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/newsession.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>New Session - Web Platform Test Runner</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/style.css" />
+ <link rel="stylesheet" href="css/main.css" />
+ <script src="lib/davidshimjs/qrcode.js"></script>
+ <script src="lib/keycodes.js"></script>
+ <script src="lib/wave-service.js"></script>
+ </head>
+ <body>
+ <section class="section">
+ <div class="container site-header">
+ <img src="res/wavelogo_2016.jpg" alt="WAVE Logo" class="site-logo" />
+ <h1 class="title is-spaced">New Session</h1>
+ </div>
+
+ <div class="container">
+ <div id="content">
+ <div id="qr-code"></div>
+ <br />
+ <p>
+ Scan QR Code OR visit
+ <a
+ id="results-page-url"
+ style="font-weight: bold; color: #23d160;"
+ target="_blank"
+ ></a>
+ and follow instructions
+ </p>
+ <div id="button-wrapper">
+ <button
+ id="start-button"
+ class="button is-large is-success tabbable"
+ >
+ Start
+ </button>
+ <button
+ id="results-button"
+ class="button is-large is-light tabbable"
+ >
+ View Result Page
+ </button>
+ </div>
+
+ <div>(Alternatively to start the test you can just press Return)</div>
+
+ <div id="details-wrapper">
+ <h3 class="title is-5 is-spaced">Details</h3>
+ <div class="detail">
+ <div>Token:</div>
+ <div id="token"></div>
+ </div>
+ <div class="detail">
+ <div>User Agent:</div>
+ <div id="user-agent"></div>
+ </div>
+ <div class="detail">
+ <div>Test Types:</div>
+ <div id="test-types"></div>
+ </div>
+ <div class="detail">
+ <div>Total Test Files:</div>
+ <div id="total-tests"></div>
+ </div>
+ <div class="detail">
+ <div>Reference Tokens:</div>
+ <div id="reference-tokens"></div>
+ </div>
+ <div class="detail">
+ <div>Test Timeouts:</div>
+ <div id="test-timeout"></div>
+ </div>
+ <div class="detail">
+ <div>Test Paths:</div>
+ <div id="test-path"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <script>
+ var HOSTNAME = location.hostname;
+ var PORT = location.port;
+ var PROTOCOL = location.protocol.replace(/:/, "");
+ var QUERY = location.search.replace(/\?/, "");
+ var match = QUERY.match(/token=([^&]+)/);
+ var TOKEN = match ? match[1] : null;
+ var RESUME = /[\?&]resume=/.test(location.search);
+ if (TOKEN)
+ document.cookie = "resume_token=" + TOKEN + "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
+ var selectedTabbable = -1;
+
+ document.onload = function() {
+ if (RESUME) {
+ document.getElementById("start-button").innerHTML = "Resume";
+ document.getElementById("new-button").style.display = "block";
+ }
+ document.getElementById("results-page-url").innerHTML =
+ "http://" + location.host + WEB_ROOT + "overview.html";
+ document.getElementById("results-page-url").href =
+ "http://" + location.host + WEB_ROOT + "overview.html";
+ };
+
+ function displaySessionConfiguration(configuration) {
+ var userAgent = document.getElementById("user-agent");
+ userAgent.innerText = configuration.userAgent;
+ var testPath = document.getElementById("test-path");
+ for (var i = 0; i < configuration.tests.include.length; i++) {
+ var path = configuration.tests.include[i];
+ testPath.innerText += path + "\n";
+ }
+ var testTypes = document.getElementById("test-types");
+ testTypes.innerText = configuration.types.join(", ");
+ var testTimeout = document.getElementById("test-timeout");
+ for (var timeout in configuration.timeouts) {
+ testTimeout.innerText +=
+ timeout + ": " + configuration.timeouts[timeout] / 1000 + "s\n";
+ }
+ var referenceTokens = document.getElementById("reference-tokens");
+ if (configuration.referenceTokens.length === 0) {
+ referenceTokens.innerText = "none";
+ } else {
+ for (var i = 0; i < configuration.referenceTokens.length; i++) {
+ var token = configuration.referenceTokens[i];
+ referenceTokens.innerText += token + "\n";
+ }
+ }
+ }
+
+ function displaySessionStatus(status) {
+ var testTypes = document.getElementById("total-tests");
+ var count = 0;
+ for (var api in status.testFilesCount) {
+ count += status.testFilesCount[api];
+ }
+ testTypes.innerText = count;
+ }
+
+ function startTests() {
+ WaveService.startSession(token, function() {
+ WaveService.readNextTest(token, function(url) {
+ location.href = url;
+ });
+ });
+ }
+
+ var resultsUrl =
+ "http://" + location.host + WEB_ROOT + "results.html" + location.search;
+ new QRCode(document.getElementById("qr-code"), resultsUrl);
+
+ var resultsButton = document.getElementById("results-button");
+ resultsButton.onclick = function() {
+ window.open(resultsUrl, "_blank");
+ };
+
+ var startButton = document.getElementById("start-button");
+ startButton.onclick = startTests;
+
+ function removeClass(element, className) {
+ var elementClass = element.className;
+ var index = elementClass.indexOf(className);
+ if (index !== -1) {
+ element.className = elementClass.replace(className, "");
+ }
+ }
+
+ function addClass(element, className) {
+ element.className += " " + className;
+ }
+
+ function skipFocus(steps) {
+ var tabbables = document.getElementsByClassName("tabbable");
+ if (selectedTabbable === -1) {
+ selectedTabbable = 0;
+ } else {
+ removeClass(tabbables[selectedTabbable], "focused");
+ selectedTabbable += steps;
+ }
+
+ if (selectedTabbable >= tabbables.length) {
+ selectedTabbable = 0;
+ }
+
+ if (selectedTabbable < 0) {
+ selectedTabbable = tabbables.length - 1;
+ }
+
+ tabbables[selectedTabbable].focus();
+ addClass(tabbables[selectedTabbable], "focused");
+ }
+
+ function focusNext() {
+ skipFocus(1);
+ }
+
+ function focusPrevious() {
+ skipFocus(-1);
+ }
+
+ document.onkeydown = function(event) {
+ event = event || window.event;
+ var charCode =
+ typeof event.which === "number" ? event.which : event.keyCode;
+
+ if (ACTION_KEYS.indexOf(charCode) !== -1) {
+ event.preventDefault();
+ if (selectedTabbable === -1) {
+ startTests();
+ return;
+ }
+ var tabbables = document.getElementsByClassName("tabbable");
+ var element = tabbables[selectedTabbable];
+ if (element.type === "checkbox") {
+ element.checked = !element.checked;
+ } else {
+ element.click();
+ }
+ }
+
+ if (PREV_KEYS.indexOf(charCode) !== -1) {
+ focusPrevious();
+ }
+
+ if (NEXT_KEYS.indexOf(charCode) !== -1) {
+ focusNext();
+ }
+ };
+
+ var match = location.search.match(/token=([^&]+)/);
+ var token = match[1];
+ var tokenView = document.getElementById("token");
+ tokenView.innerText = token;
+
+ WaveService.readSession(token, displaySessionConfiguration);
+ WaveService.readSessionStatus(token, displaySessionStatus);
+
+ if (window.localStorage) {
+ var storage = window.localStorage;
+ var state = JSON.parse(storage.getItem("wave"));
+ if (!state) {
+ state = {};
+ }
+ if (!state.recent_sessions) {
+ state.recent_sessions = [];
+ }
+ if (state.recent_sessions.indexOf(token) === -1) {
+ state.recent_sessions.unshift(token);
+ }
+ storage.setItem("wave", JSON.stringify(state));
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/next.html b/testing/web-platform/tests/tools/wave/www/next.html
new file mode 100644
index 0000000000..8412b9234f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/next.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script src="lib/wave-service.js"></script>
+ <script src="lib/screen-console.js"></script>
+ <script src="lib/query-parser.js"></script>
+ </head>
+ <body>
+ <p id="console" style="font-family: monospace;"></p>
+ <script>
+ var consoleElement = document.getElementById("console");
+ var screenConsole = new ScreenConsole(consoleElement);
+ var queryParameters = QueryParser.parseQuery();
+ var TOKEN = queryParameters["token"];
+ if (TOKEN)
+ document.cookie =
+ "resume_token=" + TOKEN + "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
+
+ screenConsole.log("Loading next test ...");
+
+ WaveService.readNextTest(
+ TOKEN,
+ function (url) {
+ screenConsole.log("Redirecting to " + url);
+ location.href = url;
+ },
+ function () {
+ screenConsole.log("Connection failed.");
+ }
+ );
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/overview.html b/testing/web-platform/tests/tools/wave/www/overview.html
new file mode 100644
index 0000000000..48ec3a2514
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/overview.html
@@ -0,0 +1,1315 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>Overview - Web Platform Test</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/fontawesome-5.7.2.min.css" />
+ <script src="lib/utils.js"></script>
+ <script src="lib/wave-service.js"></script>
+ <script src="lib/ui.js"></script>
+ <style>
+ .site-logo {
+ max-width: 300px;
+ margin: 0 0 30px -15px;
+ }
+
+ .disabled-row {
+ color: gray;
+ background: lightgray;
+ }
+ </style>
+ </head>
+ <body>
+ <script>
+ window.onload = () => {
+ const query = utils.parseQuery(location.search);
+ if (query.token) {
+ location.href = WEB_ROOT + "results.html" + location.search;
+ }
+ resultsUi.render();
+ resultsUi.loadData();
+ };
+ var sortDetail = {};
+ const defaultSortDetail = { sortColumn: "dateStarted", ascending: true };
+ sortDetail["recentSessions"] = defaultSortDetail;
+ sortDetail["pinnedSessions"] = defaultSortDetail;
+ sortDetail["publicSessions"] = defaultSortDetail;
+
+ const resultsUi = {
+ state: {
+ comparison: [],
+ recentSessions: null,
+ importResultsEnabled: false,
+ filterLabels: []
+ },
+ loadData() {
+ const pinnedSessions = WaveService.getPinnedSessions().filter(
+ token => !!token
+ );
+ const recentSessions = WaveService.getRecentSessions().filter(
+ token => !!token
+ );
+
+ pinnedSessions.forEach(token => {
+ const index = recentSessions.indexOf(token);
+ if (index !== -1) recentSessions.splice(index, 1);
+ });
+ WaveService.setRecentSessions(recentSessions);
+
+ let allSessions = [];
+ allSessions = allSessions.concat(pinnedSessions);
+ allSessions = allSessions.concat(recentSessions);
+
+ WaveService.readPublicSessions(publicSessions => {
+ publicSessions.forEach(token => {
+ const index = recentSessions.indexOf(token);
+ if (index !== -1) recentSessions.splice(index, 1);
+ });
+ WaveService.setRecentSessions(recentSessions);
+ allSessions = allSessions.concat(publicSessions);
+ WaveService.readMultipleSessions(allSessions, configurations =>
+ WaveService.readMultipleSessionStatuses(allSessions, statuses => {
+ configurations.forEach(configuration => {
+ const status = statuses.find(
+ status => status.token === configuration.token
+ );
+ configuration.dateStarted = status.dateStarted;
+ configuration.dateFinished = status.dateFinished;
+ configuration.status = status.status;
+ });
+
+ configurations = configurations.filter(
+ configuration => !!configuration
+ );
+ allSessions
+ .filter(
+ token =>
+ !configurations.some(
+ configuration => configuration.token === token
+ )
+ )
+ .forEach(token => {
+ WaveService.removePinnedSession(token);
+ WaveService.removeRecentSession(token);
+ });
+ resultsUi.state.publicSessions = publicSessions;
+ resultsUi.state.pinnedSessions = WaveService.getPinnedSessions();
+ resultsUi.state.recentSessions = WaveService.getRecentSessions();
+
+ const sessions = {};
+ configurations.forEach(
+ configuration =>
+ (sessions[configuration.token] = configuration)
+ );
+ resultsUi.state.sessions = sessions;
+
+ const referenceTokens = [];
+ const loadedSessionsTokens = Object.keys(sessions);
+ configurations.forEach(configuration =>
+ configuration.referenceTokens
+ .filter(token => loadedSessionsTokens.indexOf(token) === -1)
+ .forEach(token => referenceTokens.push(token))
+ );
+ WaveService.readMultipleSessions(
+ referenceTokens,
+ configurations => {
+ const { sessions } = resultsUi.state;
+ configurations.forEach(
+ configuration =>
+ (sessions[configuration.token] = configuration)
+ );
+ resultsUi.renderPublicSessions();
+ resultsUi.renderPinnedSessions();
+ resultsUi.renderRecentSessions();
+ }
+ );
+ })
+ );
+ });
+ WaveService.readStatus(function(config) {
+ resultsUi.state.importResultsEnabled = config.importResultsEnabled;
+ resultsUi.state.reportsEnabled = config.reportsEnabled;
+ resultsUi.renderManageSessions();
+ });
+ },
+ findSession(fragment, callback) {
+ if (!fragment || fragment.length < 8) return;
+ WaveService.findToken(
+ fragment,
+ token => {
+ WaveService.readSession(token, session => {
+ WaveService.readSessionStatus(token, status => {
+ session.status = status.status;
+ session.dateStarted = status.dateStarted;
+ session.dateFinished = status.dateFinished;
+ callback(session);
+ });
+ });
+ },
+ () => callback(null)
+ );
+ },
+ addSession(session) {
+ const token = session.token;
+ if (resultsUi.state.sessions[token]) return;
+ resultsUi.state.sessions[token] = session;
+ resultsUi.pinSession(token);
+ },
+ removeSession(token) {
+ delete resultsUi.state.sessions[token];
+ WaveService.removeRecentSession(token);
+ WaveService.removePinnedSession(token);
+ resultsUi.updateSessionState();
+ },
+ showAddSessionError() {
+ const errorBox = UI.getElement("find-error");
+ errorBox.setAttribute("style", "display: block");
+ },
+ hideAddSessionError() {
+ const errorBox = UI.getElement("find-error");
+ errorBox.setAttribute("style", "display: none");
+ },
+ pinSession(token) {
+ WaveService.addPinnedSession(token);
+ WaveService.removeRecentSession(token);
+ resultsUi.updateSessionState();
+ },
+ unpinSession(token) {
+ WaveService.removePinnedSession(token);
+ WaveService.addRecentSession(token);
+ resultsUi.updateSessionState();
+ },
+ updateSessionState() {
+ resultsUi.state.pinnedSessions = WaveService.getPinnedSessions();
+ resultsUi.state.recentSessions = WaveService.getRecentSessions();
+ resultsUi.renderPinnedSessions();
+ resultsUi.renderRecentSessions();
+ },
+ openSessionResult(token) {
+ location.href = `${WEB_ROOT}results.html?token=${token}`;
+ },
+ sortSessions(tableType, column) {
+ if (tableType in sortDetail) {
+ if (sortDetail[tableType].sortColumn == column) {
+ sortDetail[tableType].ascending = !sortDetail[tableType]
+ .ascending;
+ } else {
+ sortDetail[tableType].sortColumn = column;
+ sortDetail[tableType].ascending = true;
+ }
+ switch (tableType) {
+ case "recentSessions":
+ resultsUi.renderRecentSessions();
+ break;
+ case "pinnedSessions":
+ resultsUi.renderPinnedSessions();
+ break;
+ case "publicSessions":
+ resultsUi.renderPublicSessions();
+ break;
+ }
+ }
+ },
+ sortSessionsByColumn(sessions, recentSessions, column, ascending) {
+ var resultArray = recentSessions
+ .map(token => sessions[token])
+ .sort(function(sessionA, sessionB) {
+ let columnA = sessionA[column];
+ if (column === "browser")
+ columnA = sessionA[column].name + sessionA[column].version;
+ if (column === "dateStarted" && !columnA) {
+ columnA = Date.now();
+ }
+ let columnB = sessionB[column];
+ if (column === "browser")
+ columnB = sessionB[column].name + sessionA[column].version;
+ if (column === "dateStarted" && !columnB) {
+ columnB = Date.now();
+ }
+ if (columnA < columnB) {
+ return -1;
+ }
+ if (columnA > columnB) {
+ return 1;
+ }
+ return 0;
+ });
+ if (ascending) {
+ resultArray.reverse();
+ }
+ return resultArray;
+ },
+ compareSessions(reftokens) {
+ if (!resultsUi.isComparisonValid()) return;
+ const tokens = resultsUi.state.comparison;
+ if (!tokens || tokens.length === 0) return;
+ const refQuery = reftokens ? `&reftokens=${reftokens}` : "";
+ location.href = `${WEB_ROOT}comparison.html?tokens=${tokens.join(
+ ","
+ )}${refQuery}`;
+ },
+ isComparisonValid() {
+ const { comparison, sessions } = resultsUi.state;
+ if (!comparison) return false;
+ if (comparison.length <= 1) return false;
+ const comparingSessions = comparison.map(token => sessions[token]);
+ const referenceTokens = comparingSessions[0].referenceTokens;
+ for (let comparingSession of comparingSessions) {
+ const comparingReferenceTokens = comparingSession.referenceTokens;
+ if (referenceTokens.length !== comparingReferenceTokens.length)
+ return false;
+ for (let token of comparingReferenceTokens) {
+ if (referenceTokens.indexOf(token) === -1) return false;
+ }
+ }
+ return true;
+ },
+ isSessionValidForComparison(session) {
+ if (!session) return false;
+ if (session.status !== "completed" && session.status !== "aborted")
+ return false;
+ const sessionRefTokens = session.reference_tokens;
+ const comparisonSession =
+ resultsUi.state.sessions[resultsUi.state.comparison[0]];
+ if (!comparisonSession) return true;
+ const comparisonRefTokens = comparisonSession.reference_tokens;
+ if (!comparisonRefTokens) return true;
+ if (sessionRefTokens.length !== comparisonRefTokens.length)
+ return false;
+ if (
+ sessionRefTokens.some(
+ token => comparisonRefTokens.indexOf(token) === -1
+ )
+ )
+ return false;
+ return true;
+ },
+ isSessionSelectedForComparison(session) {
+ return resultsUi.state.comparison.indexOf(session.token) !== -1;
+ },
+ isSessionDisabled(session) {
+ return (
+ resultsUi.state.comparison.length > 0 &&
+ !resultsUi.isSessionValidForComparison(session)
+ );
+ },
+ addSessionToComparison(token) {
+ if (resultsUi.state.comparison.indexOf(token) !== -1) return;
+ resultsUi.state.comparison.push(token);
+ resultsUi.updateCompareButton();
+ resultsUi.renderSessions();
+ },
+ removeSessionFromComparison(token) {
+ const index = resultsUi.state.comparison.indexOf(token);
+ if (index === -1) return;
+ resultsUi.state.comparison.splice(index, 1);
+ resultsUi.updateCompareButton();
+ resultsUi.renderSessions();
+ },
+ handleAddSession() {
+ const tokenFragmentInput = UI.getElement("token-fragment");
+ const fragment = tokenFragmentInput.value;
+ resultsUi.findSession(fragment, session => {
+ if (!session) {
+ resultsUi.showAddSessionError();
+ return;
+ }
+ tokenFragmentInput.value = "";
+ resultsUi.hideAddSessionError();
+ resultsUi.addSession(session);
+ });
+ },
+ handleImportSession() {
+ resultsUi.state.importError = null;
+ resultsUi.state.importInProgress = true;
+ resultsUi.renderManageSessions();
+ const { importSessionFile: file } = resultsUi.state;
+ const reader = new FileReader();
+ reader.readAsArrayBuffer(file);
+ reader.onload = () => {
+ const data = reader.result;
+ WaveService.importResults(
+ data,
+ function(token) {
+ location.href = WEB_ROOT + "results.html?token=" + token;
+ },
+ function(error) {
+ resultsUi.state.importError = error;
+ resultsUi.state.importInProgress = false;
+ resultsUi.renderManageSessions();
+ }
+ );
+ };
+ },
+ handleImportSessionSelection() {
+ const file = UI.getElement("import-session-file").files[0];
+ resultsUi.state.importSessionFile = file;
+ resultsUi.renderManageSessions();
+ },
+ addFilterLabel() {
+ const label = UI.getElement("filter-label-input").value;
+ if (!label) return;
+ const { filterLabels } = resultsUi.state;
+ if (filterLabels.indexOf(label) !== -1) return;
+ filterLabels.push(label);
+ resultsUi.renderSessions();
+ UI.getElement("filter-label-input").focus();
+ },
+ removeFilterLabel(index) {
+ resultsUi.state.filterLabels.splice(index, 1);
+ resultsUi.renderSessions();
+ },
+ showAddFilterLabel() {
+ resultsUi.state.addFilterLabelVisible = true;
+ resultsUi.renderSessions();
+ UI.getElement("filter-label-input").focus();
+ },
+ hideAddFilterLabel() {
+ resultsUi.state.addFilterLabelVisible = false;
+ resultsUi.renderSessions();
+ },
+ render() {
+ const { getRoot, createElement, getElement } = UI;
+ const resultsView = UI.createElement({
+ className: "section",
+ children: [
+ {
+ className: "container",
+ style: "margin-bottom: 2em",
+ children: [
+ {
+ element: "img",
+ src: "res/wavelogo_2016.jpg",
+ className: "site-logo"
+ },
+ { text: "Results Overview", className: "title" }
+ ]
+ },
+ {
+ id: "manage-sessions",
+ className: "container",
+ style: "margin-bottom: 2em"
+ },
+ { id: "sessions", className: "container" }
+ ]
+ });
+
+ const root = UI.getRoot();
+ root.innerHTML = "";
+ root.appendChild(resultsView);
+
+ resultsUi.renderManageSessions();
+ resultsUi.renderSessions();
+ },
+ renderManageSessions() {
+ const manageSessionsView = UI.getElement("manage-sessions");
+ manageSessionsView.innerHTML = "";
+ const heading = { text: "Manage Sessions", className: "title is-4" };
+ const addCompareSessions = {
+ className: "columns",
+ children: [
+ {
+ className: "column",
+ children: [
+ { text: "Add Sessions", className: "title is-5" },
+ {
+ element: "article",
+ className: "message is-danger",
+ id: "find-error",
+ children: [
+ {
+ text:
+ "Could not find any sessions! Try adding more characters of the token.",
+ className: "message-body"
+ }
+ ],
+ style: "display: none"
+ },
+ {
+ className: "field",
+ children: [
+ {
+ className: "label has-text-weight-normal",
+ text: "Session token:"
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: {
+ style: "display: flex; margin-bottom: 10px;",
+ children: [
+ {
+ element: "input",
+ inputType: "text",
+ className: "input is-family-monospace",
+ id: "token-fragment",
+ placeholder:
+ "First 8 characters or more of session token",
+ onKeyDown: event =>
+ event.key === "Enter"
+ ? resultsUi.handleAddSession()
+ : null
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ className: "field is-grouped is-grouped-right",
+ children: {
+ className: "control",
+ children: {
+ className: "button is-dark is-outlined",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-plus"
+ }
+ ]
+ },
+ { text: "Add Session", element: "span" }
+ ],
+ onclick: resultsUi.handleAddSession
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ className: "column",
+ children: [
+ { text: "Compare Sessions", className: "title is-5" },
+ {
+ element: "label",
+ text:
+ "Compare sessions by selecting them in the list below. " +
+ "Only sessions with the same set of reference sessions can be compared. " +
+ "Sessions have to be finished."
+ },
+ {
+ style: "text-align: right",
+ children: [
+ {
+ className: "button is-dark is-outlined",
+ disabled: true,
+ id: "compare-button",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-balance-scale"
+ }
+ ]
+ },
+ { text: "Compare Selected", element: "span" }
+ ],
+ onClick: () => resultsUi.compareSessions()
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ };
+ const {
+ importSessionFile,
+ importError,
+ importInProgress
+ } = resultsUi.state;
+ const importSessions = {
+ className: "columns",
+ style: "margin-bottom: 2em",
+ children: [
+ {
+ className: "column is-half",
+ children: [
+ { text: "Import Sessions", className: "title is-5" },
+ {
+ element: "article",
+ className: "message is-danger",
+ children: [
+ {
+ className: "message-body",
+ text: "Could not import session: " + importError
+ }
+ ],
+ style: importError ? "" : "display: none"
+ },
+ {
+ className: "field file has-name",
+ children: [
+ {
+ element: "label",
+ className: "file-label",
+ style: "width: 100%",
+ children: [
+ {
+ element: "input",
+ className: "file-input",
+ type: "file",
+ accept: ".zip",
+ id: "import-session-file",
+ onChange: resultsUi.handleImportSessionSelection
+ },
+ {
+ element: "span",
+ className: "file-cta",
+ children: [
+ {
+ element: "span",
+ className: "file-icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-upload"
+ }
+ ]
+ },
+ {
+ element: "span",
+ className: "file-label",
+ text: "Choose ZIP file"
+ }
+ ]
+ },
+ {
+ element: "span",
+ className: "file-name",
+ style: "width: 100%; max-width: unset",
+ text: importSessionFile
+ ? importSessionFile.name
+ : ""
+ }
+ ]
+ }
+ ]
+ },
+ {
+ className: "field is-grouped is-grouped-right",
+ children: {
+ className: "control",
+ children: {
+ className: "button is-dark is-outlined",
+ disabled: !importSessionFile,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: importInProgress
+ ? "fas fa-spinner fa-pulse"
+ : "fas fa-plus"
+ }
+ ]
+ },
+ { text: "Import Session", element: "span" }
+ ],
+ onclick: resultsUi.handleImportSession
+ }
+ }
+ }
+ ]
+ },
+ {
+ className: "column",
+ children: []
+ }
+ ]
+ };
+ const { importResultsEnabled } = resultsUi.state;
+ manageSessionsView.appendChild(UI.createElement(heading));
+ manageSessionsView.appendChild(UI.createElement(addCompareSessions));
+ if (!importResultsEnabled) return;
+ manageSessionsView.appendChild(UI.createElement(importSessions));
+ },
+ renderSessions() {
+ const sessionsView = UI.getElement("sessions");
+ sessionsView.innerHTML = "";
+ sessionsView.appendChild(
+ UI.createElement({ text: "Sessions", className: "title is-4" })
+ );
+
+ const sessionFilters = resultsUi.createSessionFilters();
+ sessionsView.appendChild(sessionFilters);
+
+ sessionsView.appendChild(UI.createElement({ id: "public-sessions" }));
+ sessionsView.appendChild(UI.createElement({ id: "pinned-sessions" }));
+ sessionsView.appendChild(UI.createElement({ id: "recent-sessions" }));
+ sessionsView.appendChild(UI.createElement({ id: "session-status" }));
+ resultsUi.renderPublicSessions();
+ resultsUi.renderPinnedSessions();
+ resultsUi.renderRecentSessions();
+ },
+ renderPublicSessions() {
+ resultsUi.renderSessionStatus();
+ const { sessions, publicSessions, filterLabels } = resultsUi.state;
+
+ UI.saveScrollPosition("public-sessions-overflow");
+
+ const publicSessionsView = UI.getElement("public-sessions");
+ publicSessionsView.innerHTML = "";
+
+ if (!publicSessions || publicSessions.length === 0) return;
+ const sortedPublicSessions = resultsUi.sortSessionsByColumn(
+ sessions,
+ publicSessions,
+ sortDetail["publicSessions"].sortColumn,
+ sortDetail["publicSessions"].ascending
+ );
+
+ const filteredPublicSessions = sortedPublicSessions.filter(
+ session =>
+ filterLabels.length === 0 ||
+ filterLabels.reduce(
+ (match, label) =>
+ match &&
+ session.labels
+ .map(label => label.toLowerCase())
+ .indexOf(label.toLowerCase()) !== -1,
+ true
+ )
+ );
+
+ if (filteredPublicSessions.length === 0) return;
+
+ publicSessionsView.appendChild(
+ UI.createElement({
+ text: "Reference Browsers",
+ className: "title is-5"
+ })
+ );
+
+ const sessionsTable = UI.createElement({
+ style: "overflow-x: auto",
+ id: "public-sessions-overflow",
+ children: resultsUi.createSessionsTable(
+ "publicSessions",
+ filteredPublicSessions,
+ { static: true }
+ )
+ });
+ publicSessionsView.appendChild(sessionsTable);
+
+ publicSessionsView.appendChild(
+ UI.createElement({ style: "content: ''; margin-bottom: 40px" })
+ );
+
+ UI.loadScrollPosition("public-sessions-overflow")
+ },
+ renderPinnedSessions() {
+ resultsUi.renderSessionStatus();
+ const { sessions, pinnedSessions, filterLabels } = resultsUi.state;
+
+ UI.saveScrollPosition("pinned-sessions-overflow");
+ const pinnedSessionsView = UI.getElement("pinned-sessions");
+ pinnedSessionsView.innerHTML = "";
+ if (!pinnedSessions || pinnedSessions.length === 0) return;
+ const sortedPinnedSessions = resultsUi.sortSessionsByColumn(
+ sessions,
+ pinnedSessions,
+ sortDetail["pinnedSessions"].sortColumn,
+ sortDetail["pinnedSessions"].ascending
+ );
+ const filteredPinnedSessions = sortedPinnedSessions.filter(
+ session =>
+ filterLabels.length === 0 ||
+ filterLabels.reduce(
+ (match, label) =>
+ match &&
+ session.labels
+ .map(label => label.toLowerCase())
+ .indexOf(label.toLowerCase()) !== -1,
+ true
+ )
+ );
+
+ if (filteredPinnedSessions.length === 0) return;
+
+ pinnedSessionsView.appendChild(
+ UI.createElement({ text: "Pinned", className: "title is-5" })
+ );
+
+ const sessionsTable = UI.createElement({
+ style: "overflow-x: auto",
+ id: "pinned-sessions-overflow",
+ children: resultsUi.createSessionsTable(
+ "pinnedSessions",
+ filteredPinnedSessions,
+ { pinned: true }
+ )
+ });
+ pinnedSessionsView.appendChild(sessionsTable);
+
+ pinnedSessionsView.appendChild(
+ UI.createElement({ style: "content: ''; margin-bottom: 40px" })
+ );
+ UI.loadScrollPosition("pinned-sessions-overflow");
+ },
+ renderRecentSessions() {
+ resultsUi.renderSessionStatus();
+ const {
+ sessions,
+ recentSessions,
+ pinnedSessions,
+ filterLabels
+ } = resultsUi.state;
+ UI.saveScrollPosition("recent-sessions-overflow");
+ const recentSessionsView = UI.getElement("recent-sessions");
+ recentSessionsView.innerHTML = "";
+ if (!recentSessions || recentSessions.length === 0) return;
+
+ const sortedRecentSessions = resultsUi.sortSessionsByColumn(
+ sessions,
+ recentSessions,
+ sortDetail["recentSessions"].sortColumn,
+ sortDetail["recentSessions"].ascending
+ );
+ const filteredRecentSessions = sortedRecentSessions.filter(
+ session =>
+ filterLabels.length === 0 ||
+ filterLabels.reduce(
+ (match, label) =>
+ match &&
+ session.labels
+ .map(label => label.toLowerCase())
+ .indexOf(label.toLowerCase()) !== -1,
+ true
+ )
+ );
+
+ if (filteredRecentSessions.length === 0) return;
+
+ recentSessionsView.appendChild(
+ UI.createElement({ text: "Recent", className: "title is-5" })
+ );
+
+ const sessionsTable = UI.createElement({
+ style: "overflow-x: auto",
+ id: "recent-sessions-overflow",
+ children: resultsUi.createSessionsTable(
+ "recentSessions",
+ filteredRecentSessions,
+ { pinned: false }
+ )
+ });
+ recentSessionsView.appendChild(sessionsTable);
+
+ recentSessionsView.appendChild(
+ UI.createElement({ style: "content: ''; margin-bottom: 40px" })
+ );
+ UI.loadScrollPosition("recent-sessions-overflow");
+ },
+ renderSessionStatus() {
+ const {
+ recentSessions,
+ pinnedSessions,
+ publicSessions
+ } = resultsUi.state;
+ const sessionStatusView = UI.getElement("session-status");
+ sessionStatusView.innerHTML = "";
+ if (!recentSessions && !pinnedSessions && !publicSessions) {
+ sessionStatusView.appendChild(
+ UI.createElement({
+ className: "level",
+ children: {
+ element: "span",
+ className: "level-item",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-spinner fa-pulse"
+ },
+ {
+ style: "margin-left: 0.4em;",
+ text: "Loading sessions ..."
+ }
+ ]
+ }
+ })
+ );
+ return;
+ } else if (
+ (!recentSessions || recentSessions.length === 0) &&
+ (!pinnedSessions || pinnedSessions.length === 0) &&
+ (!publicSessions || publicSessions.length === 0)
+ ) {
+ sessionStatusView.appendChild(
+ UI.createElement({
+ className: "level",
+ children: {
+ element: "span",
+ className: "level-item",
+ text: "No sessions available."
+ }
+ })
+ );
+ return;
+ }
+ },
+ createSessionFilters() {
+ const { filterLabels, addFilterLabelVisible } = resultsUi.state;
+
+ const filters = UI.createElement({
+ className: "field is-horizontal",
+ style: "margin-bottom: 2em",
+ children: [
+ {
+ className: "field-label",
+ style: "flex: unset",
+ children: {
+ className: "label has-text-weight-normal",
+ text: "Filter by labels:"
+ }
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "control",
+ children: {
+ className: "field is-grouped is-grouped-multiline",
+ children: filterLabels
+ .map((label, index) => ({
+ className: "control",
+ children: {
+ className: "tags has-addons",
+ children: [
+ {
+ element: "span",
+ className: "tag is-info",
+ text: label
+ },
+ {
+ element: "a",
+ className: "tag is-delete",
+ onClick: () => resultsUi.removeFilterLabel(index)
+ }
+ ]
+ }
+ }))
+ .concat(
+ addFilterLabelVisible
+ ? [
+ {
+ className: "control field is-grouped",
+ children: [
+ {
+ element: "input",
+ className: "input is-small control",
+ style: "width: 10rem",
+ id: "filter-label-input",
+ type: "text",
+ onKeyUp: event =>
+ event.keyCode === 13
+ ? resultsUi.addFilterLabel()
+ : null
+ },
+ {
+ className:
+ "button is-dark is-outlined is-small is-rounded control",
+ text: "save",
+ onClick: resultsUi.addFilterLabel
+ },
+ {
+ className:
+ "button is-dark is-outlined is-small is-rounded control",
+ text: "cancel",
+ onClick: resultsUi.hideAddFilterLabel
+ }
+ ]
+ }
+ ]
+ : [
+ {
+ className: "button is-rounded is-small",
+ text: "Add",
+ onClick: resultsUi.showAddFilterLabel
+ }
+ ]
+ )
+ }
+ }
+ }
+ ]
+ });
+ return filters;
+ },
+ createSessionsTable(
+ tableType,
+ sessions,
+ { pinned = false, static = false } = {}
+ ) {
+ const getTagStyle = status => {
+ switch (status) {
+ case "completed":
+ return "is-success";
+ case "running":
+ return "is-info";
+ case "aborted":
+ return "is-danger";
+ case "paused":
+ return "is-warning";
+ case "pending":
+ return "is-primary";
+ }
+ };
+ var sortIcon = null;
+ if (tableType in sortDetail) {
+ sortIcon = sortDetail[tableType].ascending
+ ? "fas fa-sort-down"
+ : "fas fa-sort-up";
+ }
+ return UI.createElement({
+ element: "table",
+ className: "table is-bordered is-hoverable is-fullwidth",
+ children: [
+ {
+ element: "thead",
+ children: {
+ element: "tr",
+ children: [
+ {
+ element: "td",
+ style: "text-decoration: underline dotted;",
+ text: "Cp",
+ className: "is-narrow",
+ title: "Select for comparison"
+ },
+ {
+ element: "td",
+ text: "Token",
+ className: "is-narrow",
+ onclick: () => resultsUi.sortSessions(tableType, "token"),
+ style: "cursor: pointer;",
+ children: [
+ {
+ element: "i",
+ className: sortIcon,
+ style:
+ "padding-left: 20px; visibility:" +
+ (sortIcon &&
+ sortDetail[tableType].sortColumn == "token"
+ ? "visible;"
+ : "hidden;")
+ }
+ ]
+ },
+ {
+ element: "td",
+ text: "Browser",
+ onclick: () =>
+ resultsUi.sortSessions(tableType, "browser"),
+ style: "cursor: pointer;",
+ className: "is-narrow",
+ children: [
+ {
+ element: "i",
+ className: sortIcon,
+ style:
+ "padding-left: 20px; visibility:" +
+ (sortIcon &&
+ sortDetail[tableType].sortColumn == "browser"
+ ? "visible;"
+ : "hidden;")
+ }
+ ]
+ },
+ {
+ element: "td",
+ text: "Status",
+ onclick: () =>
+ resultsUi.sortSessions(tableType, "status"),
+ style: "cursor: pointer",
+ className: "is-narrow",
+ children: [
+ {
+ element: "i",
+ className: sortIcon,
+ style:
+ "padding-left: 20px; visibility:" +
+ (sortIcon &&
+ sortDetail[tableType].sortColumn == "status"
+ ? "visible;"
+ : "hidden;")
+ }
+ ]
+ },
+ {
+ element: "td",
+ text: "Date Started",
+ onclick: () =>
+ resultsUi.sortSessions(tableType, "dateStarted"),
+ style: "cursor: pointer;",
+ className: "is-narrow",
+ children: [
+ {
+ element: "i",
+ className: sortIcon,
+ style:
+ "padding-left: 20px; visibility:" +
+ (sortIcon &&
+ sortDetail[tableType].sortColumn == "dateStarted"
+ ? "visible;"
+ : "hidden;")
+ }
+ ]
+ },
+ {
+ element: "td",
+ text: "Labels",
+ style: "cursor: pointer; width: 18rem"
+ },
+ static
+ ? null
+ : {
+ element: "td",
+ text: "RefS",
+ title: "Reference Sessions",
+ style: "text-decoration: underline dotted;",
+ className: "is-narrow"
+ },
+ static
+ ? null
+ : {
+ element: "td",
+ colspan: 2,
+ text: "Options",
+ className: "is-narrow"
+ }
+ ]
+ }
+ },
+ {
+ element: "tbody",
+ children: sessions.map(session => ({
+ element: "tr",
+ className: resultsUi.isSessionDisabled(session)
+ ? "disabled-row"
+ : "",
+ style: "cursor: pointer",
+ onclick: () => resultsUi.openSessionResult(session.token),
+ children: [
+ {
+ element: "td",
+ onclick: event => event.stopPropagation(),
+ style: "vertical-align: middle;",
+ children: [
+ {
+ element: "input",
+ className: "checkbox",
+ style:
+ "width: 18px; height: 18px; margin-top: 0.55em",
+ type: "checkbox",
+ disabled: !resultsUi.isSessionValidForComparison(
+ session
+ ),
+ checked: resultsUi.isSessionSelectedForComparison(
+ session
+ ),
+ onchange: event =>
+ event.target.checked
+ ? resultsUi.addSessionToComparison(session.token)
+ : resultsUi.removeSessionFromComparison(
+ session.token
+ )
+ }
+ ]
+ },
+ {
+ element: "td",
+ className: "is-family-monospace",
+ style: "vertical-align: middle;",
+ text: session.token.split("-").shift()
+ },
+ {
+ element: "td",
+ style: "vertical-align: middle; white-space: nowrap",
+ text: session.browser.name + " " + session.browser.version
+ },
+ {
+ element: "td",
+ style: "vertical-align: middle; text-align: center",
+ children: [
+ {
+ className: `tag ${getTagStyle(session.status)}`,
+ text: session.status
+ }
+ ]
+ },
+ {
+ element: "td",
+ style: "vertical-align: middle; white-space: nowrap",
+ text: session.dateStarted
+ ? new Date(session.dateStarted).toLocaleString()
+ : "not started"
+ },
+ {
+ element: "td",
+ children: {
+ className: "tags field is-grouped isgrouped-multiline",
+ style: "min-width: 10em",
+ children: session.labels.map(label => ({
+ className: "control",
+ children: {
+ element: "span",
+ className: "tag is-info",
+ text: label
+ }
+ }))
+ }
+ },
+ static
+ ? null
+ : {
+ element: "td",
+ title: session.referenceTokens
+ .map(token => token.split("-").shift())
+ .sort((tokenA, tokenB) => tokenA - tokenB)
+ .join("\n"),
+ style: "white-space:nowrap",
+ children: (() => {
+ const tokens = session.referenceTokens.slice();
+ let overflow = 0;
+ if (tokens.length > 3) {
+ overflow = tokens.length - 2;
+ }
+ if (overflow > 0) tokens.splice(2, overflow + 2);
+ const children = tokens.map(token => {
+ let icon = "";
+ const session = resultsUi.state.sessions[token];
+ switch (session.browser.name.toLowerCase()) {
+ case "firefox":
+ icon = "fab fa-firefox";
+ break;
+ case "edge":
+ icon = "fab fa-edge";
+ break;
+ case "chrome":
+ case "chromium":
+ icon = "fab fa-chrome";
+ break;
+ case "safari":
+ case "webkit":
+ icon = "fab fa-safari";
+ break;
+ }
+ return {
+ element: "span",
+ style:
+ "margin-right: 5px; vertical-align: middle;",
+ children: { element: "i", className: icon }
+ };
+ });
+
+ if (overflow > 0)
+ children.push({
+ element: "span",
+ style: "vertical-align: middle",
+ className: "is-size-7",
+ text: `+${overflow}`
+ });
+
+ return children;
+ })()
+ },
+ static
+ ? null
+ : {
+ element: "td",
+ style: "vertical-align: middle; text-align: center",
+ className: "is-paddingless",
+ children: [
+ {
+ className: "button is-dark is-outlined is-small",
+ title: pinned ? "Unpin session" : "Pin session",
+ style: "margin: 5px",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-thumbtack",
+ style: pinned
+ ? ""
+ : "transform: rotate(45deg)"
+ }
+ ]
+ }
+ ],
+ onclick: event => {
+ event.stopPropagation();
+ if (pinned) {
+ resultsUi.unpinSession(session.token);
+ } else {
+ resultsUi.pinSession(session.token);
+ }
+ }
+ }
+ ]
+ },
+ static
+ ? null
+ : {
+ element: "td",
+ style: "vertical-align: middle; text-align: center",
+ className: "is-paddingless",
+ children: [
+ {
+ className: "button is-dark is-outlined is-small",
+ title: "Remove session from list",
+ style: "margin: 5px",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-trash-alt"
+ }
+ ]
+ }
+ ],
+ onclick: event => {
+ event.stopPropagation();
+ resultsUi.removeSession(session.token);
+ }
+ }
+ ]
+ }
+ ]
+ }))
+ }
+ ]
+ });
+ },
+ updateCompareButton: () => {
+ const compareButton = UI.getElement("compare-button");
+ if (resultsUi.isComparisonValid()) {
+ compareButton.removeAttribute("disabled");
+ } else {
+ compareButton.setAttribute("disabled", true);
+ }
+ }
+ };
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/pause.html b/testing/web-platform/tests/tools/wave/www/pause.html
new file mode 100644
index 0000000000..4e52b6673d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/pause.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>Session Paused - Web Platform Test Runner</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/style.css" />
+ <link rel="stylesheet" href="css/main.css" />
+ <script src="lib/davidshimjs/qrcode.js"></script>
+ <script src="lib/keycodes.js"></script>
+ <script src="lib/wave-service.js"></script>
+ </head>
+ <body>
+ <section class="section">
+ <div class="container site-header">
+ <img src="res/wavelogo_2016.jpg" alt="WAVE Logo" class="site-logo" />
+ <h1 class="title is-spaced">Session Paused</h1>
+ </div>
+
+ <div id="content">
+ <div id="qr-code"></div>
+ <div id="button-wrapper">
+ <button
+ id="start-button"
+ class="button is-large is-success tabbable"
+ >
+ Continue
+ </button>
+ <button
+ id="results-button"
+ class="button is-large is-light tabbable"
+ >
+ View Result Page
+ </button>
+ </div>
+ <div>(Alternatively to resume the test you can just press Return)</div>
+ <div id="details-wrapper">
+ <h3 class="title is-5 is-spaced">Details</h3>
+ <div class="detail">
+ <div>Token:</div>
+ <div id="token"></div>
+ </div>
+ <div class="detail">
+ <div>User Agent:</div>
+ <div id="user-agent"></div>
+ </div>
+ <div class="detail">
+ <div>Test Types:</div>
+ <div id="test-types"></div>
+ </div>
+ <div class="detail">
+ <div>Total Test Files:</div>
+ <div id="total-tests"></div>
+ </div>
+ <div class="detail">
+ <div>Reference Tokens:</div>
+ <div id="reference-tokens"></div>
+ </div>
+ <div class="detail">
+ <div>Test Timeouts:</div>
+ <div id="test-timeout"></div>
+ </div>
+ <div class="detail">
+ <div>Test Paths:</div>
+ <div id="test-path"></div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <script>
+ var HOSTNAME = location.hostname;
+ var PORT = location.port;
+ var PROTOCOL = location.protocol.replace(/:/, "");
+ var QUERY = location.search.replace(/\?/, "");
+ var match = QUERY.match(/token=([^&]+)/);
+ var TOKEN = match ? match[1] : null;
+ if (TOKEN)
+ document.cookie = "resume_token=" + TOKEN + "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
+ var selectedTabbable = -1;
+
+ function displaySessionConfiguration(configuration) {
+ var userAgent = document.getElementById("user-agent");
+ userAgent.innerText = configuration.userAgent;
+ var testPath = document.getElementById("test-path");
+ for (var i = 0; i < configuration.tests.include.length; i++) {
+ var path = configuration.tests.include[i];
+ testPath.innerText += path + "\n";
+ }
+ var testTypes = document.getElementById("test-types");
+ testTypes.innerText = configuration.types.join(", ");
+ var testTimeout = document.getElementById("test-timeout");
+ for (var timeout in configuration.timeouts) {
+ testTimeout.innerText +=
+ timeout + ": " + configuration.timeouts[timeout] / 1000 + "s\n";
+ }
+ var referenceTokens = document.getElementById("reference-tokens");
+ if (configuration.referenceTokens.length === 0) {
+ referenceTokens.innerText = "none";
+ } else {
+ for (var i = 0; i < configuration.referenceTokens.length; i++) {
+ var token = configuration.referenceTokens[i];
+ referenceTokens.innerText += token + "\n";
+ }
+ }
+ }
+
+ function displaySessionStatus(status) {
+ var testTypes = document.getElementById("total-tests");
+ var count = 0;
+ for (var api in status.testFilesCount) {
+ count += status.testFilesCount[api];
+ }
+ testTypes.innerText = count;
+ }
+
+ function continueTests() {
+ WaveService.startSession(TOKEN, function() {
+ WaveService.readNextTest(TOKEN, function(url) {
+ location.href = url;
+ });
+ });
+ }
+
+ WaveService.addSessionEventListener(TOKEN, function(message) {
+ if (message.type !== "status") return;
+ if (message.data !== "running") return;
+ WaveService.readNextTest(TOKEN, function(url) {
+ location.href = url;
+ });
+ });
+
+ var resultsUrl =
+ "http://" + location.host + WEB_ROOT + "overview.html" + location.search;
+ new QRCode(document.getElementById("qr-code"), resultsUrl);
+
+ var resultsButton = document.getElementById("results-button");
+ resultsButton.onclick = function() {
+ window.open(resultsUrl, "_blank");
+ };
+
+ var continueButton = document.getElementById("start-button");
+ continueButton.onclick = continueTests;
+
+ function removeClass(element, className) {
+ var elementClass = element.className;
+ var index = elementClass.indexOf(className);
+ if (index !== -1) {
+ element.className = elementClass.replace(className, "");
+ }
+ }
+
+ function addClass(element, className) {
+ element.className += " " + className;
+ }
+
+ function skipFocus(steps) {
+ var tabbables = document.getElementsByClassName("tabbable");
+ if (selectedTabbable === -1) {
+ selectedTabbable = 0;
+ } else {
+ removeClass(tabbables[selectedTabbable], "focused");
+ selectedTabbable += steps;
+ }
+
+ if (selectedTabbable >= tabbables.length) {
+ selectedTabbable = 0;
+ }
+
+ if (selectedTabbable < 0) {
+ selectedTabbable = tabbables.length - 1;
+ }
+
+ tabbables[selectedTabbable].focus();
+ addClass(tabbables[selectedTabbable], "focused");
+ }
+
+ function focusNext() {
+ skipFocus(1);
+ }
+
+ function focusPrevious() {
+ skipFocus(-1);
+ }
+
+ document.onkeydown = function(event) {
+ event = event || window.event;
+ var charCode =
+ typeof event.which === "number" ? event.which : event.keyCode;
+
+ if (ACTION_KEYS.indexOf(charCode) !== -1) {
+ event.preventDefault();
+ if (selectedTabbable === -1) {
+ continueTests();
+ return;
+ }
+ var tabbables = document.getElementsByClassName("tabbable");
+ var element = tabbables[selectedTabbable];
+ if (element.type === "checkbox") {
+ element.checked = !element.checked;
+ } else {
+ element.click();
+ }
+ }
+
+ if (PREV_KEYS.indexOf(charCode) !== -1) {
+ focusPrevious();
+ }
+
+ if (NEXT_KEYS.indexOf(charCode) !== -1) {
+ focusNext();
+ }
+ };
+
+ var match = location.search.match(/token=(.+)/);
+ var token = match[1];
+ var tokenView = document.getElementById("token");
+ tokenView.innerText = token;
+
+ WaveService.readSession(token, displaySessionConfiguration);
+ WaveService.readSessionStatus(token, displaySessionStatus);
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/res/spinner-solid.svg b/testing/web-platform/tests/tools/wave/www/res/spinner-solid.svg
new file mode 100644
index 0000000000..f795980b3d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/res/spinner-solid.svg
@@ -0,0 +1 @@
+<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="spinner" class="svg-inline--fa fa-spinner fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"></path></svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/tools/wave/www/res/wavelogo_2016.jpg b/testing/web-platform/tests/tools/wave/www/res/wavelogo_2016.jpg
new file mode 100644
index 0000000000..3881409597
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/res/wavelogo_2016.jpg
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/results.html b/testing/web-platform/tests/tools/wave/www/results.html
new file mode 100644
index 0000000000..c9b2c028c1
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/results.html
@@ -0,0 +1,1565 @@
+<!DOCTYPE html>
+<html lang="en" style="overflow: auto;">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>Session Results - Web Platform Test</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/fontawesome-5.7.2.min.css" />
+ <!-- <link rel="stylesheet" href="css/result.css" /> -->
+ <script src="lib/utils.js"></script>
+ <script src="lib/wave-service.js"></script>
+ <script src="lib/ui.js"></script>
+ <style>
+ .site-logo {
+ max-width: 300px;
+ margin: 0 0 30px -15px;
+ }
+ </style>
+ </head>
+ <body>
+ <script>
+ let token = null;
+ window.onload = () => {
+ const query = utils.parseQuery(location.search);
+ token = query.token;
+ if (token) {
+ resultUi.render();
+ resultUi.refreshData();
+ } else {
+ location.href = WEB_ROOT + "overview.html" + location.search;
+ }
+ WaveService.addRecentSession(token);
+ };
+ const resultUi = {
+ state: {
+ details: null,
+ results: null,
+ referenceSessions: [],
+ lastCompletedTests: [],
+ malfunctioningTests: [],
+ addLabelVisible: false,
+ },
+ refreshData: (toUpdate) => {
+ WaveService.readStatus(function (config) {
+ resultUi.state.reportsEnabled = config.reportsEnabled;
+ resultUi.renderApiResults();
+ });
+ switch (toUpdate) {
+ case "test_completed":
+ resultUi.refreshSessionStatus(() => {
+ resultUi.refreshSessionResults(() => {
+ resultUi.renderApiResults();
+ });
+ });
+ resultUi.refreshLastCompletedTests(() => {
+ resultUi.renderLastCompletedTests();
+ });
+ break;
+ case "status":
+ resultUi.refreshSessionStatus(() => {
+ resultUi.renderControls();
+ resultUi.renderSessionDetails();
+ });
+ break;
+ case "":
+ case null:
+ case undefined:
+ resultUi.refreshSessionConfiguration(() => {
+ resultUi.refreshSessionStatus(() => {
+ resultUi.refreshSessionResults(() => {
+ resultUi.refreshReferenceSessions(() =>
+ resultUi.renderReferenceSessions()
+ );
+ resultUi.renderControls();
+ resultUi.renderSessionDetails();
+ resultUi.renderApiResults();
+ resultUi.renderExportView();
+ resultUi.refreshLastCompletedTests(() => {
+ resultUi.renderLastCompletedTests();
+ });
+ resultUi.refreshMalfunctioningTests(() => {
+ resultUi.renderMalfunctioningTests();
+ });
+ });
+ });
+ });
+ break;
+ }
+ },
+ refreshSessionConfiguration(callback = () => {}) {
+ WaveService.readSession(token, (configuration) => {
+ resultUi.state.configuration = configuration;
+ callback(configuration);
+ });
+ },
+ refreshSessionStatus(callback = () => {}) {
+ WaveService.readSessionStatus(token, (status) => {
+ resultUi.state.status = status;
+ if (status.status !== "completed" && status.status !== "aborted")
+ WaveService.addSessionEventListener(
+ token,
+ resultUi.handleSessionEvent
+ );
+ callback(status);
+ });
+ },
+ refreshReferenceSessions(callback = () => {}) {
+ const { configuration } = resultUi.state;
+ if (!configuration) return;
+ const { referenceTokens } = configuration;
+ if (!referenceTokens) return;
+ WaveService.readMultipleSessions(referenceTokens, (configuration) => {
+ resultUi.state.referenceSessions = configuration;
+ resultUi.renderReferenceSessions();
+ callback(configuration);
+ });
+ },
+ refreshSessionResults(callback = () => {}) {
+ WaveService.readResultsCompact(token, (results) => {
+ resultUi.state.results = results;
+ callback(results);
+ });
+ },
+ refreshLastCompletedTests(callback = () => {}) {
+ if (resultUi.state.configuration.isPublic) return;
+ WaveService.readLastCompletedTests(token, ["timeout"], (tests) => {
+ resultUi.state.lastCompletedTests = tests;
+ callback();
+ });
+ },
+ refreshMalfunctioningTests(callback = () => {}) {
+ WaveService.readMalfunctioningTests(token, (tests) => {
+ resultUi.state.malfunctioningTests = tests;
+ callback();
+ });
+ },
+ handleSessionEvent(message) {
+ resultUi.refreshData(message.type);
+ },
+ openResultsOverview() {
+ location.href = WEB_ROOT + "overview.html";
+ },
+ stopSession() {
+ WaveService.stopSession(token, resultUi.refreshData);
+ },
+ deleteSession() {
+ WaveService.deleteSession(token, () =>
+ resultUi.openResultsOverview()
+ );
+ },
+ showDeleteModal() {
+ const modal = UI.getElement("delete-modal");
+ const className = modal.getAttribute("class");
+ modal.setAttribute("class", className + " is-active");
+ },
+ hideDeleteModal() {
+ const modal = UI.getElement("delete-modal");
+ let className = modal.getAttribute("class");
+ className = className.replace(" is-active", "");
+ modal.setAttribute("class", className);
+ },
+ downloadApiResultJson(api) {
+ const { results } = resultUi.state;
+ WaveService.downloadApiResult(token, api);
+ },
+ openHtmlReport(api) {
+ const { results } = resultUi.state;
+ if (results[api].complete != results[api].total) return;
+ WaveService.readReportUri(token, api, function (uri) {
+ window.open(uri, "_blank");
+ });
+ },
+ downloadFinishedApiJsons() {
+ WaveService.downloadAllApiResults(token);
+ },
+ downloadHtmlZip() {
+ WaveService.downloadResultsOverview(token);
+ },
+ downloadResults() {
+ if (resultUi.state.status.status !== "completed") return;
+ WaveService.downloadResults(token);
+ },
+ addMalfunctioningTest(testPath) {
+ const { malfunctioningTests } = resultUi.state;
+ if (malfunctioningTests.indexOf(testPath) !== -1) return;
+ malfunctioningTests.push(testPath);
+ WaveService.updateMalfunctioningTests(
+ token,
+ malfunctioningTests,
+ () => {
+ resultUi.renderMalfunctioningTests();
+ }
+ );
+ resultUi.renderLastCompletedTests();
+ },
+ removeMalfunctioningTest(testPath) {
+ const { malfunctioningTests } = resultUi.state;
+ malfunctioningTests.splice(malfunctioningTests.indexOf(testPath), 1);
+ WaveService.updateMalfunctioningTests(
+ token,
+ malfunctioningTests,
+ () => {
+ resultUi.renderMalfunctioningTests();
+ }
+ );
+ resultUi.renderLastCompletedTests();
+ },
+ isTestOnMalfunctioningList(test) {
+ const { malfunctioningTests } = resultUi.state;
+ return malfunctioningTests.indexOf(test) !== -1;
+ },
+ showExcluded() {
+ resultUi.state.showExcluded = true;
+ resultUi.renderSessionDetails();
+ },
+ hideExcluded() {
+ resultUi.state.showExcluded = false;
+ resultUi.renderSessionDetails();
+ },
+ addLabel() {
+ const label = UI.getElement("session-label-input").value;
+ if (!label) return;
+ const { configuration } = resultUi.state;
+ configuration.labels.push(label);
+ WaveService.updateLabels(token, configuration.labels);
+ resultUi.renderSessionDetails();
+ UI.getElement("session-label-input").focus();
+ },
+ removeLabel(index) {
+ const { configuration } = resultUi.state;
+ configuration.labels.splice(index, 1);
+ WaveService.updateLabels(token, configuration.labels);
+ resultUi.renderSessionDetails();
+ },
+ showAddLabel() {
+ resultUi.state.addLabelVisible = true;
+ resultUi.renderSessionDetails();
+ UI.getElement("session-label-input").focus();
+ },
+ hideAddLabel() {
+ resultUi.state.addLabelVisible = false;
+ resultUi.renderSessionDetails();
+ },
+ render() {
+ const resultView = UI.createElement({
+ className: "section",
+ children: [
+ {
+ className: "container",
+ style: "margin-bottom: 2em",
+ children: [
+ {
+ className: "columns",
+ children: [
+ {
+ className: "column",
+ children: [
+ {
+ element: "img",
+ src: "res/wavelogo_2016.jpg",
+ className: "site-logo",
+ },
+ ],
+ },
+ {
+ className: "column is-narrow",
+ children: {
+ className: "button is-dark is-outlined",
+ onclick: resultUi.openResultsOverview,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-arrow-left",
+ },
+ ],
+ },
+ {
+ text: "Results Overview",
+ element: "span",
+ },
+ ],
+ },
+ },
+ ],
+ },
+ {
+ className: "container",
+ children: {
+ className: "columns",
+ children: [
+ {
+ className: "column",
+ children: { className: "title", text: "Result" },
+ },
+ {
+ className: "column is-narrow",
+ children: { id: "controls" },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ {
+ id: "session-details",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ {
+ id: "last-completed-tests",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ {
+ id: "api-results",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ {
+ id: "timeout-files",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ {
+ id: "export",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ {
+ id: "malfunctioning-tests",
+ className: "container",
+ style: "margin-bottom: 2em",
+ },
+ ],
+ });
+ const root = UI.getRoot();
+ root.innerHTML = "";
+ root.appendChild(resultView);
+ resultUi.renderControls();
+ resultUi.renderSessionDetails();
+ resultUi.renderApiResults();
+ resultUi.renderExportView();
+ },
+ renderControls() {
+ const { state } = resultUi;
+ if (!state.status) return;
+ const { status } = state.status;
+ const { isPublic } = state.configuration;
+ const controlsView = UI.createElement({
+ className: "field is-grouped is-grouped-multiline",
+ });
+ if (
+ status &&
+ status !== "aborted" &&
+ status !== "completed" &&
+ status !== "pending"
+ ) {
+ const pauseResumeButton = UI.createElement({
+ id: "pause-resume-button",
+ className: "control button is-dark is-outlined",
+ onclick: function () {
+ if (status === "running") {
+ WaveService.pauseSession(token, resultUi.refreshData);
+ } else {
+ WaveService.startSession(token, resultUi.refreshData);
+ }
+ },
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className:
+ status === "running" ? "fas fa-pause" : "fas fa-play",
+ },
+ ],
+ },
+ {
+ text: status === "running" ? "Pause" : "Resume",
+ element: "span",
+ },
+ ],
+ });
+ controlsView.appendChild(pauseResumeButton);
+ }
+
+ if (status && status !== "aborted" && status !== "completed") {
+ const stopButton = UI.createElement({
+ id: "stop-button",
+ className: "control button is-dark is-outlined",
+ onclick: resultUi.stopSession,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-square",
+ },
+ ],
+ },
+ {
+ text: "Stop",
+ element: "span",
+ },
+ ],
+ });
+ controlsView.appendChild(stopButton);
+ }
+ if (!isPublic) {
+ const deleteButton = UI.createElement({
+ id: "delete-button",
+ className: "control button is-dark is-outlined",
+ onclick: resultUi.showDeleteModal,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-trash-alt",
+ },
+ ],
+ },
+ {
+ text: "Delete",
+ element: "span",
+ },
+ ],
+ });
+ controlsView.appendChild(deleteButton);
+ }
+
+ const deleteModal = UI.createElement({
+ id: "delete-modal",
+ className: "modal",
+ children: [
+ {
+ className: "modal-background",
+ onclick: resultUi.hideDeleteModal,
+ },
+ {
+ className: "modal-card",
+ children: [
+ {
+ className: "modal-card-head",
+ children: [
+ {
+ element: "p",
+ className: "modal-card-title",
+ text: "Delete Session",
+ },
+ ],
+ },
+ {
+ className: "modal-card-body",
+ children: [
+ {
+ element: "p",
+ text: "Are you sure you want to delete this session?",
+ },
+ { element: "p", text: "This action cannot be undone." },
+ ],
+ },
+ {
+ className: "modal-card-foot",
+ children: [
+ {
+ className: "button is-danger",
+ text: "Delete Session",
+ onclick: resultUi.deleteSession,
+ },
+ {
+ className: "button",
+ text: "Cancel",
+ onclick: resultUi.hideDeleteModal,
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ });
+ controlsView.appendChild(deleteModal);
+
+ const controls = UI.getElement("controls");
+ controls.innerHTML = "";
+ controls.appendChild(controlsView);
+ },
+ renderSessionDetails() {
+ const { state } = resultUi;
+ const { configuration, status, results } = state;
+ if (!configuration || !status) return;
+ const sessionDetailsView = UI.createElement({
+ style: "margin-bottom: 20px",
+ });
+
+ const heading = UI.createElement({
+ text: "Session details",
+ className: "title is-4",
+ });
+ sessionDetailsView.appendChild(heading);
+
+ const getTagStyle = (status) => {
+ switch (status) {
+ case "completed":
+ return "is-success";
+ case "running":
+ return "is-info";
+ case "aborted":
+ return "is-danger";
+ case "paused":
+ return "is-warning";
+ case "pending":
+ return "is-primary";
+ }
+ };
+ if (status.dateFinished) {
+ if (state.durationInterval) clearInterval(state.durationInterval);
+ } else if (status.dateStarted) {
+ if (!state.durationInterval)
+ state.durationInterval = setInterval(() => {
+ UI.getElement("duration").innerHTML = utils.millisToTimeString(
+ Date.now() - status.dateStarted.getTime()
+ );
+ }, 1000);
+ }
+
+ const { addLabelVisible } = state;
+ const { showExcluded } = state;
+
+ const tokenField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Token" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ text: configuration.token,
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(tokenField);
+
+ const userAgentField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "User Agent" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ text: configuration.userAgent || "",
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(userAgentField);
+
+ const testPathsField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Test Paths" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ text: configuration.tests.include
+ .reduce((text, test) => text + test + ", ", "")
+ .slice(0, -2),
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(testPathsField);
+
+ const excludedTestsField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Excluded Test Paths" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: [
+ {
+ element: "span",
+ text: configuration.tests.exclude.length,
+ },
+ {
+ element: "span",
+ className: "button is-small is-rounded",
+ style: "margin-left: 10px",
+ text: showExcluded ? "hide" : "show",
+ onClick: showExcluded
+ ? resultUi.hideExcluded
+ : resultUi.showExcluded,
+ },
+ showExcluded
+ ? {
+ style:
+ "max-height: 250px; overflow: auto; margin-bottom: 10px",
+ children: configuration.tests.exclude.map(
+ (test) => ({
+ text: test,
+ })
+ ),
+ }
+ : null,
+ ],
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(excludedTestsField);
+
+ const referenceSessionField = UI.createElement({
+ style: "display: none",
+ id: "reference-session-field",
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Reference Sessions" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ children: { id: "reference-sessions" },
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(referenceSessionField);
+
+ const totalTestFilesField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Total Test Files" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: "control",
+ text: Object.keys(results).reduce(
+ (sum, api) => (sum += results[api].total),
+ 0
+ ),
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(totalTestFilesField);
+
+ const statusField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Status" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: `control tag ${getTagStyle(status.status)}`,
+ text: status.status,
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(statusField);
+
+ const timeoutsField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Test Timeouts" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: `control`,
+ text: Object.keys(configuration.timeouts).reduce(
+ (text, timeout) =>
+ `${text}${timeout}: ${
+ configuration.timeouts[timeout] / 1000
+ }s\n`,
+ ""
+ ),
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(timeoutsField);
+
+ if (status.dateStarted) {
+ const startedField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Date Started" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: `control`,
+ text: new Date(status.dateStarted).toLocaleString(),
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(startedField);
+ }
+
+ if (status.dateFinished) {
+ const finishedField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Date Finished" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: `control`,
+ text: new Date(status.dateFinished).toLocaleString(),
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(finishedField);
+ }
+
+ if (status.dateStarted) {
+ const durationField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Duration" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field",
+ children: {
+ className: `control`,
+ id: "duration",
+ text: utils.millisToTimeString(
+ status.dateFinished
+ ? status.dateFinished.getTime() -
+ status.dateStarted.getTime()
+ : Date.now() - status.dateStarted.getTime()
+ ),
+ },
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(durationField);
+ }
+
+ const labelsField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Labels" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "field is-grouped is-grouped-multiline",
+ children: configuration.labels
+ .map((label, index) => ({
+ className: "control",
+ children: {
+ className: "tags has-addons",
+ children: [
+ {
+ element: "span",
+ className: "tag is-info",
+ text: label,
+ },
+ {
+ element: "a",
+ className: "tag is-delete",
+ onClick: () => resultUi.removeLabel(index),
+ },
+ ],
+ },
+ }))
+ .concat(
+ resultUi.state.configuration.isPublic
+ ? []
+ : addLabelVisible
+ ? [
+ {
+ className: "control field is-grouped",
+ children: [
+ {
+ element: "input",
+ className: "input is-small control",
+ style: "width: 10rem",
+ id: "session-label-input",
+ type: "text",
+ onKeyUp: (event) =>
+ event.keyCode === 13
+ ? resultUi.addLabel()
+ : null,
+ },
+ {
+ className:
+ "button is-dark is-outlined is-small is-rounded control",
+ text: "save",
+ onClick: resultUi.addLabel,
+ },
+ {
+ className:
+ "button is-dark is-outlined is-small is-rounded control",
+ text: "cancel",
+ onClick: resultUi.hideAddLabel,
+ },
+ ],
+ },
+ ]
+ : [
+ {
+ className: "button is-rounded is-small",
+ text: "Add",
+ onClick: resultUi.showAddLabel,
+ },
+ ]
+ ),
+ },
+ },
+ ],
+ });
+ sessionDetailsView.appendChild(labelsField);
+
+ const sessionDetails = UI.getElement("session-details");
+ sessionDetails.innerHTML = "";
+ sessionDetails.appendChild(sessionDetailsView);
+ resultUi.renderReferenceSessions();
+ },
+ renderReferenceSessions() {
+ const { referenceSessions } = resultUi.state;
+ if (!referenceSessions || referenceSessions.length === 0) return;
+ const referenceSessionsList = UI.createElement({
+ className: "field is-grouped is-grouped-multiline",
+ });
+ const getBrowserIcon = (browser) => {
+ switch (browser.toLowerCase()) {
+ case "firefox":
+ return "fab fa-firefox";
+ case "edge":
+ return "fab fa-edge";
+ case "chrome":
+ case "chromium":
+ return "fab fa-chrome";
+ case "safari":
+ case "webkit":
+ return "fab fa-safari";
+ }
+ };
+ referenceSessions.forEach((session) => {
+ const { token, browser } = session;
+ const referenceSessionItem = UI.createElement({
+ className:
+ "control button is-dark is-small is-rounded is-outlined",
+ onClick: () => WaveService.openSession(token),
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: {
+ element: "i",
+ className: getBrowserIcon(browser.name),
+ },
+ },
+ {
+ element: "span",
+ text: token.split("-").shift(),
+ },
+ ],
+ });
+ referenceSessionsList.appendChild(referenceSessionItem);
+ });
+ const referenceSessionsTarget = UI.getElement("reference-sessions");
+ referenceSessionsTarget.innerHTML = "";
+ referenceSessionsTarget.appendChild(referenceSessionsList);
+ const field = UI.getElement("reference-session-field");
+ field.style["display"] = "flex";
+ },
+ renderLastCompletedTests() {
+ if (resultUi.state.configuration.isPublic) return;
+ const lastCompletedTestsView = UI.createElement({});
+
+ const heading = UI.createElement({
+ className: "title is-4",
+ children: [
+ { element: "span", text: "Last Timed-Out Test Files" },
+ {
+ element: "span",
+ className: "title is-7",
+ text: " (most recent first)",
+ },
+ ],
+ });
+ lastCompletedTestsView.appendChild(heading);
+
+ const { lastCompletedTests } = resultUi.state;
+ const testsTable = UI.createElement({
+ element: "table",
+ className: "table",
+ style: "min-width: 100%",
+ children: [
+ {
+ element: "thead",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Test File" },
+ { element: "td", text: "Malfunctioning List" },
+ ],
+ },
+ ],
+ },
+ {
+ element: "tbody",
+ children: lastCompletedTests.map(({ path, status }) => ({
+ element: "tr",
+ children: [
+ { element: "td", text: path },
+ {
+ element: "td",
+ children: [
+ {
+ element: "button",
+ className: "button is-dark is-outlined is-small",
+ onClick: () => resultUi.addMalfunctioningTest(path),
+ title: "Add to malfunctioning tests list.",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: resultUi.isTestOnMalfunctioningList(
+ path
+ )
+ ? "fas fa-check"
+ : "fas fa-plus",
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ })),
+ },
+ ],
+ });
+ if (lastCompletedTests.length > 0) {
+ lastCompletedTestsView.appendChild(
+ UI.createElement({
+ className: "container",
+ style: "overflow-x: auto;",
+ id: "last-completed-overflow",
+ children: testsTable,
+ })
+ );
+ } else {
+ const noTestsLabel = UI.createElement({
+ text: "- No Timed-Out Tests -",
+ style: "text-align: center",
+ });
+ lastCompletedTestsView.appendChild(noTestsLabel);
+ }
+
+ UI.saveScrollPosition("last-completed-overflow");
+
+ const lastCompletedTestsElement = UI.getElement(
+ "last-completed-tests"
+ );
+ lastCompletedTestsElement.innerHTML = "";
+ lastCompletedTestsElement.appendChild(lastCompletedTestsView);
+
+ UI.loadScrollPosition("last-completed-overflow");
+ },
+ renderApiResults() {
+ const { results, status } = resultUi.state;
+
+ const apiResultsView = UI.createElement({
+ style: "margin-bottom: 20px",
+ });
+
+ const heading = UI.createElement({
+ text: "API Results",
+ className: "title is-4",
+ });
+ apiResultsView.appendChild(heading);
+
+ if (!results) {
+ const loadingIndicator = UI.createElement({
+ className: "level",
+ children: {
+ element: "span",
+ className: "level-item",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-spinner fa-pulse",
+ },
+ {
+ style: "margin-left: 0.4em;",
+ text: "Loading results ...",
+ },
+ ],
+ },
+ });
+ apiResultsView.appendChild(loadingIndicator);
+
+ const apiResults = UI.getElement("api-results");
+ apiResults.innerHTML = "";
+ apiResults.appendChild(apiResultsView);
+ return;
+ }
+
+ const width = status.status === "running" ? "7.5em" : "auto";
+ const header = UI.createElement({
+ element: "thead",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "th", text: "API" },
+ { element: "th", text: "Pass", style: `min-width: ${width}` },
+ { element: "th", text: "Fail", style: `min-width: ${width}` },
+ {
+ element: "th",
+ text: "Timeout",
+ style: `min-width: ${width}`,
+ },
+ {
+ element: "th",
+ text: "Not Run",
+ style: `min-width: ${width}`,
+ },
+ {
+ element: "th",
+ text: "Test Files Run",
+ style: `min-width: ${width}`,
+ },
+ { element: "th", text: "Export" },
+ ],
+ },
+ ],
+ });
+
+ const apis = Object.keys(results).sort((apiA, apiB) =>
+ apiA.toLowerCase() > apiB.toLowerCase() ? 1 : -1
+ );
+
+ const rows = apis.map((api) => {
+ const {
+ complete = 0,
+ pass = 0,
+ fail = 0,
+ timeout = 0,
+ timeoutfiles = [],
+ not_run: notRun = 0,
+ total,
+ } = results[api];
+ isDone = results[api].complete == results[api].total;
+ const totalTestResults = pass + fail + timeout + notRun;
+ return UI.createElement({
+ element: "tr",
+ style: "white-space: nowrap",
+ children: [
+ { element: "td", text: api },
+ {
+ element: "td",
+ children: {
+ style: `color: hsl(141, 71%, 38%); overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${pass} (${utils.percent(pass, totalTestResults)}%)`,
+ },
+ },
+ {
+ element: "td",
+ children: {
+ className: "has-text-danger",
+ style: `overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${fail} (${utils.percent(fail, totalTestResults)}%)`,
+ },
+ },
+ {
+ element: "td",
+ children: {
+ style: `color: hsl(48, 100%, 40%); overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${timeout} (${utils.percent(
+ timeout,
+ totalTestResults
+ )}%)`,
+ },
+ },
+ {
+ element: "td",
+ children: {
+ className: "has-text-info",
+ style: `overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${notRun} (${utils.percent(
+ notRun,
+ totalTestResults
+ )}%)`,
+ },
+ },
+ {
+ element: "td",
+ children: {
+ style: `overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${complete}/${total} (${utils.percent(
+ complete,
+ total
+ )}%)`,
+ },
+ },
+ {
+ element: "td",
+ children: {
+ className: "field has-addons",
+ children: [
+ {
+ className: "control",
+ children: {
+ className: "button is-dark is-outlined is-small",
+ onclick: () => resultUi.downloadApiResultJson(api),
+ text: "json",
+ title: `Download results of ${api} API as JSON file.`,
+ },
+ },
+ resultUi.state.reportsEnabled
+ ? {
+ className: "control",
+ children: {
+ className: "button is-dark is-outlined is-small",
+ disabled: !isDone,
+ onclick: () => resultUi.openHtmlReport(api),
+ text: "report",
+ title: `Show results of ${api} API in WPT Report format.`,
+ },
+ }
+ : null,
+ ],
+ },
+ },
+ ],
+ });
+ });
+
+ const { pass, fail, timeout, not_run, complete, total } = apis.reduce(
+ (sum, api) => {
+ Object.keys(sum).forEach(
+ (key) => (sum[key] += results[api][key] ? results[api][key] : 0)
+ );
+ return sum;
+ },
+ { complete: 0, total: 0, pass: 0, fail: 0, timeout: 0, not_run: 0 }
+ );
+ const totalTestResults = pass + fail + timeout + not_run;
+
+ const footer = UI.createElement({
+ element: "tfoot",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "th", text: "Total" },
+ {
+ element: "th",
+ children: {
+ style: `color: hsl(141, 71%, 38%); overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${pass} (${utils.percent(
+ pass,
+ totalTestResults
+ )}%)`,
+ },
+ },
+ {
+ element: "th",
+ children: {
+ style: `overflow: visible; white-space: nowrap; width: ${width}`,
+ className: "has-text-danger",
+ text: `${fail} (${utils.percent(
+ fail,
+ totalTestResults
+ )}%)`,
+ },
+ },
+ {
+ element: "th",
+ children: {
+ style: `color: hsl(48, 100%, 40%); overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${timeout} (${utils.percent(
+ timeout,
+ totalTestResults
+ )}%)`,
+ },
+ },
+ {
+ element: "th",
+ children: {
+ style: `overflow: visible; white-space: nowrap; width: ${width}`,
+ className: "has-text-info",
+ text: `${not_run} (${utils.percent(
+ not_run,
+ totalTestResults
+ )}%)`,
+ },
+ },
+ {
+ element: "th",
+ children: {
+ style: `overflow: visible; white-space: nowrap; width: ${width}`,
+ text: `${complete}/${total} (${utils.percent(
+ complete,
+ total
+ )}%)`,
+ },
+ },
+ { element: "th" },
+ ],
+ },
+ ],
+ });
+
+ const resultsTable = UI.createElement({
+ className: "container",
+ style: "overflow-x: auto",
+ id: "results-overflow",
+ children: {
+ element: "table",
+ className: "table",
+ id: "results-table",
+ style:
+ "width: 100%; min-width: 30em; border-radius: 3px; border: 2px solid hsl(0, 0%, 86%);",
+ children: [header, { element: "tbody", children: rows }, footer],
+ },
+ });
+ apiResultsView.appendChild(resultsTable);
+
+ UI.saveScrollPosition("results-overflow");
+
+ const apiResults = UI.getElement("api-results");
+ apiResults.innerHTML = "";
+ apiResults.appendChild(apiResultsView);
+
+ UI.loadScrollPosition("results-overflow");
+ },
+ renderExportView() {
+ const { status } = resultUi.state;
+ if (!status) return;
+
+ const exportElement = UI.getElement("export");
+ exportElement.innerHTML = "";
+
+ const heading = UI.createElement({
+ className: "title is-4",
+ text: "Export",
+ });
+ exportElement.appendChild(heading);
+
+ const resultsField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: { className: "label", text: "Results" },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "control columns",
+ style: "width: 100%",
+ children: [
+ {
+ className: "column is-9",
+ text:
+ "Download results for import into other WMAS Test Suite instances.",
+ },
+ {
+ className: "column is-3",
+ children: {
+ className:
+ "button is-dark is-outlined is-small is-fullwidth",
+ onClick: resultUi.downloadResults,
+ disabled: status.status !== "completed",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: {
+ element: "i",
+ className: "fas fa-file-archive",
+ },
+ },
+ { element: "span", text: "Download Zip" },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ });
+ exportElement.appendChild(resultsField);
+
+ const jsonField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: {
+ className: "label",
+ text: "All JSON Files",
+ },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "control columns",
+ style: "width: 100%",
+ children: [
+ {
+ className: "column is-9",
+ text:
+ "Download JSON files containing results of completed test files.",
+ },
+ {
+ className: "column is-3",
+ children: {
+ className:
+ "button is-dark is-outlined is-small is-fullwidth",
+ onclick: resultUi.downloadFinishedApiJsons,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: {
+ element: "i",
+ className: "fas fa-file-archive",
+ },
+ },
+ { element: "span", text: "Download Zip" },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ });
+ exportElement.appendChild(jsonField);
+
+ const htmlField = UI.createElement({
+ className: "field is-horizontal",
+ children: [
+ {
+ className: "field-label",
+ children: {
+ className: "label",
+ text: "Session result HTML",
+ },
+ },
+ {
+ className: "field-body",
+ children: {
+ className: "control columns",
+ style: "width: 100%",
+ children: [
+ {
+ className: "column is-9",
+ text:
+ "Download this sessions result as standalone HTML page, similar to this page.",
+ },
+ {
+ className: "column is-3",
+ children: {
+ className:
+ "button is-dark is-outlined is-small is-fullwidth",
+ onClick: resultUi.downloadHtmlZip,
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: {
+ element: "i",
+ className: "fas fa-code",
+ },
+ },
+ { element: "span", text: "Download HTML" },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ });
+ exportElement.appendChild(htmlField);
+ },
+ renderMalfunctioningTests() {
+ const malfunctioningTestsView = UI.createElement({});
+ const heading = UI.createElement({
+ className: "title is-4",
+ text: "Malfunctioning Tests",
+ });
+ malfunctioningTestsView.appendChild(heading);
+
+ const { malfunctioningTests } = resultUi.state;
+ const testsTable = UI.createElement({
+ element: "table",
+ className: "table",
+ style: "min-width: 100%",
+ children: [
+ {
+ element: "thead",
+ children: [
+ {
+ element: "tr",
+ children: [
+ { element: "td", text: "Test File" },
+ { element: "td", text: "" },
+ ],
+ },
+ ],
+ },
+ {
+ element: "tbody",
+ children: malfunctioningTests.map((path) => ({
+ element: "tr",
+ children: [
+ { element: "td", text: path },
+ {
+ element: "td",
+ children: resultUi.state.configuration.isPublic
+ ? null
+ : {
+ element: "button",
+ className: "button is-dark is-outlined is-small",
+ onClick: () =>
+ resultUi.removeMalfunctioningTest(path),
+ title: "Remove from malfunctioning tests list.",
+ children: [
+ {
+ element: "span",
+ className: "icon",
+ children: [
+ {
+ element: "i",
+ className: "fas fa-trash-alt",
+ },
+ ],
+ },
+ ],
+ },
+ },
+ ],
+ })),
+ },
+ ],
+ });
+ if (malfunctioningTests.length > 0) {
+ malfunctioningTestsView.appendChild(
+ UI.createElement({
+ className: "container",
+ style: "overflow-x: auto",
+ id: "malfunctioning-overflow",
+ children: testsTable,
+ })
+ );
+ } else {
+ const noTestsLabel = UI.createElement({
+ text: "- No Tests Available -",
+ style: "text-align: center",
+ });
+ malfunctioningTestsView.appendChild(noTestsLabel);
+ }
+
+ UI.saveScrollPosition("malfunctioning-overflow");
+
+ const malfunctioningTestsElement = UI.getElement(
+ "malfunctioning-tests"
+ );
+ malfunctioningTestsElement.innerHTML = "";
+ malfunctioningTestsElement.appendChild(malfunctioningTestsView);
+
+ UI.loadScrollPosition("malfunctioning-overflow");
+ },
+ };
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/submitresult.html b/testing/web-platform/tests/tools/wave/www/submitresult.html
new file mode 100644
index 0000000000..07e9f35235
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/submitresult.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>Web Platform Tests</title>
+ <style>
+ #console {
+ font-family: monospace;
+ }
+ </style>
+ <script src="lib/wave-service.js"></script>
+ </head>
+ <body>
+ <div id="console"></div>
+ <script>
+ var screenConsole = document.getElementById("console");
+ var log = function() {
+ var text = "";
+ for (var i = 0; i < arguments.length; i++) {
+ text += arguments[i] + " ";
+ }
+ text = text.replace(/ /gm, "&nbsp;");
+ text = text.replace(/\n/gm, "<br/>");
+ screenConsole.innerHTML += "<br/>" + text;
+ };
+
+ window.onerror = function(error) {
+ log(error);
+ };
+
+ var HOSTNAME = location.hostname;
+ var PORT = location.port;
+ var PROTOCOL = location.protocol.replace(/:/, "");
+ var QUERY = (location.search.replace(/\?/, ""));
+ var match = QUERY.match(/token=([^&]+)/);
+ var TOKEN = match ? match[1] : null;
+ QUERY += /[\?&]path=/.test(location.search) ? "" : "&resume=1";
+ match = QUERY.match(/data=([^&]+)/);
+
+ var parsedQuery = {};
+
+ var parts = QUERY.split("&");
+ for (var i = 0; i < parts.length; i++) {
+ var part = parts[i];
+ var key = part.split("=")[0];
+ var value = part.split("=")[1];
+ parsedQuery[key] = value;
+ }
+
+ var resultData;
+ var rawResult = parsedQuery.result;
+ if (rawResult) {
+ resultData = JSON.parse(decodeURIComponent(rawResult));
+ }
+
+ WaveService.createResult(TOKEN, resultData, function() {
+ WaveService.readNextTest(TOKEN, function(url) {
+ location.href = url;
+ });
+ });
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/test.html b/testing/web-platform/tests/tools/wave/www/test.html
new file mode 100644
index 0000000000..d06b18fef6
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/test.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <title>Creating Session - Web Platform Tests</title>
+ <link rel="stylesheet" href="css/bulma-0.7.5/bulma.min.css" />
+ <link rel="stylesheet" href="css/style.css" />
+ <link rel="stylesheet" href="css/main.css" />
+ <script src="lib/wave-service.js"></script>
+ <style>
+ #console {
+ font-family: monospace;
+ }
+ .spinner {
+ height: 0.7em;
+ width: 0.7em;
+ }
+ .fa-pulse {
+ -webkit-animation: fa-spin 1s steps(8) infinite;
+ animation: fa-spin 1s steps(8) infinite;
+ }
+ @-webkit-keyframes fa-spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(1turn);
+ transform: rotate(1turn);
+ }
+ }
+ @keyframes fa-spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ to {
+ -webkit-transform: rotate(1turn);
+ transform: rotate(1turn);
+ }
+ }
+ </style>
+ </head>
+ <body>
+ <section class="section">
+ <div class="container">
+ <img src="res/wavelogo_2016.jpg" alt="WAVE Logo" class="site-logo" />
+
+ <h1 class="title is-spaced">
+ <span>
+ <img src="res/spinner-solid.svg" class="spinner fa-pulse" />
+ </span>
+ Creating Session
+ </h1>
+ <div id="content">
+ <div id="details-wrapper">
+ <div class="detail">
+ <div>Reference Tokens:</div>
+ <div id="reference-tokens"></div>
+ </div>
+ <div class="detail">
+ <div>Test Paths:</div>
+ <div id="test-path"></div>
+ </div>
+ </div>
+
+ <div id="console"></div>
+ </div>
+ </div>
+ </section>
+ <script>
+ var screenConsole = document.getElementById("console");
+ var log = function() {
+ var text = "";
+ for (var i = 0; i < arguments.length; i++) {
+ text += arguments[i] + " ";
+ }
+ text = text.replace(/ /gm, "&nbsp;");
+ text = text.replace(/\n/gm, "<br/>");
+ screenConsole.innerHTML += "<br/>" + text;
+ };
+
+ window.onerror = function(error) {
+ log(error);
+ };
+
+ var HOSTNAME = location.hostname;
+ var PORT = location.port;
+ var PROTOCOL = location.protocol.replace(/:/, "");
+ var QUERY = decodeURIComponent(location.search.replace(/\?/, ""));
+ var match = QUERY.match(/token=([^&]+)/);
+ var TOKEN = match ? match[1] : null;
+ QUERY += /[\?&]path=/.test(location.search) ? "" : "&resume=1";
+
+ var parsedQuery = {};
+
+ var parts = QUERY.split("&");
+ for (var i = 0; i < parts.length; i++) {
+ var part = parts[i];
+ var key = part.split("=")[0];
+ var value = part.split("=")[1];
+ parsedQuery[key] = value;
+ }
+
+ var includedTests = [];
+ var paths = parsedQuery["path"].split(",");
+ for (var i = 0; i < paths.length; i++) {
+ var path = paths[i];
+ includedTests.push(path.trim());
+ }
+
+ var excludedTests = [
+ "/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-manual-classic.html",
+ "/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-active-script-manual-module.html"
+ ];
+
+ var referenceTokens = [];
+ if (parsedQuery["reftoken"]) {
+ var paths = parsedQuery["reftoken"].split(",");
+ for (var i = 0; i < paths.length; i++) {
+ var path = paths[i];
+ referenceTokens.push(path.trim());
+ }
+ }
+
+ var testPath = document.getElementById("test-path");
+ var paths = includedTests;
+ for (var i = 0; i < paths.length; i++) {
+ var path = paths[i];
+ testPath.innerText += path + "\n";
+ }
+ var referenceTokensElement = document.getElementById("reference-tokens");
+ if (referenceTokens.length === 0) {
+ referenceTokensElement.innerText = "none";
+ } else {
+ for (var i = 0; i < referenceTokens.length; i++) {
+ var token = referenceTokens[i];
+ referenceTokensElement.innerText += token + "\n";
+ }
+ }
+ log("Please wait ...");
+ WaveService.createSession(
+ {
+ tests: { include: includedTests, exclude: excludedTests },
+ referenceTokens: referenceTokens
+ },
+ function(token) {
+ log("Session created successfully! Token: " + token);
+ log("Redirecting ...");
+ location.href = "/newsession.html?token=" + token;
+ }
+ );
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.eot b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.eot
new file mode 100644
index 0000000000..da7bd5eb70
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.eot
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.svg b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.svg
new file mode 100644
index 0000000000..caa8cc43ca
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.svg
@@ -0,0 +1,3296 @@
+<?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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
+<metadata>
+Created by FontForge 20190112 at Tue Feb 12 10:24:59 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+</metadata>
+<defs>
+<font id="FontAwesome5Brands-Regular" horiz-adv-x="448" >
+ <font-face
+ font-family="Font Awesome 5 Brands Regular"
+ font-weight="400"
+ font-stretch="normal"
+ units-per-em="512"
+ panose-1="2 0 5 3 0 0 0 0 0 0"
+ ascent="448"
+ descent="-64"
+ bbox="-0.200195 -66.9505 641.5 448.3"
+ underline-thickness="25"
+ underline-position="-51"
+ unicode-range="U+0020-F7E3"
+ />
+ <missing-glyph />
+ <glyph glyph-name="twitter-square" unicode="&#xf081;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM351.1 257.2c12.8008 9.2998 24 20.8994 32.9004 34c-11.7998 -5.10059 -24.5996 -8.7998 -37.7998 -10.2002
+c13.5996 8.09961 23.8994 20.9004 28.7998 36.0996c-12.5996 -7.5 -26.7998 -13 -41.5996 -15.7998c-12 12.7998 -29 20.7002 -47.9004 20.7002c-40 0 -73.2998 -36.0996 -64 -80.5996c-54.4004 2.7998 -102.9 28.7998 -135.2 68.5996
+c-5.7002 -9.7002 -8.89941 -20.9004 -8.89941 -33.0996v-0.107422c0 -19.3584 13.0811 -43.7715 29.1992 -54.4932c-10.6992 0.400391 -20.8994 3.40039 -29.5996 8.2998v-0.799805c0 -31.8994 22.5 -58.2998 52.5 -64.3994
+c-10.4004 -2.7002 -19.5 -2.7002 -29.5996 -1.2002c8.2998 -26 32.5 -44.9004 61.2998 -45.5c-22.5 -17.6006 -50.7002 -28 -81.4004 -28c-5.39941 0 -10.5 0.200195 -15.7998 0.799805c29 -18.5996 63.5 -29.4004 100.7 -29.4004c120.6 0 186.6 99.9004 186.6 186.601
+c0 2.7998 0 5.7002 -0.200195 8.5z" />
+ <glyph glyph-name="facebook-square" unicode="&#xf082;"
+d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-85.2998v177.2h60.5996l8.7002 67.5996h-69.2998v43.2002c0 19.5996 5.39941 32.9004 33.5 32.9004h35.7998v60.3994c-6.2002 0.799805 -27.4004 2.7002 -52.2002 2.7002c-51.5996 0 -87 -31.5 -87 -89.4004v-49.8994h-60.7998
+v-67.6006h60.9004v-177.1h-196.9c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48z" />
+ <glyph glyph-name="linkedin" unicode="&#xf08c;"
+d="M416 416c17.5996 0 32 -14.5 32 -32.2998v-383.4c0 -17.7998 -14.4004 -32.2998 -32 -32.2998h-384.1c-17.6006 0 -31.9004 14.5 -31.9004 32.2998v383.4c0 17.7998 14.2998 32.2998 31.9004 32.2998h384.1zM135.4 32h0.0996094v213.8h-66.5v-213.8h66.4004zM102.2 275
+c21.2998 0 38.5 17.2002 38.5 38.5c0 21.2002 -17.2998 38.5 -38.5 38.5c-21.2998 0 -38.5 -17.2998 -38.5 -38.5s17.2002 -38.5 38.5 -38.5zM384.3 32v117.2c0 57.5996 -12.5 101.899 -79.7002 101.899c-32.2998 0 -54 -17.6992 -62.8994 -34.5h-0.900391v29.2002h-63.7002
+v-213.8h66.4004v105.8c0 27.9004 5.2998 54.9004 39.9004 54.9004c34 0 34.5 -31.9004 34.5 -56.7002v-104h66.3994z" />
+ <glyph glyph-name="github-square" unicode="&#xf092;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM277.3 32.2998c66 22 110.8 84.9004 110.7 158.3c0 91.8008 -74.4004 161.5 -166.2 161.5s-162 -69.6992 -162 -161.5
+c0 -73.3994 46.2002 -136.199 112.2 -158.3c8.5 -1.5 11.5 3.7002 11.5 8c0 4.10059 -0.200195 26.7002 -0.200195 40.6006c0 0 -46.3994 -10 -56.0996 19.6992c0 0 -7.60059 19.2002 -18.4004 24.2002c0 0 -15.0996 10.4004 1.10059 10.2002
+c0 0 16.3994 -1.2998 25.5 -17.0996c14.5 -25.6006 38.7998 -18.2002 48.2998 -13.9004c1.5 10.5996 5.7998 18 10.5996 22.2998c-37 4.10059 -74.2998 9.5 -74.2998 73.1006c0 18.1992 5 27.2998 15.5996 39c-1.7998 4.39941 -7.39941 22.0996 1.7002 45
+c13.9004 4.2998 45.7002 -17.9004 45.7002 -17.9004c13.2002 3.7002 27.5 5.59961 41.5996 5.59961c14.1006 0 28.4004 -1.89941 41.6006 -5.59961c0 0 31.7998 22.2002 45.7002 17.9004c9.09961 -23 3.39941 -40.7002 1.69922 -45
+c10.6006 -11.7002 17.1006 -20.8008 17.1006 -39c0 -63.9004 -39 -69 -76 -73.1006c6.09961 -5.2002 11.2998 -15.0996 11.2998 -30.7002c0 -22.2998 -0.200195 -49.8994 -0.200195 -55.2998c0 -4.2998 3.10059 -9.5 11.5 -8zM179.2 93.4004
+c-1.90039 -0.400391 -3.7002 0.399414 -3.90039 1.69922c-0.200195 1.5 1.10059 2.80078 3 3.2002c1.90039 0.200195 3.7002 -0.599609 3.90039 -1.89941c0.299805 -1.30078 -1 -2.60059 -3 -3zM169.7 94.2998c0 1.5 -1.7998 2.60059 -3.7002 2.40039
+c-2 0 -3.5 -1.10059 -3.5 -2.40039c0 -1.5 1.5 -2.59961 3.7002 -2.39941c2 0 3.5 1.09961 3.5 2.39941zM156 95.4004c-0.400391 -1.30078 -2.40039 -1.90039 -4.09961 -1.30078c-1.90039 0.400391 -3.2002 1.90039 -2.80078 3.2002
+c0.400391 1.2998 2.40039 1.90039 4.10059 1.5c2 -0.599609 3.2998 -2.09961 2.7998 -3.39941zM143.7 100.8c0.899414 0.799805 0.399414 2.7998 -0.900391 4.10059c-1.5 1.5 -3.39941 1.69922 -4.2998 0.599609c-1 -0.900391 -0.599609 -2.7998 0.900391 -4.09961
+c1.5 -1.5 3.39941 -1.7002 4.2998 -0.600586zM134.6 109.9c1.10059 0.799805 1.10059 2.59961 0 4.09961c-0.899414 1.5 -2.59961 2.2002 -3.69922 1.2998c-1.10059 -0.700195 -1.10059 -2.39941 0 -3.89941c1.09961 -1.5 2.7998 -2.10059 3.69922 -1.5zM128.1 119.6
+c0.900391 0.700195 0.700195 2.2002 -0.399414 3.5c-1.10059 1 -2.60059 1.5 -3.5 0.600586c-0.900391 -0.700195 -0.700195 -2.2002 0.399414 -3.5c1.10059 -1 2.60059 -1.5 3.5 -0.600586zM121.4 127c0.399414 0.799805 -0.200195 1.90039 -1.5 2.59961
+c-1.30078 0.5 -2.40039 0.200195 -2.80078 -0.399414c-0.399414 -0.900391 0.200195 -2 1.5 -2.60059c1.10059 -0.699219 2.40039 -0.5 2.80078 0.400391z" />
+ <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="511"
+d="M459.37 296.284c0.325195 -4.54785 0.325195 -9.09766 0.325195 -13.6455c0 -138.72 -105.583 -298.558 -298.559 -298.558c-59.4521 0 -114.68 17.2188 -161.137 47.1055c8.44727 -0.973633 16.5684 -1.29883 25.3398 -1.29883
+c49.0547 0 94.2129 16.5684 130.274 44.832c-46.1318 0.975586 -84.792 31.1885 -98.1123 72.7725c6.49805 -0.974609 12.9951 -1.62402 19.8184 -1.62402c9.4209 0 18.8428 1.2998 27.6133 3.57324c-48.0811 9.74707 -84.1426 51.9795 -84.1426 102.984v1.29883
+c13.9688 -7.79688 30.2139 -12.6699 47.4307 -13.3184c-28.2637 18.8428 -46.7803 51.0049 -46.7803 87.3906c0 19.4922 5.19629 37.3604 14.2939 52.9541c51.6543 -63.6748 129.3 -105.258 216.364 -109.807c-1.62402 7.79688 -2.59863 15.918 -2.59863 24.04
+c0 57.8271 46.7822 104.934 104.934 104.934c30.2139 0 57.502 -12.6699 76.6709 -33.1367c23.7148 4.54785 46.4551 13.3193 66.5986 25.3398c-7.79785 -24.3662 -24.3662 -44.833 -46.1318 -57.8271c21.1172 2.27344 41.584 8.12207 60.4258 16.2432
+c-14.292 -20.791 -32.1611 -39.3086 -52.6279 -54.2529z" />
+ <glyph glyph-name="facebook" unicode="&#xf09a;"
+d="M448 391.3v-398.5c0 -13.7002 -11.0996 -24.7002 -24.7002 -24.7002h-114.2v173.4h58.2002l8.7002 67.5996h-67v43.2002c0 19.6006 5.40039 32.9004 33.5 32.9004h35.7998v60.5c-6.2002 0.799805 -27.3994 2.7002 -52.2002 2.7002c-51.5996 0 -87 -31.5 -87 -89.4004
+v-49.9004h-58.3994v-67.5996h58.3994v-173.5h-214.399c-13.6006 0 -24.7002 11.0996 -24.7002 24.7002v398.6c0 13.6006 11.0996 24.7002 24.7002 24.7002h398.5c13.7002 0 24.7998 -11.0996 24.7998 -24.7002z" />
+ <glyph glyph-name="github" unicode="&#xf09b;" horiz-adv-x="496"
+d="M165.9 50.5996c0 -2 -2.30078 -3.59961 -5.2002 -3.59961c-3.2998 -0.299805 -5.60059 1.2998 -5.60059 3.59961c0 2 2.30078 3.60059 5.2002 3.60059c3 0.299805 5.60059 -1.2998 5.60059 -3.60059zM134.8 55.0996c0.700195 2 3.60059 3 6.2002 2.30078
+c3 -0.900391 4.90039 -3.2002 4.2998 -5.2002c-0.599609 -2 -3.59961 -3 -6.2002 -2c-3 0.599609 -5 2.89941 -4.2998 4.89941zM179 56.7998c2.90039 0.299805 5.59961 -1 5.90039 -2.89941c0.299805 -2 -1.7002 -3.90039 -4.60059 -4.60059
+c-3 -0.700195 -5.59961 0.600586 -5.89941 2.60059c-0.300781 2.2998 1.69922 4.19922 4.59961 4.89941zM244.8 440c138.7 0 251.2 -105.3 251.2 -244c0 -110.9 -67.7998 -205.8 -167.8 -239c-12.7002 -2.2998 -17.2998 5.59961 -17.2998 12.0996
+c0 8.2002 0.299805 49.9004 0.299805 83.6006c0 23.5 -7.7998 38.5 -17 46.3994c55.8994 6.30078 114.8 14 114.8 110.5c0 27.4004 -9.7998 41.2002 -25.7998 58.9004c2.59961 6.5 11.0996 33.2002 -2.60059 67.9004c-20.8994 6.59961 -69 -27 -69 -27
+c-20 5.59961 -41.5 8.5 -62.7998 8.5s-42.7998 -2.90039 -62.7998 -8.5c0 0 -48.0996 33.5 -69 27c-13.7002 -34.6006 -5.2002 -61.4004 -2.59961 -67.9004c-16 -17.5996 -23.6006 -31.4004 -23.6006 -58.9004c0 -96.1992 56.4004 -104.3 112.3 -110.5
+c-7.19922 -6.59961 -13.6992 -17.6992 -16 -33.6992c-14.2998 -6.60059 -51 -17.7002 -72.8994 20.8994c-13.7002 23.7998 -38.6006 25.7998 -38.6006 25.7998c-24.5 0.300781 -1.59961 -15.3994 -1.59961 -15.3994c16.4004 -7.5 27.7998 -36.6006 27.7998 -36.6006
+c14.7002 -44.7998 84.7002 -29.7998 84.7002 -29.7998c0 -21 0.299805 -55.2002 0.299805 -61.3994c0 -6.5 -4.5 -14.4004 -17.2998 -12.1006c-99.7002 33.4004 -169.5 128.3 -169.5 239.2c0 138.7 106.1 244 244.8 244zM97.2002 95.0996
+c1.2998 1.30078 3.59961 0.600586 5.2002 -1c1.69922 -1.89941 2 -4.19922 0.699219 -5.19922c-1.2998 -1.30078 -3.59961 -0.600586 -5.19922 1c-1.7002 1.89941 -2 4.19922 -0.700195 5.19922zM86.4004 103.2c0.699219 1 2.2998 1.2998 4.2998 0.700195
+c2 -1 3 -2.60059 2.2998 -3.90039c-0.700195 -1.40039 -2.7002 -1.7002 -4.2998 -0.700195c-2 1 -3 2.60059 -2.2998 3.90039zM118.8 67.5996c1.2998 1.60059 4.2998 1.30078 6.5 -1c2 -1.89941 2.60059 -4.89941 1.2998 -6.19922
+c-1.2998 -1.60059 -4.19922 -1.30078 -6.5 1c-2.2998 1.89941 -2.89941 4.89941 -1.2998 6.19922zM107.4 82.2998c1.59961 1.2998 4.19922 0.299805 5.59961 -2c1.59961 -2.2998 1.59961 -4.89941 0 -6.2002c-1.2998 -1 -4 0 -5.59961 2.30078
+c-1.60059 2.2998 -1.60059 4.89941 0 5.89941z" />
+ <glyph glyph-name="pinterest" unicode="&#xf0d2;" horiz-adv-x="496"
+d="M496 192c0 -137 -111 -248 -248 -248c-25.5996 0 -50.2002 3.90039 -73.4004 11.0996c10.1006 16.5 25.2002 43.5 30.8008 65c3 11.6006 15.3994 59 15.3994 59c8.10059 -15.3994 31.7002 -28.5 56.7998 -28.5c74.8008 0 128.7 68.8008 128.7 154.301
+c0 81.8994 -66.8994 143.199 -152.899 143.199c-107 0 -163.9 -71.7998 -163.9 -150.1c0 -36.4004 19.4004 -81.7002 50.2998 -96.0996c4.7002 -2.2002 7.2002 -1.2002 8.2998 3.2998c0.800781 3.39941 5 20.2998 6.90039 28.0996
+c0.599609 2.5 0.299805 4.7002 -1.7002 7.10059c-10.0996 12.5 -18.2998 35.2998 -18.2998 56.5996c0 54.7002 41.4004 107.6 112 107.6c60.9004 0 103.6 -41.5 103.6 -100.899c0 -67.1006 -33.8994 -113.601 -78 -113.601c-24.2998 0 -42.5996 20.1006 -36.6992 44.8008
+c7 29.5 20.5 61.2998 20.5 82.5996c0 19 -10.2002 34.9004 -31.4004 34.9004c-24.9004 0 -44.9004 -25.7002 -44.9004 -60.2002c0 -22 7.40039 -36.7998 7.40039 -36.7998s-24.5 -103.801 -29 -123.2c-5 -21.4004 -3 -51.6006 -0.900391 -71.2002
+c-92.1992 36.0996 -157.6 125.9 -157.6 231c0 137 111 248 248 248s248 -111 248 -248z" />
+ <glyph glyph-name="pinterest-square" unicode="&#xf0d3;"
+d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-245.6c9.7998 16.4004 22.3994 40 27.3994 59.2998c3 11.5 15.2998 58.4004 15.2998 58.4004c8 -15.2998 31.4004 -28.2002 56.3008 -28.2002c74.0996 0 127.399 68.0996 127.399 152.7
+c0 81.0996 -66.2002 141.8 -151.399 141.8c-106 0 -162.2 -71.0996 -162.2 -148.6c0 -36 19.2002 -80.8008 49.7998 -95.1006c4.7002 -2.2002 7.09961 -1.2002 8.2002 3.2998c0.799805 3.40039 5 20.1006 6.7998 27.8008c0.599609 2.5 0.299805 4.59961 -1.7002 7
+c-10.0996 12.2998 -18.2998 34.8994 -18.2998 56c0 54.1992 41 106.6 110.9 106.6c60.2998 0 102.6 -41.0996 102.6 -99.9004c0 -66.3994 -33.5 -112.399 -77.2002 -112.399c-24.0996 0 -42.0996 19.8994 -36.3994 44.3994c6.89941 29.2002 20.2998 60.7002 20.2998 81.8008
+c0 53 -75.5 45.6992 -75.5 -25c0 -21.7002 7.2998 -36.5 7.2998 -36.5c-31.4004 -132.801 -36.0996 -134.5 -29.5996 -192.601l2.19922 -0.799805h-88.5996c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48z" />
+ <glyph glyph-name="google-plus-square" unicode="&#xf0d4;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM164 92c57.7002 0 96 40.5 96 97.5996c0 6.5 -0.599609 11.6006 -1.59961 16.6006h-94.4004v-34.4004h56.9004
+c-2.40039 -14.5996 -17.2002 -43.0996 -56.8008 -43.0996c-34.0996 0 -61.8994 28.2998 -61.8994 63.2002c0 35 27.7998 63.1992 61.8994 63.1992c19.5 0 32.4004 -8.2998 39.8008 -15.3994l27.0996 26.0996c-17.5 16.4004 -40 26.2002 -67 26.2002
+c-55.2998 0 -100 -44.7002 -100 -100s44.7002 -100 100 -100zM384 173.8v29.2002h-29v29h-29.2002v-29h-29v-29.2002h29v-29h29.2002v29h29z" />
+ <glyph glyph-name="google-plus-g" unicode="&#xf0d5;" horiz-adv-x="640"
+d="M386.061 219.504c1.83398 -9.69238 3.14355 -19.3838 3.14355 -31.9561c0 -109.753 -73.6055 -187.548 -184.404 -187.548c-106.084 0 -192 85.915 -192 192s85.916 192 192 192c51.8643 0 95.083 -18.8594 128.611 -50.292l-52.126 -50.0303
+c-14.1455 13.6211 -39.0283 29.5996 -76.4854 29.5996c-65.4834 0 -118.92 -54.2217 -118.92 -121.277s53.4365 -121.277 118.92 -121.277c75.9609 0 104.514 54.7451 108.965 82.7734h-108.965v66.0088h181.261v-0.000976562zM571.467 213.067h55.7334v-56.001h-55.7334
+v-55.7334h-56.001v55.7334h-55.7324v56.001h55.7324v55.7324h56.001v-55.7324z" />
+ <glyph glyph-name="linkedin-in" unicode="&#xf0e1;"
+d="M100.3 0h-92.8994v299.1h92.8994v-299.1zM53.7998 339.9c-29.7002 0 -53.7998 24.5996 -53.7998 54.2998s24.0996 53.7998 53.7998 53.7998s53.7998 -24.0996 53.7998 -53.7998s-24.0996 -54.2998 -53.7998 -54.2998zM448 0h-92.7002v145.6
+c0 34.7002 -0.700195 79.2002 -48.2998 79.2002c-48.2998 0 -55.7002 -37.7002 -55.7002 -76.7002v-148.1h-92.7998v299.1h89.0996v-40.7998h1.30078c12.3994 23.5 42.6992 48.2998 87.8994 48.2998c94 0 111.3 -61.8994 111.3 -142.3v-164.3h-0.0996094z" />
+ <glyph glyph-name="github-alt" unicode="&#xf113;" horiz-adv-x="480"
+d="M186.1 119.3c0 -20.8994 -10.8994 -55.0996 -36.6992 -55.0996c-25.8008 0 -36.7002 34.2002 -36.7002 55.0996c0 20.9004 10.8994 55.1006 36.7002 55.1006c25.7998 0 36.6992 -34.2002 36.6992 -55.1006zM480 169.8c0 -31.8994 -3.2002 -65.7002 -17.5 -95
+c-37.9004 -76.5996 -142.1 -74.7998 -216.7 -74.7998c-75.7998 0 -186.2 -2.7002 -225.6 74.7998c-14.6006 29 -20.2002 63.1006 -20.2002 95c0 41.9004 13.9004 81.5 41.5 113.601c-5.2002 15.7998 -7.7002 32.3994 -7.7002 48.7998
+c0 21.5 4.90039 32.2998 14.6006 51.7998c45.2998 0 74.2998 -9 108.8 -36c29 6.90039 58.7998 10 88.7002 10c27 0 54.1992 -2.90039 80.3994 -9.2002c34 26.7002 63 35.2002 107.8 35.2002c9.80078 -19.5 14.6006 -30.2998 14.6006 -51.7998
+c0 -16.4004 -2.60059 -32.7002 -7.7002 -48.2002c27.5 -32.4004 39 -72.2998 39 -114.2zM415.7 119.3c0 43.9004 -26.7002 82.6006 -73.5 82.6006c-18.9004 0 -37 -3.40039 -56 -6c-14.9004 -2.30078 -29.7998 -3.2002 -45.1006 -3.2002
+c-15.1992 0 -30.0996 0.899414 -45.0996 3.2002c-18.7002 2.59961 -37 6 -56 6c-46.7998 0 -73.5 -38.7002 -73.5 -82.6006c0 -87.7998 80.4004 -101.3 150.4 -101.3h48.1992c70.3008 0 150.601 13.4004 150.601 101.3zM333.1 174.4
+c25.8008 0 36.7002 -34.2002 36.7002 -55.1006c0 -20.8994 -10.8994 -55.0996 -36.7002 -55.0996c-25.7998 0 -36.6992 34.2002 -36.6992 55.0996c0 20.9004 10.8994 55.1006 36.6992 55.1006z" />
+ <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="511"
+d="M461.1 5.2998h-97.3994l51.8994 242.7c2.30078 10.2002 0.900391 19.5 -4.39941 25.7002c-5 6.09961 -13.7002 9.59961 -24.2002 9.59961h-49.2998l-59.5 -278h-97.4004l59.5 278h-83.3994l-59.5 -278h-97.4004l59.5 278l-44.5996 95.4004h372.1
+c39.4004 0 75.2998 -16.2998 98.2998 -44.9004c23.2998 -28.5996 31.7998 -67.3994 23.6006 -105.899z" />
+ <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="384"
+d="M0 416h384l-34.9004 -395.8l-157.6 -52.2002l-156.6 52.2002zM308.2 288.1l4.39941 47.7002h-241.1l12.7998 -145.6h166.9l-6 -62.2002l-53.7002 -14.5l-53.5 14.5l-3.5 38.0996h-47.7002l6 -75.7998l98.7002 -27.2998h1.09961v0.299805l97.9004 27l13.5996 148.4h-175.6
+l-4.09961 49.3994h183.8z" />
+ <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="480"
+d="M480 416l-64 -368l-223.3 -80l-192.7 80l19.5996 94.7998h82l-8 -40.5996l116.4 -44.4004l134.1 44.4004l18.8008 97.0996h-333.4l16 82h333.7l10.5 52.7002h-333.4l16.2998 82h407.4z" />
+ <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="383"
+d="M310.204 205.362c46.0059 -11.0283 74.9971 -38.4443 69.3262 -99.8906c-7.24805 -76.5723 -61.5967 -97.0547 -142.896 -101.467v-68.0049h-48.5273v66.7451c-12.29 0 -25.21 0 -38.4443 0.314453v-67.0596h-48.5283v68.0049s-8.88867 0.31543 -97.3701 0.31543
+l9.76758 57.666c34.7305 -0.614258 50.3301 -3.4209 53.2549 16.0703v217.43c-4.60645 24.5664 -24.709 22.1045 -63.0234 21.4268v51.6777c58.748 -0.275391 79.5283 -0.539062 97.3701 0v79.4092h48.5283v-77.833c12.9189 0.31543 25.8389 0.629883 38.4443 0.629883
+v77.2031h48.5273v-79.4092c62.3926 -5.35547 109.492 -24.5781 114.851 -81.9287c4.09668 -41.9102 -13.5508 -67.1201 -41.2803 -81.2998zM150.608 313.447v-96.7402c27.416 0 113.126 -6.30273 113.126 48.2119c0 57.0352 -85.7109 48.5283 -113.126 48.5283z
+M150.608 61.6709c32.7715 0 133.126 -6.93262 133.127 53.2529c0 62.3936 -100.355 53.2549 -133.127 53.2549v-106.508z" />
+ <glyph glyph-name="youtube" unicode="&#xf167;" horiz-adv-x="576"
+d="M549.655 323.917c11.4121 -42.8672 11.4121 -132.305 11.4121 -132.305s0 -89.4385 -11.4121 -132.306c-6.28125 -23.6494 -24.7871 -41.5 -48.2842 -47.8203c-42.5908 -11.4863 -213.371 -11.4863 -213.371 -11.4863s-170.78 0 -213.371 11.4863
+c-23.4971 6.32031 -42.0029 24.1709 -48.2842 47.8203c-11.4121 42.8672 -11.4121 132.306 -11.4121 132.306s0 89.4375 11.4121 132.305c6.28125 23.6504 24.7871 42.2754 48.2842 48.5967c42.5908 11.4863 213.371 11.4863 213.371 11.4863s170.781 0 213.371 -11.4863
+c23.4971 -6.32031 42.0029 -24.9463 48.2842 -48.5967zM232.145 110.409l142.739 81.2012l-142.739 81.2051v-162.406z" />
+ <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="384"
+d="M162.7 238c-1.7998 -3.2998 -25.2002 -44.4004 -70.1006 -123.5c-4.89941 -8.2998 -10.7998 -12.5 -17.6992 -12.5h-65.1006c-7.7002 0 -12.0996 7.5 -8.5 14.4004l69 121.3c0.200195 0 0.200195 0.0996094 0 0.299805l-43.8994 75.5996
+c-4.30078 7.80078 0.299805 14.1006 8.5 14.1006h65.0996c7.2998 0 13.2998 -4.10059 18 -12.2002zM382.6 401.9l-144 -253v-0.300781l91.6006 -166.6c3.89941 -7.09961 0.200195 -14.0996 -8.5 -14.0996h-65.2002c-7.59961 0 -13.5996 4 -18 12.1992l-92.4004 168.5
+c3.30078 5.80078 51.5 90.8008 144.801 255.2c4.59961 8.10059 10.3994 12.2002 17.5 12.2002h65.6992c8 0 12.3008 -6.7002 8.5 -14.0996z" />
+ <glyph glyph-name="xing-square" unicode="&#xf169;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM140.4 127.8c4.89941 0 9.09961 2.90039 12.5996 9.10059c32.0996 56.5 48.7998 85.8994 50.0996 88.1992l-31.8994 55.3008
+c-3.40039 5.7998 -7.7002 8.69922 -12.9004 8.69922h-46.5996c-5.7998 0 -9 -4.5 -6 -10.0996l31.3994 -54c0.100586 -0.0996094 0.100586 -0.200195 0 -0.200195l-49.2998 -86.7002c-2.7002 -5 0.5 -10.2998 6 -10.2998h46.6006zM360.1 341.9
+c2.80078 5.2998 -0.299805 10.0996 -6 10h-46.8994c-5.10059 0 -9.2002 -2.90039 -12.5 -8.7002c-66.6006 -117.4 -101.101 -178.2 -103.4 -182.3l66 -120.301c3.2002 -5.7998 7.40039 -8.69922 12.9004 -8.69922h46.5996c6.10059 0 8.7998 5 6 10.0996l-65.5 119v0.200195z
+" />
+ <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="528"
+d="M264.4 331.7l-132 -84.2998l132 -84.3008l-132 -84.2998l-132.4 85.1006l132.3 84.2998l-132.3 83.5l132.3 84.2998zM131.6 52.2998l132 84.2998l132 -84.2998l-132 -84.2998zM264.4 163.9l132 84.2998l-132 83.5996l131.3 84.2002l132.3 -84.2998l-132.3 -84.2998
+l132.3 -84.2002l-132.3 -84.2998z" />
+ <glyph glyph-name="stack-overflow" unicode="&#xf16c;" horiz-adv-x="384"
+d="M290.7 137l-8.2002 -39l-195.7 41l8.2002 39.2998zM341.7 224l-25.5 -30.7998l-153.5 128.3l25.5 30.7998zM310.5 184.3l-16.7998 -36.2998l-181.2 84.5l16.7002 36.5zM262 416l119.3 -160.3l-32 -24l-119.3 160.3zM282.5 88v-39.7002h-200v39.7002h200zM322.2 8v120h40
+v-160h-359.5v160h40v-120h279.5z" />
+ <glyph glyph-name="instagram" unicode="&#xf16d;"
+d="M224.1 307c63.6006 0 114.9 -51.2998 114.9 -114.9c0 -63.5996 -51.2998 -114.899 -114.9 -114.899c-63.5996 0 -114.899 51.2998 -114.899 114.899c0 63.6006 51.2998 114.9 114.899 114.9zM224.1 117.4c41.1006 0 74.7002 33.5 74.7002 74.6992
+c0 41.2002 -33.5 74.7002 -74.7002 74.7002c-41.1992 0 -74.6992 -33.5 -74.6992 -74.7002c0 -41.1992 33.5996 -74.6992 74.6992 -74.6992zM370.5 311.7c0 -14.9004 -12 -26.7998 -26.7998 -26.7998c-14.9004 0 -26.7998 12 -26.7998 26.7998s12 26.7998 26.7998 26.7998
+s26.7998 -12 26.7998 -26.7998zM446.6 284.5c2.10059 -37 2.10059 -147.8 0 -184.8c-1.7998 -35.9004 -10 -67.7002 -36.1992 -93.9004c-26.2002 -26.2998 -58 -34.5 -93.9004 -36.2002c-37 -2.09961 -147.9 -2.09961 -184.9 0
+c-35.8994 1.80078 -67.5996 10 -93.8994 36.2002s-34.5 58 -36.2002 93.9004c-2.09961 37 -2.09961 147.899 0 184.899c1.7998 35.9004 9.90039 67.7002 36.2002 93.9004s58.0996 34.4004 93.8994 36.0996c37 2.10059 147.9 2.10059 184.9 0
+c35.9004 -1.7998 67.7002 -10 93.9004 -36.1992c26.2998 -26.2002 34.5 -58 36.1992 -93.9004zM398.8 60c11.7002 29.4004 9 99.5 9 132.1c0 32.6006 2.7002 102.601 -9 132.101c-7.89941 19.7002 -23 34.7998 -42.5996 42.5996c-29.4004 11.6006 -99.5 9 -132.101 9
+c-32.5996 0 -102.6 2.7002 -132.1 -9c-19.7002 -7.89941 -34.7998 -23 -42.5996 -42.5996c-11.6006 -29.4004 -9 -99.5 -9 -132.101c0 -32.5996 -2.7002 -102.6 9 -132.1c7.89941 -19.7002 23 -34.7998 42.5996 -42.5996c29.4004 -11.6006 99.5 -9 132.1 -9
+c32.6006 0 102.601 -2.7002 132.101 9c19.7002 7.89941 34.7998 23 42.5996 42.5996z" />
+ <glyph glyph-name="flickr" unicode="&#xf16e;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM144.5 129c35.0996 0 63.5 28.4004 63.5 63.5s-28.4004 63.5 -63.5 63.5s-63.5 -28.4004 -63.5 -63.5s28.4004 -63.5 63.5 -63.5z
+M303.5 129c35.0996 0 63.5 28.4004 63.5 63.5s-28.4004 63.5 -63.5 63.5s-63.5 -28.4004 -63.5 -63.5s28.4004 -63.5 63.5 -63.5z" />
+ <glyph glyph-name="adn" unicode="&#xf170;" horiz-adv-x="496"
+d="M248 280.5l64.9004 -98.7998h-129.801zM496 192c0 -136.9 -111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248s248 -111.1 248 -248zM396.2 109.3l-148.2 223.2l-148.2 -223.2h30.4004l33.5996 51.7002h168.601l33.5996 -51.7002h30.2002z" />
+ <glyph glyph-name="bitbucket" unicode="&#xf171;" horiz-adv-x="499"
+d="M16.2002 416.4l466.8 -0.200195c1 0 1.90039 -0.100586 2.7998 -0.200195c8.7002 -1.40039 14.6006 -9.59961 13.2002 -18.2998l-67.9004 -416.8c-1.2998 -7.80078 -8.09961 -13.5 -16 -13.4004h-325.699c-10.6006 0.0996094 -19.6006 7.7998 -21.3008 18.2002
+l-67.8994 412.1c-0.100586 0.900391 -0.200195 1.90039 -0.200195 2.7998c0.0996094 8.90039 7.40039 15.9004 16.2002 15.8008zM302.1 118.6l25.2002 147h-157.3l28.0996 -147h104z" />
+ <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="319"
+d="M309.8 -32.2998c-13.5996 -14.5 -50 -31.7002 -97.3994 -31.7002c-120.801 0 -147 88.7998 -147 140.6v144h-47.5c-5.5 0 -10 4.5 -10 10v68c0 7.2002 4.5 13.6006 11.2998 16c62 21.8008 81.5 76 84.2998 117.101c0.799805 11 6.5 16.2998 16.0996 16.2998h70.9004
+c5.5 0 10 -4.5 10 -10v-115.2h83c5.5 0 10 -4.39941 10 -9.89941v-81.7002c0 -5.5 -4.5 -10 -10 -10h-83.4004v-133.2c0 -34.2002 23.7002 -53.5996 68 -35.7998c4.80078 1.89941 9 3.2002 12.7002 2.2002c3.5 -0.900391 5.7998 -3.40039 7.40039 -7.90039l22 -64.2998
+c1.7998 -5 3.2998 -10.6006 -0.400391 -14.5z" />
+ <glyph glyph-name="tumblr-square" unicode="&#xf174;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM317.7 51.7998c2.2998 2.40039 1.2998 5.90039 0.299805 9.10059l-13.7998 40.1992c-1 2.80078 -2.40039 4.40039 -4.60059 4.90039
+c-2.39941 0.599609 -5 -0.200195 -8 -1.40039c-27.6992 -11.0996 -42.5 1 -42.5 22.4004v83.2998h52.1006c3.39941 0 6.2002 2.7998 6.2002 6.2002v51.0996c0 3.40039 -2.80078 6.2002 -6.2002 6.2002h-51.9004v72c0 3.40039 -2.7998 6.2002 -6.2002 6.2002h-44.2998
+c-5.89941 0 -9.5 -3.2998 -10 -10.2002c-1.7998 -25.7002 -13.8994 -59.5 -52.7002 -73.2002c-4.2998 -1.5 -7.09961 -5.5 -7.09961 -10v-42.5c0 -3.39941 2.7998 -6.19922 6.2002 -6.19922h29.7002v-90c0 -32.4004 16.3994 -87.9004 91.8994 -87.9004
+c29.7002 0 52.4004 10.7002 60.9004 19.7998z" />
+ <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="376"
+d="M314.7 179.3c0 -1.89941 -3.5 -61.2002 61.7002 -91.8994c-12.2002 -36.8008 -54 -118.601 -102.601 -119.301c-28.0996 0 -44.5996 17.9004 -76.3994 17.9004c-32.8008 0 -50.6006 -17.2998 -75.8008 -17.9004c-48.1992 -1.5 -94.3994 88.5 -107.199 125.2
+c-9.60059 27.9004 -14.4004 55 -14.4004 81.2002c0 88.7002 59.2998 132.3 115.1 133.2c27 0 61.4004 -19.7002 76.4004 -19.7002c14.2002 0 53 23.5 88.5 20.7002c37.5 -2.90039 65.9004 -17.7002 84.7002 -44.6006c-33.6006 -20.3994 -50.2002 -48.0996 -50 -84.7998z
+M258.1 343.5c-19.5996 -22.9004 -43.3994 -36.2998 -69.5 -34.2998c-2.19922 27.5996 8.10059 52.0996 25.6006 71.8994c15.8994 18.5 43.7998 33.5 67.8994 34.9004c0.800781 -10.5996 3.30078 -40.0996 -24 -72.5z" />
+ <glyph glyph-name="windows" unicode="&#xf17a;"
+d="M0 354.3l183.6 25.2998v-177.399h-183.6v152.1zM0 29.7002v149.899h183.6v-175.199zM203.8 1.7002v177.899h244.2v-211.6zM203.8 382.3l244.2 33.7002v-213.8h-244.2v180.1z" />
+ <glyph glyph-name="android" unicode="&#xf17b;"
+d="M89.5996 243.5v-115.8c0 -15.4004 -12.0996 -27.7002 -27.5 -27.7002c-15.2998 0 -30.0996 12.4004 -30.0996 27.7002v115.8c0 15.0996 14.7998 27.5 30.0996 27.5c15.1006 0 27.5 -12.4004 27.5 -27.5zM100.4 86.5v179.4h247.3v-179.4
+c0 -16.4004 -13.2002 -29.5996 -29.4004 -29.5996h-20.2002v-61.1006c0 -36.7998 -55.5 -36.7002 -55.5 0v61.1006h-37.1992v-61.1006c0 -36.5996 -55.2002 -36.8994 -55.2002 0l-0.299805 61.1006h-19.9004c-16.4004 0 -29.5996 13.1992 -29.5996 29.5996zM348.4 275.6
+h-249.101c0 42.8008 25.6006 80 63.6006 99.4004l-19.1006 35.2998c-2.7998 4.90039 4.2998 8 6.7002 3.7998l19.4004 -35.5996c34.8994 15.5 75 14.7002 108.3 0l19.2998 35.5c2.5 4.2998 9.5 1.09961 6.7002 -3.7998l-19.1006 -35.2002
+c37.7002 -19.4004 63.3008 -56.5996 63.3008 -99.4004zM177.7 331.1c0 5.7002 -4.60059 10.5 -10.5 10.5c-5.7002 0 -10.2002 -4.7998 -10.2002 -10.5c0 -5.69922 4.59961 -10.5 10.2002 -10.5c5.89941 0 10.5 4.80078 10.5 10.5zM291.1 331.1
+c0 5.7002 -4.59961 10.5 -10.1992 10.5c-5.90039 0 -10.5 -4.7998 -10.5 -10.5c0 -5.69922 4.59961 -10.5 10.5 -10.5c5.59961 0 10.1992 4.80078 10.1992 10.5zM385.9 271c15.2998 0 30.0996 -12.0996 30.0996 -27.5v-115.8
+c0 -15.2998 -14.7002 -27.7002 -30.0996 -27.7002c-15.1006 0 -27.5 12.2998 -27.5 27.7002v115.8c0 15.4004 12.3994 27.5 27.5 27.5z" />
+ <glyph glyph-name="linux" unicode="&#xf17c;"
+d="M220.8 324.7c-1.09961 0.599609 -3.09961 0.399414 -3.39941 1.7002c-0.200195 0.399414 0.199219 0.899414 0.599609 1.09961c1.59961 0.900391 3.7998 0.599609 5.5 -0.0996094c1.2998 -0.600586 3.40039 -1.5 3.2002 -2.90039
+c-0.100586 -1.09961 -1.7998 -1.5 -2.90039 -1.5c-1.2002 0 -2 1.2002 -3 1.7002zM198.9 323c-1 -0.0996094 -2.7002 0.400391 -2.80078 1.40039c-0.199219 1.39941 1.90039 2.2998 3.2002 2.89941c1.7002 0.700195 3.90039 1 5.5 0.100586
+c0.400391 -0.200195 0.799805 -0.700195 0.600586 -1.10059c-0.400391 -1.2002 -2.40039 -1 -3.5 -1.59961c-1 -0.5 -1.80078 -1.7002 -3 -1.7002zM420 44.2002c11.0996 -12.4004 15.9004 -21.5 15.5 -29.7002c-0.5 -8.2002 -6.5 -13.7998 -13.9004 -18.2998
+c-14.8994 -9 -37.2998 -15.7998 -50.8994 -32.2002c-14.2002 -16.9004 -31.7002 -26.5996 -48.2998 -27.9004c-16.5 -1.2998 -32 6.30078 -40.3008 23v0.100586c-1.09961 2.09961 -1.89941 4.39941 -2.5 6.7002c-21.5 -1.2002 -40.1992 5.2998 -55.0996 4.09961
+c-22 -1.2002 -35.7998 -6.5 -48.2998 -6.59961c-4.7998 -10.6006 -14.2998 -17.6006 -25.9004 -20.2002c-16 -3.7002 -36.0996 0 -55.8994 10.3994c-18.5 9.80078 -42 8.90039 -59.3008 12.5c-8.69922 1.80078 -16.2998 5 -20.0996 12.3008
+c-3.7002 7.2998 -3 17.2998 2.2002 31.6992c1.7002 5.10059 0.399414 12.7002 -0.799805 20.8008c-0.600586 3.89941 -1.2002 7.89941 -1.2002 11.7998c0 4.2998 0.700195 8.5 2.7998 12.3994c4.5 8.5 11.7998 12.1006 18.5 14.5c6.7002 2.40039 12.7998 4 17 8.30078
+c5.2002 5.5 10.0996 14.3994 16.5996 20.1992c-2.59961 17.2002 0.200195 35.4004 6.2002 53.3008c12.6006 37.8994 39.2002 74.1992 58.1006 96.6992c16.0996 22.9004 20.7998 41.3008 22.5 64.7002c1.09961 31.7998 -24.5 135.4 77.8994 135.2
+c80.9004 -0.0996094 76.2998 -85.4004 75.7998 -131.3c-0.299805 -30.1006 16.3008 -50.5 33.4004 -72c15.2002 -18 35.0996 -44.2998 46.5 -74.4004c9.2998 -24.5996 12.9004 -51.7998 3.7002 -79.0996c1.39941 -0.5 2.7998 -1.2002 4.09961 -2
+c1.40039 -0.799805 2.7002 -1.7998 4 -2.90039c6.60059 -5.59961 8.7002 -14.2998 10.5 -22.3994c1.90039 -8.10059 3.60059 -15.7002 7.2002 -19.7002zM223.7 360.7c-3.2002 -7.2002 -3.90039 -14.9004 -2.90039 -21.7998c3.60059 -0.900391 8.90039 -2.40039 13 -4.40039
+c-2.09961 12.2002 4.5 23.5 11.7998 23c8.90039 -0.299805 13.9004 -15.5 9.10059 -27.2998c-0.799805 -1.90039 -2.7998 -3.40039 -3.90039 -4.60059c6.7002 -2.2998 11 -4.09961 12.6006 -4.89941c7.89941 9.5 10.7998 26.2002 4.2998 40.3994
+c-9.7998 21.4004 -34.2002 21.8008 -44 -0.399414zM183 372.2c-18.9004 0 -24 -37.5 -8.40039 -52.1006c7.80078 5.7002 6.90039 4.7002 5.90039 5.5c-8 6.90039 -6.59961 27.4004 1.7998 28.1006c6.2998 0.5 10.7998 -10.7002 9.60059 -19.6006
+c3.09961 2.10059 6.69922 3.60059 10.1992 4.60059c1.7002 19.2998 -9 33.5 -19.0996 33.5zM169.4 311.5c-4.2002 -3.2998 -5.60059 -7.40039 -4.2002 -12.2998c1.5 -4.90039 6.09961 -10.5 14.7002 -15.2998c7.7998 -4.60059 12 -11.5 20 -15
+c2.59961 -1.10059 5.69922 -1.90039 9.59961 -2.10059c18.4004 -1.09961 27.0996 11.2998 38.2002 14.9004c11.7002 3.7002 20.0996 11 22.7002 18.0996c3.19922 8.5 -2.10059 14.7002 -10.5 18.2002c-11.3008 4.90039 -16.3008 5.2002 -22.6006 9.2998
+c-10.2998 6.60059 -18.7998 8.90039 -25.8994 8.90039c-14.4004 0 -23.2002 -9.7998 -27.9004 -14.2002c-0.5 -0.5 -7.90039 -5.90039 -14.0996 -10.5zM172.7 -22.5c2.09961 20.5 -31.5 49 -41 68.9004l-19.6006 35.5996c-6.7998 9.2002 -13.7998 14.7998 -21.8994 16
+c-7.7002 1.2002 -12.6006 -1.40039 -17.7002 -6.90039c-4.7998 -5.09961 -8.7998 -12.2998 -14.2998 -18c-7.7998 -6.5 -9.2998 -6.19922 -19.6006 -9.89941c-6.2998 -2.2002 -11.2998 -4.60059 -14.7998 -11.2998c-2.7002 -5 -2.09961 -12.2002 -0.899414 -20
+c1.19922 -7.90039 3 -16.3008 0.599609 -23.9004v-0.200195c-5 -13.7002 -5 -21.7002 -2.59961 -26.3994c7.89941 -15.4004 46.5996 -6.10059 76.5 -21.9004c31.3994 -16.4004 72.5996 -17.0996 75.2998 18zM171.3 3.40039c37.6006 -25.7002 82.2002 -15.7002 114.3 7.19922
+c3.2002 11 6.30078 21.3008 6.80078 29c0.799805 15.2002 1.59961 28.7002 4.39941 39.9004c3.10059 12.5996 9.2998 23.0996 21.4004 27.2998c2.2998 21.1006 18.7002 21.1006 38.2998 12.5c18.9004 -8.5 26 -16 22.7998 -26.0996c1 0 2 0.0996094 4.2002 0
+c5.2002 16.8994 -14.2998 28 -30.7002 34.7998c2.90039 12 2.40039 24.0996 -0.399414 35.7002c-6 25.2998 -22.6006 47.7998 -35.2002 59c-2.2998 0.0996094 -2.10059 -1.90039 2.59961 -6.5c11.6006 -10.7002 37.1006 -49.2002 23.2998 -84.9004
+c-3.89941 1 -7.59961 1.5 -10.8994 1.40039c-5.2998 29.0996 -17.5 53.2002 -23.6006 64.5996c-11.5 21.4004 -29.5 65.2998 -37.1992 95.7002c-4.5 -6.40039 -12.4004 -11.9004 -22.3008 -15c-4.69922 -1.5 -9.69922 -5.5 -15.8994 -9
+c-13.9004 -8 -30 -8.7998 -42.4004 1.2002c-4.5 3.59961 -8 7.59961 -12.5996 10.2998c-1.60059 0.900391 -5.10059 3.2998 -6.2002 4.09961c-2 -37.7998 -27.2998 -85.2998 -39.2998 -112.699c-8.2998 -19.7002 -13.2002 -40.8008 -13.7998 -61.5
+c-21.8008 29.0996 -5.90039 66.2998 2.59961 82.3994c9.5 17.6006 11 22.5 8.7002 20.7998c-8.60059 -14 -22 -36.2998 -27.2002 -59.1992c-2.7002 -11.9004 -3.2002 -24 0.299805 -35.2002s11.1006 -21.5 24.6006 -29.9004c0 0 24.7998 -14.2998 38.2998 -32.5
+c7.39941 -10 9.7002 -18.7002 7.39941 -24.8994c-2.5 -6.7002 -9.59961 -8.90039 -16.6992 -8.90039c4.7998 -6 10.2998 -13 14.3994 -19.5996zM428.7 14.9004c0.299805 5.09961 -3.10059 13 -13.7002 24.5996c-10 11.2998 -7.2002 33.0996 -17.0996 41.5996
+c-6.90039 6 -13.6006 5.40039 -22.6006 5.10059c-7.7002 -8.7998 -25.7998 -19.6006 -38.3994 -16.2998c-11.5 2.89941 -18 16.2998 -18.8008 29.5c-0.299805 -0.200195 -0.699219 -0.300781 -1 -0.5c-7.09961 -3.90039 -11.0996 -10.8008 -13.6992 -21.1006
+c-2.5 -10.2002 -3.40039 -23.5 -4.2002 -38.7002c-0.700195 -11.7998 -6.2002 -26.3994 -9.90039 -40.5996c-3.5 -13.2002 -5.7998 -25.2002 -1.09961 -36.2998c7.2002 -14.5 19.5 -20.4004 33.7002 -19.2998c14.1992 1.09961 30.3994 9.7998 43.5996 25.5
+c22 26.5996 62.2998 29.6992 63.2002 46.5zM173.3 299.3c-3.5 2.7998 -3.09961 6.60059 -1.7002 6.5c2.40039 -0.299805 2.80078 -3.5 4.30078 -4.89941c2 -1.90039 4.59961 -4.40039 7.69922 -6.90039c6.2002 -4.90039 14.5 -9.7002 24.9004 -9.7002
+s22.5 6 29.9004 10.2002c4.19922 2.40039 9.5 6.59961 13.8994 9.7998c3.40039 2.5 3.2002 5.40039 6 5.10059c2.7998 -0.300781 0.799805 -3.2002 -3.09961 -6.60059c-3.90039 -3.39941 -9.90039 -7.7998 -14.7998 -10.3994
+c-9.30078 -4.90039 -20.2002 -10.8008 -31.8008 -10.8008c-11.5 0 -20.6992 5.40039 -27.2998 10.6006c-3.2998 2.59961 -6 5.2002 -8 7.09961z" />
+ <glyph glyph-name="dribbble" unicode="&#xf17d;" horiz-adv-x="512"
+d="M256 440c136.748 0 248 -111.252 248 -248s-111.252 -248 -248 -248s-248 111.252 -248 248s111.252 248 248 248zM419.97 325.634c-4.46582 -6.04102 -39.9629 -51.5459 -118.284 -83.5225c7.43652 -15.2217 12.8652 -27.5732 18.6172 -41.6143
+c70.4844 8.86426 140.519 -5.34082 147.502 -6.81836c-0.46582 49.998 -18.332 95.9092 -47.835 131.955zM396.421 350.13c-52.0947 46.2188 -122.885 63.6816 -190.061 47.4893c5.85449 -7.83984 44.3281 -60.2324 79.04 -124.008
+c75.3232 28.2324 107.211 71.0918 111.021 76.5186zM165.941 383.38c-59.2637 -27.9531 -103.562 -82.585 -117.298 -148.318c9.47461 -0.125 96.7471 -0.503906 195.834 25.8096c-35.0986 62.3926 -72.9512 114.85 -78.5361 122.509zM44.1699 191.677
+c0 -54.4072 20.624 -104.082 54.457 -141.636c34.3369 58.7793 103.932 120.731 180.531 142.306c-5.31738 12.0342 -11.1104 24.0811 -17.1738 35.9492c-105.786 -31.6592 -208.438 -30.3359 -217.706 -30.1455c-0.0654297 -2.15137 -0.108398 -4.30762 -0.108398 -6.47363
+zM125.977 24.5645c62.7539 -48.9355 144.656 -56.8955 212.769 -27.8828c-3.15039 18.585 -15.4492 83.3555 -45.1895 160.639c-85.4004 -29.1348 -145.452 -87.5234 -167.579 -132.756zM374.357 16.0752c47.5215 32.1338 81.3525 83.0371 90.7949 141.978
+c-7.24707 2.28711 -65.5674 19.6816 -131.947 9.05566c27.7061 -76.1367 38.9805 -138.147 41.1523 -151.033z" />
+ <glyph glyph-name="skype" unicode="&#xf17e;" horiz-adv-x="447"
+d="M424.7 148.2c14.5996 -18.9004 23.2998 -42.5 23.2002 -68.1006c0 -61.7998 -50.2002 -112 -112 -112c-25.6006 0 -49.2002 8.7002 -68.2002 23.3008c-14.1006 -3 -28.9004 -4.7002 -43.7998 -4.7002c-113.4 0 -205.301 91.7998 -205.301 205.3
+c0 14.9004 1.80078 29.7998 4.7002 43.7998c-14.5996 18.9004 -23.2998 42.5 -23.2998 68.2002c0 61.7998 50.2002 112 112 112c25.7002 0 49.2998 -8.7002 68.2998 -23.4004c14.1006 3 28.9004 4.7002 43.7998 4.7002c113.4 0 205.301 -91.7998 205.301 -205.3
+c0 -14.9004 -1.80078 -29.7998 -4.7002 -43.7998zM230.1 56.7002c54.9004 0 112 27.3994 112 86.5c0 50.7998 -49.2998 68.2998 -90.6992 77.5996c-48.3008 11.2002 -69.1006 13.2002 -69.1006 33c0 15.5 16.2998 22.5 42 22.5c45.7998 0 46.7002 -33.5 75 -33.5
+c18.9004 0 30.2998 14.9004 30.2998 31.7998c0 33.5 -55.6992 55.4004 -110.8 55.4004c-50.5 0 -109.1 -21.9004 -109.1 -81.0996c0 -65.2002 55.2998 -71.8008 117.8 -87.2002c26 -6.40039 42 -9.2998 42 -28c0 -14.9004 -16.5996 -26.2998 -42.2998 -26.2998
+c-54 0 -56.9004 44.8994 -88.1006 44.8994c-20.5 0 -29.5 -14.5996 -29.5 -30.5996c0 -35.7998 54.9004 -65 120.5 -65z" />
+ <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="368"
+d="M323.1 445c40 0 50.7002 -22.7998 42.2002 -65.2002l-48.5996 -243c-3.7002 -14.5 -9.2002 -39.7002 -44.2998 -39.7002h-83.4004c-3.40039 0 -3.7002 0.300781 -6.7998 -3.09961c0 0 -2.2002 -2.5 -131.101 -151.9
+c-10.0996 -11.6992 -26.6992 -9.59961 -32.8994 -7.09961c-6.10059 2.40039 -18.2002 9.7998 -18.2002 30.0996v433.801c0 17.7998 12.4004 46.0996 49.9004 46.0996h273.199zM306.8 371.2c2.10059 9.7998 -5.2998 17.5 -13.5 17.5h-219
+c-9.7998 0 -16.5996 -8.90039 -16.5996 -16.6006v-338.8c0 -0.899414 0.899414 -1.2002 1.7998 -0.299805c80.5996 96.9004 89.5 108.3 89.5 108.3c9.2998 10.7998 13 12.6006 26.5 12.6006h73.5c10.0996 0 16 8.59961 16.9004 13.5
+c0.899414 5 9.59961 49.8994 11.3994 58.7998c1.7998 9 -6.5 18.2002 -14.7998 18.2002h-90.4004c-12 0 -20.5996 8.59961 -20.5996 20.5996v13c0 12 8.59961 20.2998 20.5996 20.2998h106.4c7.40039 0 15.7002 6.7002 16.9004 13.2002z" />
+ <glyph glyph-name="trello" unicode="&#xf181;" horiz-adv-x="447"
+d="M392.3 416c30.7998 -0.200195 55.7002 -25.2002 55.6006 -56v-336c0 -30.7998 -24.9004 -55.7998 -55.7002 -56h-336.2c-30.9004 0 -56 25.0996 -56 56c0 340 -0.0996094 336 0 336c0 30.9004 25.0996 56 56.0996 56h336.2zM197 76.7002h0.0996094v254.2
+c0 14.8994 -12.0996 26.8994 -26.8994 26.8994h-82.9004c-14.8994 0 -26.8994 -12.0996 -26.8994 -26.8994v-254.2c0.0996094 -14.7998 12.1992 -26.7002 27 -26.6006h82.6992c14.8008 0 26.7002 11.9004 26.9004 26.6006zM390.1 188.7v142.1
+c0 14.9004 -12.0996 26.9004 -26.8994 26.9004h-81.1006c-14.7998 0 -26.7998 -12.1006 -26.7998 -26.9004v-142.1c0 -14.9004 12.1006 -26.9004 26.9004 -26.9004h81c14.8994 0 26.8994 12.1006 26.8994 26.9004z" />
+ <glyph glyph-name="gratipay" unicode="&#xf184;" horiz-adv-x="496"
+d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM362.6 213.6c8.80078 12 19.1006 50.4004 -13.7998 72c-27.7002 18.1006 -54.2002 4.2002 -68.0996 -11.8994c-15.1006 -16.9004 -45.7998 -17.9004 -61.7002 0
+c-13.9004 16.0996 -40.4004 30 -68.5 11.8994c-32.7002 -21.5996 -22.2998 -60.0996 -13.5996 -72l112.699 -152.699z" />
+ <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="575"
+d="M545 330.3c-7.40039 -34.2998 -79.2998 -135.5 -79.4004 -135.6c-6.19922 -10 -8.69922 -15 0 -26.2002c3.40039 -4.7998 79.1006 -76.5996 90.3008 -111.5c4.89941 -16.5996 -3.60059 -25 -20.4004 -25h-58.9004c-22.3994 0 -29 17.9004 -69 57.9004
+c-35 33.6992 -50 38.0996 -58.6992 38.0996c-18.8008 0 -15.4004 -6.2998 -15.4004 -73.0996c0 -14.5 -4.59961 -22.9004 -42.0996 -22.9004c-62.4004 0 -131 37.9004 -179.7 107.8c-73.1006 102.4 -93.1006 179.9 -93.1006 195.5c0 8.7998 3.40039 16.7002 20.2002 16.7002
+h58.9004c15.0996 0 20.7998 -6.59961 26.5996 -22.9004c28.7998 -84 77.4004 -157.399 97.4004 -157.399c7.5 0 10.8994 3.5 10.8994 22.5v86.7998c-2.19922 40 -23.3994 43.2998 -23.3994 57.5c0 6.5 5.59961 13.5 15 13.5h92.5996
+c12.4004 0 16.6006 -6.7002 16.6006 -21.7002v-116.7c0 -12.5 5.69922 -16.8994 9.39941 -16.8994c7.5 0 13.7998 4.39941 27.5 18.0996c42.4004 47.4004 72.4004 120.5 72.4004 120.5c3.7002 8.7998 10.5996 16.7002 25.5996 16.7002h58.9004
+c17.7998 0 21.5 -9.2002 17.7998 -21.7002z" />
+ <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="511"
+d="M407 270.4c7.59961 24 -13.4004 46.7998 -37.4004 41.6992c-22 -4.7998 -28.7998 28.1006 -7.09961 32.8008c50.0996 10.8994 92.2998 -37.1006 76.5 -84.8008c-6.7998 -21.1992 -38.7998 -10.7998 -32 10.3008zM214.8 1.2998c-106.3 0 -214.8 51.4004 -214.8 136.3
+c0 44.3008 28 95.4004 76.2998 143.7c99.7002 99.7002 203.2 100.9 173.601 5.7002c-4 -13.0996 12.2998 -5.7002 12.2998 -6c79.5 33.5996 140.5 16.7998 114 -51.4004c-3.7002 -9.39941 1.09961 -10.8994 8.2998 -13.0996c135.7 -42.2998 34.7998 -215.2 -169.7 -215.2z
+M358.5 147.6c-5.40039 55.7002 -78.5 94 -163.4 85.7002c-84.7998 -8.59961 -148.8 -60.2998 -143.399 -116c5.39941 -55.7002 78.5 -94 163.399 -85.7002c84.8008 8.60059 148.801 60.3008 143.4 116zM347.9 412.9c102.3 21.5996 189.3 -74.5 157.399 -174.301
+c-8.2998 -25 -44.7998 -12.1992 -37.3994 12c23.0996 71.2002 -39.4004 139.2 -111.7 124c-25.1006 -5.39941 -34.2002 32.7002 -8.2998 38.3008zM269.4 101.9c-17.1006 -38.8008 -66.8008 -60 -109.101 -46.3008c-40.7998 13.1006 -58 53.4004 -40.2998 89.7002
+c17.7002 35.4004 63.0996 55.4004 103.4 45.1006c42 -10.8008 63.0996 -50.2002 46 -88.5zM183.1 131.9c-12.8994 5.39941 -30 -0.300781 -38 -12.9004c-8.2998 -12.9004 -4.2998 -28 8.60059 -34c13.0996 -6 30.7998 -0.299805 39.0996 12.9004
+c8 13.0996 3.7002 28.2998 -9.7002 34zM215.7 145.3c-5.10059 1.7002 -11.4004 -0.599609 -14.2998 -5.39941c-2.90039 -5.10059 -1.40039 -10.6006 3.69922 -12.9004c5.10059 -2 11.7002 0.299805 14.6006 5.40039c2.7998 5.19922 1.09961 10.8994 -4 12.8994z" />
+ <glyph glyph-name="renren" unicode="&#xf18b;" horiz-adv-x="512"
+d="M214 278.9c0 -110.4 -61 -205.4 -147.6 -247.4c-36.4004 43.2998 -58.4004 98.7998 -58.4004 159.9c0 122.699 89.0996 224.399 206 244.1v-156.6zM255 -56c-42.9004 0 -83.2998 11 -118.5 30.4004c57.2002 36.0996 103.4 90.6992 118.5 154.6
+c15.5 -63.9004 61.7002 -118.5 118.8 -154.7c-35.0996 -19.2998 -75.5 -30.2998 -118.8 -30.2998zM445.6 31.5c-86.5996 42 -147.6 136.9 -147.6 247.4v156.6c116.9 -19.7002 206 -121.4 206 -244.1c0 -61.1006 -22 -116.601 -58.4004 -159.9z" />
+ <glyph glyph-name="pagelines" unicode="&#xf18c;" horiz-adv-x="384"
+d="M384 135.3c-55.0996 -136.7 -187.1 -54 -187.1 -54c-40.5 -81.7998 -107.4 -134.399 -184.601 -134.7c-16.0996 0 -16.5996 24.4004 0 24.4004c64.4004 0.299805 120.5 42.7002 157.2 110.1c-41.0996 -15.8994 -118.6 -27.8994 -161.6 82.2002
+c109 44.9004 159.1 -11.2002 178.3 -45.5c9.89941 24.4004 17 50.9004 21.5996 79.7002c0 0 -139.7 -21.9004 -149.5 98.0996c119.101 47.9004 152.601 -76.6992 152.601 -76.6992c1.59961 16.6992 3.2998 52.5996 3.2998 53.3994c0 0 -106.3 73.7002 -38.1006 165.2
+c124.601 -43 61.4004 -162.4 61.4004 -162.4c0.5 -1.59961 0.5 -23.7998 0 -33.3994c0 0 45.2002 89 136.4 57.5c-4.2002 -134 -141.9 -106.4 -141.9 -106.4c-4.40039 -27.3994 -11.2002 -53.3994 -20 -77.5c0 0 83 91.7998 172 20z" />
+ <glyph glyph-name="stack-exchange" unicode="&#xf18d;"
+d="M17.7002 115.7h412.7v-22c0 -37.7002 -29.3008 -68 -65.3008 -68h-19l-86.7998 -89.7002v89.7002h-176.3c-36 0 -65.2998 30.2998 -65.2998 68v22zM17.7002 139.3v85h412.7v-85h-412.7zM17.7002 248.7v85h412.7v-85h-412.7zM365 448
+c36 0 65.2998 -30.2998 65.4004 -67.7002v-22.2998h-412.7v22.2998c0 37.4004 29.2998 67.7002 65.2998 67.7002h282z" />
+ <glyph glyph-name="vimeo-square" unicode="&#xf194;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM383.8 266.4c1.90039 41.5996 -13.5996 63 -46.5 64c-44.2998 1.39941 -74.3994 -23.6006 -90.0996 -75.1006
+c19.5996 8.40039 48.5996 10.6006 45.2002 -22.2002c-0.900391 -11.0996 -8.10059 -27.0996 -21.5 -48.2998c-37.2002 -58.7002 -46.3008 -39.0996 -66.8008 90.5c-5.7998 36.5 -21.0996 53.5 -46 51.1006c-22 -2 -57.1992 -38 -94.0996 -70.4004l15 -19.4004
+c14.2998 10.1006 22.7002 15.1006 25.0996 15.1006c20.8008 0 31.5 -54.1006 56.7002 -146.4c12.9004 -34.3994 28.6006 -51.5996 47.2998 -51.5996c30.1006 0 66.9004 28.2998 110.4 84.7998c42.0996 54.0996 63.9004 96.7998 65.2998 127.9z" />
+ <glyph glyph-name="slack" unicode="&#xf198;"
+d="M94.1201 132.9c0 -25.9004 -21.1602 -47.0605 -47.0605 -47.0605c-25.8994 0 -47.0596 21.1602 -47.0596 47.0605c0 25.8994 21.1602 47.0596 47.0596 47.0596h47.0605v-47.0596zM117.84 132.9c0 25.8994 21.1602 47.0596 47.0605 47.0596
+c25.8994 0 47.0596 -21.1602 47.0596 -47.0596v-117.841c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596c-25.9004 0 -47.0605 21.1602 -47.0605 47.0596v117.841zM164.9 321.88c-25.9004 0 -47.0605 21.1602 -47.0605 47.0605c0 25.8994 21.1602 47.0596 47.0605 47.0596
+c25.8994 0 47.0596 -21.1602 47.0596 -47.0596v-47.0605h-47.0596zM164.9 298.16c25.8994 0 47.0596 -21.1602 47.0596 -47.0605c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596h-117.841c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596
+c0 25.9004 21.1602 47.0605 47.0596 47.0605h117.841zM353.88 251.1c0 25.9004 21.1602 47.0605 47.0605 47.0605c25.8994 0 47.0596 -21.1602 47.0596 -47.0605c0 -25.8994 -21.1602 -47.0596 -47.0596 -47.0596h-47.0605v47.0596zM330.16 251.1
+c0 -25.8994 -21.1602 -47.0596 -47.0605 -47.0596c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596v117.841c0 25.8994 21.1602 47.0596 47.0596 47.0596c25.9004 0 47.0605 -21.1602 47.0605 -47.0596v-117.841zM283.1 62.1201c25.9004 0 47.0605 -21.1602 47.0605 -47.0605
+c0 -25.8994 -21.1602 -47.0596 -47.0605 -47.0596c-25.8994 0 -47.0596 21.1602 -47.0596 47.0596v47.0605h47.0596zM283.1 85.8398c-25.8994 0 -47.0596 21.1602 -47.0596 47.0605c0 25.8994 21.1602 47.0596 47.0596 47.0596h117.841
+c25.8994 0 47.0596 -21.1602 47.0596 -47.0596c0 -25.9004 -21.1602 -47.0605 -47.0596 -47.0605h-117.841z" />
+ <glyph glyph-name="wordpress" unicode="&#xf19a;" horiz-adv-x="512"
+d="M61.7002 278.6l101.5 -278c-71 34.4004 -119.9 107.2 -119.9 191.4c0 30.9004 6.60059 60.0996 18.4004 86.5996zM399.6 202.7c0 -18.2002 -7 -39.2998 -16 -68.7002l-21.1992 -70.9004l-76.9004 228.7c12.7998 0.700195 24.2998 2 24.2998 2
+c11.4004 1.2998 10.1006 18.2002 -1.39941 17.5c0 0 -34.5 -2.7002 -56.7002 -2.7002c-20.9004 0 -56 2.7002 -56 2.7002c-11.4004 0.700195 -12.7998 -16.7998 -1.2998 -17.5c0 0 10.7998 -1.2998 22.2998 -2l33.0996 -90.7998l-46.5996 -139.6l-77.5 230.399
+c12.7998 0.700195 24.2998 2 24.2998 2c11.4004 1.2998 10.0996 18.2002 -1.40039 17.5c0 0 -34.5 -2.7002 -56.6992 -2.7002c-4 0 -8.7002 0.100586 -13.7002 0.300781c38.0996 57.7998 103.5 95.8994 177.8 95.8994c55.4004 0 105.8 -21.2002 143.7 -55.8994
+c-1 0.0996094 -1.90039 0.199219 -2.7998 0.199219c-20.9004 0 -35.7002 -18.1992 -35.7002 -37.7998c0 -17.5 10.0996 -32.3994 20.8994 -49.8994c8.10059 -14.2002 17.5 -32.4004 17.5 -58.7002zM259.7 173.4l65.3994 -179.2c0.400391 -1 0.900391 -2 1.5 -2.90039
+c-22.0996 -7.7998 -45.7998 -12.0996 -70.5996 -12.0996c-20.9004 0 -41 3.09961 -60.0996 8.7002zM442.7 294.1c16.5996 -30.2998 26 -65.0996 26 -102.1c0 -78.5 -42.5 -147 -105.8 -183.9l65 187.9c12.1992 30.4004 16.1992 54.5996 16.1992 76.2002
+c0 7.89941 -0.5 15.0996 -1.39941 21.8994zM504 192c0 -136.8 -111.3 -248 -248 -248c-136.8 0 -248 111.3 -248 248c0 136.8 111.2 248 248 248c136.7 0 248 -111.2 248 -248zM492.6 192c0 130.5 -106.199 236.6 -236.6 236.6c-130.5 0 -236.6 -106.1 -236.6 -236.6
+s106.199 -236.6 236.6 -236.6c130.5 0 236.6 106.1 236.6 236.6z" />
+ <glyph glyph-name="openid" unicode="&#xf19b;"
+d="M271.5 16l-68 -32c-115 10.2998 -203.5 71.5 -203.5 145.8c0 71.5 82.5 131 191.7 144.3v-43c-71.5 -12.5 -124 -53 -124 -101.3c0 -51 58.5 -93.2998 135.7 -103v340l68 33.2002v-384h0.0996094zM448 157l-131.3 28.5l36.7998 20.7002c-19.5 11.5 -43.5 20 -70 24.7998
+v43c46.2002 -5.5 87.7002 -19.5 120.3 -39.2998l35 19.7998z" />
+ <glyph glyph-name="yahoo" unicode="&#xf19e;" horiz-adv-x="447"
+d="M252 156l4 -220c-12.7002 2.2002 -23.5 3.90039 -32.2998 3.90039c-8.40039 0 -19.2002 -1.7002 -32.2998 -3.90039l4 220c-55 94.7998 -110.4 196.8 -174 292c11.8994 -3.09961 23 -3.90039 33.1992 -3.90039c9 0 20.4004 0.800781 34.1006 3.90039
+c40.8994 -72.2002 82.0996 -138.7 135 -225.5c37.2998 61.5996 91.0996 144.1 134.899 225.5c11.1006 -2.90039 22 -3.90039 32.9004 -3.90039c11.5 0 23.2002 1 35 3.90039c-34.4004 -47.9004 -131.6 -216.9 -174.5 -292z" />
+ <glyph glyph-name="google" unicode="&#xf1a0;" horiz-adv-x="488"
+d="M488 186.2c0 -141.5 -96.9004 -242.2 -240 -242.2c-137.2 0 -248 110.8 -248 248s110.8 248 248 248c66.7998 0 123 -24.5 166.3 -64.9004l-67.5 -64.8994c-88.2998 85.2002 -252.5 21.2002 -252.5 -118.2c0 -86.5 69.1006 -156.6 153.7 -156.6
+c98.2002 0 135 70.3994 140.8 106.899h-140.8v85.2998h236.1c2.30078 -12.6992 3.90039 -24.8994 3.90039 -41.3994z" />
+ <glyph glyph-name="reddit" unicode="&#xf1a1;" horiz-adv-x="512"
+d="M201.5 142.5c-13.7998 0 -24.9004 11.0996 -24.9004 24.5996c0 13.8008 11.1006 24.9004 24.9004 24.9004c13.5996 0 24.5996 -11.0996 24.5996 -24.9004c0 -13.5996 -11.0996 -24.5996 -24.5996 -24.5996zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248
+s111 248 248 248s248 -111 248 -248zM371.7 233.2c-9.40039 0 -17.7002 -3.90039 -23.7998 -10c-22.4004 15.5 -52.6006 25.5 -86.1006 26.5996l17.4004 78.2998l55.3994 -12.5c0 -13.5996 11.1006 -24.5996 24.6006 -24.5996c13.7998 0 24.8994 11.2998 24.8994 24.9004
+c0 13.5996 -11.0996 24.8994 -24.8994 24.8994c-9.7002 0 -18 -5.7998 -22.1006 -13.7998l-61.1992 13.5996c-3 0.800781 -6.10059 -1.39941 -6.90039 -4.39941l-19.0996 -86.4004c-33.2002 -1.39941 -63.1006 -11.2998 -85.5 -26.7998
+c-6.10059 6.40039 -14.7002 10.2002 -24.1006 10.2002c-34.8994 0 -46.2998 -46.9004 -14.3994 -62.7998c-1.10059 -5 -1.7002 -10.2002 -1.7002 -15.5c0 -52.6006 59.2002 -95.2002 132 -95.2002c73.0996 0 132.3 42.5996 132.3 95.2002
+c0 5.2998 -0.599609 10.7998 -1.90039 15.7998c31.3008 16 19.8008 62.5 -14.8994 62.5zM302.8 117c2.2002 2.2002 6.10059 2.2002 8.2998 0c2.5 -2.5 2.5 -6.40039 0 -8.59961c-22.8994 -22.8008 -87.3994 -22.8008 -110.199 0c-2.5 2.19922 -2.5 6.09961 0 8.59961
+c2.19922 2.2002 6.09961 2.2002 8.2998 0c17.5 -17.9004 75.3994 -18.2002 93.5996 0zM310.5 192c13.9004 0 24.9004 -11.0996 24.9004 -24.9004c0 -13.5 -11.1006 -24.5996 -24.9004 -24.5996c-13.5 0 -24.5996 11 -24.5996 24.5996c0 13.8008 11 24.9004 24.5996 24.9004z
+" />
+ <glyph glyph-name="reddit-square" unicode="&#xf1a2;"
+d="M283.2 102.5c2.7002 -2.7002 2.7002 -6.7998 0 -9.2002c-24.5 -24.5 -93.7998 -24.5996 -118.4 0c-2.7002 2.40039 -2.7002 6.5 0 9.2002c2.40039 2.40039 6.5 2.40039 8.90039 0c18.7002 -19.2002 81 -19.5996 100.5 0c2.39941 2.2998 6.59961 2.2998 9 0zM191.9 156.3
+c0 -14.5996 -11.9004 -26.5 -26.5 -26.5c-14.9004 0 -26.8008 11.9004 -26.8008 26.5c0 14.9004 11.9004 26.7998 26.8008 26.7998c14.5996 0 26.5 -11.8994 26.5 -26.7998zM282.6 183.1c14.9004 0 26.8008 -11.8994 26.8008 -26.7998
+c0 -14.5996 -11.9004 -26.5 -26.8008 -26.5c-14.5996 0 -26.5 11.9004 -26.5 26.5c0 14.9004 11.9004 26.7998 26.5 26.7998zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM348.3 227.4
+c-10.0996 0 -19 -4.2002 -25.5996 -10.7002c-24.1006 16.7002 -56.5 27.3994 -92.5 28.5996l18.7002 84.2002l59.5 -13.4004c0 -14.5996 11.8994 -26.5 26.5 -26.5c14.8994 0 26.7998 12.2002 26.7998 26.8008c0 14.5996 -11.9004 26.7998 -26.7998 26.7998
+c-10.4004 0 -19.3008 -6.2002 -23.8008 -14.9004l-65.6992 14.6006c-3.30078 0.899414 -6.5 -1.5 -7.40039 -4.80078l-20.5 -92.7998c-35.7002 -1.5 -67.7998 -12.2002 -91.9004 -28.8994c-6.5 6.7998 -15.7998 11 -25.8994 11c-37.5 0 -49.7998 -50.4004 -15.5 -67.5
+c-1.2002 -5.40039 -1.7998 -11 -1.7998 -16.7002c0 -56.5 63.6992 -102.3 141.899 -102.3c78.5 0 142.2 45.7998 142.2 102.3c0 5.7002 -0.599609 11.5996 -2.09961 17c33.5996 17.2002 21.1992 67.2002 -16.1006 67.2002z" />
+ <glyph glyph-name="stumbleupon-circle" unicode="&#xf1a3;" horiz-adv-x="512"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 262.5c9.7998 0 17.7998 -8 17.7002 -17.5996v-20.6006l22.8994 -10.7002l34.1006 10.1006v23.7002c0 40.2998 -34 72.5996 -74.7002 72.5996
+c-40.5 0 -74.7002 -32.0996 -74.7002 -72.0996v-108.4c0 -9.90039 -8 -17.7998 -17.7998 -17.7998s-17.7998 7.7998 -17.7998 17.7998v45.7998h-57.2998v-46.5c0 -41.3994 33.5 -74.8994 74.8994 -74.8994c41 0 74.9004 33 74.9004 73.8994v106.9
+c0 9.7998 8 17.7998 17.7998 17.7998zM423.6 138.9c0 0 0 0.5 0.100586 46.3994h-57.2998v-48c0 -9.7002 -8 -17.5996 -17.8008 -17.5996c-9.7998 0 -17.7998 7.7998 -17.7998 17.5996v47.1006l-34.0996 -10.1006l-22.9004 10.7002v-46.7998
+c0 -41 33.7002 -74.2002 74.9004 -74.2002c41.3994 0 74.8994 33.5 74.8994 74.9004z" />
+ <glyph glyph-name="stumbleupon" unicode="&#xf1a4;" horiz-adv-x="502"
+d="M502.9 182v-69.7002c0 -62.0996 -50.3008 -112.399 -112.4 -112.399c-61.7998 0 -112.4 49.7998 -112.4 111.3v70.2002l34.3008 -16l51.0996 15.1992v-70.5996c0 -14.7002 12 -26.5 26.7002 -26.5s26.7998 11.7998 26.7998 26.5v72h85.9004zM278.2 240.2v30.8994
+c0 14.7002 -12 26.7002 -26.7002 26.7002s-26.7002 -12 -26.7002 -26.7002v-160.3c0 -61.2998 -50.7998 -110.8 -112.399 -110.8c-62.1006 0 -112.4 50.2998 -112.4 112.3v69.7002h86v-68.5996c0 -14.9004 12 -26.7002 26.7002 -26.7002s26.7002 11.7998 26.7002 26.7002
+v162.399c0 60 51.2998 108.2 112.1 108.2c61 0 112.1 -48.5 112.1 -109v-35.5996l-51.0996 -15.2002z" />
+ <glyph glyph-name="delicious" unicode="&#xf1a5;"
+d="M446.5 380c1 -3.7998 1.5 -7.90039 1.59961 -12v-352.1c0 -26.5 -21.5 -48 -48 -48h-352c-4.09961 0 -8.19922 0.5 -12 1.5c-7.69922 2 -14.5996 5.7998 -20.2998 11c-1.2002 1.09961 -2.2998 2.19922 -3.2998 3.2998c-5.2002 5.7002 -9 12.5996 -11 20.2998
+c-1 3.7998 -1.5 7.90039 -1.5 12v352c0 26.5 21.5 48 48 47.9004h352c4.09961 0 8.2002 -0.5 12 -1.5c1.90039 -0.400391 3.7002 -1 5.40039 -1.7002c1.89941 -0.700195 3.69922 -1.5 5.5 -2.5c1.39941 -0.700195 2.69922 -1.5 4 -2.40039
+c1.09961 -0.799805 2.19922 -1.59961 3.2998 -2.5c2.5 -2 4.7998 -4.2998 6.89941 -6.7998c1.7002 -2.09961 3.30078 -4.5 4.7002 -6.90039c1.2998 -2.2998 2.40039 -4.59961 3.2998 -7.09961c0.5 -1.5 1 -3 1.40039 -4.5zM416 16v176h-192v192h-176
+c-8.7998 0 -16 -7.2002 -16 -16v-176h192v-192h176c8.7998 0 16 7.2002 16 16z" />
+ <glyph glyph-name="digg" unicode="&#xf1a6;" horiz-adv-x="512"
+d="M81.7002 275.7v76.2998h51v-250.7h-132.7v174.4h81.7002zM81.7002 142.3v92.2998h-30.7998v-92.2998h30.7998zM378.9 275.7h133.1v-243.7h-133.1v40.7998h81.7998v28.5h-81.7998v174.4zM460.7 142.3v92.2998h-30.7998v-92.2998h30.7998zM225.1 101.3v174.4h133.301
+v-243.7h-133.301v40.7998h82.1006v28.5h-82.1006zM276.3 234.6v-92.2998h30.7998v92.2998h-30.7998zM153.3 352h51.2998v-51h-51.2998v51zM153.3 275.7h51.2998v-174.4h-51.2998v174.4z" />
+ <glyph glyph-name="pied-piper-pp" unicode="&#xf1a7;"
+d="M205.3 273.4c0 -21.1006 -14.2002 -38.1006 -31.7002 -38.1006c-7.09961 0 -12.7998 1.2002 -17.1992 3.7002v68c4.39941 2.7002 10.0996 4.2002 17.1992 4.2002c17.5 0 31.7002 -16.9004 31.7002 -37.7998zM257.9 206.4c17.3994 0 31.6992 -17 31.6992 -38.1006
+c0 -20.8994 -14.2998 -37.7998 -31.6992 -37.7998c-7.10059 0 -12.8008 1.2002 -17.2002 3.7002v68c4.39941 2.7002 10.0996 4.2002 17.2002 4.2002zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
+c26.5 0 48 -21.5 48 -48zM185 192.9c41 0 74.2002 35.5996 74.2002 79.5996s-33.2002 79.5996 -74.2002 79.5996c-12 0 -24.0996 -3.19922 -34.5996 -8.7998h-45.7002v-206.3l51.7998 10.0996v50.6006c8.59961 -3.10059 18.0996 -4.7998 28.5 -4.7998zM343.4 167.6
+c0 44 -33.2002 79.6006 -73.9004 79.6006c-3.2002 0 -6.40039 -0.200195 -9.59961 -0.700195c-3.7002 -12.5 -10.1006 -23.7998 -19.2002 -33.4004c-13.7998 -15 -32.2002 -23.7998 -51.7998 -24.7998v-156.3l51.7998 10.0996v50.6006
+c8.59961 -3.2002 18.2002 -4.7002 28.7002 -4.7002c40.7998 0 74 35.5996 74 79.5996z" />
+ <glyph glyph-name="pied-piper-alt" unicode="&#xf1a8;" horiz-adv-x="576"
+d="M244 202l-27.7002 -5.7002l-1.7002 4.90039c6.7002 0.5 12.7002 3.7002 19.3008 3.7002c3.7998 0 6.89941 -0.900391 10.0996 -2.90039zM379.9 4.09961c9.5 0 28.1992 -45.0996 33 -55.0996c-35.9004 -13.4004 -70.3008 -15.9004 -106 -9.7998l-6.90039 45.0996
+c15.7998 10.2998 60.9004 19.7998 79.9004 19.7998zM340.8 271c-7.59961 3.5 -63.8994 6.40039 -98.7998 -10c6.2998 11.7998 13.2002 17 25.9004 21.7998c27.2998 10.2998 40.1992 30.5 58.8994 51.1006c11.9004 -8.40039 12 -24.6006 31.6006 -23v-21.8008
+l6.2998 -0.299805c37.3994 14.4004 74.7002 30.2002 106.6 54.6006c48.2998 36.7998 52.9004 50 81.2998 100l2 2.59961c-0.599609 -14.0996 -6.2998 -27.2998 -12.3994 -39.9004c-30.5 -63.7998 -78.7002 -100.3 -146.8 -116.699
+c-12.4004 -2.90039 -26.4004 -3.2002 -37.6006 -8.90039c1.40039 -9.7998 13.2002 -18.0996 13.2002 -23c0 -3.40039 -5.5 -7.2002 -7.5 -8.59961c-11.2002 12.8994 -16.0996 19.2998 -22.7002 22.0996zM555.5 448l-0.299805 -1.40039l-0.600586 -0.599609
+l0.300781 0.900391zM496.3 65.9004c20.1006 -34.2002 43.7002 -54.3008 72.7002 -79.9004c-31 -19.2998 -70.4004 -32.2002 -103.5 -47.2002c-55.2002 46.2998 -23 229.9 -111.5 229.9c-3.5 -0.700195 -2.40039 -0.299805 -4.59961 -1.7002
+c1.09961 -1.40039 2.59961 -2.90039 3.69922 -4c23.9004 -20.0996 33.4004 -24.4004 34.8008 -58.5996l0.299805 -9.5c0.799805 -21.6006 -5.5 -42.5 -9.7998 -63.5c-25.9004 0.699219 -51.2002 -11 -77.9004 -2.90039c-0.700195 5.90039 -1.09961 30.9004 0.299805 41.0996
+c1.40039 9.5 33.6006 29.9004 33 43.7002c-5.5 0.600586 -9.2002 -2.59961 -12.3994 -6.89941c-13.3008 -19.5 -47.2002 -41.9004 -71.3008 -41.9004c-16.5996 0 -56.2998 71.5 -76.3994 85.9004c-3.2002 2.2998 -5.2002 5.39941 -7.7998 8.59961
+c-16.1006 -3.7998 -139.4 -32.2002 -147.4 -32.2002c-6 0 -11.5 4.90039 -11.5 10.9004c0 5.5 3.40039 10.7002 8.90039 11.7998l139.6 30.4004c-9.5 17.1992 12.2998 17.5 21.5 20.0996c3.2002 0.799805 6.2998 4 9.5 4c6.2998 0 11.7998 -8.90039 13.7998 -14.0996
+c6.2998 1.39941 45.7002 10.5996 49.4004 10.5996c15.2002 0 15.8994 -20.0996 2.89941 -22.7002l-52.2998 -11.5l-0.299805 -4.59961c-0.299805 -10.1006 45.4004 -60.1006 53.4004 -60.1006c18.0996 0 54.8994 41.7002 54.8994 60.1006
+c0 30.7002 -42.7998 12.5996 -42.7998 33.5996c0 3.5 1.2002 6.60059 2.90039 9.7998l-19.5 5.5c13.0996 13.6006 13.7998 31.7002 10.8994 50.3008c14.7002 2.89941 26.7002 4.59961 41.4004 4.59961c56.8994 0 45.7002 -8.59961 65.5 -54.2998l14.3994 7.2002
+c-2.2998 -34.2002 -36.1992 -17.5 -35.0996 -31l0.299805 -6c74.7002 2.89941 116.101 -58.6006 150 -115.5zM300.1 19.7998h8.90039l2.90039 -23.7998l-11.8008 -3.40039v27.2002zM231.4 170.2l13.7998 3.5l31.2998 -50.9004l-21 -13.7998zM315.8 15.2998
+c22.6006 2.5 32.7002 6.2998 59.5 6.2998c0.299805 -1.39941 0.900391 -3.19922 0.900391 -4.59961c0 -7.5 -49.4004 -12.5996 -58.4004 -14.0996z" />
+ <glyph glyph-name="drupal" unicode="&#xf1a9;"
+d="M319.5 333.3c13.5 -8.2998 96.5 -67 96.5 -179.3c0 -112 -88.5 -186 -190.2 -186c-102 0 -193.8 80.2998 -193.8 189.5c0 109 85 167.5 100.8 175.8c18.7002 10.1006 32.2002 15.2998 53.5 32.2998c10.5 8.30078 19.2998 20.2002 22 49.5
+c15.2002 -18.2998 33.5 -39.5 46.5 -48.2998c21.2002 -14 42.5 -19.5 64.7002 -33.5zM322 7.7002c4.2002 4.2002 1.90039 13.0996 -4.2002 8.5c-8.5 -6.2998 -27.5 -14 -54.5 -14c-34.5 0 -51.5 13.2998 -51.5 13.2998c-6.2002 0 -11.2998 -7.2002 -6.5 -12
+c26.6006 -24.5 96.6006 -15.9004 116.7 4.2002zM267.5 60.2998c-6.5 -2.7002 -28.4004 -16.7998 -22.4004 -25c2.40039 -3.2998 5.2002 -1.2998 12.2002 4.7002c7.2002 5.7998 12 11 26.7002 11c25.2998 0 18.0996 -19.9004 26.5 -15.7002
+c9.90039 4.90039 -2.09961 20.9004 -6.2002 23.7002c-7.7998 5.09961 -28.0996 4.90039 -36.7998 1.2998zM360 43c39.0996 -3.2998 64.5 106 15.7998 106c-20 0 -60.5 -41.5 -81.7998 -41.7998c-24.7002 -0.5 -59 49 -108.5 48.5
+c-66.4004 -0.400391 -90.5996 -78.6006 -51.7998 -105.2c57.2002 -38.7002 130.399 42.9004 161.3 42c19.5 -0.700195 49.7998 -48.5 65 -49.5z" />
+ <glyph glyph-name="joomla" unicode="&#xf1aa;"
+d="M0.599609 355.9c0 33.2998 26.8008 60.0996 59.8008 60.0996c30 0 54.5 -21.9004 59.1992 -50.2002c32.6006 7.60059 67.1006 -0.599609 96.5 -30l-44.2998 -44.2998c-20.5 20.5 -42.5996 16.2998 -55.3994 3.5c-14.3008 -14.2998 -14.3008 -37.9004 0 -52.2002
+l99.5 -99.5l-44 -44.2998c-87.7002 87.2002 -49.7002 49.7002 -99.8008 99.7002c-26.7998 26.5 -35 64.7998 -24.7998 98.8994c-26.8994 5.80078 -46.7002 29.7002 -46.7002 58.3008zM130.1 239.5c28.5 28.4004 81.3008 80.7998 99.6006 99.9004
+c26.5996 26.5996 64.5 35 98.2998 25.0996c4.09961 29.0996 29.2002 51.5996 59.5 51.5996c33 0 59.7998 -26.8994 59.7998 -60.0996c0 -30.2998 -22.7002 -55.4004 -51.8994 -59.5c9.59961 -33.5996 2.2998 -70 -28.9004 -101.2l-44 44.2998
+c20.5 20.4004 16.2998 42.6006 3.5 55.4004c-14.2998 14.2998 -37.5996 14.2998 -51.9004 0c-10 -10.0996 -89.6992 -89.7998 -99.6992 -99.7998zM396.4 87.2998c29.0996 -4.09961 51.5996 -28.8994 51.5996 -59.0996c0 -33.2998 -26.7998 -60.1006 -59.7998 -60.1006
+c-29.2002 0 -53.4004 20.7002 -58.9004 48.1006c-34.7002 -10.7998 -75.0996 -2.2002 -102.7 28l44 44.2998c20.4004 -20.5 42.6006 -16.2998 55.4004 -3.5c14.2998 14.2998 14.2998 37.5996 0 51.9004l-99.7002 99.6992l44.2998 44.3008
+c104.5 -104.4 87.7002 -87.5 99.5 -99.7002c25.4004 -25.4004 34.5 -61.2002 26.3008 -93.9004zM312.1 140.4c-87.2998 -87.3008 -67.3994 -67.7002 -99.5 -99.7002c-25.6992 -25.4004 -61.5 -34.2002 -94.1992 -26c-6.10059 -26.9004 -30 -46.7002 -58.6006 -46.7002
+c-33 0 -59.7998 26.7998 -59.7998 60.0996c0 28.3008 19.5 52.2002 46.2002 58.2002c-8.5 33.1006 -0.700195 68.1006 29.5 98.2998l44 -44.2998c-20.1006 -20.0996 -16.2998 -42 -3.2002 -55.3994c14.2998 -14.3008 37.5996 -14.3008 51.9004 0
+c49.2998 49.3994 12.6992 13.3994 99.6992 99.7998z" />
+ <glyph glyph-name="behance" unicode="&#xf1b4;" horiz-adv-x="576"
+d="M232 210.8c43.5996 -12.2998 64.7002 -45.2002 64.7002 -89.7002c0 -72 -60.5 -102.899 -124.9 -102.899h-171.8v354.399h167.1c60.7002 0 113.301 -17.1992 113.301 -87.7998c0 -35.7998 -16.6006 -58.7998 -48.4004 -74zM77.9004 312.1v-82.6992h79
+c27.7998 0 47.5 12.0996 47.5 42.1992c0 32.6006 -25.3008 40.5 -53.4004 40.5h-73.0996zM161.2 78.4004c31.7002 0 57.5996 11.1992 57.5996 47c0 36.2998 -21.7002 50.5996 -56 50.5996h-84.8994v-97.5996h83.2998zM519.7 319.1h-143.7v34.9004h143.7v-34.9004zM576 142.8
+c0 -4.5 -0.299805 -9 -0.599609 -13.2002h-185.101c0 -41.0996 21.7002 -65.2998 63 -65.2998c21.4004 0 49 11.6006 55.7002 33.5h62.2002c-19.1006 -58.7002 -58.7998 -86.2998 -120.101 -86.2998c-81 0 -131.3 54.7998 -131.3 134.7c0 77 53.1006 135.8 131.3 135.8
+c80.5 0 124.9 -63.2998 124.9 -139.2zM390.4 174h114.699c-3 34 -20.7998 54.7998 -56.1992 54.7998c-33.8008 0 -56.2002 -21.0996 -58.5 -54.7998z" />
+ <glyph glyph-name="behance-square" unicode="&#xf1b5;"
+d="M186.5 155c0 -19.2998 -14 -25.4004 -31.2002 -25.4004h-45.0996v52.9004h46c18.5996 -0.0996094 30.2998 -7.7998 30.2998 -27.5zM178.8 237.3c0 -16.2998 -10.7002 -22.8994 -25.7998 -22.8994h-42.7002v44.7998h39.6006c15.1992 0 28.8994 -4.2002 28.8994 -21.9004z
+M311.1 214.1c19.2002 0 28.8008 -11.1992 30.5 -29.6992h-62.1992c1.19922 18.2998 13.3994 29.6992 31.6992 29.6992zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM271.7 263h77.7998
+v18.9004h-77.7998v-18.9004zM228.7 152.7c0 24.0996 -11.4004 44.8994 -35 51.5996c17.2002 8.2002 26.2002 17.7002 26.2002 37c0 38.2002 -28.5 47.5 -61.4004 47.5h-90.5v-192h93.0996c34.9004 0.200195 67.6006 16.9004 67.6006 55.9004zM380 167.5
+c0 41.0996 -24.0996 75.4004 -67.5996 75.4004c-42.4004 0 -71.1006 -31.8008 -71.1006 -73.6006c0 -43.2998 27.2998 -73 71.1006 -73c33.1992 0 54.6992 14.9004 65.0996 46.7998h-33.7002c-3.7002 -11.8994 -18.5996 -18.0996 -30.2002 -18.0996
+c-22.3994 0 -34.0996 13.0996 -34.0996 35.2998h100.2c0.0996094 2.2998 0.299805 4.7998 0.299805 7.2002z" />
+ <glyph glyph-name="steam" unicode="&#xf1b6;" horiz-adv-x="496"
+d="M496 192c0 -137 -111.2 -248 -248.4 -248c-113.8 0 -209.6 76.2998 -239 180.4l95.2002 -39.3008c6.40039 -32.0996 34.9004 -56.3994 68.9004 -56.3994c39.2002 0 71.8994 32.3994 70.2002 73.5l84.5 60.2002c52.0996 -1.30078 95.7998 40.8994 95.7998 93.5
+c0 51.5996 -42 93.5 -93.7002 93.5s-93.7002 -42 -93.7002 -93.5v-1.2002l-59.2002 -85.7002c-15.5 0.900391 -30.6992 -3.40039 -43.5 -12.0996l-133.1 55c10.2002 127.699 117.1 228.1 247.6 228.1c137.2 0 248.4 -111 248.4 -248zM155.7 63.7002
+c19.7998 -8.2002 42.5 1.09961 50.7998 21c8.2998 19.7998 -1.09961 42.5 -20.9004 50.7002l-31.5 13c12.2002 4.59961 26 4.7998 38.9004 -0.600586c13 -5.39941 23.0996 -15.5996 28.5 -28.5996s5.2998 -27.2998 -0.0996094 -40.2998
+c-11.2002 -26.8008 -42.1006 -39.6006 -69 -28.4004c-10.2119 4.26953 -22.3975 15.8281 -27.2002 25.7998zM329.5 193.6c-34.4004 0 -62.4004 28 -62.4004 62.3008c0 34.2998 28 62.2998 62.4004 62.2998s62.4004 -28 62.4004 -62.2998
+c0 -34.3008 -27.9004 -62.3008 -62.4004 -62.3008zM329.6 209.2c25.9004 0 46.9004 21 46.9004 46.7998c0 25.9004 -21 46.7998 -46.9004 46.7998c-25.8994 0 -46.8994 -21 -46.8994 -46.7998c0.0996094 -25.7998 21.0996 -46.7998 46.8994 -46.7998z" />
+ <glyph glyph-name="steam-square" unicode="&#xf1b7;"
+d="M185.2 91.5c7.7002 18.5 -1 39.7002 -19.6006 47.4004l-29.5 12.1992c11.4004 4.30078 24.3008 4.5 36.4004 -0.5c12.2002 -5.09961 21.5996 -14.5996 26.7002 -26.6992c5 -12.2002 5 -25.6006 -0.100586 -37.7002c-10.5 -25.1006 -39.3994 -37 -64.5996 -26.5
+c-11.5996 4.7998 -20.4004 13.5996 -25.4004 24.2002l28.5 -11.8008c18.6006 -7.7998 39.9004 0.900391 47.6006 19.4004zM400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v112.8l89.0996 -36.8994
+c6 -30 32.7002 -52.7002 64.5 -52.7002c36.6006 0 67.3008 30.2998 65.7002 68.7998l79 56.2998c48.7002 -1.2002 89.6006 38.2998 89.6006 87.5c0 48.2002 -39.3008 87.5 -87.6006 87.5s-87.5996 -39.2998 -87.5996 -87.5v-1.09961l-55.4004 -80.2002
+c-14.5 0.799805 -28.7002 -3.09961 -40.7002 -11.2998l-116.6 48.0996v160.7c0 26.5 21.5 48 48 48h352zM300.3 193.5c-32.2002 0 -58.3994 26.0996 -58.3994 58.2998s26.1992 58.2998 58.3994 58.2998s58.4004 -26.1992 58.4004 -58.2998
+c0 -32.0996 -26.2002 -58.2998 -58.4004 -58.2998zM300.4 208.1c24.1992 0 43.8994 19.6006 43.8994 43.8008c0 24.1992 -19.5996 43.7998 -43.8994 43.7998c-24.2002 0 -43.9004 -19.6006 -43.9004 -43.7998c0 -24.2002 19.7002 -43.8008 43.9004 -43.8008z" />
+ <glyph glyph-name="spotify" unicode="&#xf1bc;" horiz-adv-x="496"
+d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM348.7 75.0996c8.09961 0 15.2002 6.30078 15.2002 15.4004s-3.60059 12.5996 -9.7002 16.5c-71.4004 42.7002 -155.101 44.2998 -237 26.2002
+c-7.5 -1.60059 -13.6006 -6.5 -13.6006 -16.7998c0 -8.10059 6.10059 -15.8008 15.8008 -15.8008c2.89941 0 8 1.60059 11.8994 2.60059c71.7002 14.7002 144.3 13.0996 206.7 -24.5c3.90039 -2.2998 6.5 -3.60059 10.7002 -3.60059zM375.6 140.7
+c10.9004 0 19.3008 8.7002 19.4004 19.5c0 8.7002 -3.2002 14.8994 -11.2998 19.7002c-49.4004 29.3994 -112.101 45.5 -177 45.5c-41.6006 0 -70 -5.80078 -97.7998 -13.6006c-10.3008 -2.89941 -15.5 -10 -15.5 -20.7002c0 -10.6992 8.69922 -19.3994 19.3994 -19.3994
+c4.5 0 7.10059 1.2998 11.9004 2.59961c82.8994 22.5 176.1 7.60059 238.6 -29.3994c3.60059 -1.90039 7.10059 -4.2002 12.2998 -4.2002zM406.6 216.9c12.2002 0 23.2002 9.69922 23.2002 23.2998c0 11.8994 -5.09961 18.0996 -12.8994 22.5996
+c-55.9004 32.6006 -132.4 47.7998 -205.4 47.7998c-42.9004 0 -82.2998 -4.89941 -117.5 -15.1992c-9 -2.60059 -17.4004 -10.3008 -17.4004 -23.9004c0 -13.2998 10.1006 -23.5996 23.3008 -23.5996c4.7998 0 9.2998 1.59961 12.8994 2.59961
+c82.4004 23 209.7 12.7998 280.9 -29.7002c4.5 -2.59961 7.7002 -3.89941 12.8994 -3.89941z" />
+ <glyph glyph-name="deviantart" unicode="&#xf1bd;" horiz-adv-x="320"
+d="M320 354.8l-98.2002 -179.1l7.40039 -9.5h90.7998v-127.7h-160.9l-13.5 -9.2002l-43.6992 -84c-0.300781 0 -8.60059 -8.59961 -9.2002 -9.2002h-92.7002v93.2002l93.2002 179.4l-7.40039 9.2002h-85.7998v127.6h156l13.5 9.2002l43.7002 84
+c0.299805 0 8.59961 8.59961 9.2002 9.2002h97.5996v-93.1006z" />
+ <glyph glyph-name="soundcloud" unicode="&#xf1be;" horiz-adv-x="639"
+d="M111.4 191.7l5.7998 -65l-5.7998 -68.2998c-0.300781 -2.5 -2.2002 -4.40039 -4.40039 -4.40039s-4.2002 1.90039 -4.2002 4.40039l-5.59961 68.2998l5.59961 65c0 2.2002 1.90039 4.2002 4.2002 4.2002c2.2002 0 4.09961 -2 4.40039 -4.2002zM132.8 237.3
+c2.5 0 4.7002 -2.2002 4.7002 -5l5.7998 -105.6l-5.7998 -68.2998c0 -2.80078 -2.2002 -5 -4.7002 -5c-2.7998 0 -4.7002 2.19922 -5 5l-5 68.2998l5 105.6c0.299805 2.7998 2.2002 5 5 5zM158.3 261.4c2.7998 0 5.2998 -2.2002 5.2998 -5.30078l5.30078 -130
+l-5.30078 -67.7998c0 -3.09961 -2.5 -5.2998 -5.2998 -5.2998c-3.09961 0 -5.2998 2.2002 -5.59961 5.2998l-4.40039 67.7998l4.40039 130c0.299805 3.10059 2.5 5.30078 5.59961 5.30078zM7.2002 164.8c1.39941 0 2.2002 -1.09961 2.5 -2.5l5.59961 -35.5996l-5.59961 -35
+c-0.299805 -1.40039 -1.10059 -2.5 -2.5 -2.5c-1.40039 0 -2.2002 1.09961 -2.5 2.5l-4.7002 35l4.7002 35.5996c0.299805 1.40039 1.09961 2.5 2.5 2.5zM30.7998 186.7c1.40039 0 2.5 -1.10059 2.7998 -2.5l7.2002 -57.5l-7.2002 -56.4004
+c-0.299805 -1.39941 -1.39941 -2.5 -2.7998 -2.5c-1.39941 0 -2.5 1.10059 -2.5 2.7998l-6.39941 56.1006l6.39941 57.5c0 1.39941 1.10059 2.5 2.5 2.5zM56.0996 198.1c1.7002 0 3.10059 -1.39941 3.10059 -3.2998l6.89941 -68.0996l-6.89941 -65.7998
+c0 -1.7002 -1.40039 -3.10059 -3.10059 -3.10059c-1.59961 0 -3 1.40039 -3.2998 3.10059l-5.7998 65.7998l5.7998 68.0996c0.200195 1.90039 1.60059 3.2998 3.2998 3.2998zM81.4004 200.3c1.89941 0 3.59961 -1.39941 3.89941 -3.59961l6.40039 -70l-6.40039 -67.7998
+c-0.299805 -2.2002 -2 -3.60059 -3.89941 -3.60059c-1.90039 0 -3.60059 1.40039 -3.60059 3.60059l-5.7998 67.7998l5.7998 70c0 2.2002 1.7002 3.59961 3.60059 3.59961zM322.8 311.2c2.5 -1.40039 4.10059 -4.2002 4.5 -7.2002l3.90039 -177.5l-3.90039 -64.2002
+c0 -4.7002 -3.89941 -8.59961 -8.59961 -8.59961s-8.60059 3.89941 -8.90039 8.59961l-1.7002 31.7002l-1.69922 32.5l3.2998 176.7v0.799805c0.200195 2.5 1.39941 5 3.2998 6.7002c1.40039 1.09961 3.40039 1.89941 5.59961 1.89941
+c1.40039 0 3.10059 -0.599609 4.2002 -1.39941zM296.1 295.9c2.2002 -1.40039 3.60059 -3.90039 3.90039 -6.7002l3.2998 -162.8l-3.09961 -58.6006l-0.299805 -6.7002c0 -2.2998 -0.800781 -4.19922 -2.5 -5.59961c-1.40039 -1.40039 -3.40039 -2.5 -5.60059 -2.5
+c-2.5 0 -4.7002 1.2002 -6.39941 3.09961c-1.10059 1.40039 -1.7002 3 -1.7002 4.7002v0.299805c-3.10059 65.3008 -3.10059 65.6006 -3.10059 65.6006l2.80078 160.8l0.299805 1.7002c0 2.7998 1.39941 5.2998 3.59961 6.7002
+c1.2998 0.799805 2.7998 1.39941 4.40039 1.39941c1.59961 0 3 -0.599609 4.39941 -1.39941zM184.7 273.4c3.39941 0 5.89941 -2.80078 6.09961 -6.10059l5 -140.6l-5 -67.2002c-0.299805 -3.2998 -2.7998 -5.7998 -6.09961 -5.7998c-3 0 -5.5 2.5 -5.7998 5.7998
+l-4.40039 67.2002l4.40039 140.6c0 3.2998 2.69922 6.10059 5.7998 6.10059zM561.4 210.6c43.2998 0 78.5996 -35.2998 78.5 -78.8994c0 -43.2998 -35.3008 -78.2998 -78.6006 -78.2998h-218.3c-4.7002 0.599609 -8.59961 4.19922 -8.59961 9.19922v249.7
+c0 4.7998 1.69922 7 7.7998 9.2002c15.2998 6.09961 32.5 9.40039 50.2998 9.40039c72.5 0 131.9 -55.6006 138.3 -126.4c9.5 3.90039 19.7998 6.09961 30.6006 6.09961zM264.7 270.9c4.2002 0 7.2002 -3.30078 7.5 -7.80078l3.89941 -136.699l-3.89941 -65.6006
+c0 -4.2002 -3.2998 -7.5 -7.5 -7.5s-7.5 3.2998 -7.7998 7.5l-3.30078 65.6006l3.30078 136.699c0.299805 4.5 3.59961 7.80078 7.7998 7.80078zM211.1 278.7c3.60059 0 6.40039 -3.10059 6.7002 -6.7002l4.40039 -145.3l-4.40039 -66.9004
+c-0.299805 -3.59961 -3.09961 -6.39941 -6.7002 -6.39941c-3.2998 0 -6.09961 2.7998 -6.39941 6.39941l-3.90039 66.9004l3.90039 145.3c0 3.59961 3.09961 6.7002 6.39941 6.7002zM237.8 275.3c3.90039 0 6.90039 -3 6.90039 -6.89941l4.2002 -141.7l-4.2002 -66.4004
+c0 -3.7998 -3.10059 -6.89941 -6.90039 -6.89941s-6.59961 3 -6.89941 6.89941l-3.90039 66.4004l3.90039 141.7c0 3.7998 3 6.89941 6.89941 6.89941z" />
+ <glyph glyph-name="vine" unicode="&#xf1ca;" horiz-adv-x="384"
+d="M384 193.3v-52.0996c-18.4004 -4.2002 -36.9004 -6.10059 -52.0996 -6.10059c-36.9004 -77.3994 -103 -143.8 -125.101 -156.199c-14 -7.90039 -27.0996 -8.40039 -42.7002 0.799805c-27.0996 16.2998 -129.899 100.6 -164.1 365.6h74.5
+c18.7002 -159.1 64.5 -240.7 114.8 -301.8c27.9004 27.9004 54.7998 65.0996 75.6006 106.9c-49.8008 25.2998 -80.1006 80.8994 -80.1006 145.6c0 65.5996 37.7002 115.1 102.2 115.1c114.9 0 106.2 -127.899 81.5996 -181.5c0 0 -46.3994 -9.19922 -63.5 20.5
+c3.40039 11.3008 8.2002 30.8008 8.2002 48.5c0 31.3008 -11.2998 46.6006 -28.3994 46.6006c-18.2002 0 -30.8008 -17.1006 -30.8008 -50c0.100586 -79.2002 59.4004 -118.7 129.9 -101.9z" />
+ <glyph glyph-name="codepen" unicode="&#xf1cb;" horiz-adv-x="512"
+d="M502.285 288.296c6.00098 -3.99902 9.71484 -11.1426 9.71582 -18.2852v-155.999c0 -7.14258 -3.71484 -14.2871 -9.71484 -18.2861l-234 -156.021c-8.06055 -4.95996 -16.584 -4.91504 -24.5713 0l-234 156.021c-6.00098 4 -9.71484 11.1436 -9.71484 18.2861v155.999
+c0 7.14258 3.71387 14.2861 9.71387 18.2852l234 156c8.06055 4.95996 16.584 4.91504 24.5713 0zM278 384.869v-102.572l95.4287 -63.7148l76.8574 51.4287zM234 384.869l-172.286 -114.858l76.8574 -51.4287l95.4287 63.7148v102.572zM44 228.868v-73.7139
+l55.1426 36.8564zM234 -0.84668v102.571l-95.4287 63.7158l-76.8574 -51.4297zM256 140.011l77.7148 52l-77.7148 52l-77.7148 -52zM278 -0.84668l172.286 114.857l-76.8574 51.4297l-95.4287 -63.7158v-102.571zM468 155.154v73.7139l-55.1426 -36.8574z" />
+ <glyph glyph-name="jsfiddle" unicode="&#xf1cc;" horiz-adv-x="575"
+d="M510.634 210.538c45.6885 -25.334 68.3721 -74.5605 56.832 -122.634c-12.1035 -50.4199 -55.5479 -86.6592 -108.212 -87.293c-84.0303 -1.01172 -168.079 -0.458984 -252.12 -0.480469c-30.3223 -0.00683594 -60.668 -0.492188 -90.959 0.539062
+c-48.0938 1.63672 -91.7764 35.8643 -105.607 81.4326c-14.1289 46.5508 2.18945 94.623 41.9014 124.615c2.54688 1.92383 4.86914 6.52051 4.51465 9.54492c-3.74609 31.8604 7.14453 57.6709 32.6758 76.4082c26.2822 19.2881 55.2285 21.5879 85.3311 9.16699
+c2.36621 -0.975586 4.63965 -2.17773 7.82422 -3.68555c16.5215 27.5332 38.1221 48.6523 65.4922 63.9023c92.8594 51.7402 210.954 8.31152 246.85 -91.6455c5.55762 -15.4766 6.74512 -32.6074 9.09668 -49.0947c0.716797 -5.02832 1.6543 -8.15527 6.38086 -10.7764z
+M531.741 53.6582c39.3135 48.375 22.418 117.668 -35.1426 144.497c-7.43555 3.46582 -9.72559 7.74414 -9.84766 15.8936c-1.87012 125.129 -132.78 187.063 -230.24 132.697c-26.1133 -14.5674 -46.4492 -34.8955 -60.6709 -61.2939
+c-7.59082 -14.0908 -11.9287 -7.97754 -22.1982 -2.52734c-24.6113 13.0635 -49.0469 12.6406 -72.0332 -3.08301c-21.9678 -15.0244 -31.9102 -36.6201 -26.4199 -62.9805c2.4082 -11.5703 -0.914062 -17.0635 -10.0967 -23.1367
+c-38.1895 -25.2578 -53.0879 -74.8604 -34.1855 -116.105c18.4355 -40.2295 51.3135 -59.6631 95.1748 -59.9951c0.700195 -0.00488281 163.728 -0.545898 163.728 0.154297c56.8857 0 113.778 -0.551758 170.652 0.229492
+c28.9375 0.397461 53.0498 13.2178 71.2803 35.6504zM443.952 134.157c-5.84863 -31.1572 -34.6221 -55.0967 -66.666 -55.0957c-16.9531 0.00195312 -32.0586 6.5459 -44.0791 17.7051c-27.6973 25.7139 -71.1406 74.9805 -95.9375 93.3877
+c-20.0557 14.8877 -41.9893 12.333 -60.2715 -3.78223c-49.9961 -44.0713 15.8594 -121.775 67.0625 -77.1885c4.54883 3.95996 7.84082 9.54297 12.7441 12.8447c8.18457 5.50879 20.7666 0.883789 13.168 -10.6221c-17.3574 -26.2842 -49.3301 -38.1973 -78.8623 -29.3008
+c-28.8975 8.70312 -48.8408 35.9678 -48.626 70.1787c1.22461 22.4844 12.3633 43.0596 35.4141 55.9648c22.5742 12.6377 46.3682 13.1455 66.9902 -2.47363c50.791 -38.4756 75.5781 -81.7451 107.296 -101.245c24.5586 -15.0996 54.2549 -7.36328 68.8232 17.5059
+c28.8301 49.209 -34.5918 105.016 -78.8682 63.46c-3.98828 -3.74414 -6.91699 -8.93164 -11.4092 -11.7197c-10.9756 -6.81152 -17.333 4.1123 -12.8096 10.3525c20.7031 28.5537 50.4639 40.4404 83.2715 28.2139c31.4287 -11.7139 49.1074 -44.3662 42.7598 -78.1855z
+" />
+ <glyph glyph-name="rebel" unicode="&#xf1d0;" horiz-adv-x="512"
+d="M256.5 -56c-139.3 0 -247.5 116.2 -243.3 254.1c2.7998 79.2002 43.2002 152.2 116.5 200.4c0.299805 0 1.89941 0.599609 1.09961 -0.799805c-5.7998 -5.5 -111.3 -129.8 -14.0996 -226.4c49.7998 -49.5 90 -2.5 90 -2.5c38.5 50.1006 -0.600586 125.9 -0.600586 125.9
+c-10 24.8994 -45.6992 40.0996 -45.6992 40.0996l28.7998 31.7998c24.3994 -10.5 43.2002 -38.6992 43.2002 -38.6992c0.799805 29.5996 -21.9004 61.3994 -21.9004 61.3994l44.5996 50.7002l44.3008 -50.0996c-20.5 -28.8008 -21.9004 -62.6006 -21.9004 -62.6006
+c13.7998 23 43.5 39.2998 43.5 39.2998l28.5 -31.7998c-27.4004 -8.89941 -45.4004 -39.8994 -45.4004 -39.8994c-15.7998 -28.5 -27.0996 -89.4004 0.600586 -127.301c32.3994 -44.5996 87.7002 2.80078 87.7002 2.80078c102.699 91.8994 -10.5 225 -10.5 225
+c-6.10059 5.5 0.799805 2.7998 0.799805 2.7998c50.0996 -36.5 114.6 -84.4004 116.2 -204.8c2 -145.601 -99.9004 -249.4 -242.4 -249.4z" />
+ <glyph glyph-name="empire" unicode="&#xf1d1;" horiz-adv-x="496"
+d="M287.6 393.8c-10.7998 2.2002 -22.0996 3.2998 -33.5 3.60059v18.1992c78.1006 -2.19922 146.101 -44 184.601 -106.6l-15.7998 -9.09961c-6.10059 9.69922 -12.7002 18.7998 -20.2002 27.0996l-18 -15.5c-26 29.5996 -61.4004 50.7002 -101.9 58.4004zM53.4004 125.6
+c3.89941 -10.7998 8.2998 -21.0996 13.5996 -31.0996l-15.7998 -9.09961c-17.1006 31.5996 -27.1006 68.0996 -27.1006 106.6s9.90039 75 27.1006 106.5l15.7998 -9.09961c-5.2998 -9.7002 -10 -20.2002 -13.5996 -31l22.6992 -7.7002
+c-6.39941 -18.2998 -9.69922 -38.2002 -9.69922 -58.7002s3.59961 -40.4004 10 -58.7002zM213.1 14l-4.69922 -23.7998c10.7998 -1.90039 22.1992 -3.2998 33.5 -3.60059v-18.2998c-78.1006 2.2998 -146.4 44.2998 -184.9 106.601l16 9.39941
+c5.7998 -9.7002 12.7002 -18.7998 20.2002 -27.3994l18 15.7998c26.0996 -29.6006 61.5 -50.7002 101.899 -58.7002zM93.2998 327.1c-7.5 -8.2998 -14.0996 -17.5 -20.0996 -27.1992l-15.7998 9.09961c38.5 62.5996 106.5 104.4 184.6 106.6v-18.1992
+c-11.4004 -0.300781 -22.7002 -1.40039 -33.5 -3.60059l4.7002 -23.7998c-40.5 -7.7002 -75.9004 -28.7998 -101.9 -58.4004zM402.7 56.9004c7.5 8.59961 14.3994 17.6992 20.0996 27.3994l16.1006 -9.39941c-38.5 -62.3008 -106.801 -104.4 -184.9 -106.601v18.2998
+c11.4004 0.300781 22.7002 1.7002 33.5 3.60059l-4.7002 23.7998c40.5 8 75.9004 29.0996 101.9 58.7002zM496 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM483.8 192c0 130.1 -105.7 235.8 -235.8 235.8
+s-235.8 -105.7 -235.8 -235.8s105.7 -235.8 235.8 -235.8s235.8 105.7 235.8 235.8zM444.8 298.6c17.2002 -31.5996 27.1006 -68.0996 27.1006 -106.6s-9.90039 -75 -27.1006 -106.4l-15.7998 9.10059c5.2998 10 9.7002 20.2002 13.5996 31l-23 7.7002
+c6.40039 18.2998 10 38.1992 10 58.6992s-3.2998 40.4004 -9.69922 58.7002l22.6992 7.7002c-3.59961 10.7998 -8.2998 21.2998 -13.5996 31zM261.8 120.9l13.2998 -66.7002c-8.59961 -1.7002 -17.6992 -2.7998 -27.0996 -2.7998s-18.5 1.09961 -27.0996 2.7998
+l13.2998 66.7002c-16.2998 3.2998 -30.5 11.5996 -40.7002 23.5l-51.2002 -44.8008c-11.8994 13.6006 -21.2998 29.4004 -27.0996 46.8008l64.2002 22.0996c-2.5 7.40039 -3.90039 15.2002 -3.90039 23.5s1.40039 16 3.90039 23.5l-64.5 22.0996
+c6.09961 17.5 15.5 33.2002 27.3994 46.8008l51.2002 -44.8008c10.2998 11.9004 24.4004 20.5 40.7002 23.8008l-13.2998 66.3994c8.59961 2 17.6992 2.7998 27.0996 2.7998s18.5 -0.899414 27.0996 -2.7998l-13.2998 -66.3994
+c16.2998 -3.30078 30.5 -11.9004 40.7002 -23.8008l51.2002 44.8008c11.8994 -13.6006 21.2998 -29.4004 27.3994 -46.8008l-64.5 -22.0996c2.5 -7.40039 3.90039 -15.2002 3.90039 -23.5s-1.40039 -16 -3.90039 -23.5l64.2002 -22.0996
+c-5.7998 -17.5 -15.2002 -33.2002 -27.0996 -46.8008l-51.2002 44.8008c-10.2998 -11.9004 -24.4004 -20.2002 -40.7002 -23.5z" />
+ <glyph glyph-name="git-square" unicode="&#xf1d2;"
+d="M140.1 99.5c12.1006 0 29.5 -2.09961 29.5 -17.9004c0 -15.5 -13.8994 -18.7998 -27 -18.7998c-12.2998 0 -30.8994 2 -30.8994 18s15.7002 18.7002 28.3994 18.7002zM115.4 216.1c0 35.2002 43.5996 34.8008 43.5 0.400391c0 -14.5 -5.7002 -24.5 -21.2002 -24.5
+c-15.7002 0 -22.2998 9.2998 -22.2998 24.0996zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM207 274.3c-12.2998 -4.7998 -25.5 -8.39941 -38.9004 -8.39941
+c-38.5 22.0996 -90.6992 -0.900391 -90.6992 -49.5c0 -18 11.5996 -42.9004 29.5996 -48.9004v-0.700195c-13.4004 -5.89941 -17.0996 -36.0996 0.700195 -47v-0.700195c-19.5 -6.39941 -32.2998 -18.7998 -32.2998 -40.1992c0 -36.8008 34.7998 -47 65.3994 -47
+c37.1006 0 64.7998 13.3994 64.7998 54.2998c0 50.3994 -72.0996 31.7998 -72.0996 59.0996c0 9.60059 5.2002 13.4004 14.0996 15.2002c29.6006 5.5 48.2002 28.5996 48.2002 58.7002c0 5.2002 -1.09961 10.2002 -2.89941 15c4.7998 1.09961 9.5 2.2998 14.0996 3.89941
+v36.2002zM263.8 272.5h-39.5996c1.2998 -10.5996 1.09961 -142.6 0 -155.5h39.5996c-1.09961 12.7998 -1.2002 145.1 0 155.5zM268.3 325.8c0 13.4004 -10 26.2002 -24.0996 26.2002c-14.2998 0 -24.6006 -12.5 -24.6006 -26.2002
+c0 -13.5996 10.5 -25.8994 24.6006 -25.8994c13.7002 0 24.0996 12.5 24.0996 25.8994zM372.6 272.5h-36.3994c0 9.7998 -0.400391 19.5996 1.09961 29.5h-40.5c1.2998 -7.2998 1.10059 -13.5996 1.10059 -29.5h-17.1006v-33.9004
+c11.9004 1.90039 12.1006 0.700195 17.1006 0.700195v-0.700195h-0.400391v-62.6992c0 -31.1006 4.5 -61.2002 42.7002 -61.2002c10.7002 0 23 1.7998 32.5 7v35c-5.7002 -3.90039 -13.9004 -5.90039 -20.9004 -5.90039c-13.2002 0 -15.5 12.9004 -15.5 23.4004v65.2002
+c22.7002 0 36.4004 -0.700195 36.4004 -0.700195v33.7998h-0.100586z" />
+ <glyph glyph-name="git" unicode="&#xf1d3;"
+d="M18.7998 226.3c0 67.9004 73 100.2 126.8 69.2002c18.8008 0 37.3008 5 54.5 11.7998v-50.5c-6.5 -2.2002 -13 -4 -19.6992 -5.5c2.5 -6.7998 4 -13.7002 4 -21c0 -42.2002 -26 -74.5 -67.5 -82.2002c-12.5 -2.59961 -19.7002 -7.7998 -19.7002 -21.2998
+c0 -38.2998 101 -12.2998 101 -82.7998c0 -57.2998 -38.7002 -76 -90.7002 -76c-42.7002 0 -91.5 14.2998 -91.5 65.7998c0 29.9004 18 47.2002 45.2998 56.2002v1c-25 15.2002 -19.7998 57.5 -1 65.7998v1c-25.2998 8.5 -41.5 43.2002 -41.5 68.5zM106.5 62.5
+c-17.7002 0 -39.7002 -3.7998 -39.7998 -26.0996c0 -22.5 26 -25.2002 43.2998 -25.2002c18.2002 0 37.7002 4.5 37.7002 26.2998c0 22 -24.2002 25 -41.2002 25zM103.3 192c21.7002 0 29.7002 14 29.7002 34.2998c0 48.2998 -61 48.7998 -61 -0.5
+c0 -20.7998 9.2998 -33.7998 31.2998 -33.7998zM432 142.5v-49c-13.2998 -7.2998 -30.5 -9.7998 -45.5 -9.7998c-53.5 0 -59.7998 42.2002 -59.7998 85.7002v87.6992h0.5v1c-7 0 -7.2998 1.60059 -24 -1v47.5h24c0 22.3008 0.299805 31 -1.5 41.2002h56.7002
+c-2 -13.7998 -1.5 -27.5 -1.5 -41.2002h51v-47.5s-19.3008 1 -51 1v-91.0996c0 -14.7998 3.2998 -32.7998 21.7998 -32.7998c9.7998 0 21.2998 2.7998 29.2998 8.2998zM286 379.3c0 -18.7002 -14.5 -36.2002 -33.7998 -36.2002c-19.7998 0 -34.5 17.2002 -34.5 36.2002
+c0 19.2998 14.5 36.7002 34.5 36.7002c19.7998 0 33.7998 -18 33.7998 -36.7002zM279.8 304.8c-1.7998 -14.5996 -1.59961 -199.8 0 -217.8h-55.5c1.60059 18.0996 1.7998 203 0 217.8h55.5z" />
+ <glyph glyph-name="hacker-news" unicode="&#xf1d4;"
+d="M0 416h448v-448h-448v448zM21.2002 218.8h-0.200195c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.0996094 -0.400391zM239.2 164.9l80.7998 155.1h-34.7998c-54.7998 -101.2 -48.2998 -98.5996 -60.6006 -125.6
+c-10.0996 24.3994 -6.7998 27.2998 -59.2998 125.6h-37.2998l79.7998 -153.3v-102.7h31.4004v100.9z" />
+ <glyph glyph-name="tencent-weibo" unicode="&#xf1d5;" horiz-adv-x="383"
+d="M72.2998 -47.7998c1.40039 -19.9004 -27.5996 -22.2002 -29.7002 -2.90039c-11.5996 129.9 31.1006 239.5 101.4 313.2c-15.5996 34 9.2002 77.0996 50.5996 77.0996c30.3008 0 55.1006 -24.5996 55.1006 -55.0996c0 -44 -49.5 -70.7998 -86.9004 -45.0996
+c-65.7002 -71.3008 -101.399 -169.801 -90.5 -287.2zM192 447.9c92 0 166.6 -74.6006 166.6 -166.5c0 -102.301 -93.2998 -185.5 -204 -162.301c-19 4.7002 -12.5 33.2002 6.60059 29.1006c80.7998 -20.7998 167.7 42.2998 167.7 133.1c0 75.5 -61.5 136.9 -136.9 136.9
+c-101 0 -168.3 -106.601 -122 -199.2c9 -17.9004 -17.5996 -30.7998 -26.2998 -13.4004c-56 108.101 22.3994 242.301 148.3 242.301z" />
+ <glyph glyph-name="qq" unicode="&#xf1d6;"
+d="M433.754 27.5547c-11.5264 -1.39258 -44.8604 52.7412 -44.8604 52.7412c0 -31.3447 -16.1357 -72.2471 -51.0508 -101.786c16.8418 -5.19141 54.8428 -19.167 45.8037 -34.4209c-7.31641 -12.3428 -125.511 -7.88086 -159.633 -4.03711
+c-34.1221 -3.84375 -152.315 -8.30566 -159.632 4.03711c-9.04492 15.25 28.918 29.2139 45.7832 34.415c-34.9199 29.5391 -51.0586 70.4453 -51.0586 101.792c0 0 -33.334 -54.1338 -44.8594 -52.7412c-5.37012 0.650391 -12.4238 29.6445 9.34668 99.7041
+c10.2617 33.0244 21.9951 60.4785 40.1445 105.779c-3.05566 116.898 45.2441 214.956 160.262 214.962c113.737 -0.00585938 163.156 -96.1328 160.264 -214.963c18.1182 -45.2227 29.9121 -72.8506 40.1445 -105.778c21.7676 -70.0596 14.7158 -99.0527 9.3457 -99.7041z
+" />
+ <glyph glyph-name="weixin" unicode="&#xf1d7;" horiz-adv-x="576"
+d="M385.2 280.4c-92.4004 0 -165.4 -69.1006 -165.3 -154c0 -14.2002 2.19922 -27.9004 6.19922 -40.8008c-6.19922 -0.5 -12.0996 -0.799805 -18.2998 -0.799805c-24.3994 0 -43.7998 4.90039 -68.2002 9.7002l-68 -34.0996l19.3008 58.5996
+c-48.6006 34.0996 -77.9004 78.2002 -77.9004 131.6c0 92.6006 87.5 165.4 194.7 165.4c95.5996 0 179.7 -58.2998 196.3 -136.7c-6.2002 0.799805 -12.4004 1.10059 -18.7998 1.10059zM280.7 333.3c-14.7002 0 -29.2002 -9.7002 -29.2998 -24.3994
+c0 -14.5 14.5 -24.2002 29.2998 -24.2002c14.5 0 24.2002 9.7002 24.2002 24.2002c0 14.6992 -9.7002 24.3994 -24.2002 24.3994zM144.3 284.7c14.7998 0 24.4004 9.59961 24.4004 24.2002c0 14.6992 -9.60059 24.3994 -24.4004 24.3994
+c-14.5 0 -29.2998 -9.59961 -29.2998 -24.3994c0 -14.5 14.7998 -24.2002 29.2998 -24.2002zM563 128.6c0 -43.7998 -29 -82.6992 -68.2002 -112.1l14.7998 -48.5996l-53.3994 29.2998c-19.7002 -4.7998 -39.2998 -9.90039 -58.6006 -9.90039
+c-92.5996 0 -165.399 63.4004 -165.399 141.3c0 77.9004 72.7002 141.301 165.399 141.301c87.5 0 165.4 -63.4004 165.4 -141.301zM343.9 153.1c14.6992 0 24.3994 9.60059 24.3994 19.6006c0 9.59961 -9.59961 19.2998 -24.3994 19.2998
+c-9.60059 0 -19.3008 -9.59961 -19.3008 -19.2998c0 -9.90039 9.60059 -19.6006 19.3008 -19.6006zM451 153.1c14.5 0 24.5 9.60059 24.4004 19.6006c0 9.59961 -9.90039 19.2998 -24.4004 19.2998c-9.59961 0 -19.2998 -9.59961 -19.2998 -19.2998
+c0 -9.90039 9.59961 -19.6006 19.2998 -19.6006z" />
+ <glyph glyph-name="slideshare" unicode="&#xf1e7;" horiz-adv-x="512"
+d="M187.7 294.3c34 0 61.7002 -25.7002 61.7002 -57.7002c0 -31.6992 -27.7002 -57.6992 -61.7002 -57.6992s-61.7002 26 -61.7002 57.6992c0 32 27.7002 57.7002 61.7002 57.7002zM331.1 294.3c34.3008 0 61.8008 -25.7002 61.7002 -57.7002
+c0 -31.6992 -27.3994 -57.6992 -61.7002 -57.6992c-34 0 -61.6992 26 -61.6992 57.6992c0 32 27.6992 57.7002 61.6992 57.7002zM487.7 204.3c15.2002 10.5 25.2002 -4 16.0996 -17.7998c-18.2998 -22.5996 -53.2002 -50.2998 -106.3 -72
+c56.2998 -191.7 -137.4 -222.3 -134.3 -124c0 0.700195 -0.299805 53.7998 -0.299805 93.5c-4.30078 0.799805 -8.60059 2 -13.7002 3.09961c0 -40 -0.299805 -95.8994 -0.299805 -96.5996c3.09961 -98.2002 -190.601 -67.5996 -134.301 124.1
+c-53.1992 21.7002 -88 49.4004 -106.3 72c-9.09961 13.7002 0.900391 28.3008 16 17.7002c2 -1.39941 4.2998 -2.89941 6.2998 -4.2998v198.3c0 27.4004 20.6006 49.7002 46 49.7002h359.101c25.3994 0 46 -22.2998 46 -49.7002v-198.3zM457.2 185.1h0.0996094v190.601
+c0 32.7998 -10.5996 45.7002 -40.8994 45.7002h-317.7c-31.7002 0 -40.6006 -10.8008 -40.6006 -45.7002v-192.4c67.7002 -35.3994 125.7 -29.0996 157.4 -28c13.4004 0.299805 22 -2.2998 27.0996 -7.7002c1.7002 -1.59961 10 -9.39941 20.3008 -17.0996
+c1.09961 15.7998 10 25.7998 33.6992 24.9004c32.3008 -1.40039 91.7002 -7.7002 160.601 29.6992z" />
+ <glyph glyph-name="twitch" unicode="&#xf1e8;"
+d="M40.0996 416h397.9v-274.2l-117 -117h-87l-56.7998 -56.7998h-60.2002v56.7998h-107v314.3zM397.9 161.9v214h-321v-280.9h90.2998v-56.7998l56.7998 56.7998h107zM331 299v-116.9h-40.0996v116.9h40.0996zM224 299v-116.9h-40.0996v116.9h40.0996z" />
+ <glyph glyph-name="yelp" unicode="&#xf1e9;" horiz-adv-x="381"
+d="M41.9004 207.68l99.6191 -48.6094c19.2002 -9.40039 16.2002 -37.5107 -4.5 -42.71l-107.52 -26.8105c-13.4004 -3.39941 -26.71 5.90039 -28.21 19.6006c-3.40039 29.4092 0 58.4092 9 85.3193c4.41016 13.1104 19.3096 19.21 31.6104 13.21zM85.9102 -31.5703
+c-11.4004 7.80078 -13.2998 23.8105 -4.08984 34.0898l74.21 82.4209c14.3096 15.8096 40.5098 5.19922 39.8096 -16.1006l-3.89941 -110.82c-0.410156 -13.7998 -13.0107 -24 -26.6104 -21.6992c-28.6104 4.7998 -55.7197 15.9102 -79.4199 32.1094zM231.24 78.3496
+c-11.2998 18.1104 6.2002 40.4102 26.5098 33.9102l105.42 -34.21c13.0996 -4.2998 19.5 -19.1094 13.5996 -31.6094c-12.3994 -26 -30.3096 -49.1104 -52.71 -67.6104c-10.71 -8.7998 -26.71 -6.2002 -34.0098 5.5zM379.57 210.58
+c5.5 -12.71 -1.30078 -27.3105 -14.6104 -31.21l-106.62 -30.5098c-20.5 -5.90039 -37.0996 17.0098 -25.2002 34.71l62.0107 91.9199c7.70996 11.3994 23.71 13.5 34.0098 4.39941c21.2002 -18.6992 38.6094 -42.1992 50.4102 -69.3096zM61.1104 417.82
+c47 22.3994 89.21 28.2998 112.33 30.0996c13.2998 1.09961 24.5996 -9.5 24.5 -22.7998v-208.34c0 -23.2998 -30.9102 -31.6006 -42.6104 -11.4004l-104.12 180.43c-6.59961 11.5107 -2.09961 26.3105 9.90039 32.0107z" />
+ <glyph glyph-name="paypal" unicode="&#xf1ed;" horiz-adv-x="384"
+d="M111.4 152.1c-3.5 -19.1992 -17.4004 -108.699 -21.5 -134c-0.300781 -1.7998 -1 -2.5 -3 -2.5h-74.6006c-7.59961 0 -13.0996 6.60059 -12.0996 13.9004l58.5996 371.9c1.5 9.59961 10.1006 16.8994 20 16.8994c152.3 0 165.101 3.7002 204 -11.3994
+c60.1006 -23.3008 65.6006 -79.5 44 -140.301c-21.5 -62.5996 -72.5 -89.5 -140.1 -90.2998c-43.4004 -0.700195 -69.5 7 -75.2998 -24.2002zM357.1 296c28.4004 -21.2002 30.3008 -57.7998 23.8008 -92.5996c-16.5 -83.5 -71.9004 -112.301 -142.9 -112.301
+c-15 0 -24.7002 2.30078 -29.2998 -19.6992c-15.5 -97.4004 -13.7002 -85.9004 -14.4004 -91.3008c-1.7002 -8.59961 -8.7998 -14.8994 -17.3994 -14.8994h-63.5c-7.10059 0 -11.6006 5.7998 -10.6006 12.8994c0 0 4.5 29.3008 27.1006 169.7
+c0.799805 6.10059 4.7998 9.40039 10.8994 9.40039c54 0 164.601 -9.90039 204.5 103.899c3.7002 11.1006 6.7998 22.2002 8.7998 33.6006c0.5 3.09961 1.2002 2.59961 3 1.2998z" />
+ <glyph glyph-name="google-wallet" unicode="&#xf1ee;"
+d="M156.8 321.2c37.6006 -60.6006 64.2002 -113.101 84.2998 -162.5c-8.2998 -33.7998 -18.7998 -66.5 -31.2998 -98.2998c-13.2002 52.2998 -26.5 101.3 -56 148.5c6.5 36.3994 2.2998 73.5996 3 112.3zM109.3 248c5 0 10 -2.5 13 -6.5
+c43.7998 -59.7998 66.2998 -123.8 82.5 -193.5h-103.5c-20 69.5 -49.5 133 -91.7002 187.3c-4 5.2002 0 12.7002 6.5 12.7002h93.2002zM157.1 336h108.7c74.7998 -103 131.2 -230 143.2 -368h-113.7c-8.2002 133.5 -69.7002 260 -138.2 368zM408.9 404.5
+c19 -67.5 31.0996 -139 31.0996 -212.6c0 -69.5 -9.5 -142.5 -25.2998 -203c-10.9004 92.5 -42.4004 184.6 -90.6006 270.8c-4.19922 50.5 -13.2998 99.5 -26.5 146c-1.19922 5.2998 2.5 10.2998 7.80078 10.2998h88.2998c7 0 13.3994 -4.7002 15.2002 -11.5z" />
+ <glyph glyph-name="cc-visa" unicode="&#xf1f0;" horiz-adv-x="576"
+d="M470.1 216.7c0 0 7.60059 -37.2002 9.30078 -45h-33.4004c3.2998 8.89941 16 43.5 16 43.5c-0.200195 -0.299805 3.2998 9.09961 5.2998 14.8994zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480
+c26.5 0 48 -21.5 48 -48zM152.5 116.8l63.2002 155.2h-42.5l-39.2998 -106l-4.30078 21.5l-14 71.4004c-2.2998 9.89941 -9.39941 12.6992 -18.1992 13.0996h-64.7002l-0.700195 -3.09961c15.7998 -4 29.9004 -9.80078 42.2002 -17.1006l35.7998 -135h42.5zM246.9 116.6
+l25.1992 155.4h-40.1992l-25.1006 -155.4h40.1006zM386.8 167.4c0.200195 17.6992 -10.5996 31.1992 -33.7002 42.2998c-14.0996 7.09961 -22.6992 11.8994 -22.6992 19.2002c0.199219 6.59961 7.2998 13.3994 23.0996 13.3994
+c13.0996 0.299805 22.7002 -2.7998 29.9004 -5.89941l3.59961 -1.7002l5.5 33.5996c-7.90039 3.10059 -20.5 6.60059 -36 6.60059c-39.7002 0 -67.5996 -21.2002 -67.7998 -51.4004c-0.299805 -22.2998 20 -34.7002 35.2002 -42.2002
+c15.5 -7.59961 20.7998 -12.5996 20.7998 -19.2998c-0.200195 -10.4004 -12.6006 -15.2002 -24.1006 -15.2002c-16 0 -24.5996 2.5 -37.6992 8.2998l-5.30078 2.5l-5.59961 -34.8994c9.40039 -4.2998 26.7998 -8.10059 44.7998 -8.2998
+c42.2002 -0.100586 69.7002 20.7998 70 53zM528 116.6l-32.4004 155.4h-31.0996c-9.59961 0 -16.9004 -2.7998 -21 -12.9004l-59.7002 -142.5h42.2002s6.90039 19.2002 8.40039 23.3008h51.5996c1.2002 -5.5 4.7998 -23.3008 4.7998 -23.3008h37.2002z" />
+ <glyph glyph-name="cc-mastercard" unicode="&#xf1f1;" horiz-adv-x="576"
+d="M482.9 37.7002c0 -6.7998 -4.60059 -11.7002 -11.2002 -11.7002c-6.7998 0 -11.2002 5.2002 -11.2002 11.7002s4.40039 11.7002 11.2002 11.7002c6.59961 0 11.2002 -5.2002 11.2002 -11.7002zM172.1 49.4004c6.5 0 10.8008 -5.2002 10.9004 -11.7002
+c0 -6.7998 -4.40039 -11.7002 -10.9004 -11.7002c-7.09961 0 -11.1992 5.2002 -11.1992 11.7002s4.09961 11.7002 11.1992 11.7002zM289.6 49.7002c5.2002 0 8.7002 -3 9.60059 -8.7002h-19.1006c0.800781 5.2002 4.10059 8.7002 9.5 8.7002zM397.4 49.4004
+c6.7998 0 11.1992 -5.2002 11.1992 -11.7002c0 -6.7998 -4.39941 -11.7002 -11.1992 -11.7002c-6.80078 0 -10.9004 5.2002 -10.9004 11.7002s4.09961 11.7002 10.9004 11.7002zM503.3 23.2998c0 -0.299805 0.299805 -0.5 0.299805 -1.09961
+c0 -0.299805 -0.299805 -0.5 -0.299805 -1.10059c-0.299805 -0.299805 -0.299805 -0.5 -0.5 -0.799805c-0.299805 -0.299805 -0.5 -0.5 -1.09961 -0.5c-0.299805 -0.299805 -0.5 -0.299805 -1.10059 -0.299805c-0.299805 0 -0.5 0 -1.09961 0.299805
+c-0.299805 0 -0.5 0.299805 -0.799805 0.5c-0.299805 0.299805 -0.5 0.5 -0.5 0.799805c-0.299805 0.5 -0.299805 0.800781 -0.299805 1.10059c0 0.5 0 0.799805 0.299805 1.09961c0 0.5 0.299805 0.799805 0.5 1.10059c0.299805 0.299805 0.5 0.299805 0.799805 0.5
+c0.5 0.299805 0.799805 0.299805 1.09961 0.299805c0.5 0 0.800781 0 1.10059 -0.299805c0.5 -0.300781 0.799805 -0.300781 1.09961 -0.5c0.299805 -0.200195 0.200195 -0.600586 0.5 -1.10059zM501.1 21.9004c0.5 0 0.5 0.299805 0.800781 0.299805
+c0.299805 0.299805 0.299805 0.5 0.299805 0.799805s0 0.5 -0.299805 0.799805c-0.300781 0 -0.5 0.299805 -1.10059 0.299805h-1.59961v-3.5h0.799805v1.40039h0.299805l1.10059 -1.40039h0.799805zM576 367v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48
+v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM64 227.4c0 -76.5 62.0996 -138.5 138.5 -138.5c27.2002 0 53.9004 8.19922 76.5 23.0996c-72.9004 59.2998 -72.4004 171.2 0 230.5c-22.5996 15 -49.2998 23.0996 -76.5 23.0996
+c-76.4004 0.100586 -138.5 -62 -138.5 -138.199zM288 118.6c70.5 55 70.2002 162.2 0 217.5c-70.2002 -55.2998 -70.5 -162.6 0 -217.5zM145.7 42.2998c0 8.7002 -5.7002 14.4004 -14.7002 14.7002c-4.59961 0 -9.5 -1.40039 -12.7998 -6.5
+c-2.40039 4.09961 -6.5 6.5 -12.2002 6.5c-3.7998 0 -7.59961 -1.40039 -10.5996 -5.40039v4.40039h-8.2002v-36.7002h8.2002c0 18.9004 -2.5 30.2002 9 30.2002c10.1992 0 8.19922 -10.2002 8.19922 -30.2002h7.90039c0 18.2998 -2.5 30.2002 9 30.2002
+c10.2002 0 8.2002 -10 8.2002 -30.2002h8.2002v23h-0.200195zM190.6 56h-7.89941v-4.40039c-2.7002 3.30078 -6.5 5.40039 -11.7002 5.40039c-10.2998 0 -18.2002 -8.2002 -18.2002 -19.2998c0 -11.2002 7.90039 -19.2998 18.2002 -19.2998
+c5.2002 0 9 1.89941 11.7002 5.39941v-4.59961h7.89941v36.7998zM231.1 30.4004c0 15 -22.8994 8.19922 -22.8994 15.1992c0 5.7002 11.8994 4.80078 18.5 1.10059l3.2998 6.5c-9.40039 6.09961 -30.2002 6 -30.2002 -8.2002c0 -14.2998 22.9004 -8.2998 22.9004 -15
+c0 -6.2998 -13.5 -5.7998 -20.7002 -0.799805l-3.5 -6.2998c11.2002 -7.60059 32.5996 -6 32.5996 7.5zM266.5 21.0996l-2.2002 6.80078c-3.7998 -2.10059 -12.2002 -4.40039 -12.2002 4.09961v16.5996h13.1006v7.40039h-13.1006v11.2002h-8.19922v-11.2002h-7.60059
+v-7.2998h7.60059v-16.7002c0 -17.5996 17.2998 -14.4004 22.5996 -10.9004zM279.8 34.5h27.5c0 16.2002 -7.39941 22.5996 -17.3994 22.5996c-10.6006 0 -18.2002 -7.89941 -18.2002 -19.2998c0 -20.5 22.5996 -23.8994 33.7998 -14.2002l-3.7998 6
+c-7.7998 -6.39941 -19.6006 -5.7998 -21.9004 4.90039zM338.9 56c-4.60059 2 -11.6006 1.7998 -15.2002 -4.40039v4.40039h-8.2002v-36.7002h8.2002v20.7002c0 11.5996 9.5 10.0996 12.7998 8.40039zM349.5 37.7002c0 11.3994 11.5996 15.0996 20.7002 8.39941l3.7998 6.5
+c-11.5996 9.10059 -32.7002 4.10059 -32.7002 -15c0 -19.7998 22.4004 -23.7998 32.7002 -15l-3.7998 6.5c-9.2002 -6.5 -20.7002 -2.59961 -20.7002 8.60059zM416.2 56h-8.2002v-4.40039c-8.2998 11 -29.9004 4.80078 -29.9004 -13.8994
+c0 -19.2002 22.4004 -24.7002 29.9004 -13.9004v-4.59961h8.2002v36.7998zM449.9 56c-2.40039 1.2002 -11 2.90039 -15.2002 -4.40039v4.40039h-7.90039v-36.7002h7.90039v20.7002c0 11 9 10.2998 12.7998 8.40039zM490.2 70.9004h-7.90039v-19.3008
+c-8.2002 10.9004 -29.8994 5.10059 -29.8994 -13.8994c0 -19.4004 22.5 -24.6006 29.8994 -13.9004v-4.59961h7.90039v51.7002zM497.8 146v-4.59961h0.799805v4.59961h1.90039v0.799805h-4.59961v-0.799805h1.89941zM504.4 22.2002c0 0.5 0 1.09961 -0.300781 1.59961
+c-0.299805 0.299805 -0.5 0.799805 -0.799805 1.10059c-0.299805 0.299805 -0.799805 0.5 -1.09961 0.799805c-0.5 0 -1.10059 0.299805 -1.60059 0.299805c-0.299805 0 -0.799805 -0.299805 -1.39941 -0.299805c-0.5 -0.299805 -0.799805 -0.5 -1.10059 -0.799805
+c-0.5 -0.300781 -0.799805 -0.800781 -0.799805 -1.10059c-0.299805 -0.5 -0.299805 -1.09961 -0.299805 -1.59961c0 -0.299805 0 -0.799805 0.299805 -1.40039c0 -0.299805 0.299805 -0.799805 0.799805 -1.09961c0.300781 -0.299805 0.5 -0.5 1.10059 -0.799805
+c0.5 -0.300781 1.09961 -0.300781 1.39941 -0.300781c0.5 0 1.10059 0 1.60059 0.300781c0.299805 0.299805 0.799805 0.5 1.09961 0.799805s0.5 0.799805 0.799805 1.09961c0.300781 0.600586 0.300781 1.10059 0.300781 1.40039zM507.6 146.9h-1.39941l-1.60059 -3.5
+l-1.59961 3.5h-1.40039v-5.40039h0.800781v4.09961l1.59961 -3.5h1.09961l1.40039 3.5v-4.09961h1.09961v5.40039zM512 227.4c0 76.1992 -62.0996 138.3 -138.5 138.3c-27.2002 0 -53.9004 -8.2002 -76.5 -23.1006c72.0996 -59.2998 73.2002 -171.5 0 -230.5
+c22.5996 -15 49.5 -23.0996 76.5 -23.0996c76.4004 -0.0996094 138.5 61.9004 138.5 138.4z" />
+ <glyph glyph-name="cc-discover" unicode="&#xf1f2;" horiz-adv-x="576"
+d="M520.4 251.9c0 -8.40039 -5.5 -12.8008 -15.8008 -12.8008h-4.69922v24.9004h4.89941c10.1006 0 15.6006 -4.2002 15.6006 -12.0996zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480z
+M483.9 277.1v-82h16v32.8008h2.19922l22.2002 -32.8008h19.6006l-25.8008 34.4004c12.1006 2.5 18.7002 10.5996 18.7002 23.2002c0 28.5 -30.2998 24.3994 -52.8994 24.3994zM428 277v-82h45.2998v13.7998h-29.2998v22.2002h28.2998v13.7998h-28.2998v18.2002h29.2998v14
+h-45.2998zM359.3 277h-17.5l35 -84.2002h8.60059l35.5 84.2002h-17.5l-22.2002 -55.2002zM303.4 280c-24.6006 0 -44.6006 -19.9004 -44.6006 -44.5996c0 -24.6006 19.9004 -44.6006 44.6006 -44.6006c24.5996 0 44.5996 19.9004 44.5996 44.6006
+c0 24.5996 -19.9004 44.5996 -44.5996 44.5996zM254.1 273.9c-30.1992 15 -63.2998 -6.80078 -63.2998 -38c0 -32.5 33.6006 -52.5 63.2998 -38.2002v19c-19.2998 -19.2998 -46.7998 -5.7998 -46.7998 19.2002c0 23.6992 26.7002 39.0996 46.7998 19v19zM156.9 207.6
+c-7.60059 0 -13.8008 3.7002 -17.5 10.8008l-10.3008 -9.90039c17.8008 -26.0996 56.6006 -18.2002 56.6006 11.2998c0 13.1006 -5.40039 19 -23.6006 25.6006c-9.59961 3.39941 -12.2998 5.89941 -12.2998 10.2998c0 8.7002 14.5 14.0996 24.9004 2.5l8.39941 10.7998
+c-19.0996 17.0996 -49.6992 8.90039 -49.6992 -14.2998c0 -11.2998 5.19922 -17.2002 20.1992 -22.7002c25.7002 -9.09961 14.7002 -24.4004 3.30078 -24.4004zM55.4004 195c30.8994 0 44.0996 22.4004 44.0996 40.9004c0 24.0996 -18 41.0996 -44.0996 41.0996h-23.4004
+v-82h23.4004zM122.9 195v82h-16v-82h16zM544 15v145c-33.2998 -20.7998 -226.4 -124.4 -416 -160h401c8.2002 0 15 6.7998 15 15zM74.0996 256.4c5.7002 -5 8.90039 -12.6006 8.90039 -20.5c0 -7.90039 -3.2002 -15.5 -8.90039 -20.7002
+c-4.89941 -4.40039 -11.5996 -6.40039 -21.8994 -6.40039h-4.2002v54.2002h4.2002c10.2998 0 16.7002 -1.7002 21.8994 -6.59961z" />
+ <glyph glyph-name="cc-amex" unicode="&#xf1f3;" horiz-adv-x="576"
+d="M325.1 280.2c0.100586 -8 -4.2998 -15.7002 -11.6992 -18.7002c9.5 -3.2998 11 -9.2002 11 -18.4004v-13.5h-16.6006c-0.299805 14.8008 3.60059 25.1006 -14.7998 25.1006h-18v-25.1006h-16.4004v69.3008l39.1006 -0.300781c13.2998 0 27.3994 -2 27.3994 -18.3994z
+M295.7 268.9c5.7002 0 11 1.2998 11 7.89941c0 6.40039 -5.60059 7.40039 -10.7002 7.40039h-21v-15.2998h20.7002zM279 179.4c15.5996 0 27.9004 -5.40039 27.9004 -22.7002c0 -27.9004 -30.4004 -23.2998 -49.3008 -23.2998l-0.0996094 -23.3008h-32.2002l-20.3994 23
+l-21.3008 -23h-65.3994l0.0996094 69.3008h66.5l20.5 -22.8008l21 22.8008h52.7002zM175.2 124.7l19 20.2002l-17.9004 20.1992h-41.7002v-12.5h36.3008v-14.0996h-36.3008v-13.7998h40.6006zM241 116.5v55.5l-25.2998 -27.4004zM278.8 147.5
+c5.90039 0 10.5 2.7998 10.5 9.2002c0 6.09961 -4.59961 8.39941 -10.2002 8.39941h-21.5v-17.5996h21.2002zM247.2 284.2h-38.9004v-12.5h37.7998v-14.1006h-37.7998v-13.7998h38.9004v-14.2998h-55.5v69.2998h55.5v-14.5996zM576 192.6h-0.200195h0.200195zM381.4 160.7
+c-0.100586 -7.60059 -4.2002 -15.2998 -11.9004 -18.4004c9.2002 -3.2998 11 -9.5 11 -18.3994l-0.0996094 -13.8008h-16.6006l0.100586 11.5c0 11.8008 -3.80078 13.8008 -14.8008 13.8008h-17.5996l-0.0996094 -25.3008h-16.6006l0.100586 69.3008h39.3994
+c13 0 27.1006 -2.30078 27.1006 -18.7002zM352.2 149.5c5.59961 0 11 1.2998 11 8.2002c0 6.39941 -5.60059 7.39941 -10.7002 7.39941h-21v-15.5996h20.7002zM179.4 229.5h-16.8008v54.2002l-24 -54.2002h-14.5996l-24 54.2002v-54.2002h-33.7998l-6.40039 15.2998h-34.5
+l-6.39941 -15.2998h-17.9004l29.7002 69.2998h24.5l28.0996 -65.7002v65.7002h27.1006l21.6992 -47l19.7002 47h27.6006v-69.2998zM31.2002 259.2h22.7002l-11.5 27.5996zM508.6 100.3c34.8008 0 54.8008 -2.2002 67.5 6.10059v-90.4004c0 -26.5 -21.5 -48 -48 -48h-480.1
+c-26.5 0 -48 21.5 -48 48v203.7h26.5996c4.2002 10.0996 2.2002 5.2998 6.40039 15.2998h19.2002c4.2002 -10 2.2002 -5.2002 6.39941 -15.2998h52.9004v11.3994c2.2002 -5 1.09961 -2.5 5.09961 -11.3994h29.5c2.40039 5.5 2.60059 5.7998 5.10059 11.3994v-11.3994h135.5
+v25.0996c6.39941 0 8 0.100586 9.7998 -0.200195c0 0 -0.200195 -10.8994 0.0996094 -24.7998h66.5v8.90039c7.40039 -5.90039 17.4004 -8.90039 29.7002 -8.90039h26.7998c4.2002 10.1006 2.2002 5.2998 6.40039 15.2998h19c6.5 -15 0.200195 -0.5 6.59961 -15.2998
+h52.8008v21.9004c11.7998 -19.7002 7.7998 -12.9004 13.1992 -21.9004h41.6006v92h-39.9004v-18.3994c-12.2002 20.1992 -6.2998 10.3994 -11.2002 18.3994h-43.2998v-20.5996c-6.2002 14.5996 -4.59961 10.7998 -8.7998 20.5996h-32.4004
+c-0.399414 0 -2.2998 -0.200195 -2.2998 0.299805h-27.5996c-12.7998 0 -23.1006 -3.19922 -30.7002 -9.2998v9.2998h-39.9004v-5.2998c-10.7998 6.10059 -20.6992 5.10059 -64.3994 5.2998c-0.100586 0 -11.6006 0.100586 -11.6006 0h-103
+c-2.5 -6.09961 -6.7998 -16.3994 -12.5996 -30c-2.7998 6 -11 23.8008 -13.9004 30h-46v-21.0996c-7.39941 17.4004 -4.69922 11 -9 21.0996h-39.6992c-3.40039 -7.89941 -13.7002 -32 -23.1006 -53.8994v109.8c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48v-175.4
+c-37.7002 0.200195 -44 0.900391 -54.2998 -5v5c-45.2998 0 -53.5 1.7002 -64.9004 -5.19922v5.19922h-78.1992v-5.09961c-11.4004 6.5 -21.4004 5.09961 -75.7002 5.09961v-5.59961c-6.2998 3.7002 -14.5 5.59961 -24.2998 5.59961h-58
+c-3.5 -3.7998 -12.5 -13.6992 -15.7002 -17.1992c-12.7002 14.0996 -10.5 11.5996 -15.5 17.1992h-83.1006v-92.2998h82c3.30078 3.5 12.9004 13.9004 16.1006 17.4004c12.7002 -14.2998 10.2998 -11.7002 15.3994 -17.4004h48.9004
+c0 14.7002 0.0996094 8.2998 0.0996094 23c11.5 -0.200195 24.3008 0.200195 34.3008 6.2002c0 -13.9004 -0.100586 -17.0996 -0.100586 -29.2002h39.6006c0 18.5 0.0996094 7.40039 0.0996094 25.2998c6.2002 0 7.7002 0 9.40039 -0.0996094
+c0.0996094 -1.2998 0 0 0 -25.2002c152.8 0 145.899 -1.09961 156.699 4.5v-4.5zM544.9 164.8c-4.60059 0 -9.2002 -0.700195 -9.2002 -6.5c0 -12.2002 28.7998 0.299805 39.2998 -13.5v-25.7998c-4.90039 -7.09961 -14.0996 -8.90039 -22.5 -8.90039h-32l0.0996094 14.8008
+h32c4.10059 0 8.40039 1.2998 8.40039 6.39941c0 14.6006 -42.7002 -5.59961 -42.7002 27.4004c0 14.0996 11 20.7002 23.7998 20.7002h32.9004v-14.6006h-30.0996zM487.9 125c4.09961 0 8.69922 1 8.7998 6.40039c0 14.8994 -42.7002 -5.60059 -42.7002 27.3994
+c0 14.1006 10.7002 20.7002 23.5 20.7002h33.2002v-14.5996h-30.4004c-4.2998 0 -9.2002 -0.800781 -9.2002 -6.40039c0 -15.0996 42.9004 6.90039 42.9004 -26.2998c0 -16.4004 -11.4004 -22 -26.2002 -22h-32.2002l0.100586 14.7998h32.2002zM445.7 165.1h-38.5v-12.5
+h37.7998v-14.0996h-37.9004v-13.7998l38.6006 -0.299805l-0.100586 -14.3008h-55.1992l0.0996094 69.3008h55.2002v-14.3008zM389.4 273.2c0.299805 0.299805 1.69922 1 7.2998 1c1 0 2 -0.100586 3.09961 -0.100586l-7.2998 -16.8994
+c-2.2998 0 -3.2002 0.399414 -3.40039 0.5c-0.199219 0.200195 -1.09961 1.89941 -1.09961 7.89941c0 5.40039 1.09961 7.40039 1.40039 7.60059zM409.8 283.7h-0.0996094h0.0996094zM393.6 298.9h16.1006v-15.2002c-17.4004 0.299805 -33.1006 4.09961 -33.1006 -19.7002
+c0 -11.7998 2.80078 -19.9004 16.1006 -19.9004h7.39941l23.5 54.5h24.8008l27.8994 -65.3994v65.3994h25.2998l29.1006 -48.0996v48.0996h16.8994v-69h-23.5996l-31.2002 51.9004v-51.9004h-33.7002l-6.59961 15.3008h-34.2998l-6.40039 -15.3008h-19.2002
+c-22.7998 0 -33 11.8008 -33 34c0 23.3008 10.5 35.3008 34 35.3008zM435.7 286.8l-11.6006 -27.5996h22.8008zM334.6 298.8h16.9004v-69.2998h-16.9004v69.2998z" />
+ <glyph glyph-name="cc-paypal" unicode="&#xf1f4;" horiz-adv-x="576"
+d="M186.3 189.8c0 -12.2002 -9.7002 -21.5 -22 -21.5c-9.2002 0 -16 5.2002 -16 15c0 12.2002 9.5 22 21.7002 22c9.2998 0 16.2998 -5.7002 16.2998 -15.5zM80.5 238.3c11.2998 0 19.7998 -1.5 17.5 -14.8994c-2 -12.7002 -10.5 -14.2002 -21.5 -14.2002l-8.2002 -0.299805
+l4.2998 26.6992c0.200195 1.7002 1.7002 2.7002 3.2002 2.7002h4.7002zM364.5 238.3c8.5 0 18 -0.5 18.0996 -11.0996c0 -15 -9 -18 -22 -18l-8 -0.299805l4.2002 26.6992c0.200195 1.7002 1.40039 2.7002 3.2002 2.7002h4.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480
+c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM128.3 232.6c0 21 -16.2002 28 -34.7002 28h-40c-2.5 0 -5 -2 -5.19922 -4.69922l-16.4004 -102.101c-0.299805 -2 1.2002 -4 3.2002 -4h19c2.7002 0 5.2002 2.90039 5.5 5.7002l4.5 26.5996
+c1 7.2002 13.2002 4.7002 18 4.7002c28.5996 0 46.0996 17 46.0996 45.7998zM212.5 223.8h-19c-3.7998 0 -4 -5.5 -4.2002 -8.2002c-5.7998 8.5 -14.2002 10 -23.7002 10c-24.5 0 -43.1992 -21.5 -43.1992 -45.1992c0 -19.5 12.1992 -32.2002 31.6992 -32.2002
+c9 0 20.2002 4.89941 26.5 11.8994c-0.5 -1.5 -1 -4.69922 -1 -6.19922c0 -2.30078 1 -4 3.2002 -4h17.2002c2.7002 0 5 2.89941 5.5 5.69922l10.2002 64.3008c0.299805 1.89941 -1.2002 3.89941 -3.2002 3.89941zM253 125.9l63.7002 92.5996c0.5 0.5 0.5 1 0.5 1.7002
+c0 1.7002 -1.5 3.5 -3.2002 3.5h-19.2002c-1.7002 0 -3.5 -1 -4.5 -2.5l-26.5 -39l-11 37.5c-0.799805 2.2002 -3 4 -5.5 4h-18.7002c-1.69922 0 -3.19922 -1.7998 -3.19922 -3.5c0 -1.2002 19.5 -56.7998 21.1992 -62.1006c-2.69922 -3.7998 -20.5 -28.5996 -20.5 -31.5996
+c0 -1.7998 1.5 -3.2002 3.2002 -3.2002h19.2002c1.7998 0.100586 3.5 1.10059 4.5 2.60059zM412.3 232.6c0 21 -16.2002 28 -34.7002 28h-39.6992c-2.7002 0 -5.2002 -2 -5.5 -4.69922l-16.2002 -102c-0.200195 -2 1.2998 -4 3.2002 -4h20.5c2 0 3.5 1.5 4 3.19922l4.5 29
+c1 7.2002 13.1992 4.7002 18 4.7002c28.3994 0 45.8994 17 45.8994 45.7998zM496.5 223.8h-19c-3.7998 0 -4 -5.5 -4.2998 -8.2002c-5.5 8.5 -14 10 -23.7002 10c-24.5 0 -43.2002 -21.5 -43.2002 -45.1992c0 -19.5 12.2002 -32.2002 31.7002 -32.2002
+c9.2998 0 20.5 4.89941 26.5 11.8994c-0.299805 -1.5 -1 -4.69922 -1 -6.19922c0 -2.30078 1 -4 3.2002 -4h17.2998c2.7002 0 5 2.89941 5.5 5.69922l10.2002 64.3008c0.299805 1.89941 -1.2002 3.89941 -3.2002 3.89941zM544 257.1c0 2 -1.5 3.5 -3.2002 3.5h-18.5
+c-1.5 0 -3 -1.19922 -3.2002 -2.69922l-16.1992 -104l-0.300781 -0.5c0 -1.80078 1.5 -3.5 3.5 -3.5h16.5c2.5 0 5 2.89941 5.2002 5.69922l16.2002 101.2v0.299805zM454 205.3c9.2998 0 16.2998 -5.7002 16.2002 -15.5c0 -12.2998 -9.7002 -21.5 -21.7002 -21.5
+c-9.2002 0 -16.2002 5.2998 -16.2002 15c0 12.2998 9.5 22 21.7002 22z" />
+ <glyph glyph-name="cc-stripe" unicode="&#xf1f5;" horiz-adv-x="576"
+d="M492.4 227.2c8.69922 0 18 -6.7002 18 -22.7002h-36.7002c0 16 9.7998 22.7002 18.7002 22.7002zM375 224.6c12.9004 0.100586 21.9004 -14.5 21.9004 -33.0996c0 -19.0996 -8.80078 -33.4004 -21.9004 -33.4004c-8.2998 0 -13.2998 3 -16.7998 6.7002l-0.200195 52.7998
+c3.7002 4.10059 8.7998 7 17 7zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM122.2 166.9c0 42.2998 -54.2998 34.6992 -54.2998 50.6992c0 5.5 4.59961 7.7002 12.0996 7.7002
+c10.7998 0 24.5 -3.2998 35.2998 -9.09961v33.3994c-11.7998 4.7002 -23.5 6.5 -35.2998 6.5c-28.7998 0 -48 -15 -48 -40.1992c0 -39.3008 54 -32.9004 54 -49.9004c0 -6.59961 -5.7002 -8.7002 -13.5996 -8.7002c-11.8008 0 -26.9004 4.90039 -38.9004 11.2998v-33.8994
+c13.2002 -5.7002 26.5996 -8.10059 38.7998 -8.10059c29.6006 0.200195 49.9004 14.7002 49.9004 40.3008zM191 223.5v30.2998h-26.9004v30.7998l-34.6992 -7.39941l-0.200195 -113.9c0 -21 15.7998 -36.5 36.8994 -36.5c11.6006 0 20.2002 2.10059 24.9004 4.7002v28.9004
+c-4.5 -1.80078 -27 -8.30078 -27 12.5996v50.5h27zM265 221.1v32.7002h-0.0996094c-4.7002 1.7002 -21.3008 4.7998 -29.6006 -10.5l-2.2002 10.5h-30.6992v-124.5h35.5v84.4004c8.39941 11 22.5996 8.89941 27.0996 7.39941zM309.1 129.3v124.5h-35.6992v-124.5h35.6992z
+M309.1 272.2v28.8994l-35.6992 -7.59961v-28.9004zM383.2 126.7c25.3994 0.0996094 48.5996 20.5 48.5996 65.5996c0 41.2998 -23.5 63.7998 -48.3994 63.7998c-13.9004 0 -22.9004 -6.59961 -27.8008 -11.0996l-1.7998 8.7998h-31.2998v-165.8l35.5 7.5l0.0996094 40.2002
+c5.10059 -3.7002 12.7002 -9 25.1006 -9zM543.6 178.2c0.100586 2 0.400391 9.39941 0.400391 12.8994c0 36.4004 -17.5996 65.1006 -51.2998 65.1006c-33.7998 0 -54.2998 -28.7002 -54.2998 -64.9004c0 -42.7998 24.1992 -64.5 58.7998 -64.5
+c17 0 29.7002 3.90039 39.3994 9.2002v28.5996c-9.69922 -4.89941 -20.7998 -7.89941 -34.8994 -7.89941c-13.7998 0 -26 4.89941 -27.6006 21.5h69.5z" />
+ <glyph glyph-name="lastfm" unicode="&#xf202;" horiz-adv-x="512"
+d="M225.8 80.9004c0 0 -31.7002 -31.1006 -97.8994 -31.1006c-82.2002 0 -127.9 48.1006 -127.9 137.2c0 92.7002 45.7002 147.2 131.8 147.2c117.7 0 129.3 -66.2002 161.3 -163c14 -42.7998 38.7002 -73.9004 97.9004 -73.9004c39.9004 0 61 8.7998 61 30.5
+c0 31.9004 -34.9004 35.1006 -79.7998 45.7002c-48.6006 11.7002 -68 36.9004 -68 76.7998c0 64 51.5996 83.9004 104.399 83.9004c59.8008 0 96.2002 -21.7002 100.9 -74.5l-58.5996 -7c-2.30078 25.2002 -17.5 35.7998 -45.7002 35.7998
+c-25.7998 0 -41.6006 -11.7998 -41.6006 -31.7002c0 -17.5996 7.60059 -28.0996 33.4004 -34c52.2998 -11.5 115 -19.2002 115 -92.0996c0 -58.6006 -49.2998 -80.9004 -122 -80.9004c-101.4 0 -136.6 45.7002 -155.4 102.601
+c-26.0996 81.5996 -34.3994 134.899 -100.899 134.899c-35.7002 0 -72.1006 -25.7998 -72.1006 -97.8994c0 -56.3008 28.7002 -91.5 69.2002 -91.5c45.7002 0 76.2002 34 76.2002 34z" />
+ <glyph glyph-name="lastfm-square" unicode="&#xf203;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM307.8 103.1c45.4004 0 76.2002 13.9004 76.1006 50.6006c0 45.5 -39.1006 50.3994 -71.8008 57.5
+c-16.0996 3.7002 -20.8994 10.2998 -20.8994 21.2998c0 12.5 9.89941 19.7998 26 19.7998c17.5996 0 27.0996 -6.59961 28.5996 -22.3994l36.7002 4.39941c-2.90039 33 -25.5996 46.6006 -63 46.6006c-32.9004 0 -65.2002 -12.4004 -65.2002 -52.4004
+c0 -24.9004 12.1006 -40.7002 42.5 -48c28.1006 -6.59961 49.9004 -8.7002 49.9004 -28.5996c0 -13.6006 -13.2002 -19.1006 -38.1006 -19.1006c-37 0 -52.3994 19.4004 -61.1992 46.2002c-20 60.5 -27.3008 101.9 -100.801 101.9c-53.8994 0 -82.5 -34.1006 -82.5 -92
+c0 -55.7002 28.6006 -85.8008 79.9004 -85.8008c41.4004 0 61.2002 19.4004 61.2002 19.4004l-11.7002 31.9004s-19 -21.3008 -47.5996 -21.3008c-25.3008 0 -43.3008 22 -43.3008 57.2002c0 45.1006 22.7002 61.2002 45.1006 61.2002c41.5 0 46.7002 -33.2998 63 -84.2998
+c11.7002 -35.5 33.7002 -64.1006 97.0996 -64.1006z" />
+ <glyph glyph-name="ioxhost" unicode="&#xf208;" horiz-adv-x="640"
+d="M616 288c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-52.7002c3.10059 -15.5 4.7002 -31.5996 4.7002 -48c0 -137 -111 -248 -248 -248c-102.9 0 -191.2 62.7002 -228.7 152h-67.2998c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24
+h52.7002c-3.10059 15.5 -4.7002 31.5996 -4.7002 48c0 137 111 248 248 248c102.9 0 191.2 -62.7002 228.7 -152h67.2998zM520 192c0 16.5996 -2 32.5996 -5.7998 48h-298.2c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24h279.5
+c-33.9004 62 -99.7998 104 -175.5 104c-110.5 0 -200 -89.5 -200 -200c0 -16.5996 2 -32.5996 5.7998 -48h298.2c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-279.5c33.9004 -62 99.7998 -104 175.5 -104c110.5 0 200 89.5 200 200zM216 216h208
+c13.2998 0 24 -10.7002 24 -24c0 -13.2002 -10.7002 -24 -24 -24h-208c-13.2998 0 -24 10.7002 -24 24c0 13.2002 10.7002 24 24 24z" />
+ <glyph glyph-name="angellist" unicode="&#xf209;"
+d="M347.1 232.6c48 -11.6992 54.9004 -50.5996 54.9004 -93.6992c0 -114.301 -73.4004 -202.9 -191.4 -202.9c-96.1992 0 -164.6 76.4004 -164.5 148.6c0 37.1006 14.2002 61.7002 51.1006 71.7002c-3.10059 8.2998 -8 20.7998 -8 29.7002
+c0 23.5 24.8994 52.5996 48.2998 52.5996c6.90039 0 13.7002 -2 20 -4.2998c-12.4004 35.2002 -46.5996 126.7 -46.5996 162c0 28.7998 14.5996 51.7002 45.6992 51.7002c40 0 85.4004 -144 95.1006 -172.5c12.5 31.4004 52.5 163.1 97.0996 163.1
+c28 0 43.7002 -22.2998 43.7002 -48.8994c0 -30.2002 -33.7002 -124.5 -45.4004 -157.101zM311.7 340l-33.1006 -93.7002l34 -6c8.5 23.4004 47.1006 128.9 47.1006 148c0 7.10059 -2.2998 16 -10.9004 16c-16 0 -33.0996 -52 -37.0996 -64.2998zM142.3 399.7
+c0 -29.1006 34.6006 -120 45.5 -148.8c7.7002 4.39941 19.7998 2.69922 35.4004 1.39941l-34.6006 100.3c-31.7998 92.8008 -46.2998 59 -46.2998 47.1006zM140 204c-7.7002 0 -20.2998 -13.4004 -20.4004 -21.0996c0 -20.8008 56 -97.7002 76.9004 -97.7002
+c5.7002 0 10.5996 6.2998 10.5996 11.3994c0 12.8008 -37.7998 107.4 -67.0996 107.4zM324.3 17.7002c55.2998 61.5 49.1006 158.6 31 174.7c-24 21.0996 -106 29.0996 -138.3 29.0996c-17.2998 0 -17.4004 -6.40039 -17.4004 -13.0996
+c0 -43.7002 92.9004 -39.7002 120.601 -39.7002c11.2002 0 15.7998 -9.90039 16.8994 -21.1006c-7.39941 -7.39941 -17.6992 -11.6992 -27.3994 -15.3994c-9.40039 -3.40039 -19.1006 -7.10059 -27.1006 -13.1006c-22 -16 -43.6992 -43.3994 -43.6992 -71.6992
+c0 -17.7002 10.5996 -32.9004 10.5996 -50.3008c0 -0.299805 -2 -6.5 -2 -7.39941c-32.5996 2.2998 -40.5996 34.5996 -41.7002 61.7002c-3.39941 -0.900391 -8 -0.600586 -11.7002 -0.600586c5.10059 -17.7998 -11.8994 -42 -38 -42
+c-37.7998 0 -88 57.2002 -58.2998 86.9004c28.7002 -35.9004 35 -51.4004 51.1006 -51.4004c4 0 11.6992 3.40039 11.6992 8.2998c0 12.8008 -42.8994 73.1006 -54.2998 73.1006c-16.7998 0 -37.7002 -24.9004 -20.5996 -68.2998
+c22.5996 -55.7002 69.5 -88.3008 128.899 -88.3008c43.4004 0 80.6006 16.6006 109.7 48.6006zM225.7 143.7c3.2002 -8.2998 6.59961 -16.6006 9.39941 -25.1006c6.30078 7.10059 12.9004 13.7002 20.3008 19.1006c-10 2 -20 2.89941 -29.7002 6z" />
+ <glyph glyph-name="buysellads" unicode="&#xf20d;"
+d="M224 297.3l42.9004 -160.7h-85.8008zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM382.7 42.7002l-94.5 298.7h-128.4l-94.5 -298.7h90.7002l111.7 91.5996l24.2002 -91.5996h90.7998z
+" />
+ <glyph glyph-name="connectdevelop" unicode="&#xf20e;" horiz-adv-x="576"
+d="M550.5 207c6.69629 -1.33887 11.7861 -7.5 11.7881 -14.7324c0 -7.5 -5.3584 -13.6602 -12.3223 -15l-54.9111 -95.3574c0.536133 -1.60742 0.804688 -3.21387 0.804688 -4.82129c0 -7.23145 -5.09082 -13.3926 -12.0547 -14.7314l-51.6963 -90.2686
+c0.535156 -1.33887 0.802734 -2.67773 0.802734 -4.28516c0 -8.30371 -6.69727 -15.2676 -15.2686 -15.2676c-4.28516 0 -8.30371 1.875 -10.9814 4.82129h-107.144c-2.67871 -3.21484 -6.96484 -5.35742 -11.5176 -5.35742s-8.83887 2.14258 -11.5166 5.35645h-106.875
+c-2.67969 -3.21484 -6.69727 -5.35742 -11.5186 -5.35742c-8.30371 0 -15.2676 6.69727 -15.2676 15.2676c0 1.875 0.535156 3.75 1.07031 5.35742l-51.6963 89.7324c-6.96484 1.33887 -12.0547 7.5 -12.0547 14.7314c0 1.875 0.268555 3.21387 0.804688 4.82129
+l-55.1797 95.3574c-6.96484 1.60742 -12.0537 7.76855 -12.0537 15c0 7.5 5.3584 13.6611 12.5898 15l53.3047 92.1436c0 0.536133 -0.268555 1.07227 -0.268555 1.60645c0 6.16113 3.75098 11.251 9.10742 13.6611l55.9824 97.2334
+c-0.536133 1.33887 -1.07129 3.21387 -1.07129 4.82129c0 8.57129 6.96484 15.2676 15.2676 15.2676c4.82227 0 8.83887 -2.14258 11.7861 -5.625h106.071c2.67871 3.48242 6.69629 5.625 11.5176 5.625s8.83887 -2.14258 11.5176 -5.62402h106.606
+c2.94727 3.48242 6.96484 5.625 11.7861 5.625c8.30371 0 15.2676 -6.69727 15.2676 -15.2676c0 -1.60742 -0.535156 -3.21484 -1.07031 -4.82129l55.4463 -95.8936c8.03613 -0.267578 14.7324 -6.96484 14.7324 -15.001c0 -2.67871 -0.803711 -5.08984 -1.875 -7.23145z
+M153.535 -2.73242v75.8037h-43.6602zM153.535 81.1074v50.624l-44.999 -47.4102c0.535156 -1.07227 1.07129 -2.14355 1.33887 -3.21387h43.6602zM153.535 143.518l0.000976562 92.9463l-50.0889 51.9648c-2.41113 -1.60645 -5.08887 -2.41113 -7.76855 -2.67871
+l-51.9648 -90c0.268555 -1.07227 0.268555 -2.14258 0.268555 -3.48242c0 -1.33887 0 -2.67871 -0.535156 -4.01758l55.7129 -96.4287c1.33887 -0.267578 2.67871 -1.07129 4.01758 -1.60742zM153.535 245.84v72.0527l-43.9277 -15.8037
+c0 -0.267578 0.267578 -0.803711 0.267578 -1.07227c0 -2.94531 -0.803711 -5.62402 -2.14258 -7.7666zM153.535 326.465v59.7324l-43.6602 -75.5361zM480.054 287.357l-0.267578 0.267578l-98.0361 -101.518l63.75 -67.2324l35.3584 167.143zM291.75 92.8926
+l-11.25 -11.7852h22.7676zM291.482 104.143l79.2852 82.2324l-83.0352 87.5889l-79.5537 -84.375zM296.839 98.25l16.875 -17.1426h124.02l5.8916 28.125l-67.5 71.25zM410.411 403.607l-117.053 -124.019l83.0342 -87.5889l97.5 101.25
+c-1.33984 2.14258 -2.14258 4.82129 -2.14258 7.7666v0.536133l-57.8574 100.714c-1.33984 0.268555 -2.41016 0.804688 -3.48145 1.34082zM401.304 405.75h-4.28711l-166.339 -60l57.0547 -60.2676zM277.821 405.75h-103.929l50.8936 -53.5713l148.393 53.5713h-75
+c-2.67871 -2.67773 -6.16016 -4.28516 -10.1787 -4.28516s-7.50098 1.60742 -10.1787 4.28516zM161.572 400.125v-70.7148l54.9111 19.8213l-51.1611 53.8398c-0.730469 -0.25293 -1.93066 -0.613281 -2.67969 -0.804688zM161.572 320.839v-83.3037l40.9814 -42.0527
+l79.5537 84.1064l-59.7324 63.2139zM161.572 228.161v-76.0723l36.4277 38.3037zM161.572 140.303v-59.1953h107.678l17.1426 17.6777l-82.7676 85.9814zM168.536 -21.75h1.33887l91.6074 94.8213h-99.9102v-89.7324l1.07031 -1.60645
+c2.41113 -0.804688 4.28613 -1.875 5.89355 -3.48242zM298.447 -21.75h104.194l-91.6064 94.8213h-38.3037l-91.6074 -94.8213h96.4287c2.68066 2.41016 6.42871 4.28516 10.4473 4.28516s7.76758 -1.875 10.4473 -4.28516zM418.447 -9.96387l17.4121 83.0361h-114.376
+l89.1953 -91.875c1.07227 0.536133 2.14355 1.07031 3.48242 1.33887zM431.303 12.2676l34.8223 60.8037h-21.9639zM466.125 81.1074c0.267578 1.07129 0.803711 2.14258 1.33887 2.94531l-17.1426 18.2139l-4.55371 -21.1592h20.3574zM532.286 188.518
+c-0.268555 1.33984 -0.536133 2.41113 -0.536133 3.75c0 1.60742 0.536133 2.94629 0.802734 4.28516l-45.8027 79.2861l-34.5537 -163.928l20.625 -21.9639c1.33887 0.802734 2.67871 1.33887 4.01758 1.87402z" />
+ <glyph glyph-name="dashcube" unicode="&#xf210;"
+d="M326.6 344l102.2 104v-427c0 -50.5 -40.0996 -85 -91.2002 -85h-227.199c-51.1006 0 -91.2002 34.5 -91.2002 85v229.5c0 50.2002 40.0996 93.5 91.2002 93.5h216.199zM153.9 31.5v-0.0996094h223.8l-51.1006 52.2998v123.5c0 17.7002 -14.2998 32.5 -32 32.5h-140.699
+c-17.7002 0 -32.4004 -14.7998 -32.4004 -32.5v-142.9c0 -17.7002 14.7002 -32.7998 32.4004 -32.7998z" />
+ <glyph glyph-name="forumbee" unicode="&#xf211;"
+d="M5.7998 138.3c-3.7998 17 -5.7998 34.2002 -5.7998 51.4004c0 123.3 99.7998 223.3 223.1 223.3c16.6006 0 33.3008 -2 49.3008 -5.5c-123.4 -47 -220.5 -145.5 -266.601 -269.2zM398.7 327.5c-151.101 -44 -269.2 -164.4 -312.3 -315.7
+c-17.2002 13.4004 -32.7002 30.9004 -45.2002 49c43.3994 149.9 160.1 267.7 309.7 312c18.0996 -12.5996 34.0996 -27.7998 47.7998 -45.2998zM414.5 74.7998c13.0996 -35.2998 24.2002 -73.2998 33.5 -109.8c-36.0996 9.2998 -72 20.5 -107 33.5996
+c-25.7002 -16 -54.5996 -26.8994 -84.5996 -31.2998c42.5996 79.7002 108.199 147.4 187.6 190.3c-4.09961 -29.0996 -14.2998 -57.6992 -29.5 -82.7998zM444.2 220.3c-113.7 -46.7002 -204.2 -139.399 -250.5 -253.5c-19.6006 2.7002 -38.5 7.60059 -56.6006 15.2002
+c44.9004 138.5 153.4 249.3 291.301 295.1c7.89941 -18.0996 13.1992 -37.2998 15.7998 -56.7998z" />
+ <glyph glyph-name="leanpub" unicode="&#xf212;" horiz-adv-x="576"
+d="M386.539 336.515l15.0957 -248.955l-10.9785 0.275391c-36.2324 0.824219 -71.6406 -8.7832 -102.657 -27.9971c-31.0156 19.2139 -66.4238 27.9971 -102.657 27.9971c-45.5635 0 -82.0693 -10.7051 -123.516 -27.7227l31.291 258.288
+c28.5459 11.8027 61.4834 18.1143 92.2256 18.1143c41.1729 0 73.8359 -13.1748 102.657 -42.5439c27.7227 28.2715 59.0127 41.7217 98.5391 42.5439zM569.07 0c-25.5264 0 -47.4854 5.21484 -70.542 15.6445c-34.3105 15.6455 -69.9932 24.9785 -107.871 24.9785
+c-38.9775 0 -74.9346 -12.9014 -102.657 -40.623c-27.7227 27.7227 -63.6797 40.623 -102.657 40.623c-37.8779 0 -73.5605 -9.33301 -107.871 -24.9785c-22.2324 -9.88086 -44.7402 -15.6445 -69.1689 -15.6445h-1.37305l42.5449 349.141
+c39.251 22.2334 87.0117 34.8594 132.301 34.8594c37.0547 0 75.209 -7.68457 106.225 -29.0947c31.0156 21.4102 69.1699 29.0947 106.225 29.0947c45.2891 0 93.0498 -12.626 132.301 -34.8594zM525.702 44.7412l-34.0361 280.246
+c-30.7422 13.999 -67.248 21.4102 -101.009 21.4102c-38.4287 0 -74.3848 -12.0771 -102.657 -38.7021c-28.2725 26.625 -64.2275 38.7021 -102.657 38.7021c-33.7607 0 -70.2666 -7.41113 -101.009 -21.4102l-34.0361 -280.246
+c47.2109 19.4863 82.8945 33.4854 135.045 33.4854c37.6045 0 70.8174 -9.60547 102.657 -29.6436c31.8398 20.0381 65.0518 29.6436 102.657 29.6436c52.1504 0 87.834 -13.999 135.045 -33.4854z" />
+ <glyph glyph-name="sellsy" unicode="&#xf213;" horiz-adv-x="640"
+d="M539.71 210.692c55.1572 -13.4834 94.0742 -63.124 94.0732 -119.509c0 -68.0264 -55.4639 -123.184 -123.185 -123.184h-381.197c-67.7217 0 -123.186 55.1572 -123.185 123.185c0 47.4961 27.8848 91.0098 70.7852 111.234
+c-2.14453 7.35449 -3.06543 15.0146 -3.06543 22.3691c0 46.2705 37.6914 83.9609 83.9629 83.9609c20.2227 0 39.835 -7.35449 55.1562 -20.5303c18.3867 74.7695 85.8008 127.781 163.021 127.781c92.542 0 167.924 -75.3818 167.924 -167.924
+c0 -12.5635 -1.22559 -25.127 -4.29004 -37.3838zM199.88 46.4463v110.928c0 8.27344 -7.04688 15.3213 -15.3213 15.3213h-30.9482c-8.27344 0 -15.3213 -7.04785 -15.3213 -15.3213v-110.928c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h30.9482
+c8.27344 0 15.3213 7.04688 15.3213 15.3213zM289.357 46.4463v131.458c0 8.27246 -7.04883 15.3203 -15.3223 15.3203h-30.9492c-8.27246 0 -15.3213 -7.04688 -15.3213 -15.3203v-131.458c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h30.9492
+c8.27344 0 15.3223 7.04688 15.3223 15.3213zM378.834 46.4463v162.714c0 8.27246 -7.04688 15.3213 -15.3213 15.3213h-30.9482c-8.27441 0 -15.3223 -7.04785 -15.3223 -15.3213v-162.714c0 -8.27344 7.04785 -15.3213 15.3223 -15.3213h30.9482
+c8.27441 0 15.3213 7.04688 15.3213 15.3213zM465.861 46.4463v224.612c0 8.58008 -7.04785 15.6279 -15.3223 15.6279h-28.4971c-8.27441 0 -15.3213 -7.04883 -15.3213 -15.6279v-224.612c0 -8.27344 7.04688 -15.3213 15.3213 -15.3213h28.4971
+c8.27441 0 15.3223 7.04688 15.3223 15.3213z" />
+ <glyph glyph-name="shirtsinbulk" unicode="&#xf214;"
+d="M100 37.7002l4.40039 9.89941l30.5996 -13.3994l-4.40039 -9.90039zM139.4 20.2002l4.39941 9.89941l30.6006 -13.3994l-4.40039 -9.90039zM311.5 34.2002l30.5996 13.3994l4.40039 -9.89941l-30.5996 -13.4004zM179.1 3l4.40039 9.59961l30.2998 -13.3994
+l-4.39941 -9.90039zM60.4004 55.2002l4.39941 9.89941l30.6006 -13.6992l-4.40039 -9.60059zM271.8 16.7002l30.6006 13.3994l4.39941 -9.89941l-30.5996 -13.4004zM232.5 -0.799805l30.5996 13.3994l4.40039 -9.59961l-30.5996 -13.7002zM350.9 51.4004l30.5996 13.6992
+l4.40039 -9.89941l-30.6006 -13.4004zM170 401.4v-10.5h-33.5v10.5h33.5zM122.8 401.4l-0.0996094 -10.5h-33.5v10.5h33.5996zM75.5 401.4l0.0996094 -10.5h-33.2998v10.5h33.2002zM217 401.4v-10.5h-33.2002v10.5h33.2002zM311.5 401.4v-10.5h-33.5v10.5h33.5zM358.8 401.4
+v-10.5h-33.5v10.5h33.5zM264.2 401.4v-10.5h-33.2002v10.5h33.2002zM405.7 401.4v-10.5h-33.2998v10.5h33.2998zM52.7998 96.9004v-33.5h-10.7998v33.5h10.7998zM122.8 312.8l-0.0996094 -10.5h-33.5v10.5h33.5996zM52.7998 302.2v-23h-10.7998v33.5h33.5996v-10.5h-22.7998
+zM221.7 73.5996c-50.2002 0 -91.2998 40.8008 -91.2998 91.3008c0 50.1992 41.0996 91.2998 91.2998 91.2998c50.5 0 91.2998 -41.1006 91.2998 -91.2998c0 -50.5 -40.7998 -91.3008 -91.2998 -91.3008zM173.5 184.7c0 -44.2998 77.5996 -11.9004 77.5996 -38
+c0 -13.1006 -24 -14.2998 -32.6992 -14.2998c-12.3008 0 -29.8008 2.69922 -35.9004 14.8994h-0.900391l-9 -18.3994c14.8008 -9.30078 29.1006 -12.2002 47.2002 -12.2002c19.5 0 51 5.7998 51 31.2002c0 48.0996 -78.5 16.2998 -78.5 37.8994
+c0 13.1006 20.7998 14.9004 29.7998 14.9004c10.8008 0 29.2002 -3.2002 35.6006 -13.1006h0.899414l8.80078 16.9004c-15.1006 6.2002 -27.4004 12 -44.3008 12c-20.0996 0 -49.5996 -6.40039 -49.5996 -31.7998zM52.7998 269.6v-33.5996h-10.7998v33.5996h10.7998z
+M395.2 63.4004v33.5h10.7998v-33.5h-10.7998zM52.7998 140.1v-33.5h-10.7998v33.5h10.7998zM0 444.3h448v-406l-226.3 -98.5996l-221.7 98.5996v406zM418.8 57.2002h0.100586v270.1h-389.7v-270.1l192.8 -85.7002zM418.8 356.5h0.100586v58.5996h-389.7v-58.5996h389.6z
+M52.7998 226.4v-33.5h-10.7998v33.5h10.7998zM52.7998 183.2v-33.5h-10.7998v33.5h10.7998zM170 312.8v-10.5h-33.5v10.5h33.5zM395.2 149.7v33.5h10.7998v-33.5h-10.7998zM395.2 192.9v33.5h10.7998v-33.5h-10.7998zM217 312.8v-10.5h-33.2002v10.5h33.2002zM395.2 236
+v33.5h10.7998v-33.5h-10.7998zM395.2 106.5v33.5h10.7998v-33.5h-10.7998zM264.2 312.8v-10.5h-33.2002v10.5h33.2002zM311.5 312.8v-10.5h-33.5v10.5h33.5zM395.2 279.2l0.0996094 23h-22.7998v10.5h33.5v-33.5h-10.7998zM358.8 312.8v-10.5h-33.5v10.5h33.5z" />
+ <glyph glyph-name="simplybuilt" unicode="&#xf215;" horiz-adv-x="512"
+d="M481.2 384c14.7002 0 26.5 -11.7998 26.7002 -26.2998v-331.4c0 -14.5 -11.8008 -26.2998 -26.6006 -26.2998h-450.399c-14.8008 0 -26.6006 11.7998 -26.6006 26.2998v331.4c0 14.5 11.7998 26.2998 26.4004 26.2998h106c14.5996 0 26.5996 -11.7998 26.5996 -26.2998
+v-39.6006h185.3v39.6006c0 14.5 12.1006 26.2998 26.6006 26.2998h106zM149.8 92.2002c36.9004 0 66.6006 29.7002 66.6006 66.3994c0 36.9004 -29.7002 66.6006 -66.6006 66.6006c-36.7002 0 -66.3994 -29.7002 -66.3994 -66.6006
+c0 -36.6992 29.7998 -66.3994 66.3994 -66.3994zM362.2 92.2002c36.5996 0 66.3994 29.7002 66.3994 66.5996c0 36.7002 -29.7998 66.4004 -66.3994 66.4004c-36.9004 0 -66.6006 -29.7998 -66.6006 -66.4004c0 -36.8994 29.7002 -66.5996 66.6006 -66.5996z" />
+ <glyph glyph-name="skyatlas" unicode="&#xf216;" horiz-adv-x="640"
+d="M640 118.7c0 -65.9004 -52.5 -114.4 -117.5 -114.4c-165.9 0 -196.6 249.7 -359.7 249.7c-146.899 0 -147.1 -212.2 5.60059 -212.2c42.5 0 90.8994 17.7998 125.3 42.5c5.59961 4.10059 16.8994 16.2998 22.7998 16.2998s10.9004 -5 10.9004 -10.8994
+c0 -7.7998 -13.1006 -19.1006 -18.7002 -24.1006c-40.9004 -35.5996 -100.3 -61.1992 -154.7 -61.1992c-83.4004 -0.100586 -154 59 -154 144.899c0 85.9004 67.5 149.101 152.8 149.101c185.3 0 222.5 -245.9 361.9 -245.9c99.8994 0 94.7998 139.7 3.39941 139.7
+c-17.5 0 -35 -11.6006 -46.8994 -11.6006c-8.40039 0 -15.9004 7.2002 -15.9004 15.6006c0 11.5996 5.2998 23.7002 5.2998 36.2998c0 66.5996 -50.8994 114.7 -116.899 114.7c-53.1006 0 -80 -36.9004 -88.7998 -36.9004c-6.2002 0 -11.2002 5 -11.2002 11.2002
+c0 5.59961 4.09961 10.2998 7.7998 14.4004c25.2998 28.7998 64.7002 43.6992 102.8 43.6992c79.4004 0 139.101 -58.3994 139.101 -137.8c0 -6.89941 -0.300781 -13.7002 -1.2002 -20.5996c11.8994 3.09961 24.0996 4.7002 35.8994 4.7002
+c60.7002 0 111.9 -45.3008 111.9 -107.2z" />
+ <glyph glyph-name="pinterest-p" unicode="&#xf231;" horiz-adv-x="384"
+d="M204 441.5c94.2002 0 180 -64.7998 180 -164.1c0 -93.3008 -47.7002 -196.801 -153.9 -196.801c-25.1992 0 -57 12.6006 -69.2998 36c-22.7998 -90.2998 -21 -103.8 -71.3994 -172.8c-5.2002 -1.89941 -3.5 -2.2998 -6.90039 1.5c-1.7998 18.9004 -4.5 37.5 -4.5 56.4004
+c0 61.2002 28.2002 149.7 42 209.1c-7.5 15.2998 -9.59961 33.9004 -9.59961 50.7002c0 80 93.8994 92 93.8994 25.7998c0 -39 -26.3994 -75.5996 -26.3994 -113.399c0 -25.8008 21.2998 -43.8008 46.1992 -43.8008c69 0 90.3008 99.6006 90.3008 152.7
+c0 71.1006 -50.4004 109.8 -118.5 109.8c-79.2002 0 -140.4 -57 -140.4 -137.399c0 -38.7002 23.7002 -58.5 23.7002 -67.7998c0 -7.80078 -5.7002 -35.4004 -15.6006 -35.4004c-24 0 -63.5996 40 -63.5996 110.4c0 110.699 101.4 179.1 204 179.1z" />
+ <glyph glyph-name="whatsapp" unicode="&#xf232;"
+d="M380.9 350.9c41.8994 -42 67.0996 -97.7002 67.0996 -157c0 -122.4 -101.8 -222 -224.1 -222h-0.100586c-37.2002 0 -73.7002 9.2998 -106.1 27l-117.7 -30.9004l31.5 115c-19.4004 33.7002 -29.5996 71.9004 -29.5996 111c0 122.4 99.5996 222 222 222
+c59.2998 0 115.1 -23.0996 157 -65.0996zM223.9 9.2998c101.699 0 186.6 82.7998 186.6 184.601c0.0996094 49.2998 -21.2998 95.5996 -56.0996 130.5c-34.8008 34.8994 -81.1006 54.0996 -130.4 54.0996c-101.8 0 -184.6 -82.7998 -184.6 -184.5
+c0 -34.9004 9.69922 -68.7998 28.1992 -98.2002l4.40039 -7l-18.5996 -68.0996l69.7998 18.2998l6.7002 -4c28.2998 -16.7998 60.7998 -25.7002 94 -25.7002zM325.1 147.5c5.5 -2.7002 9.2002 -4.09961 10.5 -6.59961c1.40039 -2.30078 1.40039 -13.4004 -3.19922 -26.4004
+c-4.60059 -13 -26.7002 -24.7998 -37.4004 -26.4004c-17.5996 -2.59961 -31.4004 -1.2998 -66.5996 13.9004c-55.7002 24.0996 -92 80.0996 -94.8008 83.7998c-2.69922 3.7002 -22.5996 30.1006 -22.5996 57.4004s14.2998 40.7002 19.4004 46.2998
+c5.09961 5.5 11.0996 6.90039 14.7998 6.90039s7.39941 0 10.5996 -0.200195c3.40039 -0.200195 8 1.2998 12.5 -9.5c4.60059 -11.1006 15.7002 -38.4004 17.1006 -41.2002c1.39941 -2.7998 2.2998 -6 0.5 -9.7002c-10.6006 -21.2002 -22 -20.5 -16.3008 -30.2998
+c21.5 -36.9004 42.9004 -49.7002 75.5 -66c5.5 -2.7998 8.80078 -2.2998 12 1.40039c3.30078 3.7998 13.9004 16.1992 17.6006 21.7998c3.7002 5.59961 7.39941 4.7002 12.5 2.7998c5.09961 -1.7998 32.3994 -15.2002 37.8994 -18z" />
+ <glyph glyph-name="viacoin" unicode="&#xf237;" horiz-adv-x="384"
+d="M384 416l-48 -112h48v-48h-68.5l-13.7998 -32h82.2998v-48h-102.8l-89.2002 -208l-89.2002 208h-102.8v48h82.2998l-13.7998 32h-68.5v48h48l-48 112h64l80.7998 -192h94.5l80.7002 192h64zM192 112l27 64h-54z" />
+ <glyph glyph-name="medium" unicode="&#xf23a;"
+d="M0 416h448v-448h-448v448zM372.2 309.9v5h-83.2002l-59.2998 -147.9l-67.4004 148h-87.2998v-5.09961l28.0996 -33.9004c2.80078 -2.5 4.2002 -6.09961 3.80078 -9.7998v-133c0.799805 -4.7998 -0.700195 -9.7002 -4.10059 -13.2002l-31.5996 -38.2998v-5.10059h89.7998
+v5.10059l-31.5996 38.2998c-3.40039 3.5 -5.10059 8.40039 -4.40039 13.2002v115l78.7002 -171.601h9.09961l67.6006 171.601v-136.9c0 -3.59961 0 -4.2998 -2.40039 -6.7002l-24.2998 -23.5996v-4.90039h118v5.10059l-23.5 23
+c-2.10059 1.5 -3.10059 4.09961 -2.7002 6.7002v169.3c-0.400391 2.5 0.599609 5.09961 2.7002 6.7002z" />
+ <glyph glyph-name="y-combinator" unicode="&#xf23b;"
+d="M448 416v-448h-448v448h448zM236 160.5l77.5 145.5h-32.7002l-45.7998 -91c-4.7002 -9.2998 -9 -18.2998 -12.7998 -26.7998l-12.2002 26.7998l-45.2002 91h-35l76.7002 -143.8v-94.5h29.5v92.7998z" />
+ <glyph glyph-name="optin-monster" unicode="&#xf23c;" horiz-adv-x="576"
+d="M572.6 26.5996c1 -3.5 1.90039 -7 1.7002 -10.6992c0.799805 -31.6006 -44.2998 -64 -73.5 -65.1006c-17.2998 -0.799805 -34.5996 8.40039 -42.7002 23.5c-113.5 -4.09961 -227 -4.89941 -340.199 0c-8.40039 -15.0996 -25.7002 -24 -43 -23.5
+c-28.9004 1.10059 -74 33.5 -73.5 65.1006c0.299805 3.7998 0.799805 7.2998 1.89941 10.7998c-5.59961 9.39941 -4.7998 15.2998 5.40039 11.5996c3.2998 5.2002 7 9.5 11.0996 13.7998c-2.5 10.9004 1.2998 14.1006 11.1006 9.2002c4.5 3.2998 10 6.5 15.8994 9.2002
+c0 15.7998 11.7998 11.2002 17.2998 5.7002c12.5 1.7998 20.2002 -0.700195 26.8008 -5.7002v19.7002c-12.9004 0 -40.6006 11.3994 -45.9004 36.2002c-5 20.7998 2.59961 38.0996 25.0996 47.5996c0.800781 5.90039 8.10059 14 14.9004 15.9004
+c7.59961 1.89941 12.5 -4.60059 14.0996 -10.3008c7.40039 0 17.8008 -1.5 21.1006 -8.09961c5.39941 0.5 11.0996 1.40039 16.5 1.90039c-2.40039 1.89941 -5.10059 3.5 -8.10059 4.59961c-5.09961 8.90039 -13.7998 11.0996 -24.5996 11.5996
+c0 0.800781 0 1.60059 0.299805 2.7002c-19.7998 0.5 -44.0996 5.60059 -54.8994 17.7998c-21.3008 23.6006 -15.9004 83.6006 12.1992 103.5c8.40039 5.7002 21.6006 0.800781 22.7002 -9.69922c2.40039 -20.6006 0.400391 -26.8008 26.2002 -25.9004
+c8.09961 7.7998 16.7998 14.5996 26.5 20c-14.9004 1.2998 -28.9004 -1.59961 -43.7998 -3.7998c12.7002 12.5 23.8994 25.3994 56.7002 42.3994c23.5 11.9004 50 20.8008 76.1992 23.2002c-18.5996 7.90039 -40 11.9004 -59.6992 16.5
+c76.5 16.2002 174.6 22.1006 244.199 -37.5996c18.1006 -15.4004 32.4004 -36.2002 42.7002 -60c39.7998 -4.90039 36.4004 5.5 38.6006 25.0996c1.09961 10.2998 14.2998 15.4004 22.6992 9.5c14.9004 -10.5 22.2002 -30.7998 24.6006 -48.0996
+c2.2002 -17.7998 0.299805 -41.2998 -12.4004 -55.1006c-10.7998 -12.1992 -34.2998 -17.5996 -53.7998 -18.0996v-2.7998c-11.0996 -0.200195 -20.2998 -2.40039 -25.7002 -11.6006c-3 -1.09961 -5.7002 -2.69922 -8.39941 -4.59961
+c5.69922 -0.5 11.3994 -1.40039 16.7998 -1.90039c1.89941 5.60059 12.5996 8.40039 21.0996 8.40039c1.7002 5.40039 6.7998 11.9004 14.1006 10.2998c7.2998 -1.59961 14.0996 -10 14.8994 -15.8994c10.7998 -4.40039 22.1006 -12.2002 25.1006 -25.7002
+c1.89941 -8.10059 1.69922 -15.1006 0.299805 -21.9004c-5.7002 -25.2002 -33.2998 -36.2002 -45.9004 -36.2002c0 -6.69922 0 -13.1992 -0.299805 -19.6992c8.09961 6 16.4004 7.19922 26.7998 5.69922c6 5.90039 17.6006 9.40039 17.6006 -5.69922
+c5.59961 -2.7002 11.2998 -6 15.8994 -9.2002c10.1006 5 13.7002 0.5 10.7998 -9.2002c4.10059 -4.2998 8.10059 -8.90039 11.1006 -13.7998c10.0996 3.59961 11 -2.10059 5.39941 -11.6006zM498.8 280.6c17.2998 -6.69922 26.2002 -22.0996 30.2998 -35.6992
+c1.10059 10.5996 -2.69922 39.5 -13.7998 51.0996c-7.2998 7.2998 -14.0996 5.09961 -14.0996 -0.799805c0 -6.2002 -1.2998 -11.6006 -2.40039 -14.6006zM494.2 273.9c-3.2002 -3.30078 -9.2002 -4.90039 -14.1006 -5.7002c13 -15.7002 17 -41.7002 12.7002 -63
+c10.7998 2.2002 20.5 6.2998 26.2002 12.2002c1.90039 2.19922 3.7998 4.89941 4.90039 7.59961c-1.10059 21.2998 -10.2002 42.7002 -29.7002 48.9004zM470.1 267.1c-3.69922 0 -8.09961 0 -11.7998 0.300781c7.5 -20.6006 12.4004 -42.7002 14.2998 -64.6006
+c3.5 0 7.5 0.299805 11.6006 0.799805c5.89941 24.3008 -0.299805 51.6006 -14.1006 63.5zM47.5 245c4.09961 13.5 13 28.9004 30.2998 35.7002c-1 3 -2.39941 8.39941 -2.39941 14.5996c0 5.90039 -7.10059 8.10059 -14.1006 0.799805
+c-11.3994 -11.5996 -14.8994 -40.5996 -13.7998 -51.0996zM57.2002 217.4c5.7002 -6.2002 15.3994 -10 26.2002 -12.2002c-4.30078 21.3994 -0.300781 47.2998 12.6992 63c-4.89941 0.799805 -10.8994 2.5 -14.0996 5.7002
+c-19.4004 -6.2002 -28.2998 -27.6006 -29.7002 -48.9004c1.40039 -2.7002 3 -5.40039 4.90039 -7.59961zM105.1 202.8c2.40039 22.2002 9.10059 43.7998 19.8008 63.5c-5.2002 -1.09961 -10 -3 -14.9004 -4.89941l-12.2002 -5.10059v0.299805
+c-7.2998 -14.0996 -10 -34.3994 -5.39941 -53c4.59961 -0.5 8.59961 -0.799805 12.6992 -0.799805zM289.1 365.5c-41.8994 0 -76.1992 -34.0996 -76.1992 -75.9004c0 -42.1992 34.2998 -76.1992 76.1992 -76.1992c41.9004 0 76.2002 34 76.2002 76.1992
+c0 41.9004 -34.2998 75.9004 -76.2002 75.9004zM404.7 191.2c-12.9004 0.799805 -26.2002 0.799805 -39.5 1.09961c10 -50.5996 3.2998 -64.7002 16.5 -58.0996c16 8.09961 22.7002 39.2002 23 57zM350.7 192.8c-18.9004 0.299805 -38.1006 0.299805 -57 0v0.299805
+c-0.299805 -5.19922 0.200195 -38.0996 4.2998 -41.0996c11.0996 -5.40039 39.5 -4.59961 51.0996 -1.09961c5.40039 1.59961 2.40039 37 1.60059 41.8994zM278.3 139c4.60059 2.5 2.40039 45.4004 1.2998 53.7002v0.299805
+c-19.3994 -0.299805 -38.5996 -0.299805 -57.7998 -0.799805c-1.89941 -9.2002 -4.59961 -48.9004 1.90039 -51.6006c13 -5.69922 41.5996 -5.09961 54.5996 -1.59961zM171.8 190.1c-5.39941 -19.6992 0.299805 -45.0996 22.2002 -54.8994
+c5.40039 -2.5 8.59961 -2.5 9.7002 4.2998c1.89941 8.7002 2.5 36.7998 4.89941 52.2002c-12.1992 -0.200195 -24.5996 -0.799805 -36.7998 -1.60059zM136.4 158.8c2.39941 -3.7002 1.59961 -9.09961 -8 -12.5c43.7998 -47 92.6992 -85.7002 155.899 -106.5
+c67.5 19.2002 115.601 60 163.2 107c-11.0996 4.2998 -7.7002 10.2998 -7.2998 11.6006c-8.90039 0.799805 -17.9004 1.89941 -26.5 2.69922c-9.5 -33 -36 -52.8994 -46.7998 -31.5996c-2.7002 5.2002 -3.5 11.7002 -4.60059 16.7998
+c-3.7998 -8.39941 -13.2998 -8.09961 -24.5996 -8.89941c-13.2002 -1.10059 -31.6006 -1.30078 -44 3c-3 -12.9004 -11.1006 -12.9004 -26.7998 -14.3008c-14.1006 -1.39941 -48.7002 -4.09961 -54.9004 10.8008c-1.09961 -28.7002 -35.0996 -10 -45.0996 7
+c-3.2002 5.69922 -5.40039 11.3994 -7 17.5996c-7.80078 -0.799805 -15.7002 -1.59961 -23.5 -2.7002zM114.8 -13.7002c0.5 2.5 0.799805 5.2002 0.799805 8.2002c-5.69922 23.2002 -18.5996 49.7002 -33.5 54c-22.3994 6.7002 -68.8994 -23.5 -66.1992 -54.5996
+c12.6992 -19.5 40 -35.7002 59.1992 -36.5c17.8008 -0.800781 35.9004 11.0996 39.7002 28.8994zM106.1 52.2998c9 -16 15.5 -33.2998 16.7002 -51.8994c33.5 19.3994 69.1006 35.6992 105.9 47c-38.7002 20.5 -68.1006 47.7998 -97.2998 77
+c-2.10059 -1.30078 -5.10059 -2.40039 -7.80078 -3.5c-1.59961 -4.90039 8.7002 -5.30078 5.40039 -12.4004c-2.09961 -4.09961 -8.59961 -7.59961 -15.0996 -9.2002c-2.10059 -2.7002 -5.10059 -4.89941 -7.80078 -6.5h-0.299805
+c-0.200195 -13.5 -0.200195 -27 0.299805 -40.5zM443.7 -12.2998c-36.7998 21.2998 -74.1006 41.2998 -115.601 53c-13.7998 -6.2002 -27.8994 -11.2998 -42.1992 -15.4004c-2.10059 -0.799805 -2.10059 -0.799805 -4.30078 0
+c-11.8994 3.7002 -23.2998 8.10059 -34.8994 13.2002c-40.2002 -11.5996 -77.2998 -29.2002 -112.4 -50.7998h-0.299805v-0.299805c0.299805 0 0.299805 0 0.299805 0.299805c103.2 -4.10059 206.4 -3.5 309.4 0zM454.2 0.0996094c1 14.7002 7.2002 35.8008 16.5 51.7002
+l-0.299805 -0.299805c0.5 13.7002 0.799805 27.5 0.799805 41.2998c-3 1.7002 -5.7002 4.10059 -8.10059 6.7998c-6.5 1.30078 -12.8994 5.10059 -15.0996 8.90039c-1.90039 4.09961 1.2998 7.59961 5.90039 10.2998c-0.200195 0.5 -0.5 1.60059 -0.5 2.40039
+c-3 0.799805 -5.40039 1.7998 -7.60059 3.2002c-31.5996 -29.4004 -65.3994 -56.7002 -103.5 -76.7002c38.9004 -11.7002 76 -28.1006 111.9 -47.6006zM560.1 -6.09961c3 31.0996 -43.5 61.3994 -66.1992 54.5c-14.6006 -4.30078 -27.8008 -30.8008 -33.5 -54
+c0 -23.8008 21.1992 -37.9004 40.5 -37c19.1992 0.799805 46.5 17 59.1992 36.5zM372.9 372.8c-35.7002 39.2002 -81.4004 47.7998 -126 23.5c25.1992 56.2002 122.199 48.6006 126 -23.5zM74.7998 40.9004c14.9004 1.89941 24.6006 -19.2002 18.6006 -30.8008
+c-4.80078 -9.69922 -23.7002 -24.0996 -35.9004 -27.2998c-16.5 -4.59961 -32.2002 3.2998 -32.2002 14.9004c0 17.7998 33.7998 41.5996 49.5 43.2002zM290.7 217.1c-30.9004 0 -57.6006 25.7002 -50.2998 59.8008c13.1992 -20.7002 46.5 -12 46.5 11.2998
+c0 10 -7 18.5996 -16.5 21.5996c31.6992 13.7998 72.1992 -8.2002 72.1992 -44.2998c0 -26.7998 -23.2998 -48.4004 -51.8994 -48.4004zM68 -26.0996c-0.5 8.39941 20.2998 23.5 29.2002 25.0996c8.59961 1.59961 12.7002 -11.4004 9.7002 -18.4004
+c-2.7002 -5.69922 -10.5 -13.5 -17.3008 -16.1992c-9.39941 -3.2002 -21.0996 3 -21.5996 9.5zM501.2 40.9004c15.7002 -1.60059 49.5 -25.4004 49.5 -43.2002c0 -11.7002 -15.7002 -19.5 -32.2002 -14.9004c-12.0996 3.2002 -31.2998 17.6006 -36.2002 27.2998
+c-5.7002 11.6006 4 32.7002 18.9004 30.8008zM478.8 -1c8.90039 -1.59961 30 -16.7002 29.1006 -25.0996c-0.200195 -6.5 -12.1006 -12.7002 -21.3008 -9.5c-7 2.69922 -14.8994 10.5 -17.2998 16.1992c-2.89941 7.10059 1.10059 20 9.5 18.4004z" />
+ <glyph glyph-name="opencart" unicode="&#xf23d;" horiz-adv-x="639"
+d="M423.3 7.2998c0 -25.2998 -20.2998 -45.5996 -45.5996 -45.5996s-45.7998 20.2998 -45.7998 45.5996s20.5996 45.7998 45.7998 45.7998c25.3994 0 45.5996 -20.5 45.5996 -45.7998zM169.4 53.0996c25.2998 0 45.7998 -20.5 45.7998 -45.7998
+s-20.5 -45.5996 -45.7998 -45.5996c-25.3008 0 -45.6006 20.3994 -45.6006 45.5996s20.2998 45.7998 45.6006 45.7998zM461.1 323.1c302.2 0 169.5 -67.1992 -17.1992 -233.899c59.1992 102.8 262.5 193.899 -70.8008 188.899c-319.8 -4.69922 -338.699 92.5 -373.1 144.2
+c81.9004 -86.3994 158.9 -99.2002 461.1 -99.2002z" />
+ <glyph glyph-name="expeditedssl" unicode="&#xf23e;" horiz-adv-x="496"
+d="M248 404.6c117.4 0 212.6 -95.1992 212.6 -212.6s-95.1992 -212.6 -212.6 -212.6s-212.6 95.1992 -212.6 212.6s95.1992 212.6 212.6 212.6zM150.6 271.7h-0.199219v-26.6006c0 -5 3.89941 -8.89941 8.89941 -8.89941h17.7002c5 0 8.90039 3.89941 8.90039 8.89941
+v26.6006c0 82.0996 124 82.0996 124 0v-26.6006c0 -5 3.89941 -8.89941 8.89941 -8.89941h17.7002c5 0 8.90039 3.89941 8.90039 8.89941v26.6006c0 53.7002 -43.7002 97.3994 -97.4004 97.3994s-97.4004 -43.6992 -97.4004 -97.3994zM389.7 68v141.7
+c0 9.7002 -8 17.7002 -17.7002 17.7002h-248c-9.7002 0 -17.7002 -8 -17.7002 -17.7002v-141.7c0 -9.7002 8 -17.7002 17.7002 -17.7002h248c9.7002 0 17.7002 8 17.7002 17.7002zM141.7 205.3v-132.899c0 -2.5 -1.90039 -4.40039 -4.40039 -4.40039h-8.89941
+c-2.5 0 -4.40039 1.90039 -4.40039 4.40039v132.899c0 2.5 1.90039 4.40039 4.40039 4.40039h8.89941c2.5 0 4.40039 -1.90039 4.40039 -4.40039zM283.4 156.6c0 -13 -7.2002 -24.3994 -17.7002 -30.3994v-31.6006c0 -5 -3.90039 -8.89941 -8.90039 -8.89941h-17.7002
+c-5 0 -8.89941 3.89941 -8.89941 8.89941v31.6006c-10.5 6.09961 -17.7002 17.3994 -17.7002 30.3994c0 19.7002 15.7998 35.4004 35.4004 35.4004c19.5996 0 35.5 -15.7998 35.5 -35.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248
+s111 248 248 248zM248 -38.2998c127 0 230.3 103.3 230.3 230.3s-103.3 230.3 -230.3 230.3s-230.3 -103.3 -230.3 -230.3s103.3 -230.3 230.3 -230.3z" />
+ <glyph glyph-name="cc-jcb" unicode="&#xf24b;" horiz-adv-x="576"
+d="M431.5 203.7v32.2998c41.2002 0 38.5 -0.200195 38.5 -0.200195c7.2998 -1.2998 13.2998 -7.2998 13.2998 -16c0 -8.7998 -6 -14.5 -13.2998 -15.7998c-1.2002 -0.400391 -3.2998 -0.299805 -38.5 -0.299805zM474.3 183.5c7.5 -1.5 13.5 -8.2998 13.5 -17
+c0 -9 -6 -15.5 -13.5 -17c-2.7998 -0.700195 -3.2002 -0.5 -42.7998 -0.5v35c39.5 0 40 0.200195 42.7998 -0.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM182 255.7h-57
+c0 -67.1006 10.7002 -109.7 -35.7998 -109.7c-19.5 0 -38.7998 5.7002 -57.2002 14.7998v-28c30 -8.2998 68 -8.2998 68 -8.2998c97.9004 0 82 47.7002 82 131.2zM360.5 251.2c-63.4004 16 -165 14.8994 -165 -59.2998c0 -77.1006 108.2 -73.6006 165 -59.2002v28.2998
+c-47.5996 -24.7002 -107.5 -22 -107.5 31s59.7998 55.5996 107.5 31.2002v28zM544 161.5c0 18.5 -16.5 30.5 -38 32v0.799805c19.5 2.7002 30.2998 15.5 30.2998 30.2002c0 19 -15.7002 30 -37 31c0 0 6.2998 0.299805 -120.3 0.299805v-127.5h122.7
+c24.2998 -0.0996094 42.2998 12.9004 42.2998 33.2002z" />
+ <glyph glyph-name="cc-diners-club" unicode="&#xf24c;" horiz-adv-x="576"
+d="M239.7 368.1c97.2002 0 175.8 -78.5996 175.8 -175.8c0 -96.8994 -78.5996 -175.8 -175.8 -175.8c-96.9004 0 -175.8 78.9004 -175.8 175.8c0 97.2002 78.8994 175.8 175.8 175.8zM199.8 88.5v207.9c-41.7002 -16.2002 -71.3994 -56.7002 -71.3994 -104.101
+c0 -47.3994 29.6992 -87.8994 71.3994 -103.8zM279.6 88.2002c41.7002 16.2002 71.4004 56.7002 71.4004 104.1c0 47.4004 -29.7002 87.9004 -71.4004 104.101v-208.2zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352
+c0 26.5 21.5 48 48 48h480zM329.7 0c105 0 200.7 85.5 200.7 190.2c0 114.6 -95.7002 193.8 -200.7 193.8h-90.2998c-106.2 0 -193.801 -79.2002 -193.801 -193.8c0 -104.7 87.6006 -190.2 193.801 -190.2h90.2998z" />
+ <glyph glyph-name="creative-commons" unicode="&#xf25e;" horiz-adv-x="496"
+d="M245.83 233.13l-33.2197 -17.2803c-9.43066 19.5801 -25.2402 19.9307 -27.46 19.9307c-22.1309 0 -33.2207 -14.6104 -33.2207 -43.8398c0 -23.5703 9.20996 -43.8408 33.2207 -43.8408c14.4697 0 24.6494 7.09082 30.5693 21.2607l30.5498 -15.5
+c-6.16992 -11.5107 -25.6895 -38.9805 -65.0996 -38.9805c-22.5996 0 -73.96 10.3203 -73.96 77.0498c0 58.6904 43 77.0605 72.6299 77.0605c30.7197 0.00976562 52.7002 -11.9502 65.9902 -35.8604zM388.88 233.13l-32.7803 -17.2803
+c-9.5 19.7705 -25.7197 19.9307 -27.8994 19.9307c-22.1406 0 -33.2197 -14.6104 -33.2197 -43.8398c0 -23.5508 9.22949 -43.8408 33.2197 -43.8408c14.4502 0 24.6494 7.09082 30.54 21.2607l31 -15.5c-2.10059 -3.75 -21.3906 -38.9805 -65.0898 -38.9805
+c-22.6904 0 -73.96 9.87012 -73.96 77.0498c0 58.6699 42.9697 77.0605 72.6299 77.0605c30.71 0.00976562 52.5801 -11.9502 65.5596 -35.8604zM247.56 439.95c141.82 0 248.44 -110.13 248.44 -248c0 -147.13 -118.51 -248 -248.44 -248
+c-133.96 0 -247.56 109.51 -247.56 248c0 132.939 104.74 248 247.56 248zM248.43 -10.8604c103.16 0 202.83 81.1299 202.84 202.82c0 113.8 -90.2891 203.26 -202.819 203.26c-118.29 0 -203.72 -97.8496 -203.72 -203.27c0 -109.771 91.1592 -202.811 203.699 -202.811z
+" />
+ <glyph glyph-name="gg" unicode="&#xf260;" horiz-adv-x="512"
+d="M179.2 217.6l102.399 -102.399l-102.399 -102.4l-179.2 179.2l179.2 179.2l44.7998 -44.7998l-25.5996 -25.6006l-19.2002 19.2002l-128 -128l128 -128l51.5 51.5l-77.1006 76.5zM332.8 371.2l179.2 -179.2l-179.2 -179.2l-44.7998 44.7998l25.5996 25.6006
+l19.2002 -19.2002l128 128l-128 128l-51.5 -51.5l77.1006 -76.5l-25.6006 -25.5996l-102.399 102.399z" />
+ <glyph glyph-name="gg-circle" unicode="&#xf261;" horiz-adv-x="514"
+d="M257 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM207.5 65.2002l75 75.2002l-77.2002 77.1992l-24.3994 -24.3994l53.0996 -52.9004l-26.5996 -26.5996l-77.2002 77.2002l77.2002 77.1992l11.0996 -11.0996l24.2002 24.2002
+l-35.2002 35.3994l-125.7 -125.699zM306.5 67.4004l125.7 125.6l-125.7 125.7l-75 -75l77.2002 -77.2002l24.3994 24.4004l-53.0996 52.8994l26.5 26.5l77.2002 -77.2002l-77.2002 -77.1992l-11.0996 11.0996l-24.1006 -24.4004z" />
+ <glyph glyph-name="tripadvisor" unicode="&#xf262;" horiz-adv-x="576"
+d="M166.4 167.479c0 -13.2354 -10.7305 -23.9658 -23.9668 -23.9658c-13.2354 0 -23.9658 10.7305 -23.9658 23.9658c0 13.2363 10.7305 23.9668 23.9658 23.9668c13.2363 0 23.9668 -10.7295 23.9668 -23.9668zM431.362 191.435
+c13.2295 0 23.9551 -10.7246 23.9561 -23.9561c0 -13.2305 -10.7266 -23.9551 -23.9561 -23.9551c-13.2314 0 -23.9561 10.7256 -23.9561 23.9551c0 13.2314 10.7256 23.9561 23.9561 23.9561zM520.75 51.9453c-62.667 -49.1045 -153.276 -38.1094 -202.379 24.5586
+l-30.9795 -46.3252l-30.6826 45.9395c-48.2773 -60.3906 -135.622 -71.8916 -197.885 -26.0547c-64.0586 47.1572 -77.7588 137.315 -30.6016 201.373c-5.05762 17.1221 -17.7021 42.7236 -28.2227 57.1475l90.2861 0.0498047
+c48.0039 29.8701 132.851 54.1123 189.389 54.1123c2.11914 0 5.55762 -0.0371094 7.67578 -0.0820312c1.72363 0.0302734 4.52246 0.0556641 6.24609 0.0556641c55.5518 0 138.851 -23.9258 185.936 -53.4043l96.2178 -0.0742188
+c-10.6191 -14.5371 -23.3213 -40.3643 -28.3516 -57.6494c46.793 -62.7471 34.9639 -151.37 -26.6484 -199.646zM259.366 166.239c-0.00683594 63.5566 -51.5352 115.075 -115.092 115.067c-63.5576 -0.00683594 -115.074 -51.5342 -115.068 -115.092
+c0.00683594 -63.5566 51.5352 -115.075 115.092 -115.067c63.5127 0.0742188 114.984 51.5381 115.068 115.052v0.0400391zM287.957 176.694c5.43262 73.4395 65.5098 130.884 139.12 133.021c-35.5576 15.374 -95.8555 27.8506 -134.594 27.8506
+c-1.41699 0 -3.7168 -0.0166016 -5.13379 -0.0380859c-0.953125 0.00878906 -2.50098 0.0166016 -3.45508 0.0166016c-39.2324 0 -100.479 -12.2168 -136.709 -27.2695c74.3447 -1.58203 135.3 -59.4248 140.771 -133.581zM539.663 205.461
+c-21.9922 59.6338 -88.1621 90.1484 -147.795 68.1572c-59.6338 -21.9922 -90.1484 -88.1621 -68.1572 -147.795v-0.0322266c22.0381 -59.6074 88.1982 -90.0908 147.827 -68.1133c59.6152 22.0039 90.1133 88.1621 68.125 147.783zM213.624 167.486v-0.115234
+c-0.0566406 -39.3281 -31.9863 -71.1631 -71.3145 -71.1064c-39.3271 0.0576172 -71.1621 31.9863 -71.1055 71.3145s31.9863 71.1631 71.3135 71.1055c39.2598 -0.115234 71.042 -31.9395 71.1064 -71.1982zM189.112 167.486v0.0839844
+c-0.0517578 25.7832 -20.9941 46.6445 -46.7783 46.5938s-46.6445 -20.9941 -46.5938 -46.7773c0.0507812 -25.7842 20.9941 -46.6445 46.7764 -46.5938c25.7266 0.113281 46.5371 20.9678 46.5957 46.6934zM502.535 167.486
+c-0.0205078 -39.3281 -31.918 -71.2422 -71.2471 -71.2217c-39.3291 0.0214844 -71.1943 31.918 -71.1729 71.2471c0.0195312 39.3281 31.918 71.1943 71.2471 71.1729c39.29 -0.0654297 71.1211 -31.9082 71.1729 -71.1982zM478.031 167.494
+c-0.00878906 25.7842 -20.918 46.6787 -46.7021 46.6699s-46.6787 -20.918 -46.6699 -46.7021s20.918 -46.6777 46.7021 -46.6699c25.7646 0.0458984 46.6357 20.9277 46.6699 46.6934v0.00878906z" />
+ <glyph glyph-name="odnoklassniki" unicode="&#xf263;" horiz-adv-x="320"
+d="M275.1 114c-27.3994 -17.4004 -65.0996 -24.2998 -90 -26.9004l20.9004 -20.5996l76.2998 -76.2998c27.9004 -28.6006 -17.5 -73.2998 -45.7002 -45.7002c-19.0996 19.4004 -47.0996 47.4004 -76.2998 76.5996l-76.2998 -76.5
+c-28.2002 -27.5 -73.5996 17.6006 -45.4004 45.7002c19.4004 19.4004 47.1006 47.4004 76.3008 76.2998l20.5996 20.6006c-24.5996 2.59961 -62.9004 9.09961 -90.5996 26.8994c-32.6006 21 -46.9004 33.3008 -34.3008 59c7.40039 14.6006 27.7002 26.9004 54.6006 5.7002
+c0 0 36.2998 -28.8994 94.8994 -28.8994c58.6006 0 94.9004 28.8994 94.9004 28.8994c26.9004 21.1006 47.0996 8.90039 54.5996 -5.7002c12.4004 -25.6992 -1.89941 -38 -34.5 -59.0996zM30.2998 318.3c0 71.7002 58.2998 129.7 129.7 129.7s129.7 -58 129.7 -129.7
+c0 -71.3994 -58.2998 -129.399 -129.7 -129.399s-129.7 58 -129.7 129.399zM96.2998 318.3c0 -35.0996 28.6006 -63.7002 63.7002 -63.7002s63.7002 28.6006 63.7002 63.7002c0 35.4004 -28.6006 64 -63.7002 64s-63.7002 -28.5996 -63.7002 -64z" />
+ <glyph glyph-name="odnoklassniki-square" unicode="&#xf264;"
+d="M184.2 270.9c0 22.0996 17.8994 40 39.7998 40s39.7998 -17.9004 39.7998 -40c0 -22 -17.8994 -39.8008 -39.7998 -39.8008s-39.7998 17.9004 -39.7998 39.8008zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
+c26.5 0 48 -21.5 48 -48zM142.9 270.9c0 -44.6006 36.3994 -80.9004 81.0996 -80.9004s81.0996 36.2002 81.0996 80.9004c0 44.7998 -36.3994 81.0996 -81.0996 81.0996s-81.0996 -36.2002 -81.0996 -81.0996zM317.4 180.2
+c-4.60059 9.09961 -17.3008 16.7998 -34.1006 3.59961c0 0 -22.7002 -18 -59.2998 -18s-59.2998 18 -59.2998 18c-16.7998 13.2002 -29.5 5.5 -34.1006 -3.59961c-7.89941 -16.1006 1.10059 -23.7002 21.4004 -37c17.2998 -11.1006 41.2002 -15.2002 56.5996 -16.7998
+l-12.8994 -12.9004c-18.2002 -18 -35.5 -35.5 -47.7002 -47.7002c-17.5996 -17.5996 10.7002 -45.7998 28.4004 -28.5996l47.6992 47.8994c18.2002 -18.1992 35.7002 -35.6992 47.7002 -47.8994c17.6006 -17.2002 46 10.7002 28.6006 28.5996l-47.7002 47.7002l-13 12.9004
+c15.5 1.59961 39.0996 5.89941 56.2002 16.7998c20.3994 13.2998 29.2998 21 21.5 37z" />
+ <glyph glyph-name="get-pocket" unicode="&#xf265;"
+d="M407.6 384c22.7002 0 40.4004 -18.2002 40.4004 -40.5996v-135.2c0 -124.7 -99.7998 -224.2 -223.8 -224.2c-124.5 0 -224.2 99.5 -224.2 224.2v135.2c0 22.0996 18.5 40.5996 40.5996 40.5996h367zM245.6 115.5c111.9 107.5 114.801 105.4 114.801 123.2
+c0 16.8994 -13.8008 30.7002 -30.7002 30.7002c-16.9004 0 -14.9004 -2.40039 -105.5 -89.3008c-89.1006 85.5 -88.2002 89.3008 -105.2 89.3008c-16.9004 0 -30.7002 -13.8008 -30.7002 -30.7002c0 -18.1006 1.2002 -14.2998 114.9 -123.2
+c11 -11.0996 30 -11.7998 42.3994 0z" />
+ <glyph glyph-name="wikipedia-w" unicode="&#xf266;" horiz-adv-x="640"
+d="M640 396.8l-0.299805 -12.2002c-28.1006 -0.799805 -45 -15.7998 -55.7998 -40.2998c-25 -57.7998 -103.301 -240 -155.301 -358.6h-13.5996l-81.9004 193.1c-32.5 -63.5996 -68.2998 -130 -99.1992 -193.1c-0.300781 -0.299805 -15 0 -15 0.299805
+c-46.9004 109.7 -96.1006 218.6 -143.101 328.6c-11.3994 26.7002 -49.3994 70 -75.5996 69.7002c0 3.10059 -0.299805 10 -0.299805 14.2002h161.899v-13.9004c-19.2002 -1.09961 -52.7998 -13.2998 -43.2998 -34.1992c21.9004 -49.7002 103.6 -240.301 125.6 -288.601
+c15 29.7002 57.8008 109.2 75.3008 142.8c-13.9004 28.3008 -58.6006 133.9 -72.8008 160c-9.69922 17.8008 -36.0996 19.4004 -55.7998 19.7002v13.9004l142.5 -0.299805v-13.1006c-19.3994 -0.599609 -38.0996 -7.7998 -29.3994 -26.0996
+c18.8994 -40 30.5996 -68.1006 48.0996 -104.7c5.59961 10.7998 34.7002 69.4004 48.0996 100.8c8.90039 20.6006 -3.89941 28.6006 -38.5996 29.4004c0.299805 3.59961 0 10.2998 0.299805 13.5996c44.4004 0.299805 111.101 0.299805 123.101 0.600586v-13.6006
+c-22.5 -0.799805 -45.8008 -12.7998 -58.1006 -31.7002l-59.2002 -122.8c6.40039 -16.0996 63.3008 -142.8 69.2002 -156.7l122.4 282.601c-8.60059 23.0996 -36.4004 28.0996 -47.2002 28.2998v13.9004l127.8 -1.10059z" />
+ <glyph glyph-name="safari" unicode="&#xf267;" horiz-adv-x="512"
+d="M236.9 191.2c0 9.09961 6.59961 17.7002 16.2998 17.7002c8.89941 0 17.3994 -6.40039 17.3994 -16.1006c0 -9.09961 -6.39941 -17.7002 -16.0996 -17.7002c-9 0 -17.5996 6.7002 -17.5996 16.1006zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248
+s111 248 248 248s248 -111 248 -248zM477.4 192c0 122.3 -99.1006 221.4 -221.4 221.4s-221.4 -99.1006 -221.4 -221.4s99.1006 -221.4 221.4 -221.4s221.4 99.1006 221.4 221.4zM404.9 95.4004c0 -3.60059 13 -10.2002 16.2998 -12.2002
+c-27.4004 -41.5 -69.7998 -71.4004 -117.9 -83.2998l-4.39941 18.5c-0.300781 2.5 -1.90039 2.7998 -4.2002 2.7998c-1.90039 0 -3 -2.7998 -2.7998 -4.2002l4.39941 -18.7998c-13.2998 -2.7998 -26.7998 -4.2002 -40.3994 -4.2002c-36.3008 0 -72 10.2002 -103 29.0996
+c1.69922 2.80078 12.1992 18 12.1992 20.2002c0 1.90039 -1.69922 3.60059 -3.59961 3.60059c-3.90039 0 -12.2002 -16.6006 -14.7002 -19.9004c-41.7998 27.7002 -72 70.5996 -83.5996 119.6l19.0996 4.2002c2.2002 0.600586 2.7998 2.2002 2.7998 4.2002
+c0 1.90039 -2.7998 3 -4.39941 2.7998l-18.7002 -4.2998c-2.5 12.7002 -3.90039 25.5 -3.90039 38.5c0 37.0996 10.5 73.5996 30.2002 104.9c2.7998 -1.7002 16.1006 -10.8008 18.2998 -10.8008c1.90039 0 3.60059 1.40039 3.60059 3.30078
+c0 3.89941 -14.7002 11.2998 -18 13.5996c28.2002 41.2002 71.0996 70.9004 119.8 81.9004l4.2002 -18.5c0.599609 -2.2002 2.2002 -2.80078 4.2002 -2.80078s3 2.80078 2.7998 4.40039l-4.2002 18.2998c12.2002 2.2002 24.5996 3.60059 37.0996 3.60059
+c37.1006 0 73.3008 -10.5 104.9 -30.2002c-1.90039 -2.7998 -10.7998 -15.7998 -10.7998 -18c0 -1.90039 1.39941 -3.60059 3.2998 -3.60059c3.90039 0 11.2998 14.4004 13.2998 17.7002c41 -27.7002 70.2998 -70 81.7002 -118.2l-15.5 -3.2998
+c-2.5 -0.599609 -2.7998 -2.2002 -2.7998 -4.39941c0 -1.90039 2.7998 -3 4.2002 -2.80078l15.7998 3.60059c2.5 -12.7002 3.89941 -25.7002 3.89941 -38.7002c0 -36.2998 -10 -72 -28.7998 -102.7c-2.7998 1.40039 -14.3994 9.7002 -16.5996 9.7002
+c-2.10059 0 -3.7998 -1.7002 -3.7998 -3.59961zM371.7 337.6c-13 -12.1992 -134.2 -123.699 -137.601 -129.5l-96.5996 -160.5c12.7002 11.9004 134.2 124 137.3 129.301z" />
+ <glyph glyph-name="chrome" unicode="&#xf268;" horiz-adv-x="495"
+d="M131.5 230.5l-76.4004 117.4c47.6006 59.1992 119 91.7998 192 92.0996c42.3008 0.299805 85.5 -10.5 124.801 -33.2002c43.3994 -25.2002 76.3994 -61.3994 97.3994 -103l-205.3 10.7998c-58.0996 3.40039 -113.4 -29.2998 -132.5 -84.0996zM164.4 192
+c0 46.2998 37.3994 83.5996 83.5996 83.5996s83.5996 -37.3994 83.5996 -83.5996s-37.3994 -83.5996 -83.5996 -83.5996s-83.5996 37.3994 -83.5996 83.5996zM479.3 281.2c43.5 -111.9 0 -241.9 -107.399 -303.9c-43.4004 -25.2002 -91.3008 -35.3994 -137.801 -32.8994
+l112.101 172.399c31.8994 49 31.2998 112.9 -6.60059 157.2zM133.7 144.4c26.2998 -51.7002 81.8994 -83.3008 139.5 -72.5l-63.7002 -124.801c-118.7 18.2002 -209.5 120.9 -209.5 244.9c0 50.0996 14.9004 96.9004 40.4004 135.9z" />
+ <glyph glyph-name="firefox" unicode="&#xf269;" horiz-adv-x="480"
+d="M478.1 212.7c1.30078 -7.10059 1.90039 -14.2998 1.90039 -21.6006v-2.7998c-1.40039 -34 -11.5996 -67 -29.5996 -95.8994c-1 -1.5 -1.80078 -2.90039 -2.7002 -4.30078c2.7002 -7.19922 2.59961 -15.0996 -0.400391 -22.1992
+c-5 -19.4004 -16.5996 -36.4004 -32.8994 -48.1006c-10.8008 -8.7002 -22.7002 -16.2002 -35.3008 -22.0996l-1.89941 -0.900391l-1 -0.5c-1.7002 -0.700195 -3.2998 -1.39941 -4.90039 -2.09961c-2.39941 -5.10059 -5.7998 -9.60059 -9.89941 -13.2998
+c-2.5 -3.10059 -30.1006 -35 -113.801 -35c-23.5996 0 -47.1992 3.5 -69.7998 10.2998c0.799805 -0.299805 1.60059 -0.700195 2.40039 -1c-2.60059 0.899414 -5.2002 1.7998 -7.7002 2.7002c-19.0996 5.89941 -37.2002 14.5996 -53.7998 25.7998
+c-40.7002 24.7002 -72.9004 61.2002 -92.2998 104.7c-14.5 31.3994 -21.1006 65.7998 -19.4004 100.3c-2.7998 -8.2998 -5.2002 -16.7002 -7 -25.2998c0 29.1992 5.5 58.0996 16.2002 85.1992c-5.5 -7.89941 -10.2998 -16.2998 -14.2998 -25.0996
+c5.69922 23.0996 14.6992 45.2002 26.7998 65.5996c3.7002 6.10059 7.89941 11.9004 12.7002 17.1006v0.200195c-0.100586 2.69922 0.0996094 5.5 0.5 8.2998c1.5 16.2998 5.69922 32.2002 12.3994 47.0996l0.299805 0.700195c0.100586 0.299805 0 -1 0 -1.7002
+s-0.0996094 -1.2998 0 -1c0.600586 2 1.40039 4 2.30078 5.90039c1 2.09961 2.39941 4.09961 3.89941 5.7998c0.100586 0.0996094 0.200195 0.200195 0.299805 0.400391c0.100586 0.199219 -0.399414 -2 -0.5 -3.10059v-0.5c0.600586 1.2002 1.30078 2.40039 2.2002 4.5
+c2.10059 5.90039 6 11 11.1006 14.5l0.199219 0.100586c-0.299805 -9 1.2002 -17.9004 4.40039 -26.2002v-0.100586c0.299805 -0.399414 0.5 1.30078 0.900391 1.30078c0.0996094 0 0.199219 -0.100586 0.199219 -0.200195
+c0.900391 -1.7998 1.80078 -3.60059 2.7002 -5.2002c1.2998 -2.2002 2.5 -4.2002 3.7002 -6l0.400391 -0.200195l0.199219 0.100586c2.60059 -4.2002 5.90039 -7.80078 9.7002 -10.9004h-0.200195l0.200195 -0.0996094c18.2998 3.59961 37.2002 2 54.6006 -4.7002
+l0.0996094 0.0996094c2.09961 2.60059 4.59961 4.90039 7.2998 6.90039c0 -0.900391 -0.0996094 -1.7998 -0.200195 -2.7002c4 5 9.10059 9 15 11.5c-0.399414 -0.700195 -0.5 -1.40039 -0.5 -2.2002c7.40039 4.2998 15.5 7.40039 23.9004 9
+c1.09961 0 -3.5 -1.7998 -5.09961 -3.09961c3.69922 1.59961 7.69922 2.59961 11.6992 2.7998c6.60059 0.700195 14 -2.09961 12.6006 -2.7002c-2.7998 -1 -5.5 -2.2002 -8.2002 -3.5c-0.799805 -0.700195 3.2002 0.200195 2.40039 -0.5
+c-14 -9.2002 -24.8008 -22.5996 -30.8008 -38.2998v-0.0996094c2.5 -11 11.4004 -19.3008 22.5 -21.1006c31.5 -3 37.5 -5.59961 38.4004 -9.09961v-1.5c-0.0996094 -1 -0.200195 -1.90039 -0.299805 -2.7998c-1.2002 -6.90039 -4.90039 -13.2002 -10.2002 -17.7002
+c-1.40039 -1.2998 -2.90039 -2.5 -4.5 -3.5c-1.09961 -0.700195 -6.40039 -2.7998 -12.7998 -5.60059c-7.90039 -3.19922 -15.5 -7.09961 -22.7002 -11.5996c-1.2998 -0.799805 -2.40039 -1.7002 -3.40039 -2.7002c-0.399414 -0.399414 -1.19922 -1.5 -1.19922 -1.5
+v-0.0996094c0.5 -1.2002 1 -2.40039 1.19922 -3.7002c-1.39941 1.7002 -2.69922 1.09961 -1.89941 -0.5c0.899414 -2.5 1.2998 -5.2002 1.09961 -7.7998c0.200195 -4.7998 -0.700195 -9.60059 -2.59961 -14c-2.10059 1.5 -4.2998 2.89941 -6.60059 4.09961h-0.199219
+c2.5 -1.59961 4.2998 -3.89941 5.39941 -6.59961c0.700195 -2.2002 -0.299805 -2.7002 -0.299805 -2.7002c-1.40039 2 -3.09961 3.59961 -5.2002 4.7002c-3.09961 1.7998 -8.7998 4.7002 -11.3994 5.7998c-0.300781 -0.200195 -0.5 -0.0996094 -0.800781 -0.200195
+c0.800781 -1.2998 2.10059 -3.7998 2.10059 -3.7998s-1.7998 1.09961 -4.7998 2.59961c-3.90039 -1.7998 -7.2002 -4.89941 -9.30078 -8.69922c-3.5 -7.7002 -3.09961 -16.7002 1 -24.1006c4 -6 9.10059 -11.2002 15 -15.2002
+c0.400391 -0.299805 -3.39941 1.10059 -3.09961 0.800781c4.59961 -3.2002 9.40039 -6.10059 14.4004 -8.60059c1.5 -1 -5 1.2002 -3.40039 0.299805c1.40039 -0.899414 2.7998 -1.69922 4.2998 -2.5c22.9004 -12.0996 38.9004 0.400391 56.4004 2.90039
+c16.7998 3 33.7998 -3.59961 44.2002 -17c6 -8.5 -0.600586 -16.7002 -9 -14h-0.200195c-8.60059 2.90039 -19.1006 -4.2998 -36.6006 -14c-17.2998 -8.2998 -36.8994 -10.5996 -55.5996 -6.59961c-4.7998 0.899414 -9.40039 2.09961 -14 3.69922l-2 0.700195
+l0.200195 -0.299805c8.7998 -12.2002 19.8994 -22.5 32.7998 -30.2998c8.7002 -4.40039 17.9004 -7.5 27.4004 -9.2998c8 -1.90039 16.1992 -2.80078 24.5 -2.80078c61 -0.0996094 110.6 49.4004 110.6 110.4c0.0996094 15.9004 -3.09961 31.7998 -9.2998 46.5
+c20.7002 -12.2998 37.5996 -30.2002 48.7998 -51.5c-13.9004 40.5996 -40.2998 56.4004 -64.7002 76.5996c-19.5996 14.8008 -34.7002 34.9004 -43.3994 57.9004c-25.2002 67.7998 33.0996 132.9 33.0996 132.9s-3.59961 -15.1006 27.4004 -44.3008
+c6.39941 -5.89941 16.7998 -14.5 28.8994 -26.6992c1.7002 9.2998 4.2002 18.3994 7.40039 27.2998c2.5 -14.7002 7.7998 -28.7998 15.3994 -41.6006c11.7002 -16.6992 21.9004 -25.5996 30.7002 -40c1.90039 -2.5 3.7998 -5.19922 5.60059 -7.89941
+c5.09961 -7.2002 9.5 -14.7998 13.2998 -22.7998c6 -12 10.7998 -24.5 14.5 -37.4004c3 -10.4004 4.89941 -20.9004 5.7998 -31.5996c2.90039 3.89941 4.7002 5.89941 4.7002 5.89941s0.700195 -2.59961 1.39941 -7.09961zM179.1 310.3
+c-0.5 -1.2002 -0.899414 -2.2998 -1.2998 -3.5c0.400391 1.2002 0.900391 2.40039 1.2998 3.5z" />
+ <glyph glyph-name="opera" unicode="&#xf26a;" horiz-adv-x="496"
+d="M313.9 415.3c-170.2 0 -252.601 -223.8 -147.5 -355.1c36.5 -45.4004 88.5996 -75.6006 147.5 -75.6006c36.2998 0 70.2998 11.1006 99.3994 30.4004c-43.7998 -39.2002 -101.899 -63 -165.3 -63c-3.90039 0 -8 0 -11.9004 0.299805
+c-131.5 6.10059 -236.1 114.601 -236.1 247.7c0 137 111 248 248 248h0.799805c63.1006 -0.299805 120.7 -24.0996 164.4 -63.0996c-29 19.3994 -63.1006 30.3994 -99.2998 30.3994zM415.7 17.5996c-40.9004 -24.6992 -90.7002 -23.5996 -132 5.80078
+c56.2002 20.5 97.7002 91.5996 97.7002 176.6c0 84.7002 -41.2002 155.8 -97.4004 176.6c41.7998 29.2002 91.2002 30.3008 132.9 5c105.899 -98.6992 105.5 -265.699 -1.2002 -364z" />
+ <glyph glyph-name="internet-explorer" unicode="&#xf26b;" horiz-adv-x="511"
+d="M483.049 288.294c25.1963 -45.4473 33.2578 -97.5811 26.8516 -141.162h-328.792c0 -100.432 144.31 -136.029 196.818 -47.4355h120.833c-32.5645 -91.7285 -119.689 -146.022 -216.813 -146.022c-35.1367 0 -70.2725 0.143555 -101.695 15.5732
+c-87.3975 -44.4941 -180.251 -56.5693 -180.251 42.0059c0 45.8066 23.2461 107.096 43.9922 145.022c35.1357 63.7227 81.4121 124.875 135.687 173.168c-43.7061 -18.8604 -91.125 -66.2959 -121.977 -101.158c25.877 112.787 129.466 193.638 237.098 186.457
+c130.032 59.7939 209.673 34.1445 209.673 -38.5771c0 -27.4326 -10.5684 -63.2959 -21.4238 -87.8711zM64.5586 101.123c-73.001 -152.4 11.5254 -172.244 100.267 -123.304c-46.5635 27.4326 -82.5557 72.1533 -100.267 123.304zM180.536 209.996h207.961
+c-2 55.1514 -50.5635 94.8711 -103.981 94.8711c-53.7041 0 -101.979 -39.7197 -103.979 -94.8711zM365.072 397.596c46.2764 -18.002 85.9824 -57.2939 112.263 -99.5859c7.1416 18.8604 14.5693 47.8643 14.5693 67.8672c0 32.0049 -22.8525 53.7217 -54.2744 53.7217
+c-23.9951 0 -51.1328 -11.7158 -72.5576 -22.0029z" />
+ <glyph glyph-name="contao" unicode="&#xf26d;" horiz-adv-x="512"
+d="M45.4004 143c14.3994 -67.0996 26.3994 -129 68.1992 -175h-79.5996c-18.7002 0 -34 15.2002 -34 34v380c0 18.7002 15.2002 34 34 34h57.7002c-13.7998 -12.5996 -26.1006 -27.2002 -36.9004 -43.5996c-45.3994 -70 -27 -146.801 -9.39941 -229.4zM478 416
+c18.7998 0 34 -15.2002 34 -34v-380.1c0 -18.8008 -15.2998 -34 -34 -34h-52.0996c38.6992 38.3994 60.5996 92.0996 57.3994 163.6l-137.399 -29.5996c-1.7002 -32.5 -12.9004 -63.8008 -57.4004 -73.2002c-24.9004 -5.2998 -45.4004 0.599609 -58.2998 11.7002
+c-15.7998 13.5 -28.4004 31 -49.5 131.199c-21.4004 100.5 -17 121.601 -8.2002 140.301c7.2998 15.2998 23.7002 29.2998 48.2998 34.5996c44.7998 9.40039 67.7002 -14.9004 82.6006 -43.9004l137.1 29.3008c-13.5 34.5996 -31.2998 62.6992 -52.7002 84.0996h90.2002z
+" />
+ <glyph glyph-name="500px" unicode="&#xf26e;" horiz-adv-x="447"
+d="M103.3 103.7c-6.5 14.2002 -6.89941 18.2998 7.40039 23.0996c25.5996 8 8 -9.2002 43.2002 -49.2002h0.299805v93.9004c1.2002 50.2002 44 92.2002 97.7002 92.2002c53.8994 0 97.6992 -43.5 97.6992 -96.7998c0 -63.4004 -60.7998 -113.2 -128.5 -93.3008
+c-10.5 4.2002 -2.09961 31.7002 8.5 28.6006c53 0 89.4004 10.0996 89.4004 64.3994c0 61 -77.0996 89.6006 -116.9 44.6006c-23.5 -26.4004 -17.5996 -42.1006 -17.5996 -157.601c50.7002 -31 118.3 -22 160.4 20.1006c24.7998 24.7998 38.5 58 38.5 93
+c0 35.2002 -13.8008 68.2002 -38.8008 93.2998c-24.7998 24.7998 -57.7998 38.5 -93.2998 38.5s-68.7998 -13.7998 -93.5 -38.5c-0.299805 -0.299805 -16 -16.5 -21.2002 -23.9004l-0.5 -0.599609c-3.2998 -4.7002 -6.2998 -9.09961 -20.0996 -6.09961
+c-6.90039 1.69922 -14.2998 5.7998 -14.2998 11.7998v186.8c0 5 3.89941 10.5 10.5 10.5h241.3c8.2998 0 8.2998 -11.5996 8.2998 -15.0996c0 -3.90039 0 -15.1006 -8.2998 -15.1006h-223.2v-132.899h0.299805c104.2 109.8 282.801 36 282.801 -108.9
+c0 -178.1 -244.801 -220.3 -310.101 -62.7998zM166.6 364.5c3.80078 18.7998 145.101 50.7998 238.301 -38.2002c8.5 -7.5 -9.5 -22.7998 -14.3008 -22.7998c-6.59961 0 -84.5996 87.9004 -209.399 40.4004c-10 -3.90039 -15.1006 16.3994 -14.6006 20.5996zM393 33.2998
+c8.09961 8 27.5996 -12.5996 20.7002 -20.3994c-135.601 -135.601 -357.601 -52.1006 -381.601 121.3c-1.5 10.7002 28.9004 15.5 28.9004 3.2998c33 -165 222 -214.1 332 -104.2zM213.6 141.4c0 3.39941 2.30078 4.69922 20.4004 22.5996l-18.2002 18.2002
+c-5.59961 5.59961 7.40039 17.2998 12.4004 17.2998c3.09961 0 2.89941 -0.700195 21.5 -19.5l17.8994 17.9004c6.10059 6.09961 22.5 -8.90039 16.2002 -15.7002l-18.2002 -18.2002l17.3008 -17.2998c7.7998 -7.7998 -5.30078 -18.2002 -10.7002 -18.2002
+c-3.2002 0 -2.7002 0.200195 -22.2998 19.5c-19.7002 -19.7002 -18.5 -19.5 -22.3008 -19.5c-2.39941 0 -5.5 1.40039 -8.5 4.40039c-1.19922 1.19922 -5.5 4.5 -5.5 8.5z" />
+ <glyph glyph-name="amazon" unicode="&#xf270;" horiz-adv-x="447"
+d="M257.2 285.3c0 39.2998 5.2002 69.2002 -35.5 69.1006c0 0 -37.9004 0 -54.2002 -49.5l-73.5 6.7998c0 49.2998 46.7002 104.3 134.7 104.3c87.7998 0 112.3 -57 112.3 -82.2998v-147.101c0 -27.5 32.2998 -52.7998 32.2998 -52.7998l-56.7998 -56
+c-9.90039 9.2998 -38.7998 36.6006 -45.2998 46.7998c-45.2002 -70.7998 -183.5 -66.2998 -183.5 43.2002c0 102 120.8 115.7 169.5 117.5zM257.2 198.5v40.5996c-33.7002 -1.09961 -84.2002 -10.5996 -84.2002 -57.7998c0 -50.7998 84.2002 -62.7998 84.2002 17.2002z
+M393.2 35c-7.7002 -10 -70 -67 -174.5 -67s-184.5 71.5 -209 101c-6.7998 7.7002 1 11.2998 5.5 8.2998c73.2998 -44.5 187.8 -117.8 372.5 -30.2998c7.5 3.7002 13.2998 -2 5.5 -12zM433 32.7998c-6.5 -15.7998 -16 -26.7998 -21.2002 -31
+c-5.5 -4.5 -9.5 -2.7002 -6.5 3.7998s19.2998 46.5 12.7002 55c-6.5 8.30078 -37 4.30078 -48 3.2002c-10.7998 -1 -13 -2 -14 0.299805c-2.2998 5.7002 21.7002 15.5 37.5 17.5c15.7002 1.80078 41 0.800781 46 -5.69922c3.7002 -5.10059 0 -27.1006 -6.5 -43.1006z" />
+ <glyph glyph-name="houzz" unicode="&#xf27c;" horiz-adv-x="414"
+d="M258.9 117.3h-104.601v-149.3h-154.3v448h109.5v-104.5l305.1 -85.5996v-257.9h-155.699v149.3z" />
+ <glyph glyph-name="vimeo-v" unicode="&#xf27d;"
+d="M447.8 294.4c-2 -43.6006 -32.3994 -103.301 -91.3994 -179.101c-60.9004 -79.2002 -112.4 -118.8 -154.601 -118.8c-26.0996 0 -48.2002 24.0996 -66.2998 72.2998c-35.2002 129.2 -50.2002 204.9 -79.2998 204.9c-3.40039 0 -15.1006 -7.10059 -35.2002 -21.1006
+l-21 27.2002c51.5996 45.2998 100.9 95.7002 131.8 98.5c34.9004 3.40039 56.2998 -20.5 64.4004 -71.5c28.7002 -181.5 41.3994 -208.899 93.5996 -126.7c18.7002 29.6006 28.7998 52.1006 30.2002 67.6006c4.7998 45.8994 -35.7998 42.7998 -63.2998 31
+c22 72.0996 64.0996 107.1 126.2 105.1c45.7998 -1.2002 67.5 -31.0996 64.8994 -89.3994z" />
+ <glyph glyph-name="black-tie" unicode="&#xf27e;"
+d="M0 416h448v-448h-448v448zM316.5 90.7998l-64.5 184l64.4004 86.6006h-184.9l64.5 -86.6006l-64.5 -184l92.5 -88.7002z" />
+ <glyph glyph-name="fonticons" unicode="&#xf280;"
+d="M0 416h448v-448h-448v448zM187 275.1c11.9004 0 16.5996 -4.2998 16.2998 -23l50.7002 6.10059c0 44.5996 -30.5996 52.7998 -64.7002 52.7998c-50.7998 0 -77.2998 -20.4004 -77.2998 -70v-21h-28v-37.4004h22.2002c2.89941 0 5.7998 0 5.7998 -2.2998v-111.399
+c0 -5.60059 -1.5 -7.30078 -6.7002 -7.90039l-21.2998 -2v-25.7002h130.7v25.1006l-43.5 4.09961c-5.2002 0.599609 -3.2002 1.5 -3.2002 7.2998v112.9h55.7002l11.0996 37.2998h-67.3994c-2.90039 0 0.599609 2 0.599609 4.40039v23.2998
+c0 17.5 0.599609 27.3994 19 27.3994zM261.3 33.2998h102.601v25.1006l-15.7002 2.59961c-5.5 0.900391 -2.90039 1.5 -2.90039 7.2998v151.7h-80.2002l-6.69922 -29.5l24.1992 -6.40039c3.80078 -1.19922 6.7002 -3.7998 6.7002 -7.89941v-107.9
+c0 -5.59961 -2.39941 -6.7002 -7.59961 -7.2998l-20.4004 -2.59961v-25.1006zM342.1 288.8l21.9004 24.2002l-3.5 9.59961h-27.7002l-15.5 28h-9.2998l-15.5 -28h-27.7002l-3.5 -9.59961l21.7998 -24.2002l-9 -33.2002l7.30078 -7.2998l31.1992 16.6006l31.2002 -16.6006
+l7.2998 7.2998z" />
+ <glyph glyph-name="reddit-alien" unicode="&#xf281;" horiz-adv-x="511"
+d="M440.3 244.5c55.2998 0 73.7002 -74.0996 23.7998 -99.7002c2.2002 -7.89941 3.10059 -16.7002 3.10059 -25.0996c0 -83.7998 -94.4004 -151.7 -210.8 -151.7c-115.9 0 -210.301 67.9004 -210.301 151.7c0 8.39941 0.800781 16.7998 2.60059 24.7002
+c-50.9004 25.5 -32.7002 100.1 22.8994 100.1c15 0 28.7002 -6.2002 38.4004 -16.2998c35.7998 24.7002 83.4004 40.5996 136.3 42.7998l30.4004 137.6c1.2998 4.90039 6.09961 8.40039 11 7.10059l97.3994 -21.6006c6.60059 12.7002 19.9004 22 35.3008 22
+c22.0996 0 39.6992 -18.0996 39.6992 -39.6992c0 -21.6006 -17.6992 -39.7002 -39.6992 -39.7002c-21.6006 0 -39.2002 17.5996 -39.2002 39.2002l-88.2002 19.7998l-27.7002 -124.8c53.2998 -1.7002 101.4 -17.6006 137.101 -42.3008
+c9.69922 9.7002 22.8994 15.9004 37.8994 15.9004zM129.4 139.1c0 -21.5996 17.6992 -39.2998 39.6992 -39.1992c21.6006 0 39.2002 17.5996 39.2002 39.1992c0 22.1006 -17.5996 39.7002 -39.2002 39.7002c-22.0996 0 -39.6992 -17.7002 -39.6992 -39.7002zM343.7 45.5996
+c4 3.5 4 9.7002 -0.100586 13.7002c-3.5 3.5 -9.69922 3.5 -13.1992 0c-29 -29 -121.2 -28.5 -149 0c-3.5 3.5 -9.7002 3.5 -13.2002 0c-4 -4 -4 -10.2002 0 -13.7002c36.3994 -36.3994 139.1 -36.3994 175.5 0zM342.9 99.7998c22 0 39.5996 17.7002 39.6992 39.2002
+c0 22.0996 -17.6992 39.7002 -39.6992 39.7002c-21.6006 0 -39.2002 -17.7002 -39.2002 -39.7002c0 -21.5996 17.5996 -39.2002 39.2002 -39.2002z" />
+ <glyph glyph-name="edge" unicode="&#xf282;" horiz-adv-x="512"
+d="M25.7139 219.837c0.111328 0.162109 0.230469 0.323242 0.341797 0.485352c-0.0205078 -0.162109 -0.0449219 -0.323242 -0.0644531 -0.485352h-0.277344zM486.286 204.329l0.000976562 -52.0645h-314.073c1.38379 -128.497 191.392 -124.065 272.255 -67.5713v-104.404
+c-47.3555 -28.5244 -156.774 -53.1709 -240.132 -21.3242c-70.6191 27.1406 -119.913 100.528 -120.743 171.977c-1.10742 92.2188 45.6943 153.422 120.742 188.314c-15.7852 -19.9395 -27.9697 -41.54 -34.3389 -78.9258h175.853
+c10.2471 104.957 -99.4189 104.957 -99.4189 104.957c-103.302 -3.58984 -177.945 -63.6543 -220.375 -124.966c14.5615 114.465 92.9062 219.955 232.837 219.678c85.0195 0 157.605 -39.8779 198.593 -113.265c21.0469 -37.9404 28.8008 -78.373 28.8008 -122.405z" />
+ <glyph glyph-name="codiepie" unicode="&#xf284;" horiz-adv-x="472"
+d="M422.5 245.1c30.7002 0 33.5 -53.0996 -0.299805 -53.0996h-10.7998v-44.2998h-26.6006v97.3994h37.7002zM472 95.4004c-42.0996 -91.9004 -121.6 -151.4 -224 -151.4c-137 0 -248 111 -248 248s111 248 248 248c97.4004 0 172.8 -53.7002 218.2 -138.4l-186 -108.8z
+M433.5 82.9004l-60.2998 30.6992c-27.1006 -44.2998 -70.4004 -71.3994 -122.4 -71.3994c-82.5 0 -149.2 66.7002 -149.2 148.899c0 82.5 66.7002 149.2 149.2 149.2c48.4004 0 88.9004 -23.5 116.9 -63.3994l59.5 34.5996c-40.7002 62.5996 -104.7 100 -179.2 100
+c-121.2 0 -219.5 -98.2998 -219.5 -219.5s98.2998 -219.5 219.5 -219.5c78.5996 0 146.5 42.0996 185.5 110.4z" />
+ <glyph glyph-name="modx" unicode="&#xf285;"
+d="M356 206.2l36.7002 -23.7002v-214.5l-133 83.7998zM440 373l-83.2002 -134.3l-153.5 96.5l23 37.7998h213.7zM351 230.2l-249.8 -57.7002l-46 29v214.5zM97 153.8l249.7 57.7002l-125 -200.5h-213.7z" />
+ <glyph glyph-name="fort-awesome" unicode="&#xf286;" horiz-adv-x="511"
+d="M489.2 160.1c2.59961 0 4.59961 -2 4.5 -4.59961v-219.5h-182.9v96c0 72.5996 -109.7 72.5996 -109.7 0v-96h-182.899v219.5c0 2.59961 2 4.59961 4.59961 4.59961h27.4004c2.59961 0 4.59961 -2 4.59961 -4.59961v-32h36.6006v178.3
+c0 2.60059 2 4.60059 4.59961 4.60059h27.4004c2.59961 0 4.59961 -2 4.59961 -4.60059v-32h36.2998v32c0 2.60059 2 4.60059 4.60059 4.60059h27.3994c2.60059 0 4.60059 -2 4.60059 -4.60059v-32h36.5996v32c0 6 8 4.60059 11.7002 4.60059v111.699
+c-5.40039 2.60059 -9.10059 8.30078 -9.10059 14.3008c0 20.7998 31.4004 20.6992 31.4004 0c0 -6 -3.7002 -11.7002 -9.09961 -14.3008v-4.89941c7.69922 1.7998 15.6992 2.89941 23.6992 2.89941c11.7002 0 22.9004 -4.2998 32.6006 -4.2998
+c8.89941 0 18.8994 4.2998 24 4.2998c2.59961 0 4.59961 -2 4.59961 -4.59961v-60c0 -6.90039 -23.0996 -8 -27.7002 -8c-10.5 0 -20.5 4.2998 -31.3994 4.2998c-8.60059 0 -17.4004 -1.39941 -25.7002 -3.39941v-38c3.7002 0 11.7002 1.39941 11.7002 -4.60059v-32h36.5996
+v32c0 2.60059 2 4.60059 4.60059 4.60059h27.3994c2.60059 0 4.60059 -2 4.60059 -4.60059v-32h36.5996v32c0 2.60059 2 4.60059 4.59961 4.60059h27.4004c2.59961 0 4.59961 -2 4.59961 -4.60059v-178.3h36.6006v32c0 2.59961 2 4.59961 4.59961 4.59961h27.4004z
+M201.1 164.6v64c0 2.60059 -2 4.60059 -4.59961 4.60059h-27.4004c-2.59961 0 -4.59961 -2 -4.59961 -4.60059v-64c0 -2.59961 2 -4.59961 4.59961 -4.59961h27.4004c2.59961 0 4.59961 2 4.59961 4.59961zM347.5 164.6v64c0 2.60059 -2 4.60059 -4.59961 4.60059h-27.4004
+c-2.59961 0 -4.59961 -2 -4.59961 -4.60059v-64c0 -2.59961 2 -4.59961 4.59961 -4.59961h27.4004c2.59961 0 4.59961 2 4.59961 4.59961z" />
+ <glyph glyph-name="usb" unicode="&#xf287;" horiz-adv-x="641"
+d="M641.5 192c0 -3.09961 -1.7002 -6.09961 -4.5 -7.5l-89.0996 -53.5c-1.40039 -0.799805 -2.80078 -1.40039 -4.5 -1.40039c-1.40039 0 -3.10059 0.300781 -4.5 1.10059c-2.80078 1.7002 -4.5 4.5 -4.5 7.7998v35.5996h-238.7
+c25.2998 -39.5996 40.5 -106.899 69.5996 -106.899h26.7002v26.7998c0 5 3.90039 8.90039 8.90039 8.90039h89.0996c5 0 8.90039 -3.90039 8.90039 -8.90039v-89.0996c0 -5 -3.90039 -8.90039 -8.90039 -8.90039h-89.0996c-5 0 -8.90039 3.90039 -8.90039 8.90039v26.6992
+h-26.7002c-75.3994 0 -81.0996 142.5 -124.7 142.5h-100.3c-8.09961 -30.5996 -35.8994 -53.5 -69 -53.5c-39.2998 0.100586 -71.2998 32.1006 -71.2998 71.4004s32 71.2998 71.2998 71.2998c33.1006 0 61 -22.7998 69 -53.5c39.1006 0 43.9004 -9.5 74.6006 60.4004
+c40.0996 89.0996 58.0996 82.0996 108.899 82.0996c7.5 20.9004 27 35.6006 50.4004 35.6006c29.5 0 53.5 -23.9004 53.5 -53.5c0 -29.6006 -23.9004 -53.5 -53.5 -53.5c-23.4004 0 -42.9004 14.7998 -50.4004 35.5996h-29.7998
+c-29.0996 0 -44.2998 -67.4004 -69.5996 -106.9h310.1v35.6006c0 3.2998 1.7002 6.09961 4.5 7.7998s6.40039 1.40039 8.90039 -0.299805l89.0996 -53.5c2.7998 -1.10059 4.5 -4.10059 4.5 -7.2002z" />
+ <glyph glyph-name="product-hunt" unicode="&#xf288;" horiz-adv-x="512"
+d="M326.3 229.2c0 -20.5 -16.7002 -37.2002 -37.2002 -37.2002h-70.2998v74.4004h70.2998c20.5 0 37.2002 -16.7002 37.2002 -37.2002zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM375.9 229.2
+c0 47.8994 -38.9004 86.7998 -86.8008 86.7998h-119.899v-248h49.5996v74.4004h70.2998c47.9004 0 86.8008 38.8994 86.8008 86.7998z" />
+ <glyph glyph-name="mixcloud" unicode="&#xf289;" horiz-adv-x="640"
+d="M424.43 228.271c42.3623 -9.1377 74.4805 -47.0693 74.4805 -92.2002c0 -52.3311 -42.6406 -94.6934 -94.9688 -94.6934h-289.614c-62.5752 0 -113.243 50.668 -113.243 112.966c0 56.7598 42.085 103.554 96.6299 111.582
+c22.9814 67.5586 86.9395 114.074 159.205 114.074c87.2158 0 159.205 -66.7266 167.511 -151.729zM403.941 83.7412c29.0713 0 52.6064 23.5352 52.6064 52.3301c0 22.1494 -14.1211 40.9766 -33.502 48.4531c-1.38477 -8.58301 -3.59961 -17.166 -6.36914 -25.4727
+c-8.01367 -25.6484 -49.0898 -14.2266 -40.1465 13.29c4.15332 12.7373 6.36914 26.0264 6.36914 39.5938c0 69.2197 -56.4834 125.702 -125.979 125.702c-49.8379 0 -94.6934 -29.626 -114.628 -73.9258c19.3809 -4.98438 37.3779 -14.9512 52.0527 -29.3486
+c19.9531 -19.9531 -10.2168 -50.1436 -30.1797 -30.1807c-13.29 13.291 -31.0107 20.7666 -49.8379 20.7666c-39.04 0 -70.8809 -31.5645 -70.8809 -70.6045s31.8408 -70.6035 70.8809 -70.6035h289.614zM639.01 136.071c0 -44.0244 -12.7363 -86.3867 -37.1016 -122.657
+c-4.15332 -6.0918 -10.7979 -9.41406 -17.7197 -9.41406c-16.3174 0 -27.1279 18.8262 -17.4434 32.9492c19.3809 29.3486 29.9033 63.6816 29.9033 99.1221c0 35.4395 -10.5215 69.7725 -29.9033 98.8447c-15.6553 22.8311 19.3613 47.2402 35.1631 23.5342
+c24.3662 -35.9932 37.1016 -78.3564 37.1016 -122.379zM568.13 136.071c0 -31.5654 -9.13672 -62.0215 -26.8564 -88.3252c-4.15332 -6.09082 -10.7988 -9.13574 -17.7207 -9.13574c-17.2012 0 -27.0215 18.9785 -17.4424 32.9473
+c13.0127 19.1045 19.6572 41.2559 19.6572 64.5137c0 22.9805 -6.64453 45.4072 -19.6572 64.5117c-15.7617 22.9863 19.0078 47.0947 35.1631 23.5352c17.7188 -26.0264 26.8564 -56.4834 26.8564 -88.0469z" />
+ <glyph glyph-name="scribd" unicode="&#xf28a;" horiz-adv-x="384"
+d="M42.2998 195.3c-16.0996 19 -24.7002 45.9004 -24.7998 79.9004c0 100.399 75.2002 153.1 167.2 153.1c98.5996 1.60059 156.8 -49 184.3 -70.5996l-50.5 -72.1006l-37.2998 24.6006l26.8994 38.5996c-36.5 24 -79.3994 36.5 -123 35.7998
+c-50.6992 0.800781 -111.699 -27.1992 -111.699 -76.1992c0 -18.7002 11.1992 -20.7002 28.5996 -15.6006c23.2998 5.2998 41.9004 -0.599609 55.7998 -14c26.4004 -24.2998 23.2002 -67.5996 -0.700195 -91.8994c-29.1992 -29.5 -85.1992 -27.3008 -114.8 8.39941z
+M360 189.4c33.9004 -40.4004 36.7998 -138.2 -20.2998 -189.601c-39.2002 -33.5996 -82.2002 -44.0996 -133.601 -44.0996c-70.2998 -0.299805 -138.199 25.3994 -190.699 72.2002l-15.4004 13.7998l60.7998 71.7998l35.6006 -27.4004l-33.7002 -39.3994
+c41.7002 -30.9004 92.2002 -47.5 144.1 -47.2998c61.9004 0 104.7 23.5 121.4 64.3994c0.899414 4.2002 1.39941 8.40039 1.39941 12.7002c0 18.7002 -11.1992 20.7002 -28.5996 15.5996c-23.2998 -5.2998 -42.2002 0.5 -56.2998 14.4004
+c-12.4004 11.2998 -19.1006 27.5 -18.4004 44.2998c-0.599609 39.2002 32.4004 69.2002 70.5 67.2002c24.2998 0.799805 47.7002 -9.7998 63.2002 -28.5996z" />
+ <glyph glyph-name="bluetooth" unicode="&#xf293;"
+d="M292.6 276.9l-42.8994 -42.9004l-0.299805 86zM249.4 57.0996l0.199219 86l42.9004 -42.8994zM416 188.6c0 -205.6 -71.9004 -252.6 -185.1 -252.6c-113.2 0 -198.9 47 -198.9 252.6c0 205.601 83.4004 259.4 196.6 259.4c113.2 0 187.4 -53.9004 187.4 -259.4z
+M257.5 188.6l79.4004 88.6006l-125.101 134.3v-176.9l-73.7998 73.8008l-27 -26.9004l92.7002 -93l-92.7002 -93l26.9004 -26.9004l73.7998 73.8008l2.2998 -170l127.4 127.5z" />
+ <glyph glyph-name="bluetooth-b" unicode="&#xf294;" horiz-adv-x="320"
+d="M196.48 187.977l97.9111 -103.333l-148.552 -148.644l-2.71484 198.284l-86.1113 -86.1113l-31.4053 31.4053l108.061 108.398l-108.061 108.399l31.4053 31.4053l86.1113 -86.1113v206.33l145.981 -156.69zM237.34 290.973l-50.3145 50.3174l0.337891 -100.295z
+M187.363 134.96l-0.337891 -100.294l50.3145 50.3164z" />
+ <glyph glyph-name="gitlab" unicode="&#xf296;" horiz-adv-x="512"
+d="M105.2 423.1c0 0 56.5 -174.8 56.5996 -174.8h-132l56.5 174.8c3.2002 8.90039 15.7998 8.90039 18.9004 0zM0.900391 160.3l28.7998 88l226.2 -294l-247.9 184c-6.7998 5.10059 -9.7002 14 -7.09961 22zM161.7 248.3h188.6l-94.2998 -294zM511.1 160.3
+c2.5 -8 -0.299805 -16.8994 -7.19922 -22l-247.9 -184l226.3 294zM425.7 423.1l56.5 -174.8h-132l56.5996 174.8c3.2002 8.90039 15.7998 8.90039 18.9004 0z" />
+ <glyph glyph-name="wpbeginner" unicode="&#xf297;" horiz-adv-x="511"
+d="M462.799 125.626c56.2109 -64.3076 4.16211 -157.626 -91.8545 -157.626c-39.6025 0 -78.8242 17.6865 -100.143 50.04c-6.88672 -0.356445 -22.7021 -0.356445 -29.5898 0c-21.3643 -32.4209 -60.624 -50.04 -100.143 -50.04
+c-95.4902 0 -148.349 92.9961 -91.8555 157.626c-79.1387 131.851 31.2646 290.374 206.792 290.374c175.632 0 285.87 -158.626 206.793 -290.374zM123.152 208.598h41.5283v58.0752h-41.5283v-58.0752zM340.332 122.526v23.8389
+c-60.5059 -20.915 -132.355 -9.19824 -187.589 33.9707l0.246094 -24.8965c51.1006 -46.3672 131.746 -57.875 187.343 -32.9131zM189.579 208.598h166.058v58.0752h-166.058v-58.0752z" />
+ <glyph glyph-name="wpforms" unicode="&#xf298;"
+d="M448 372.8v-361.7c0 -24.2998 -19 -43.1992 -43.2002 -43.1992h-361.6c-23.9004 0.0996094 -43.2002 18.6992 -43.2002 43.2998v361.6c0 24.1006 18.7998 43.2002 43.2002 43.2002h361.7c24 0 43.0996 -18.7998 43.0996 -43.2002zM410.7 11.2002v361.6
+c0 3 -2.60059 5.7998 -5.7998 5.7998h-9.30078l-110.3 -74.5996l-61.2998 49.9004l-61.2002 -49.9004l-110.3 74.7002h-9.2998c-3.2002 0 -5.7998 -2.7998 -5.7998 -5.7998v-361.7c0 -3 2.59961 -5.7998 5.7998 -5.7998h361.7
+c3.19922 -0.100586 5.7998 2.69922 5.7998 5.7998zM150.2 262v-37h-73.5v37h73.5zM150.2 187.6v-37.2998h-73.5v37.2998h73.5zM161.3 334.9l54 43.6992h-118.5zM371.3 262v-37h-196v37h196zM371.3 187.6v-37.2998h-196v37.2998h196zM286.7 334.9l64.5 43.6992h-118.4z
+M371.3 113v-37.2998h-99.3994v37.2998h99.3994z" />
+ <glyph glyph-name="envira" unicode="&#xf299;"
+d="M0 416c477.6 0 366.6 -317.3 367.1 -366.3l80.9004 -81.7002h-26l-70.4004 71.2002c-39 -4.2002 -124.399 -34.5 -214.399 37c-90.2002 71.5 -85.2002 157.1 -137.2 339.8zM79.7002 370c-49.7002 23.5 -5.2002 -9.2002 -5.2002 -9.2002
+c45.2002 -31.2002 66 -73.7002 90.2002 -119.899c31.5 -60.2002 79 -139.7 144.2 -167.7c65 -28 34.1992 -12.5 6 8.5c-28.2002 21.2002 -68.2002 87 -91 130.2c-31.7002 60 -61 118.6 -144.2 158.1z" />
+ <glyph glyph-name="glide" unicode="&#xf2a5;"
+d="M252.8 299.4c0 -8.80078 -1.59961 -17.7002 -3.39941 -26.4004c-5.80078 -27.7998 -11.6006 -55.7998 -17.3008 -83.5996c-1.39941 -6.30078 -8.2998 -4.90039 -13.6992 -4.90039c-23.8008 0 -30.5 26 -30.5 45.5c0 29.2998 11.1992 68.0996 38.5 83.0996
+c4.2998 2.5 9.19922 4.2002 14.0996 4.2002c11.4004 0 12.2998 -8.2998 12.2998 -17.8994zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM384 181c0 5.09961 -20.7998 37.7002 -25.5 39.5
+c-2.2002 0.900391 -7.2002 2.2998 -9.59961 2.2998c-23.1006 0 -38.7002 -10.5 -58.2002 -21.5l-0.5 0.5c4.2998 29.4004 14.5996 57.2002 14.5996 87.4004c0 44.5996 -23.7998 62.7002 -67.5 62.7002c-71.7002 0 -108 -70.8008 -108 -123.5c0 -54.7002 32 -85 86.2998 -85
+c7.5 0 6.90039 0.599609 6.90039 -2.30078c-10.5 -80.2998 -56.5 -82.8994 -56.5 -58.8994c0 24.3994 28 36.5 28.2998 38c-0.200195 7.59961 -29.2998 17.2002 -36.7002 17.2002c-21.0996 0 -32.6992 -33 -32.6992 -50.6006c0 -32.2998 20.3994 -54.7002 53.2998 -54.7002
+c48.2002 0 83.3994 49.7002 94.2998 91.7002c9.40039 37.7002 7 39.4004 12.2998 42.1006c20 10.0996 35.7998 16.7998 58.4004 16.7998c11.0996 0 19 -2.2998 36.7002 -5.2002c1.7998 -0.0996094 4.09961 1.7002 4.09961 3.5z" />
+ <glyph glyph-name="glide-g" unicode="&#xf2a6;" horiz-adv-x="480"
+d="M407.1 236.8c7.5 -2.89941 40.9004 -55.3994 40.9004 -63.3994c0 -2.90039 -3.7998 -5.80078 -6.7002 -5.80078c-28.3994 4.7002 -41.0996 8.40039 -58.8994 8.40039c-36.3008 0 -61.6006 -10.7998 -93.8008 -27c-8.5 -4.2998 -4.59961 -7.09961 -19.6992 -67.5996
+c-17.4004 -67.6006 -74 -145.4 -151.4 -145.4c-52.7002 0 -85.5 36 -85.5 87.9004c0 28.0996 18.5 79.1992 52.4004 79.2998c11.8994 0 58.5996 -15.4004 58.8994 -27.6006c-0.5 -2.39941 -45.5 -21.7998 -45.5 -61c0 -38.5 73.9004 -34.2998 90.7998 94.6006
+c0 4.7998 1 3.7998 -11 3.7998c-87.2998 0 -138.6 48.7002 -138.6 136.6c0 84.7002 58.2998 198.4 173.4 198.4c70.1992 0 108.399 -29.0996 108.399 -100.6c0 -48.5 -16.5 -93.1006 -23.5 -140.4l0.900391 -0.900391c31.2998 17.7002 56.3994 34.5 93.5 34.5
+c3.7998 0 11.8994 -2.39941 15.3994 -3.7998zM231.8 321.2c2.90039 13.8994 5.5 28.0996 5.60059 42.3994c0 15.4004 -1.40039 28.7002 -20 28.7002c-7.80078 0 -15.6006 -2.59961 -22.6006 -6.7002c-43.7998 -24.0996 -61.7998 -86.3994 -61.7998 -133.399
+c0 -31.2998 10.7002 -73.1006 49 -73.1006c8.7002 0 19.7002 -2.39941 22 7.80078c9.2002 44.6992 18.5 89.5996 27.7998 134.3z" />
+ <glyph glyph-name="viadeo" unicode="&#xf2a9;" horiz-adv-x="447"
+d="M276.2 297.5v-0.700195c-17.9004 52.6006 -42.6006 103.4 -70.7998 151.2c43.2998 -29.2002 67 -100 70.7998 -150.5zM308.9 175.8c15.0996 3.10059 29.5 9 42.1992 17c24.5 -58.5996 20.2002 -139.7 -36.3994 -201c-67.7998 -73.8994 -191.9 -74.5996 -259.8 0
+c-108.801 117.8 -31.6006 313.7 129.899 313.7c21.2998 0 42.6006 -3.5 62.5 -10.7002c-6.89941 -13.3994 -11.7002 -28.2002 -13.3994 -43.2998c-15.4004 6.5 -32.3008 9.59961 -49.1006 9.59961c-78 0 -135.399 -66.6992 -135.399 -142.3
+c0 -68.7998 45.5996 -126 111.3 -137.399c98.5 38.3994 116.6 188.199 116.6 280c0 11.6992 0 23.6992 -1 35.3994c12.4004 -36.0996 18.9004 -73.8994 18.9004 -112c0 -86.5 -35.1006 -158.399 -109.3 -205.1l-3.80078 -0.299805
+c80 -1.60059 137.801 61.6992 137.801 139.399c0 19.5 -3.40039 38.7998 -11 57zM418.1 436.3c52 -74 20.9004 -208.6 -58.0996 -208.6c-21.2998 0 -40.2002 11.3994 -55 25.7998c35.0996 19.2998 79.4004 49.2002 99.7002 84.9004
+c2.39941 4.7998 6.5 13.6992 7.2002 19.1992c-19.9004 -44.6992 -70.8008 -79.6992 -118.2 -90.6992c-7.5 11.6992 -12 24.6992 -12 38.7998c0 16.5 8.2002 38.5 20.5996 50.5c34.5 32.8994 84.7998 13.5996 115.8 80.0996z" />
+ <glyph glyph-name="viadeo-square" unicode="&#xf2aa;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM280.7 66.7998c35.3994 38.2998 38.0996 89 22.7998 125.601c-7.90039 -4.90039 -16.9004 -8.60059 -26.4004 -10.5
+c4.80078 -11.4004 6.90039 -23.5 6.90039 -35.7002c0 -48.6006 -36.2002 -88.2002 -86.2002 -87.2002l2.40039 0.200195c46.3994 29.2002 68.2998 74.0996 68.2998 128.2c0 23.7998 -4.09961 47.5 -11.7998 70v0.399414c-2.2998 31.6006 -17.1006 75.7998 -44.2002 94.1006
+c17.5996 -29.9004 33 -61.6006 44.2002 -94.5c0.599609 -7.30078 0.599609 -14.8008 0.599609 -22.1006c0 -57.3994 -11.3994 -151 -72.8994 -175c-41 7.2002 -69.5 42.9004 -69.5 85.9004c0 47.2002 35.7998 88.8994 84.5996 88.8994c10.5 0 21 -1.89941 30.7002 -6
+c1.09961 9.5 4.09961 18.7002 8.39941 27.1006c-12.5 4.59961 -25.7998 6.7002 -39.0996 6.7002c-101 0 -149.2 -122.5 -81.2002 -196.101c42.4004 -46.5996 120 -46.2002 162.4 0zM309 214.3c49.4004 0 68.7998 84.1006 36.2998 130.3
+c-19.3994 -41.5 -50.7998 -29.5 -72.3994 -50c-7.7002 -7.5 -12.9004 -21.2998 -12.9004 -31.5996c0 -8.7998 2.7998 -17 7.5 -24.2998c29.7002 6.89941 61.4004 28.7998 73.9004 56.7002c-0.400391 -3.40039 -3 -9 -4.5 -12c-12.7002 -22.3008 -40.4004 -41 -62.3008 -53
+c9.30078 -9 21.1006 -16.1006 34.4004 -16.1006z" />
+ <glyph glyph-name="snapchat" unicode="&#xf2ab;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM417.5 101.1c2.2002 5.30078 -0.900391 9.80078 -4.90039 10.8008c-46.2998 7.59961 -67.0996 55.0996 -68 57.0996
+c-0.0996094 0.0996094 -0.0996094 0.200195 -0.199219 0.299805c-2.40039 5 -3 9.2002 -1.60059 12.5c2.60059 6.2998 12.5 9.40039 19 11.5c1.7998 0.600586 3.5 1.10059 4.90039 1.7002c11.5 4.5 17.2998 10.0996 17.2002 16.5996
+c-0.100586 5.10059 -4.10059 9.60059 -10.4004 11.9004c-4 1.59961 -9.59961 1.90039 -13.5996 0c-5.5 -2.59961 -10.4004 -4 -14.7002 -4.2002c-2.7998 0.100586 -4.60059 0.799805 -5.7002 1.40039c1.40039 24 4.7002 58 -3.7998 77.0996
+c-16.2998 36.5 -49.6006 54.2998 -84.2998 54.2998c-0.600586 0 -6.10059 -0.0996094 -6.7002 -0.0996094c-14 0 -61.6006 -4 -84.1006 -54.2998c-8.5 -19.1006 -5.19922 -53.2002 -3.7998 -77.1006c-1.09961 -0.599609 -3.2998 -1.39941 -6.59961 -1.39941
+c-4.5 0 -9.7998 1.39941 -15.7002 4.2002c-7.5 3.5 -20.2998 -1.80078 -21.9004 -10.3008c-1 -4.89941 1.2002 -12.0996 17 -18.2998c6.10059 -2.5 20.6006 -5.2998 24 -13.2002c1.40039 -3.2998 0.900391 -7.5 -1.59961 -12.5
+c-0.0996094 -0.0996094 -0.200195 -0.199219 -0.200195 -0.299805c-0.899414 -2 -21.7002 -49.5 -68 -57.0996c-3.59961 -0.600586 -6.09961 -3.7998 -5.89941 -7.40039c0.699219 -13.8994 31.6992 -19.2998 45.5 -21.3994c1.39941 -1.90039 2.5 -9.90039 4.2998 -16
+c0.799805 -2.7002 2.89941 -6 8.2998 -6s13.2998 3.09961 25.7998 3.09961c17.6006 0 23.6006 -4 37.4004 -13.7002c9.89941 -7 27.5 -19.7998 48.5 -18.2002c20.7998 -0.899414 34.7002 7.90039 49.2002 18.2002c13.6992 9.7002 19.7998 13.7002 37.3994 13.7002
+c13 0 19.6006 -2.90039 25.7998 -2.90039h0.200195c4.40039 0 7 2.2002 8.10059 5.90039c1.7998 6.09961 2.89941 14 4.2998 15.9004c26.7002 4.19922 41.2998 10.0996 44.7998 18.1992z" />
+ <glyph glyph-name="snapchat-ghost" unicode="&#xf2ac;" horiz-adv-x="512"
+d="M510.846 55.3271c-5.21094 -12.1572 -27.2383 -21.0889 -67.3594 -27.3184c-2.06445 -2.78613 -3.77539 -14.6855 -6.50781 -23.9561c-1.625 -5.56543 -5.62207 -8.86914 -12.1279 -8.86914l-0.296875 0.00585938c-9.39453 0 -19.2031 4.32227 -38.8516 4.32227
+c-26.5215 0 -35.6621 -6.04297 -56.2539 -20.5879c-21.832 -15.4375 -42.7715 -28.7637 -74.0273 -27.3984c-31.6455 -2.33398 -58.0244 16.9072 -72.8711 27.4033c-20.7139 14.6436 -29.8281 20.582 -56.2412 20.582c-18.8633 0 -30.7354 -4.71973 -38.8516 -4.71973
+c-8.07324 0 -11.2129 4.92188 -12.4219 9.04004c-2.70312 9.18848 -4.4043 21.2627 -6.52344 24.1299c-20.6787 3.20898 -67.3096 11.3438 -68.498 32.1504c-0.00878906 0.161133 -0.015625 0.422852 -0.015625 0.583984c0 4.97559 3.98438 9.67285 8.89258 10.4844
+c69.583 11.4551 100.925 82.9014 102.228 85.9346c0.0742188 0.175781 0.155273 0.34375 0.237305 0.514648c3.71289 7.53711 4.54395 13.8486 2.46289 18.7529c-5.05078 11.8965 -26.8721 16.1641 -36.0537 19.7959c-23.7148 9.36621 -27.0146 20.1279 -25.6113 27.5039
+c2.43652 12.8359 21.7246 20.7354 33.002 15.4531c8.91895 -4.18066 16.8428 -6.29688 23.5469 -6.29688c5.02148 0 8.21191 1.2041 9.95996 2.1709c-2.04297 35.9365 -7.10156 87.29 5.68652 115.969c33.7734 75.7188 105.356 81.6025 126.478 81.6025
+c0.943359 0 9.14062 0.0888672 10.1094 0.0888672c52.1484 0 102.255 -26.7803 126.724 -81.6426c12.7764 -28.6504 7.74902 -79.792 5.69434 -116.01c1.58203 -0.87207 4.35742 -1.94141 8.59961 -2.13867c6.39648 0.286133 13.8145 2.38867 22.0693 6.25684
+c6.08496 2.84668 14.4053 2.46094 20.4795 -0.0576172l0.0292969 -0.00976562c9.47559 -3.38574 15.4385 -10.2158 15.5889 -17.8701c0.183594 -9.74707 -8.52246 -18.165 -25.8779 -25.0186c-2.11816 -0.834961 -4.69434 -1.6543 -7.43457 -2.52441
+c-9.79688 -3.10645 -24.5996 -7.80566 -28.6152 -17.2715c-2.0791 -4.9043 -1.25684 -11.2109 2.45996 -18.748c0.0869141 -0.167969 0.166016 -0.341797 0.238281 -0.514648c1.30176 -3.03027 32.6152 -74.46 102.23 -85.9346
+c6.42676 -1.05762 11.1631 -7.87695 7.72461 -15.8584z" />
+ <glyph glyph-name="snapchat-square" unicode="&#xf2ad;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM393.5 101.1c2.2002 5.30078 -0.900391 9.80078 -4.90039 10.8008c-46.2998 7.59961 -67.0996 55.0996 -68 57.0996
+c-0.0996094 0.0996094 -0.0996094 0.200195 -0.199219 0.299805c-2.40039 5 -3 9.2002 -1.60059 12.5c2.60059 6.2998 12.5 9.40039 19 11.5c1.7998 0.600586 3.5 1.10059 4.90039 1.7002c11.5 4.5 17.2998 10.0996 17.2002 16.5996
+c-0.100586 5.10059 -4.10059 9.60059 -10.4004 11.9004c-4 1.59961 -9.59961 1.90039 -13.5996 0c-5.5 -2.59961 -10.4004 -4 -14.7002 -4.2002c-2.7998 0.100586 -4.60059 0.799805 -5.7002 1.40039c1.40039 24 4.7002 58 -3.7998 77.0996
+c-16.2998 36.5 -49.6006 54.2998 -84.2998 54.2998c-0.600586 0 -6.10059 -0.0996094 -6.7002 -0.0996094c-14 0 -61.6006 -4 -84.1006 -54.2998c-8.5 -19.1006 -5.19922 -53.2002 -3.7998 -77.1006c-1.09961 -0.599609 -3.2998 -1.39941 -6.59961 -1.39941
+c-4.5 0 -9.7998 1.39941 -15.7002 4.2002c-7.5 3.5 -20.2998 -1.80078 -21.9004 -10.3008c-1 -4.89941 1.2002 -12.0996 17 -18.2998c6.10059 -2.5 20.6006 -5.2998 24 -13.2002c1.40039 -3.2998 0.900391 -7.5 -1.59961 -12.5
+c-0.0996094 -0.0996094 -0.200195 -0.199219 -0.200195 -0.299805c-0.899414 -2 -21.7002 -49.5 -68 -57.0996c-3.59961 -0.600586 -6.09961 -3.7998 -5.89941 -7.40039c0.699219 -13.8994 31.6992 -19.2998 45.5 -21.3994c1.39941 -1.90039 2.5 -9.90039 4.2998 -16
+c0.799805 -2.7002 2.89941 -6 8.2998 -6s13.2998 3.09961 25.7998 3.09961c17.6006 0 23.6006 -4 37.4004 -13.7002c9.89941 -7 27.5 -19.7998 48.5 -18.2002c20.7998 -0.899414 34.7002 7.90039 49.2002 18.2002c13.6992 9.7002 19.7998 13.7002 37.3994 13.7002
+c13 0 19.6006 -2.90039 25.7998 -2.90039h0.200195c4.40039 0 7 2.2002 8.10059 5.90039c1.7998 6.09961 2.89941 14 4.2998 15.9004c26.7002 4.19922 41.2998 10.0996 44.7998 18.1992z" />
+ <glyph glyph-name="pied-piper" unicode="&#xf2ae;"
+d="M32 29l-32 -60.2002l0.799805 328c0 65.9004 53.2002 119.2 119.2 119.2h327.2c-93 -28.9004 -189.9 -94.2002 -253.9 -168.6c-70.5996 -81.4004 -110.7 -137.4 -161.3 -218.4zM448 416c0 0 0 -328.8 0.0996094 -328.8c0 -65.9004 -53.2998 -119.2 -119.3 -119.2
+h-328.399c18.5 25.5 61.6992 54 84.8994 66c35.5 18.0996 76.4004 28.5 105.3 56.2998c42.1006 40.5 47.8008 105 71 158.601c43.6006 100.3 186.4 167.1 186.4 167.1z" />
+ <glyph glyph-name="first-order" unicode="&#xf2b0;"
+d="M12.9004 218.8c0.0996094 0.100586 0.199219 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.100586 -0.400391h-0.199219zM224 351.4c7.40039 0 14.5996 -0.5 21.7002 -1.7002l-4 -67.7002l22.2998 64.2998c14.2998 -3.7998 27.7002 -9.5 40 -16.8994
+l-29.4004 -61.1006l45.1006 50.9004c11.5 -8.90039 21.7002 -19.2002 30.5996 -30.9004l-50.5996 -45.3994l60.8994 29.6992c7.5 -12.2998 12.9004 -26 16.6006 -40.2998l-64 -22.2998l67.7002 4c1.09961 -7.09961 1.39941 -14.5996 1.39941 -22
+s-0.299805 -14.5996 -1.39941 -21.7002l-67.4004 4l64 -22.2998c-3.7002 -14.5996 -9.5 -28 -16.5996 -40.2998l-61.1006 29.3994l50.6006 -45.0996c-8.60059 -11.7998 -18.9004 -22 -30.6006 -30.9004l-44.8994 50.9004l29.3994 -61.2998
+c-12.2998 -7.5 -25.7002 -12.9004 -40 -16.9004l-22.5996 65.1006l4 -68.6006c-7.10059 -1.09961 -14.2998 -1.7002 -21.7002 -1.7002c-7.09961 0 -14.5996 0.600586 -21.7002 1.7002l4 68l-22.2998 -64.5996c-14.2998 3.7998 -27.7002 9.5 -40 16.8994l29.5 61.4004
+l-44.9004 -50.9004c-11.7998 8.60059 -22 19.2002 -30.8994 30.9004l50.8994 45.0996l-61.0996 -29.6992c-7.2002 12.5996 -12.9004 26 -16.5996 40.2998l64 22.5996l-67.7002 -4c-0.799805 7.10059 -1.40039 14.2998 -1.40039 21.7002s0.5 14.9004 1.40039 22l68 -4
+l-64.2998 22.5996c3.69922 14.3008 9.5 27.7002 16.5996 40l61.0996 -29.6992l-50.5996 45.3994c8.90039 11.7998 19.2002 22 30.5996 30.9004l45.1006 -50.9004l-29.4004 61.4004c12.2998 7.2002 25.7002 12.8994 40 16.5996l22 -64l-3.7002 67.4004
+c6.80078 1.09961 14.3008 1.7002 21.4004 1.7002zM443.4 320v-256l-219.4 -128l-219.4 128v256l219.4 128zM426.3 309.7l-202.3 117.399l-202.3 -117.399v-235.101l202.3 -117.699l202.3 117.699v235.101zM224 410.9l187.7 -109.4v-218.9l-187.7 -109.5l-187.7 109.5
+v218.801zM224 360c-92.2998 0 -166.9 -75.0996 -166.9 -168c0 -92.5996 74.6006 -167.7 166.9 -167.7c92 0 166.9 75.1006 166.9 167.7c0 92.9004 -74.9004 168 -166.9 168z" />
+ <glyph glyph-name="yoast" unicode="&#xf2b1;"
+d="M91.2998 372h186l-7 -18.9004h-179c-39.7002 0 -71.8994 -31.5996 -71.8994 -70.2998v-205.399c0 -35.4004 24.8994 -70.3008 84 -70.3008v-19.0996h-12.1006c-50.0996 0 -91.2998 40.2002 -91.2998 89.5v205.3c0 49.2998 40.7002 89.2002 91.2998 89.2002zM320.4 428
+h66.5c-143.801 -378.1 -145.7 -398.9 -184.7 -439.3c-20.7998 -21.6006 -49.2998 -31.7002 -78.2998 -32.7002v51.0996c49.1992 7.7002 64.5996 49.9004 64.5996 75.3008c0 20.0996 0.599609 12.5996 -82.0996 223.199h61.3994l50.4004 -156.6zM448 286.5v-298.5h-214
+c6.59961 9.59961 10.7002 16.2998 12.0996 19.4004h182.5v279.1c0 32.5 -17.0996 51.9004 -48.1992 62.9004l6.69922 17.5996c41.7002 -13.5996 60.9004 -43.0996 60.9004 -80.5z" />
+ <glyph glyph-name="themeisle" unicode="&#xf2b2;" horiz-adv-x="512"
+d="M208 359.714c0 10 6.28613 21.7139 17.7148 21.7139c11.1426 0 17.7139 -11.7139 17.7139 -21.7139c0 -10.2852 -6.57129 -21.7139 -17.7139 -21.7139c-11.4287 0 -17.7148 11.4287 -17.7148 21.7139zM512 199.714c0 -36.001 -11.4287 -102.286 -36.2861 -129.714
+c-22.8574 -24.8584 -87.4277 -61.1426 -120.856 -70.5723l-1.14355 -0.286133v-32.5703c0 -16.2861 -12.5723 -30.5713 -29.1426 -30.5713c-10 0 -19.4297 5.71387 -24.5723 14.2861c-5.42676 -8.57227 -14.8564 -14.2861 -24.8564 -14.2861
+s-19.4287 5.71387 -24.8574 14.2861c-5.14258 -8.57227 -14.5713 -14.2861 -24.5703 -14.2861c-10.2861 0 -19.4287 5.71387 -24.8574 14.2861c-5.14355 -8.57227 -14.5713 -14.2861 -24.5713 -14.2861c-18.8574 0 -29.4287 15.7139 -29.4287 32.8574
+c-16.2861 -12.2852 -35.7158 -19.4287 -56.5713 -19.4287c-22 0 -43.4287 8.28516 -60.2861 22.8574c10.2852 0.286133 20.5713 2.28613 30.2852 5.71387c-20.8574 5.71387 -39.4277 18.8574 -52 36.2861c21.3701 -4.64551 46.209 -1.67285 67.1426 11.1426
+c-22 22 -56.5703 58.8574 -68.5713 87.4287c-5.71387 13.4287 -6.85645 31.4287 -6.85645 45.7139c0 49.7139 20.2861 160 86.2861 160c10.5713 0 18.8564 -4.8584 23.1426 -14.8574c3.0498 4.46289 8.42578 11.374 12 15.4277c2 2.57227 5.71387 5.42969 7.14355 8.28613
+c7.99902 12.5713 11.7139 21.1426 21.7139 34c32.2852 41.1445 81.7139 69.4297 134.856 69.4297c6 0 12 -0.285156 17.7148 -1.14355c10.8564 11.7148 26 18.2861 41.7148 18.2861c14.5703 0 29.7139 -6 40 -16.2861c0.856445 -0.857422 1.42773 -2.28613 1.42773 -3.42773
+c0 -3.71387 -10.2852 -13.4287 -12.8574 -16.2861c4.28613 -1.42871 15.7148 -6.8584 15.7148 -12c0 -2.85742 -2.85742 -5.14258 -4.57129 -7.14258c31.4287 -27.7148 49.4287 -67.1436 56.2861 -108c4.28613 5.14258 10.2852 8.57129 17.1426 8.57129
+c10.5713 0 20.8574 -7.14355 28.5713 -14.001c20.8564 -18.5703 25.7139 -53.1416 25.7139 -79.7139zM188 358.572c0 -18.2861 12.5713 -37.1436 32.2861 -37.1436c19.7139 0 32.2852 18.8574 32.2852 37.1436c0 18 -12.5713 36.8564 -32.2852 36.8564
+c-19.7148 0 -32.2861 -18.8574 -32.2861 -36.8564zM237.714 254c0 19.7139 3.71387 39.1426 8.57129 58.2861c-52.0391 -79.5342 -13.5312 -184.571 68.8574 -184.571c21.4287 0 42.5713 7.71387 60 20c2 7.42871 3.71484 14.8574 3.71484 22.5723
+c0 14.2861 -6.28613 21.4277 -20.5723 21.4277c-4.57129 0 -9.14355 -0.856445 -13.4287 -1.71387c-63.3438 -12.668 -107.143 -3.66895 -107.143 63.999zM196.572 -0.858398c0 11.1436 -8.8584 20.8574 -20.2861 20.8574c-11.4287 0 -20 -9.71484 -20 -20.8574v-32.5703
+c0 -11.1436 8.57129 -21.1426 20 -21.1426c11.4277 0 20.2861 9.71484 20.2861 21.1426v32.5703zM245.715 -0.858398c0 11.1436 -8.57227 20.8574 -20 20.8574c-11.4287 0 -20.2861 -9.71484 -20.2861 -20.8574v-32.5703c0 -11.1436 8.85742 -21.1426 20.2861 -21.1426
+c11.4277 0 20 10 20 21.1426v32.5703zM295.428 -0.858398c0 11.1436 -8.85645 20.8574 -20.2852 20.8574s-20.2852 -9.71484 -20.2852 -20.8574v-32.5703c0 -11.1436 8.85645 -21.1426 20.2852 -21.1426s20.2852 9.71484 20.2852 21.1426v32.5703zM345.143 -0.858398
+c0 11.1436 -8.85645 20.8574 -20.2852 20.8574s-20.2861 -9.71484 -20.2861 -20.8574v-32.5703c0 -11.1436 8.85742 -21.1426 20.2861 -21.1426s20.2852 10 20.2852 21.1426v32.5703zM421.714 162c-30.8564 -59.1416 -90.2852 -102.572 -158.571 -102.572
+c-96.5703 0 -160.57 84.5723 -160.57 176.572c0 16.8574 2 33.4287 6 49.7139c-20 -33.7148 -29.7139 -72.5723 -29.7139 -111.429c0 -60.2861 24.8564 -121.715 71.4287 -160.857c5.14258 9.71387 14.8564 16.2861 26 16.2861c10 0 19.4277 -5.71387 24.5713 -14.2861
+c5.42871 8.57129 14.5703 14.2861 24.8574 14.2861c10 0 19.4277 -5.71387 24.5713 -14.2861c5.42871 8.57129 14.8564 14.2861 24.8574 14.2861c10 0 19.4287 -5.71387 24.8574 -14.2861c5.14258 8.57129 14.5713 14.2861 24.5723 14.2861
+c10.8564 0 20.8564 -6.57227 25.7139 -16c43.4268 36.2861 68.5693 92 71.4258 148.286zM432.286 261.714c0 53.7139 -34.5713 105.714 -92.5723 105.714c-30.2852 0 -58.5713 -15.1426 -78.8564 -36.8564c-19.9951 -66.3828 -27.4473 -136.571 41.4287 -136.571
+c28.8047 0 97.3564 28.5381 84.2861 -36.8574c28.8564 26 45.7139 65.7148 45.7139 104.571z" />
+ <glyph glyph-name="google-plus" unicode="&#xf2b3;" horiz-adv-x="496"
+d="M248 440c136.9 0 248 -111.1 248 -248s-111.1 -248 -248 -248s-248 111.1 -248 248s111.1 248 248 248zM177.3 68c71.2998 0 118.8 50.4004 118.8 121.2c0 7.09961 -0.599609 13.8994 -1.89941 20.7002h-116.9v-42.6006h70.1006
+c-5.2002 -34.2002 -37.5 -53.2998 -70.1006 -53.2998c-43 0 -77.2002 35.5 -77.2002 78.0996c0 42.6006 34.3008 78.1006 77.2002 78.1006c18.1006 0 36.2002 -6.2002 49.4004 -19.1006l33.5996 32.6006c-22.8994 21.2998 -51.7002 32.2998 -83 32.2998
+c-68.7998 0 -124 -55.5 -124 -124s55.2002 -124 124 -124zM407.5 174.2h35.2002v35.5h-35.2002v35.5h-35.5v-35.5h-35.5v-35.5h35.5v-35.5h35.5v35.5z" />
+ <glyph glyph-name="font-awesome" unicode="&#xf2b4;"
+d="M397.8 416c27.5 0 50.2002 -22.7002 50.2002 -50.2002v-347.6c0 -27.5 -22.7002 -50.2002 -50.2002 -50.2002h-347.6c-27.5 0 -50.2002 22.7002 -50.2002 50.2002v347.6c0 27.5 22.7002 50.2002 50.2002 50.2002h347.6zM352.4 131.7h0.0996094v140.3
+c0 4.2002 -4.2002 7.7998 -9 7.7998c-6 0 -31.0996 -16.0996 -53.7998 -16.0996c-4.7002 0 -8.90039 0.599609 -13.1006 2.39941c-20.2998 7.7002 -38.1992 13.7002 -60.8994 13.7002c-20.9004 0 -43 -6.5 -61.5 -14.2998
+c-1.7998 -1.2002 -3.60059 -1.7998 -5.40039 -2.40039v18.5c8.2998 6 13.1006 15.5 13.1006 26.3008c0 18.5996 -15 33.5 -33.5 33.5c-18.6006 0 -33.5 -15 -33.5 -33.5c0 -10.8008 5.2998 -20.3008 13.0996 -26.3008v-218.6c0 -11.2998 9 -20.2998 20.2998 -20.2998
+c8.90039 0 16.7002 5.89941 19.1006 14.2998v1.2002c0.599609 1.2002 0.599609 3 0.599609 4.7998v45.4004c1.2002 0.599609 2.40039 0.599609 3.59961 1.19922c19.7002 8.90039 44.2002 17.3008 67.5 17.3008c32.3008 0 44.8008 -16.7002 71.7002 -16.7002
+c19.2002 0 37.1006 6.5 53.7998 13.7002c4.2002 1.7998 7.80078 3.59961 7.80078 7.7998z" />
+ <glyph glyph-name="linode" unicode="&#xf2b8;" horiz-adv-x="447"
+d="M437.4 221.7c0.599609 -2 -8.80078 -66.2998 -9.7002 -72.7998c0 -0.900391 -0.5 -1.7002 -1.10059 -2l-54.5996 -43.7002c-1.09961 -0.900391 -2.59961 -0.900391 -3.7002 0l-20.2998 14l-2.2998 -33.4004c0 -0.899414 -0.200195 -1.7002 -1.10059 -2.2998
+l-66.8994 -53.4004c-1.10059 -0.899414 -2.90039 -0.899414 -4 0l-28 23.7002l2 -46c0 -0.899414 -0.200195 -1.7002 -1.10059 -2.2998l-83.6992 -66.9004c-0.600586 -0.299805 -1.10059 -0.599609 -1.7002 -0.599609c-0.900391 0.299805 -1.7002 0.299805 -2.2998 0.900391
+l-65.1006 69.0996c-1.5 1.40039 -15.5 72 -16.8994 79.0996c-0.300781 1.10059 0.5 2.5 1.39941 3.10059l17.4004 10.5996c-3.40039 3.2002 -26.5 23.4004 -27.1006 26.2998l-20.5996 100.301c-0.299805 1.09961 0.299805 2.5 1.7002 3.39941l26.8994 12.9004
+c-4.59961 3.5 -37.6992 27.5 -38.5996 30.8994l-27.4004 133.101c-0.299805 1.7002 0.600586 3.09961 2 3.7002l123.7 38.5996c0.600586 0 1.40039 0 2.2998 -0.299805l90.6006 -43.7002c0.799805 -0.599609 1.7002 -1.7002 1.7002 -2.59961l5.69922 -132.301
+c0 -1.19922 -0.599609 -2.2998 -1.69922 -2.89941l-33.7002 -17.4004l36 -24.2998c0.799805 -0.299805 1.39941 -1.40039 1.39941 -2.2998l1.40039 -35.1006l34.5996 21.2002c0.800781 0.600586 2.2002 0.600586 3.10059 0l24 -16l0.899414 31.4004
+c0 0.899414 0.5 2 1.40039 2.59961l58.9004 36c1.09961 0.600586 2.19922 0.600586 3.09961 0l70 -38.5996c0.5 -0.600586 1.09961 -1.10059 1.40039 -2zM232.6 216.9l-100.6 -57.2002l14 -96.6006l90.5996 61.2002zM224.9 396.9l-120.9 -46.6006l19.7002 -134.8
+l106.6 55.4004zM44 274.9l73.0996 -57.2002l-19.3994 132.899l-79.7002 49.4004zM74.5996 127.1l64.8008 -60.7998l-13.7002 93.4004l-70 58.2998zM98.9004 9.40039l57.6992 -61.2002l-9.69922 67.3994l-61.7002 60.9004zM163.4 -55.0996l78.1992 62.2998l-3.09961 70
+l-85.7002 -61.4004zM245.4 60l27.0996 -22.9004l-0.599609 68.3008l-29.4004 22.5996c0 -2.2998 1.2002 -6.2998 -1.09961 -8l-22.3008 -14.9004l24.3008 -20c2.89941 -2.19922 2 -21.6992 2 -25.0996zM339.7 85.4004l4.2002 66.8994l-65.7002 -46.8994l0.599609 -68.6006z
+M367.4 111.1l5.7998 66.6006l-64.6006 40.5996l-0.599609 -30l41.2002 -27.2002c0.799805 -0.599609 1.39941 -1.69922 1.09961 -2.59961l-2 -34zM422 150.9l8.5 63.3994l-51.0996 -36.5996l-5.7002 -65.1006z" />
+ <glyph glyph-name="quora" unicode="&#xf2c4;" horiz-adv-x="447"
+d="M440.5 61.2998c1.7998 -18 -7.2002 -93.2998 -89 -93.2998c-49.5 0 -75.5 28.7002 -95.2002 62.2998c-117.7 -32.5996 -249 54.9004 -249 189c0 117 98 196.7 197.7 196.7c101.8 0 198.5 -79.2002 198.4 -196.7c0 -65.5 -30.5 -118.8 -74.7002 -153
+c14.2002 -21.5996 29 -35.7998 49.5 -35.7998c22.5 0 31.5 17.2998 33 30.7998h29.2998zM297 118.8c11.2998 24.9004 16.7998 58.7002 16.7002 100.5c0 104.2 -32.5 157.7 -108.7 157.7c-75 0 -107.5 -53.5 -107.5 -157.9c0 -103.699 32.5 -156.699 107.5 -156.699
+c12 0 22.7002 1.19922 32.7002 4.19922c-15.5 30.5 -33.7002 61.3008 -69.2002 61.3008c-6.7998 0 -13.5996 -1 -19.7998 -4l-12.2002 24.2998c14.7002 12.7998 38.5 22.7998 69 22.7998c47.7998 0 72 -23 91.5 -52.2002z" />
+ <glyph glyph-name="free-code-camp" unicode="&#xf2c5;" horiz-adv-x="575"
+d="M69.2998 303.5c-41 -68.5 -36.3994 -163 1 -227c22.2002 -38.2002 49.7002 -52.4004 49.7002 -66.5c0 -6.7998 -6 -13 -12.7998 -13c-19.5 0 -99.2002 75.5 -99.2002 197.8c0 111.5 78 186 97.0996 186c6 0 14.9004 -4.7998 14.9004 -11.0996
+c0 -12.7002 -28.2998 -28.6006 -50.7002 -66.2002zM265.1 89.7002c-37.1992 13.5996 -65.5 45.8994 -65.2998 86.2002c0 48 57.7002 90.0996 57.7002 136.199c0 16.8008 -10.4004 32.6006 -19.5996 38.2002c-1.90039 1 -4.60059 2.7002 -4.60059 5.10059
+c0 9.59961 26.1006 2.7998 36.5 -2.2002c33.6006 -15.9004 40.6006 -40.2998 46.4004 -74.1006c1.39941 -7.89941 4.2998 -33.2998 15.8994 -33.2998c7.5 0 12.3008 5.10059 12.3008 12.2998c0 12.6006 -15.4004 31.2002 -7.2002 31.2002
+c6.09961 0 18.5996 -12.7998 22.5 -16.8994c23.3994 -24.9004 32.0996 -49 32.0996 -82.6006c0 -42.2002 -23.3994 -74.7002 -53.0996 -89.7998c-9.2002 -5.7998 -12.1006 0.900391 -12.1006 1.90039c0 7 29.5 23.5996 29.5 56c0 10.5996 -2.69922 22.5 -8.5 31.3994
+c-1.69922 2.40039 -7.69922 10.1006 -11.0996 10.1006c-0.700195 0 -0.700195 -0.5 -0.700195 -1.2002c0 -5.7998 3.60059 -11.4004 3.60059 -17.4004c0 -13 -31.9004 -20.2002 -31.9004 6.7998c0 7.10059 0.700195 14.3008 0.700195 21.3008
+c0 5.09961 -0.200195 6.5 -2.40039 11.0996c-3.39941 6.5 -14.5 19.7998 -22.5 19.7998c-2.2002 0 -2.89941 0 -2.89941 -2.2002c0 -3.39941 7.69922 -7 7.69922 -19.2998c0 -32.0996 -44.1992 -37.8994 -44.1992 -70c0 -14.3994 1.89941 -26.5 10.0996 -38.5996
+c5.09961 -7.5 10.5996 -11.7998 19.0996 -15.2002c2.10059 -0.700195 4.30078 -0.900391 4.30078 -3.59961c0 -6.40039 -7.80078 -3 -12.3008 -1.2002zM470.4 381c21.3994 0 97.5996 -78.9004 97.5 -198.2c0 -104.899 -73.4004 -185.7 -98.8008 -185.7
+c-5 0 -13.1992 6.30078 -13.1992 11.4004c0 8.2002 28.2998 34.5996 35.2998 43.5c61 76.7002 64 205.9 -17.6006 291c-5.5 5.7998 -17.5996 16.7002 -17.5996 25.4004c0 6.09961 8.40039 12.5996 14.4004 12.5996zM428.1 57.9004c8.40039 0 11.9004 -7 11.9004 -15.5
+c0 -8.90039 -2.5 -16.4004 -11.9004 -16.4004h-261.1c-8.5 0 -15.5 7 -15.5 15.5c0 8.90039 6.09961 16.4004 15.5 16.4004h261.1z" />
+ <glyph glyph-name="telegram" unicode="&#xf2c6;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM369.8 270.1c3.60059 16.8008 -6.09961 23.5 -17.2002 19.5l-239.1 -92.1992c-16.4004 -6.40039 -16.0996 -15.5 -2.7998 -19.7002l61.2002 -19.1006l142 89.4004
+c6.59961 4.40039 12.6992 1.90039 7.69922 -2.5l-114.899 -103.8l-4.40039 -63.1006c6.40039 0 9.2002 2.80078 12.5 6.10059l29.9004 28.7998l62 -45.7002c11.2998 -6.39941 19.3994 -3.09961 22.3994 10.5z" />
+ <glyph glyph-name="bandcamp" unicode="&#xf2d5;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM296.2 113.9l84.7002 156.1h-181l-84.7002 -156.1h181z" />
+ <glyph glyph-name="grav" unicode="&#xf2d6;" horiz-adv-x="512"
+d="M301.1 236c4.40039 -4.40039 4.40039 -11.9004 0 -16.2998l-9.69922 -9.7002c-4.40039 -4.7002 -11.9004 -4.7002 -16.6006 0l-10.5 10.5c-4.39941 4.7002 -4.39941 11.9004 0 16.5996l9.7002 9.7002c4.40039 4.40039 11.9004 4.40039 16.5996 0zM270.9 255.7
+c-2.7002 -2.7998 -7.40039 -2.7998 -10.5 0c-2.80078 3 -2.80078 7.7002 0 10.5c3 3 7.69922 3 10.5 0c3 -2.7002 3 -7.5 0 -10.5zM244.9 250.4c2.7998 3 7.5 3 10.5 0c2.7998 -2.7002 2.7998 -7.40039 0 -10.2002c-3 -3 -7.7002 -3 -10.5 0c-3 2.7002 -3 7.39941 0 10.2002
+zM317.4 263.7c-19.9004 14.3994 -33.8008 43.2002 -11.9004 68.0996c21.5996 24.9004 40.7002 17.2002 59.7998 -0.799805c11.9004 -11.2998 29.2998 -24.9004 17.2002 -48.2002c-12.5 -23.5 -45.0996 -33.2002 -65.0996 -19.0996zM365.1 308.2
+c-8.89941 10 -23.2998 -6.90039 -15.5 -16.1006c7.40039 -9 32.1006 -2.39941 15.5 16.1006zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM437.8 149.4c2.5 16.0996 -20.2002 16.5996 -25.2002 25.6992
+c-13.5996 24.1006 -27.6992 36.8008 -54.5 30.4004c11.6006 8 23.5 6.09961 23.5 6.09961c0.300781 6.40039 0 13 -9.39941 24.9004c3.89941 12.5 0.299805 22.4004 0.299805 22.4004c15.5 8.59961 26.7998 24.3994 29.0996 43.1992
+c3.60059 31 -18.7998 59.2002 -49.7998 62.8008c-22.0996 2.5 -43.7002 -7.7002 -54.2998 -25.7002c-23.2002 -40.1006 1.40039 -70.9004 22.4004 -81.4004c-14.4004 1.40039 -34.3008 11.9004 -40.1006 34.2998c-6.59961 25.7002 2.7998 49.8008 8.90039 61.4004
+c0 0 -4.40039 5.7998 -8 8.90039c0 0 -13.7998 0 -24.6006 -5.30078c11.9004 15.2002 25.2002 14.4004 25.2002 14.4004c0 6.40039 -0.599609 14.9004 -3.59961 21.5996c-5.40039 11 -23.7998 12.9004 -31.7002 -2.7998c0.0996094 0.200195 0.299805 0.400391 0.400391 0.5
+c-5 -11.8994 -1.10059 -55.8994 16.8994 -87.2002c-2.5 -1.39941 -9.09961 -6.09961 -13 -10c-21.5996 -9.69922 -56.2002 -60.2998 -56.2002 -60.2998c-28.1992 -10.7998 -77.1992 -50.8994 -70.5996 -79.7002c0.299805 -3 1.40039 -5.5 3 -7.5
+c-2.7998 -2.19922 -5.5 -5 -8.2998 -8.2998c-11.9004 -13.7998 -5.2998 -35.2002 17.7002 -24.3994c15.7998 7.19922 29.5996 20.1992 36.2998 30.3994c0 0 -5.5 5 -16.2998 4.40039c27.6992 6.59961 34.2998 9.39941 46.1992 9.09961c8 -3.89941 8 34.2998 8 34.2998
+c0 14.7002 -2.19922 31 -11.0996 41.5c12.5 -12.1992 29.0996 -32.6992 28 -60.5996c-0.799805 -18.2998 -15.2002 -23 -15.2002 -23c-9.09961 -16.5996 -43.2002 -65.9004 -30.3994 -106c0 0 -9.7002 14.9004 -10.2002 22.0996
+c-17.4004 -19.3994 -46.5 -52.2998 -24.6006 -64.5c26.6006 -14.6992 108.801 88.6006 126.2 142.301c34.6006 20.7998 55.4004 47.2998 63.9004 65c22 -43.5 95.2998 -94.5 101.1 -59z" />
+ <glyph glyph-name="etsy" unicode="&#xf2d7;" horiz-adv-x="384"
+d="M384 100c-1.75 -10.75 -13.75 -110 -15.5 -132c-117.879 4.29883 -219.895 4.74316 -368.5 0v25.5c45.457 8.94824 60.627 8.01855 61 35.25c1.79297 72.3223 3.52441 244.143 0 322c-1.0293 28.46 -12.1299 26.7646 -61 36v25.5
+c73.8857 -2.3584 255.933 -8.55078 362.999 3.75c-3.5 -38.25 -7.75 -126.5 -7.75 -126.5h-23.249c-11.0527 42.835 -18.7588 90.5 -54.75 90.5h-137c-10.25 0 -10.75 -3.5 -10.75 -9.75v-163.75c58 -0.5 88.5 2.5 88.5 2.5c29.7695 0.951172 27.5596 8.50195 40.75 65.251
+h25.75c-4.40723 -101.351 -3.91016 -61.8291 -1.75 -160.25h-25.75c-9.15527 40.0859 -9.06543 61.0449 -39.501 61.5c0 0 -21.5 2 -88 2v-139c0 -26 14.25 -38.25 44.25 -38.25h89.251c63.6357 0 66.5645 24.9961 98.751 99.75h22.249v-0.000976562z" />
+ <glyph glyph-name="imdb" unicode="&#xf2d8;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM21.2998 218.8h-0.299805c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391v-0.400391zM97 128.2v127.8h-33v-127.8h33z
+M210.2 128.2v127.8h-43l-7.60059 -59.9004c-2.69922 20 -5.39941 40.1006 -8.69922 59.9004h-42.8008v-127.8h29v84.5l12.2002 -84.5h20.6006l11.5996 86.3994v-86.3994h28.7002zM221.6 128.2c86.1006 -0.100586 75 -6 75 82.5c0 8.09961 0.300781 16.7998 -1.39941 24.3994
+c-4.2998 22.5 -31.4004 20.9004 -49 20.9004h-24.6006v-127.8zM382.5 157.4v36c0 17.2998 -0.799805 30.0996 -22.2002 30.0996c-8.89941 0 -14.8994 -2.7002 -20.8994 -9.2002v41.7002h-31.7002v-127.8h29.7998l1.90039 8.09961
+c5.69922 -6.7998 11.8994 -9.7998 20.8994 -9.7998c19.7998 0 22.2002 15.2002 22.2002 30.9004zM265 218.1v-49.2998c0 -9.7002 1.90039 -18.7002 -10.2998 -18.3994v83.6992c11.8994 0 10.2998 -6.2998 10.2998 -16zM350.5 192v-32.7002
+c0 -5.39941 1.59961 -14.3994 -6.2002 -14.3994c-1.59961 0 -3 0.799805 -3.7998 2.39941c-2.2002 5.10059 -1.09961 44.1006 -1.09961 44.7002c0 3.7998 -1.10059 12.7002 4.89941 12.7002c7.2998 0 6.2002 -7.2998 6.2002 -12.7002z" />
+ <glyph glyph-name="ravelry" unicode="&#xf2d9;" horiz-adv-x="511"
+d="M407.4 386.5c72.6992 -37.9004 112 -117.2 103.3 -199.5c-1.7002 -16.7002 -4.40039 -36.2002 -9.7998 -52.2002c-22.2002 -65.7002 -52.9004 -108.6 -123.101 -147.7c-6.39941 -4.39941 -13.2998 -8.59961 -20.2002 -10.7998
+c-12.5 -4.39941 -26.0996 -5.39941 -40.0996 -3.89941c-5.90039 -0.5 -11.7998 -0.700195 -18 -0.700195c-93.7002 0 -173 64 -196.9 151.399c-0.699219 0 -1.5 0.200195 -2.19922 0.200195c-5.60059 -44.2998 27.0996 -104.1 27.0996 -104.1s2 -3 13.2998 -20.2002
+c-62.7998 33.2002 -64.5 131.2 -64.5 131.2c-15 5.59961 -67.2002 23.3994 -76.2998 37.8994c0 0 40.9004 -22.3994 76.2002 -27c-0.200195 0.300781 0.5 7.90039 0.5 7.90039c2.2002 30 12.5 53.4004 23.0996 71.4004c6.90039 33.7998 22.1006 64.2998 43.2998 89.8994
+c3.7002 15.2998 9.60059 33.5 19.9004 52.7002c4.40039 8.40039 8.59961 13.7998 19.9004 19c74.8994 35 148.699 43.9004 224.5 4.5zM138.8 284.8c-7.59961 -11.2998 -13.7002 -23.5996 -18.8994 -36.3994c8.09961 8.59961 14.7998 14.1992 18.1992 16.6992
+c-0.5 7.40039 0.700195 19.7002 0.700195 19.7002zM107.6 162.9c0.700195 -9.60059 2 -18.9004 4.2002 -28.1006l41.4004 -6.89941c-14.1006 42.0996 -15.7998 90.0996 -15.7998 90.0996c-16.5 -16 -25.4004 -37.9004 -29.8008 -55.0996zM115.5 120.1
+c21.4004 -69.6992 81 -122.8 154.1 -134.399c-1 0.299805 -1.69922 0.5 -2.69922 1c0 0 -81 47.5 -108.301 124.3c-9.09961 1.5 -28.2998 5.90039 -43.0996 9.09961zM386 3.90039c63 32 106.6 98 106.8 174c0 107.399 -86.5996 194.5 -193 194.5
+c-49.2998 0 -94.0996 -18.7002 -128.3 -49.5c-5.2002 -10.1006 -8.59961 -22.9004 -11.0996 -39.4004c52.5 44.5996 146 33.5 146 33.5c23.3994 -1 20.5996 -21.7002 20.3994 -28.0996c-85.2002 7.19922 -127 -17.2002 -168.399 -52.4004
+c0 0 8.09961 -78.7998 26.7998 -110.8c107.8 -4.90039 189.8 53.7002 189.8 53.7002c10.2998 7.39941 19.4004 8.09961 21.4004 -4.7002c1.5 -10.4004 2.19922 -24.4004 -9.60059 -29.7998c-36 -16.8008 -75.5996 -27.3008 -115 -33
+c-25.5996 -3.7002 -39.7998 -4.60059 -78 -3.90039c36.4004 -84.7002 127.5 -107.8 127.5 -107.8c28.5 -4.7002 50.2002 -1 64.7002 3.7002z" />
+ <glyph glyph-name="sellcast" unicode="&#xf2da;"
+d="M353.4 416c52.0996 0 94.6992 -42.5996 94.6992 -94.5996v-258.801c0 -52 -42.5996 -94.5996 -94.6992 -94.5996h-258.7c-52.1006 0 -94.7002 42.5996 -94.7002 94.7002v258.7c0 52 42.5996 94.5996 94.7002 94.5996h258.7zM303.4 99.5996
+c27.8994 48.2002 11.1992 110.5 -37.2002 138.5c-18.6006 10.8008 0.0996094 -0.0996094 -18.5 10.7002c-25 14.4004 -46.2002 -23.2998 -21.6006 -37.5c18 -10.2002 0.800781 -0.399414 18.6006 -10.5996c27.5996 -16 37.2002 -51.7998 21.2998 -79.4004
+c-16 -27.5996 -51.7998 -37.2002 -79.4004 -21.2998c-18.5996 10.7998 0.100586 -0.0996094 -18.5 10.7002c-10.2998 6 -23.5996 2.39941 -29.5 -7.90039l-15.6992 -27.2002c-12.6006 -21.7998 19.3994 -53 42.2998 -13.1992c48.2998 -27.7002 110.3 -11 138.2 37.1992z
+M325.2 308.4c14.2998 24.7998 -23.4004 46.3994 -37.7002 21.5l-4.7998 -8.40039c-48.2998 27.7002 -110.3 11 -138.2 -37.2002c-27.7998 -48.2998 -11.0996 -110.6 37.0996 -138.399c18.6006 -10.8008 -0.0996094 0.0996094 18.5 -10.7002
+c25 -14.4004 46.2002 23.2998 21.6006 37.5c-0.100586 0 -18.6006 10.5996 -18.6006 10.5996c-27.5996 16 -37.2998 51.7998 -21.2998 79.4004c16 27.5996 51.7998 37.2002 79.4004 21.2998c18.5996 -10.7998 -0.100586 0.0996094 18.5 -10.7002
+c10.2002 -5.09961 20 -2.89941 26.5 3.60059c2.7002 2.69922 2 2 19 31.5z" />
+ <glyph glyph-name="superpowers" unicode="&#xf2dd;"
+d="M448 416l-87.2002 -87c39.7002 -38.7002 61.2002 -92.7002 57.7002 -148.2c-5.40039 -93 -76.9004 -167.3 -168.7 -179.8c-83.2998 -11 -166.5 -22 -249.8 -33l86.7998 86.7998c-39.7998 38.7002 -61.0996 92.7002 -57.7998 148.2c5.7002 93.2998 77 167.5 169 180
+c83.2002 11 166.7 22 250 33zM368.3 183.7c4.40039 80 -56.7998 146.3 -136.1 151c-78.7002 4.7998 -148.5 -55.2998 -153 -134.5c-4.40039 -80 56.7998 -146.3 136.3 -151c78.7998 -4.7002 148.6 55 152.8 134.5z" />
+ <glyph glyph-name="wpexplorer" unicode="&#xf2de;" horiz-adv-x="512"
+d="M512 192c0 -141.2 -114.7 -256 -256 -256c-141.2 0 -256 114.7 -256 256s114.7 256 256 256s256 -114.7 256 -256zM480 192c0 123.2 -100.3 224 -224 224c-123.5 0 -224 -100.5 -224 -224s100.5 -224 224 -224s224 100.5 224 224zM160.9 323.4l86.8994 -37.1006
+l-37.0996 -86.8994l-86.9004 37.0996zM270.9 154.3l46.5996 -94h-14.5996l-50 100l-48.9004 -100h-14l51.0996 106.9l-22.2998 9.39941l6 14l68.6006 -29.0996l-6 -14.2998zM259.1 270.6l68.6006 -29.3994l-29.4004 -68.2998l-68.2998 29.0996zM339.4 227.7
+l54.5996 -23.1006l-23.4004 -54.2998l-54.2998 23.1006z" />
+ <glyph glyph-name="meetup" unicode="&#xf2e0;" horiz-adv-x="527"
+d="M99 33.7002c1.09961 -5.7002 -2.2998 -11.1006 -8 -12.2998c-5.40039 -1.10059 -10.9004 2.2998 -12 8c-1.09961 5.39941 2.2998 11.0996 7.7002 12.2998c5.39941 1.2002 11.0996 -2.2998 12.2998 -8zM242.1 -37.7002c6.60059 4.60059 15.5 2.7998 19.7002 -3.7002
+c4.60059 -6.59961 2.90039 -15.3994 -3.39941 -20c-6.60059 -4.59961 -15.4004 -2.89941 -20 3.7002c-4.30078 6.60059 -2.60059 15.4004 3.69922 20zM156.1 424.6c-6.2998 -1.5 -12.5 2.5 -13.8994 9.10059c-1.2002 6.2998 2.7998 12.5996 9.09961 14
+c6.2998 1.5 12.6006 -2.5 13.7002 -9.10059c1.40039 -6.2998 -2.59961 -12.5996 -8.90039 -14zM34.4004 221.7c10 -7.10059 12.5996 -20.7998 5.69922 -31.2002c-6.89941 -10.2998 -20.5996 -12.7998 -30.5996 -5.7002c-10 6.90039 -12.5996 20.9004 -5.7002 30.9004
+c6.90039 10.2998 20.6006 12.8994 30.6006 6zM306.4 392.6c-10.3008 -6.2998 -23.7002 -2.89941 -29.7002 7.40039c-6.2998 10.5996 -2.90039 24.2998 7.39941 30.5996c10.3008 6.30078 23.7002 2.90039 30 -7.69922c6 -10.3008 2.90039 -24 -7.69922 -30.3008zM115.3 334.6
+c-7.5 -5.19922 -18 -3.5 -23.0996 4.30078c-5.10059 7.69922 -3.40039 18.2998 4.2998 23.6992c7.40039 5.10059 18 3.40039 23.0996 -4.2998c5.10059 -7.7002 3.40039 -18.2998 -4.2998 -23.7002zM487.6 178.6c7.40039 1.40039 14.8008 -3.5 16.3008 -10.8994
+c1.69922 -7.7002 -3.2002 -15.2002 -10.6006 -16.6006c-7.39941 -1.69922 -14.8994 3.2002 -16.2998 10.6006c-1.7002 7.7998 3.2002 15.2002 10.5996 16.8994zM527.3 235.4c1.40039 -5.7002 -2.2998 -11.1006 -7.7002 -12.6006
+c-5.69922 -1.09961 -11.1992 2.60059 -12.2998 8c-1.09961 5.7002 2.2998 11.5 8 12.6006c5.40039 1.09961 10.9004 -2.30078 12 -8zM447 309.1c8.2998 6 20 3.80078 25.7002 -4.89941c5.7002 -8.60059 3.7002 -20.2998 -4.60059 -26.2998
+c-8.59961 -5.7002 -20.2998 -3.7002 -26 4.89941c-5.69922 8.60059 -3.69922 20.2998 4.90039 26.2998zM440.7 169.7c26.2998 -43.1006 15.0996 -100 -26.2998 -129.101c-17.4004 -12.2998 -37.1006 -17.6992 -56.9004 -17.0996
+c-12 -47.0996 -69.4004 -64.5996 -105.1 -32.5996c-1.10059 -0.900391 -2.60059 -1.7002 -3.7002 -2.90039c-39.1006 -27.0996 -92.2998 -17.4004 -119.4 22.2998c-9.7002 14.2998 -14.5996 30.6006 -15.0996 46.9004c-65.4004 10.8994 -90 94 -41.1006 139.7
+c-28.2998 46.8994 0.600586 107.399 53.4004 114.899c25.0996 66.2002 107.6 97.6006 163.6 54.2002c67.4004 22.2998 136.301 -29.4004 130.9 -101.1c41.0996 -12.6006 52.7998 -66.9004 19.7002 -95.2002zM370.7 95.4004
+c-3.10059 20.5996 -40.9004 4.59961 -43.1006 27.0996c-3.09961 32 43.7002 101.1 40 128c-3.39941 24 -19.3994 29.0996 -33.3994 29.4004c-13.4004 0.299805 -16.9004 -2 -21.4004 -4.60059c-2.89941 -1.7002 -6.59961 -4.89941 -11.7002 0.299805
+c-6.2998 6 -11.0996 11.7002 -19.3994 12.9004c-12.2998 2 -17.7002 -2 -26.6006 -9.7002c-3.39941 -2.89941 -12 -12.8994 -20 -9.09961c-3.39941 1.7002 -15.3994 7.7002 -24 11.3994c-16.2998 7.10059 -40 -4.59961 -48.5996 -20
+c-12.9004 -22.8994 -38 -113.1 -41.7002 -125.1c-8.59961 -26.5996 10.9004 -48.5996 36.9004 -47.0996c11.0996 0.599609 18.2998 4.59961 25.3994 17.3994c4 7.40039 41.7002 107.7 44.6006 112.601c2 3.39941 8.89941 8 14.5996 5.09961
+c5.7002 -3.09961 6.90039 -9.40039 6 -15.0996c-1.09961 -9.7002 -28 -70.9004 -28.8994 -77.7002c-3.40039 -22.9004 26.8994 -26.6006 38.5996 -4c3.7002 7.09961 45.7002 92.5996 49.4004 98.2998c4.2998 6.2998 7.39941 8.2998 11.6992 8
+c3.10059 0 8.30078 -0.900391 7.10059 -10.9004c-1.40039 -9.39941 -35.1006 -72.2998 -38.9004 -87.6992c-4.59961 -20.6006 6.60059 -41.4004 24.9004 -50.6006c11.3994 -5.7002 62.5 -15.7002 58.5 11.1006zM376.4 3.09961c10.5996 7.5 24.8994 4.60059 32.2998 -6
+c7.09961 -10.5996 4.59961 -25.1992 -6 -32.5996c-10.6006 -7.09961 -24.9004 -4.59961 -32 6c-7.2002 10.5996 -4.60059 25.2002 5.7002 32.5996z" />
+ <glyph glyph-name="font-awesome-alt" unicode="&#xf35c;"
+d="M339.3 276.8c5.40039 0 9.5 -3 7.7002 -7.09961v-134.4c0 -4.2002 -3 -6 -7.2002 -7.7998c-15.5996 -7.09961 -33.5 -13.7002 -52 -13.7002c-26.2998 0 -38.2002 16.1006 -69.2998 16.1006c-22.7002 0 -46 -8.30078 -65.7002 -16.7002
+c-0.599609 -0.600586 -1.7998 -1.2002 -3 -1.2002v-44.2002c0 -1.7998 0 -3 -0.599609 -4.7998v-1.2998c-2.40039 -7.7002 -9.5 -13.7002 -18.5 -13.7002c-10.7002 0 -19.7002 8.90039 -19.7002 19.7002v212.1c-7.7002 6 -12.5 15.5 -12.5 25.7002
+c0 18 14.2998 32.2998 32.2998 32.2998s32.2998 -14.3994 32.2998 -32.2998c0 -10.7998 -4.69922 -19.7002 -12.5 -25.7002v-17.8994c1.2002 0.599609 3 1.19922 4.80078 1.7998c17.8994 7.09961 39.3994 13.7002 59.6992 13.7002
+c22.1006 0 39.4004 -5.90039 59.1006 -13.7002c4.09961 -1.7998 8.2998 -2.40039 12.5 -2.40039c22.7002 0 46.5996 15.5 52.5996 15.5zM397.8 416c27.5 0 50.2002 -22.7002 50.2002 -50.2002v-347.6c0 -27.5 -22.7002 -50.2002 -50.2002 -50.2002h-347.6
+c-27.5 0 -50.2002 22.7002 -50.2002 50.2002v347.6c0 27.5 22.7002 50.2002 50.2002 50.2002h347.6zM412.1 18.2998v347.601c0 7.69922 -6.5 14.2998 -14.2998 14.2998v-0.100586h-347.6c-7.7002 0 -14.2998 -6.5 -14.2998 -14.2998v-347.5
+c0 -7.7002 6.5 -14.2998 14.2998 -14.2998h347.6c7.7002 0 14.2998 6.5 14.2998 14.2998z" />
+ <glyph glyph-name="accessible-icon" unicode="&#xf368;"
+d="M423.9 192.2l-12.9004 -157.3c-3.2998 -40.7002 -63.9004 -35.1006 -60.5996 4.89941l10 122.5l-41.1006 -2.2998c10.1006 -20.7002 15.7998 -43.9004 15.7998 -68.5c0 -41.2002 -16.0996 -78.7002 -42.2998 -106.5l-39.2998 39.2998
+c57.9004 63.7002 13.0996 167.2 -74 167.2c-25.9004 0 -49.5 -9.90039 -67.2002 -26l-39.2998 39.2998c22 20.7002 50.0996 35.1006 81.4004 40.2002l75.2998 85.7002l-42.6006 24.7998l-51.5996 -46c-30 -26.7998 -70.5996 18.5 -40.5 45.4004l68 60.6992
+c9.7998 8.80078 24.0996 10.2002 35.5 3.60059c0 0 139.3 -80.9004 139.5 -81.1006c16.2002 -10.0996 20.7002 -36 6.09961 -52.5996l-58.3994 -66.5l106.1 5.90039c18.5 1.09961 33.6006 -14.4004 32.1006 -32.7002zM359 346.2
+c-28.0996 0 -50.9004 22.7998 -50.9004 50.8994c0 28.1006 22.8008 50.9004 50.9004 50.9004s50.9004 -22.7998 50.9004 -50.9004c0 -28.0996 -22.8008 -50.8994 -50.9004 -50.8994zM179.6 -8.5c20.8008 0 40.1006 6.40039 56.1006 17.2998l39.7002 -39.7002
+c-100.7 -78.8994 -251.4 -8.19922 -251.4 122.5c0 36.1006 12.4004 69.4004 33.2002 95.7002l39.7002 -39.7002c-44.7002 -65.5 2.09961 -156.1 82.6992 -156.1z" />
+ <glyph glyph-name="accusoft" unicode="&#xf369;" horiz-adv-x="640"
+d="M322.1 196c-1.69922 -1.59961 -89.5996 -82.5 -90.1992 -83.2998l-92.6006 -33.7998c-4.7998 -2 -7.59961 -3.7002 -7 -8.90039c0.200195 -1.5 0.600586 -22.5996 1 -27.7002c-0.700195 -0.5 -0.0996094 0 -0.599609 -0.599609c0 0 -113.7 -36.6006 -114.5 -36.6006
+c-14.1006 -5.09961 -22.7002 -8.2998 -15.7002 1.7002c1.2998 1.7998 234.4 231.601 243.4 240.9c13 13.5 25 15.0996 25 15.0996l51.1992 -65.7998v-1zM482.2 75.9004c-5.7002 6.89941 -232.2 297.1 -239.9 306.6c-13.7002 17.2002 0 16.7998 19.2002 16.9004
+c9.7002 0.0996094 106.3 0.599609 116.5 0.599609c24.0996 0.0996094 28.7002 -0.599609 38.4004 -12.7998c2.09961 -2.7002 205.1 -245.8 207.199 -248.3c5.5 -6.7002 15.2002 -19.1006 7.2002 -23.4004c-2.39941 -1.2998 -114.6 -47.7002 -117.8 -48.9004
+c-10.0996 -4 -17.5 -6.7998 -30.7998 9.30078zM634.9 74.2998c6 -1.39941 7.09961 -4.2002 1.69922 -8.2002c-2 -1.39941 -123.699 -76.5996 -125.8 -77.7998c-15.0996 -8.7998 -38 -1.59961 -53.5996 1.7002c-7.10059 1.5 -305.3 68.2998 -308 69.0996
+c-2.60059 0.900391 -4.40039 1 -4.60059 3.5c-0.299805 4 6 5.60059 11.1006 7.60059c5 1.89941 145.3 52.5996 150.2 54.7002c4.7998 2.09961 11.2998 2.69922 14.3994 2.89941c4.90039 0.299805 59.9004 -8.39941 65.2998 -9.2998l57.1006 -74
+c9.7998 -11.4004 20.7002 -21.9004 36.7002 -14.5996c2.5 1.19922 117.5 51.5996 117.5 51.5996c13.3994 -2.5 35.6992 -6.90039 38 -7.2002z" />
+ <glyph glyph-name="adversal" unicode="&#xf36a;" horiz-adv-x="512"
+d="M482.1 416c24.5 0 29.9004 -5.59961 29.9004 -30.2002v-388.1c0 -24.5 -5.5 -29.7002 -29.9004 -29.7002h-453.399c-22.9004 0 -28.7002 5.59961 -28.7002 28.9004v390.199c0 23 5.7998 28.9004 28.7002 28.9004h453.399zM178.4 227.7
+c9.39941 -7.2002 12.3994 -17.1006 11.2998 -27.2998c-1.7998 -19.1006 -75.7998 -11.4004 -114 -30.9004c-27.2002 -13.9004 -42.7002 -41.7002 -39.6006 -71c6.7002 -64.7002 89.6006 -79.7002 147 -43.2998c4.60059 3.2002 8.30078 4.89941 11.9004 1
+c2.09961 -2.60059 2 -4 3.90039 -6.2002c7.2998 -9.59961 38.1992 -14.0996 46.5996 -7.40039c3.09961 2.80078 4.59961 6.30078 2.7002 10.7002c-13.6006 30.5 -6.60059 63 -9.2998 88.7998c0 69.3008 6.39941 111.7 -34.5 128.5
+c-41.9004 17.4004 -84.2002 16.6006 -125.301 -4.7998c-16.2998 -9 -53.6992 -52.8994 -24.8994 -64.2998c5.2998 -2.2998 12.7998 -4 22.5 -5.5c8.2002 -1.2002 13.2002 -2.7998 17.5 8.2998c12.0996 32.1006 56.7002 43.6006 84.2002 23.4004zM465.1 5.7002
+c0 14.2998 -9.7998 9.89941 -16.5996 9.89941c-132.3 0.400391 -264.5 0.400391 -396.8 0c-6.60059 0 -16.7002 4.80078 -17.1006 -9.09961c-0.399414 -15.5 10.4004 -10.7002 17.8008 -10.7002h394.899c6.7002 0 17.7998 -5.2002 17.7998 9.90039zM468.9 346.2
+c0 0.200195 0 0.299805 0.0996094 0.5c0 9.89941 -3.5 15.0996 -13.5996 14.2998c-3.10059 -0.400391 -6.60059 0 -9.7002 0c-26.1006 0 -26 0 -26 -26.2002v-71c-79.2002 45.6006 -124.3 -6.59961 -136.101 -30.5c-16.3994 -32.8994 -21.7998 -66.5996 -15.6992 -100
+c16.2998 -92.2998 91 -114.899 144.399 -85.2002c4.60059 2.80078 6.60059 7.5 12.4004 -1.19922c8.59961 -12.7002 23.7002 -5.2002 36.0996 -5.60059c7.40039 0 8.10059 8.2002 8.10059 13.9004v291zM417.4 113.9c-19.5 -47.6006 -72.9004 -43.3008 -90 -5.2002
+c-15.1006 33.2998 -15.5 68.2002 0.399414 101.5c16.2998 34.0996 59.7002 35.7002 81.5 4.7998c20.6006 -28.7998 14.9004 -84.5996 8.10059 -101.1zM122.6 78.5996c-7.5 1.30078 -33 3.30078 -33.6992 27.8008c-0.400391 13.8994 7.7998 23 19.7998 25.7998
+c24.3994 5.89941 49.2998 9.89941 73.7002 14.7002c8.89941 2 7.39941 -4.40039 7.7998 -9.5c1.39941 -33 -26.1006 -59.2002 -67.6006 -58.8008z" />
+ <glyph glyph-name="affiliatetheme" unicode="&#xf36b;" horiz-adv-x="511"
+d="M159.7 210.6c-51.2998 -70.8994 -116.601 -110.8 -145.7 -89.1992c-29.2002 21.6992 -11.2002 96.5996 40.2002 167.5c51.2998 70.8994 116.6 110.8 145.7 89.1992c29.0996 -21.5996 11.0996 -96.5996 -40.2002 -167.5zM510.9 267.9
+c0.699219 -8.2002 1.09961 -16.5 1 -25c0 -151.801 -121.601 -274.9 -271.601 -274.9c-82.8994 0 -157.2 37.5996 -207 96.9004c71.2998 19.3994 130.5 68.3994 164.101 133.199c7.69922 -32.5996 24 -58.5996 49 -73.7998c72.5996 -44.0996 190.699 20.2002 264.5 143.601z
+" />
+ <glyph glyph-name="algolia" unicode="&#xf36c;" horiz-adv-x="447"
+d="M229.3 265.4c49.2002 0 89.2002 -39.9004 89.2002 -89.2002s-39.9004 -89.2002 -89.2002 -89.2002s-89.2002 39.9004 -89.2002 89.2002s39.9004 89.2002 89.2002 89.2002zM292 208.8c1.2998 0.700195 1.7998 2.40039 1.09961 3.7002
+c-12.1992 21.4004 -34.8994 36.0996 -61.0996 37.0996c-1.40039 0.100586 -2.7002 -1.09961 -2.7002 -2.59961v-66.5c0 -1.90039 2 -3.2002 3.7998 -2.2998zM389.1 416c32.5 0 58.9004 -26.4004 58.8008 -58.9004v-330.199c0 -32.5 -26.3008 -58.9004 -58.9004 -58.9004
+h-330.1c-32.5 0 -58.9004 26.4004 -58.9004 59v330.1c0 32.5 26.4004 58.9004 58.9004 58.9004h330.199zM186.5 331.3h0.0996094v-15.7998c0 -1.7002 1.7002 -3 3.40039 -2.5c12.7002 3.7002 25.9004 5.5 39.4004 5.5c13 0 25.7998 -1.7002 38.0996 -5.09961
+c1.59961 -0.5 3.2998 0.699219 3.2998 2.5v15.3994c0 10.7998 -8.7002 19.5 -19.5 19.5h-45.2998c-10.7998 0 -19.5 -8.7002 -19.5 -19.5zM102.1 294.3c-7.59961 -7.59961 -7.59961 -19.8994 0 -27.3994l7.7002 -7.7002c1.10059 -1.2002 3 -1 4 0.299805
+c4.40039 6.09961 9.40039 12 14.7998 17.4004c5.5 5.5 11.4004 10.3994 17.6006 14.8994c1.2998 1 1.39941 2.90039 0.299805 4l-7.7002 7.7002c-7.59961 7.59961 -19.8994 7.59961 -27.5 0zM229.3 49.5c69.9004 0 126.601 56.7998 126.601 126.6
+c0 70 -56.6006 126.601 -126.601 126.601c-69.8994 0 -126.6 -56.7002 -126.6 -126.601c0 -69.8994 56.5996 -126.6 126.6 -126.6z" />
+ <glyph glyph-name="amilia" unicode="&#xf36d;"
+d="M240.1 416c134.101 0 191.9 -55.7002 192 -136v-296.6c0 -3 -1 -8.10059 -5.09961 -9.10059c-4 -1 -57.2998 -0.700195 -66.5 -0.700195s-56.7998 1 -59.9004 2c-4 0.900391 -6.09961 6.10059 -6.09961 9.10059v25.3994
+c-39.5996 -21.3994 -105.5 -42.0996 -153.3 -42.0996c-109.7 0 -124.9 85.7002 -124.9 104s-5.09961 95.5 30.4004 111.8c31.5 13.2002 156.3 36.5 243.7 47.7998v38.5c0 44.7002 -1 73.1006 -58.9004 73.1006c-55.7998 0 -119.8 -25.4004 -152.3 -47.7002
+c-6.10059 -4.09961 -16.2002 -4.09961 -20.2998 6.09961c-5.10059 12.2002 -9.10059 34.5 -10.2002 39.6006c-1.90039 10.2002 2.09961 16.2998 7.2002 19.3994c52.6992 38.5 122.3 55.4004 184.199 55.4004zM290.3 68v106.7c-44.7002 -4.10059 -95.5 -20.2998 -119.8 -33.5
+c-21.2998 -10.2002 -18.2998 -40.7002 -18.2998 -52.9004c0.0996094 -11.2002 6.2002 -44.7002 59 -44.7002c30.3994 0 57.7002 11.2002 79.0996 24.4004z" />
+ <glyph glyph-name="angrycreative" unicode="&#xf36e;" horiz-adv-x="640"
+d="M640 209.8l-3.2002 -28.2002l-34.5 -2.2998l-2 -18.0996l34.5 2.2998l-3.2002 -28.2002l-34.3994 -2.2002l-2.2998 -20.0996l34.3994 2.2002l-3 -26.1006l-64.7002 -4.09961l12.7002 113.2l-47.2998 -115.4l-31.9004 -2l-23.7998 117.8l30.2998 2l13.6006 -79.3994
+l31.7002 82.3994zM426.8 76.5l12.7998 120l28.4004 1.90039l-12.9004 -120.101zM162 59.9004l-19.4004 36l-3.5 -37.4004l-28.1992 -1.7002l2.69922 29.1006c-11 -18 -32 -34.3008 -56.8994 -35.8008c-32.7998 -2 -59.7002 20.9004 -56.4004 58.2002
+c2.60059 29.2998 26.7002 62.7998 67.5 65.4004c37.7002 2.39941 47.6006 -23.2002 51.2998 -28.7998l2.80078 30.7998l38.8994 2.5c20.1006 1.2998 38.7002 -3.7002 42.5 -23.7002l2.60059 26.5996l64.7998 4.2002l-2.7002 -27.8994l-36.4004 -2.40039l-1.69922 -17.9004
+l36.3994 2.30078l-2.7002 -27.9004l-36.3994 -2.2998l-1.90039 -19.9004l36.2998 2.2998l-2.09961 -20.7998l55 117.2l23.7998 1.59961l32.1006 -110.6l8.89941 85.5996l-22.2998 -1.39941l2.90039 27.8994l75 4.90039l-3 -28l-24.3008 -1.59961l-9.69922 -91.9004
+l-58 -3.7002l-4.30078 15.6006l-39.3994 -2.5l-8 -16.3008zM117.7 130.1l-26.4004 -1.69922c-6.7002 12.3994 -14.3994 16.5996 -26.2998 15.7998c-19 -1.2002 -33.2998 -17.5 -34.5996 -33.2998c-1.40039 -16 7.2998 -32.5 28.6992 -31.2002
+c12.8008 0.799805 21.3008 8.59961 28.9004 18.8994l27 1.7002zM173.8 137.8c1.2002 12.9004 -7.59961 13.6006 -26.0996 12.4004l-2.7002 -28.5c14.2002 0.899414 27.5 2.09961 28.7998 16.0996zM194.9 67l5.7998 60c-5 -13.5 -14.7002 -21.0996 -27.9004 -26.5996z
+M330.3 112l-7.89941 37.7998l-15.8008 -39.2998zM160.2 186.6l-4.2998 17.5l-39.6006 -2.59961l-8.09961 -18.2002l-31.9004 -2.09961l57 121.899l23.9004 1.60059l30.7002 -102l9.89941 104.7l27 1.7998l37.7998 -63.6006l6.5 66.6006l28.5 1.89941l-4 -41.1992
+c7.40039 13.5 22.9004 44.6992 63.6006 47.5c40.5 2.7998 52.3994 -29.3008 53.3994 -30.3008l3.30078 32l39.2998 2.7002c12.7002 0.900391 27.7998 -0.299805 36.2998 -9.7002l-4.40039 11.9004l32.2002 2.2002l12.9004 -43.2002l23 45.7002l31 2.2002l-43.6006 -78.4004
+l-4.7998 -44.2998l-28.3994 -1.90039l4.7998 44.2998l-15.7998 43c1 -22.2998 -9.2002 -40.0996 -32 -49.5996l25.1992 -38.7998l-36.3994 -2.40039l-19.2002 36.7998l-4 -38.2998l-28.4004 -1.89941l3.30078 31.5c-6.7002 -9.30078 -19.7002 -35.4004 -59.6006 -38
+c-26.2002 -1.7002 -45.5996 10.2998 -55.3994 39.1992l-4 -40.2998l-25 -1.59961l-37.6006 63.2998l-6.2998 -66.2002zM436.8 268.7c10.2002 0.700195 17.5 2.09961 21.6006 4.2998c4.5 2.40039 7 6.40039 7.59961 12.0996
+c0.599609 5.30078 -0.599609 8.80078 -3.40039 10.4004c-3.59961 2.09961 -10.5996 2.7998 -22.8994 2zM327.7 234c5.59961 -5.90039 12.7002 -8.5 21.2998 -7.90039c4.7002 0.300781 9.09961 1.80078 13.2998 4.10059c5.5 3 10.6006 8 15.1006 14.2998l-34.2002 -2.2998
+l2.39941 23.8994l63.1006 4.30078l1.2002 12l-31.2002 -2.10059c-4.10059 3.7002 -7.7998 6.60059 -11.1006 8.10059c-4 1.69922 -8.09961 2.7998 -12.1992 2.5c-8 -0.5 -15.3008 -3.60059 -22 -9.2002c-7.7002 -6.40039 -12 -14.5 -12.9004 -24.4004
+c-1.09961 -9.59961 1.40039 -17.2998 7.2002 -23.2998zM126.4 225.8l23.7998 1.60059l-8.2998 37.5996z" />
+ <glyph glyph-name="app-store" unicode="&#xf36f;" horiz-adv-x="512"
+d="M255.9 327.1l9.09961 15.7002c5.59961 9.7998 18.0996 13.1006 27.9004 7.5c9.7998 -5.59961 13.0996 -18.0996 7.5 -27.8994l-87.5 -151.5h63.2998c20.5 0 32 -24.1006 23.0996 -40.8008h-185.5c-11.2998 0 -20.3994 9.10059 -20.3994 20.4004
+s9.09961 20.4004 20.3994 20.4004h52l66.6006 115.399l-20.8008 36.1006c-5.59961 9.7998 -2.2998 22.1992 7.5 27.8994c9.80078 5.60059 22.2002 2.2998 27.9004 -7.5zM177.2 109.1l-19.6006 -34c-5.59961 -9.7998 -18.0996 -13.0996 -27.8994 -7.5
+c-9.7998 5.60059 -13.1006 18.1006 -7.5 27.9004l14.5996 25.2002c16.4004 5.09961 29.7998 1.2002 40.4004 -11.6006zM346.1 170.8h53.1006c11.2998 0 20.3994 -9.09961 20.3994 -20.3994c0 -11.3008 -9.09961 -20.4004 -20.3994 -20.4004h-29.5l19.8994 -34.5
+c5.60059 -9.7998 2.30078 -22.2002 -7.5 -27.9004c-9.7998 -5.59961 -22.1992 -2.2998 -27.8994 7.5c-33.5 58.1006 -58.7002 101.601 -75.4004 130.601c-17.0996 29.5 -4.89941 59.0996 7.2002 69.0996c13.4004 -23 33.4004 -57.7002 60.0996 -104zM256 440
+c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM472 192c0 119.9 -97.2998 216 -216 216c-119.9 0 -216 -97.2998 -216 -216c0 -119.9 97.2998 -216 216 -216c119.9 0 216 97.2998 216 216z" />
+ <glyph glyph-name="app-store-ios" unicode="&#xf370;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM127 63.5l19.2998 33.2998c-10.2998 12.5 -23.5 16.2998 -39.5996 11.4004l-14.2998 -24.7002
+c-5.5 -9.5 -2.30078 -21.7998 7.2998 -27.2998c9.5 -5.5 21.7998 -2.2998 27.2998 7.2998zM265.9 117.4c8.7998 16.2998 -2.5 40 -22.7002 40h-62.1006l85.8008 148.6c5.5 9.5 2.2998 21.7998 -7.30078 27.2998c-9.5 5.5 -21.7998 2.2998 -27.2998 -7.2998
+l-8.89941 -15.4004l-8.90039 15.4004c-5.5 9.5 -17.7002 12.7998 -27.2998 7.2998c-9.5 -5.5 -12.7998 -17.7002 -7.2998 -27.2998l20.5 -35.4004l-65.4004 -113.199h-51c-11 0 -20 -9 -20 -20s9 -20 20 -20h181.9zM364 117.4c11 0 20 8.89941 20 20c0 11 -9 20 -20 20h-52
+c-26.2002 45.2998 -45.7998 79.2998 -58.9004 102c-11.8994 -9.80078 -23.7998 -38.8008 -7.09961 -67.8008c16.5 -28.3994 41.0996 -71.1992 74 -128.1c5.5 -9.5 17.7002 -12.7998 27.2998 -7.2998c9.5 5.5 12.7998 17.7002 7.2998 27.2998l-19.5996 33.9004h29z" />
+ <glyph glyph-name="apper" unicode="&#xf371;" horiz-adv-x="639"
+d="M42.0996 208.9c22.2002 0 29 -2.80078 33.5 -14.6006h0.800781v22.9004c0 11.2998 -4.80078 15.3994 -17.9004 15.3994c-11.2998 0 -14.4004 -2.5 -15.0996 -12.7998h-38.6006c0.299805 13.9004 1.5 19.1006 5.7998 24.4004
+c7.30078 8.7998 18.9004 11.7998 46.1006 11.7998c33 0 47.0996 -5 53.8994 -18.9004c2 -4.2998 4 -15.5996 4 -23.6992v-76.3008h-38.2998l1.2998 19.1006h-1c-5.2998 -15.6006 -13.5996 -20.4004 -35.5 -20.4004c-30.2998 0 -41.0996 10.1006 -41.0996 37.2998
+c0 25.2002 12.2998 35.8008 42.0996 35.8008zM59.2002 160.8c13.0996 0 16.8994 3 16.8994 13.4004c0 9.09961 -4.2998 11.5996 -19.5996 11.5996c-13.0996 0 -17.9004 -3 -17.9004 -12.0996c-0.0996094 -10.4004 3.7002 -12.9004 20.6006 -12.9004zM137 255.7h38.2998
+l-1.5 -20.6006h0.799805c9.10059 17.1006 15.9004 20.9004 37.5 20.9004c14.4004 0 24.7002 -3 31.5 -9.09961c9.80078 -8.60059 12.8008 -20.4004 12.8008 -48.1006c0 -30 -3 -43.0996 -12.1006 -52.8994c-6.7998 -7.30078 -16.3994 -10.1006 -33.2002 -10.1006
+c-20.3994 0 -29.1992 5.5 -33.7998 21.2002h-0.799805v-70.2998h-39.5v169zM217.9 195c0 27.5 -3.30078 32.5 -20.7002 32.5c-16.9004 0 -20.7002 -5 -20.7002 -28.7002c0 -28 3.5 -33.5 21.2002 -33.5c16.3994 0 20.2002 5.60059 20.2002 29.7002zM275.8 255.7h38.2998
+l-1.5 -20.6006h0.800781c9.09961 17.1006 15.8994 20.9004 37.5 20.9004c14.3994 0 24.6992 -3 31.5 -9.09961c9.7998 -8.60059 12.7998 -20.4004 12.7998 -48.1006c0 -30 -3 -43.0996 -12.1006 -52.8994c-6.7998 -7.30078 -16.3994 -10.1006 -33.2998 -10.1006
+c-20.3994 0 -29.2002 5.5 -33.7998 21.2002h-0.799805v-70.2998h-39.5v169h0.0996094zM356.7 195c0 27.5 -3.2998 32.5 -20.7002 32.5c-16.9004 0 -20.7002 -5 -20.7002 -28.7002c0 -28 3.5 -33.5 21.2002 -33.5c16.4004 0 20.2002 5.60059 20.2002 29.7002zM410.5 198.8
+c0 25.4004 3.2998 37.7998 12.2998 45.7998c8.7998 8.10059 22.2002 11.3008 45.1006 11.3008c42.7998 0 55.6992 -12.8008 55.6992 -55.7002v-11.1006h-75.2998c-0.299805 -2 -0.299805 -4 -0.299805 -4.7998c0 -16.8994 4.5 -21.8994 20.0996 -21.8994
+c13.9004 0 17.9004 3 17.9004 13.8994h37.5v-2.2998c0 -9.7998 -2.5 -18.9004 -6.7998 -24.7002c-7.2998 -9.7998 -19.6006 -13.5996 -44.2998 -13.5996c-27.5 0 -41.6006 3.2998 -50.6006 12.2998c-8.5 8.5 -11.2998 21.2998 -11.2998 50.7998zM486.9 210.4
+c-0.300781 1.7998 -0.300781 3.2998 -0.300781 3.7998c0 12.2998 -3.2998 14.5996 -19.5996 14.5996c-14.4004 0 -17.0996 -3 -18.0996 -15.0996l-0.300781 -3.2998h38.3008zM542.5 255.7h38.2998l-1.7998 -19.9004h0.700195
+c6.7998 14.9004 14.3994 20.2002 29.7002 20.2002c10.7998 0 19.0996 -3.2998 23.3994 -9.2998c5.2998 -7.2998 6.7998 -14.4004 6.7998 -34c0 -1.5 0 -5 0.200195 -9.2998h-35c0.299805 1.7998 0.299805 3.2998 0.299805 4c0 15.3994 -2 19.3994 -10.2998 19.3994
+c-6.2998 0 -10.7998 -3.2998 -13.0996 -9.2998c-1 -3 -1 -4.2998 -1 -12.2998v-68h-38.2998v118.5h0.0996094z" />
+ <glyph glyph-name="asymmetrik" unicode="&#xf372;" horiz-adv-x="576"
+d="M517.5 138.8c-13.9004 -14.2998 -30.4004 -27.7002 -48.9004 -39.7998l73.4004 -110.4h-101.6l-45.9004 71.8008c-17.5996 -7.2002 -35.9004 -13.4004 -54.5 -18.7002l32.5996 -53.1006h-135.5l22.8008 37.1006c-23.3008 -2.7002 -46.4004 -3.7002 -68.6006 -2.7002
+l-22 -34.4004h-101.6l34.5 51.7002c-45 17.9004 -68.9004 47.9004 -68.4004 83c0.299805 25.7998 14 54.2998 41.7002 82.9004c38.9004 40 96.5 72.5996 161.6 92.8994c-22.2998 -8.09961 -42 -18.5 -62 -30.6992c-31.1992 -16.2002 -58.6992 -35.9004 -79.5 -58.1006
+c-57.3994 -61 -46.5 -121.8 19.1006 -151.2l190.2 285.5l150.899 -226.399c13 9.5 24.7998 19.7998 35 30.5996c98 104.2 53.7002 207.9 -98.7998 231.7c-68.2998 10.5996 -146.8 5.7002 -221.3 -14.7998c-60.1006 -10 -118.7 -31.7002 -170.7 -58.2002
+c118.1 66.9004 277.9 102.1 406.6 82.4004c110 -16.8008 170.2 -69.5 169.4 -135c-0.400391 -36.1006 -19.7002 -76.1006 -58.5 -116.101zM329.9 58.2998c18.3994 5.2998 36.5 11.7998 53.6992 19.2002l-78.6992 123l-101.9 -159.3
+c22.5 -0.700195 45.7998 0.899414 69.2002 4.39941l32.7002 53.3008z" />
+ <glyph glyph-name="audible" unicode="&#xf373;" horiz-adv-x="640"
+d="M640 248.1v-54l-320 -200l-320 199.9v54l320 -200zM445.5 176.1c-70.7998 94.4004 -200.5 110.7 -290.2 36.3008c-2.59961 -2.2002 -5.2002 -4.40039 -7.7002 -6.7002h-0.299805c37.1006 55.7002 100.601 92.3994 172.601 92.3994s135.5 -36.7998 172.699 -92.5996z
+M225.4 157.3c21 29.6006 55.5 49 94.3994 49c39.2002 0 73.9004 -19.5996 94.7998 -49.5l-45.3994 -28.3994c-21.2002 29.1992 -52 47.5996 -86.4004 47.5996c-20.8994 0 -40.5 -6.7998 -57.3994 -18.7002zM103.6 286.9c-11.5 -9.10059 -24.2998 -22.1006 -34.1992 -32.6006
+c53.8994 82.1006 147 135.601 250.5 135.601c104.899 0 197.199 -54 250.699 -135.7l-48.7998 -30.4004l-0.700195 1c-99.2998 138.5 -285.699 166.4 -417.5 62.1006zM570.6 254.2z" />
+ <glyph glyph-name="avianex" unicode="&#xf374;" horiz-adv-x="512"
+d="M453.1 416c39 0 64.8008 -31.2002 57.8008 -69.7998l-56.7002 -308.5c-7.10059 -38.5 -44.4004 -69.7002 -83.2998 -69.7002h-312c-39 0 -64.8008 31.2002 -57.7002 69.7002l56.5996 308.6c7.10059 38.5 44.4004 69.7002 83.2998 69.7002h312zM394.9 68.7002
+l6.2998 7.89941l-94.9004 119.4l-4.5 7.2998c19.7998 14.2002 33.5 24.2998 35.2998 25.6006c7.90039 6.59961 6.30078 20.7998 -2.69922 31.2998c-9.2002 10.7998 -23 14.3994 -30.7002 7.89941c0 0 -14.4004 -13.5996 -33.7998 -32.3994l-4.90039 4.5l-103.1 112.399
+l-8.90039 -4.7998l-18.7998 -28.8994l68.7998 -99.8008l20.5 -29.5996c-12 -12.2998 -23.5 -24.4004 -32.7998 -34.9004l-58 31.1006l-15.7002 -15.4004l52.4004 -48.0996l40.5996 -61l17.9004 12.7002l-22.1006 64.1992c12.5 7.60059 27 17.1006 41.7002 27.1006
+l115.4 -110z" />
+ <glyph glyph-name="aws" unicode="&#xf375;" horiz-adv-x="640"
+d="M180.41 244.99c-0.719727 -22.6504 10.5996 -32.6807 10.8799 -39.0498c-0.238281 -2.31543 -2.0752 -5.12402 -4.09961 -6.27051l-12.8008 -8.95996c-1.39941 -0.981445 -3.92188 -1.8418 -5.62988 -1.91992c-0.429688 0.0195312 -8.18945 -1.83008 -20.4795 25.6104
+c-13.0283 -16.2627 -40.5127 -29.4609 -61.3496 -29.4609c-0.347656 0 -0.913086 0.00488281 -1.26074 0.0107422c-16.2803 -0.890625 -60.4004 9.24023 -58.1299 56.21c-1.58984 38.2803 34.0596 62.0596 70.9297 60.0498
+c7.10059 -0.0195312 21.6006 -0.370117 46.9902 -6.26953v15.6191c2.69043 26.46 -14.7002 46.9902 -44.8096 43.9102c-2.40039 -0.00976562 -19.4004 0.5 -45.8408 -10.1094c-7.35938 -3.37988 -8.2998 -2.82031 -10.75 -2.82031
+c-7.40918 0 -4.35938 21.4795 -2.93945 24.2002c5.20996 6.39941 35.8604 18.3496 65.9395 18.1797c1.86523 0.165039 4.89844 0.298828 6.77148 0.298828c15.2451 0 37.1611 -7.875 48.9189 -17.5791c9.87305 -11.0439 17.8867 -32.0303 17.8867 -46.8438
+c0 -1.52539 -0.0966797 -3.99609 -0.216797 -5.51562zM93.9902 212.6c32.4297 0.470703 46.1602 19.9707 49.29 30.4707c2.45996 10.0498 2.0498 16.4102 2.0498 27.3994c-9.66992 2.32031 -23.5898 4.85059 -39.5605 4.87012
+c-15.1494 1.14062 -42.8193 -5.62988 -41.7393 -32.2598c-1.24023 -16.79 11.1201 -31.4004 29.96 -30.4805zM264.91 189.55c-7.86035 -0.719727 -11.5205 4.86035 -12.6797 10.3701l-49.8008 164.65c-0.969727 2.7793 -1.60938 5.64941 -1.91992 8.58008
+c-0.0283203 0.189453 -0.0517578 0.5 -0.0517578 0.692383c0 2.18555 1.75195 4.22656 3.91211 4.55762h22.25c8.78027 0.879883 11.6396 -6.03027 12.5498 -10.3701l35.7197 -140.83l33.1602 140.83c0.530273 3.21973 2.94043 11.0693 12.7998 10.2393h17.1602
+c2.16992 0.180664 11.1104 0.5 12.6807 -10.3691l33.4199 -142.631l36.8701 142.631c0.479492 2.17969 2.71973 11.3691 12.6797 10.3691h19.7197c0.850586 0.130859 6.15039 0.810547 5.25 -8.5791c-0.429688 -1.85059 3.41016 10.6592 -52.75 -169.9
+c-1.14941 -5.50977 -4.82031 -11.0898 -12.6797 -10.3701h-18.6904c-10.9395 -1.15039 -12.5098 9.66016 -12.6797 10.75l-33.1602 137.13l-32.7803 -136.99c-0.15918 -1.08984 -1.72949 -11.8994 -12.6797 -10.75h-18.2998v-0.00976562zM538.39 183.92
+c-5.87988 -0.00976562 -33.9199 0.299805 -57.3594 12.29c-4.31152 1.8252 -7.81055 7.10645 -7.81055 11.7891v0.121094v10.75c0 8.4502 6.2002 6.89941 8.83008 5.88965c10.04 -4.05957 16.4805 -7.13965 28.8105 -9.59961
+c36.6494 -7.53027 52.7695 2.2998 56.7197 4.47949c13.1504 7.81055 14.1895 25.6807 5.25 34.9502c-10.4805 8.79004 -15.4805 9.12012 -53.1299 21c-4.64062 1.29004 -43.7002 13.6104 -43.79 52.3604c-0.610352 28.2402 25.0498 56.1797 69.5195 55.9502
+c12.6699 0.00976562 46.4307 -4.13086 55.5703 -15.6201c1.34961 -2.08984 2.01953 -4.5498 1.91992 -7.04004v-10.1104c0 -4.43945 -1.62012 -6.66016 -4.87012 -6.66016c-7.70996 0.860352 -21.3896 11.1699 -49.1602 10.75
+c-6.88965 0.360352 -39.8896 -0.910156 -38.4092 -24.9697c-0.430664 -18.96 26.6094 -26.0703 29.6992 -26.8896c36.46 -10.9707 48.6504 -12.79 63.1201 -29.5801c17.1406 -22.25 7.90039 -48.2998 4.35059 -55.4404
+c-19.0801 -37.4902 -68.4199 -34.4395 -69.2607 -34.4199zM578.59 79.0596c-70.0303 -51.7197 -171.689 -79.25 -258.49 -79.25c-0.853516 -0.00488281 -2.23926 -0.00976562 -3.09277 -0.00976562c-99.5195 0 -240.271 54.0918 -314.177 120.74
+c-6.53027 5.88965 -0.770508 13.96 7.16992 9.46973c81.1748 -46.4336 222.955 -84.1201 316.473 -84.1201h0.407227c69.4072 0.373047 177.64 22.5713 241.59 49.5508c11.7803 5 21.7705 -7.80078 10.1201 -16.3809zM607.78 112.35
+c-8.95996 11.5205 -59.2803 5.38086 -81.8105 2.69043c-6.79004 -0.770508 -7.93945 5.12012 -1.79004 9.46973c40.0703 28.1699 105.88 20.1006 113.44 10.6299c7.5498 -9.46973 -2.0498 -75.4092 -39.5605 -106.909c-5.75977 -4.87012 -11.2695 -2.30078 -8.70996 4.09961
+c8.44043 21.25 27.3906 68.4902 18.4307 80.0195z" />
+ <glyph glyph-name="bimobject" unicode="&#xf378;"
+d="M416 416c17.5996 0 32 -14.4004 32 -32v-384c0 -17.5996 -14.4004 -32 -32 -32h-384c-17.5996 0 -32 14.4004 -32 32v384c0 17.5996 14.4004 32 32 32h384zM352 158.6h-0.0996094v35c0 49.4004 -11.4004 82.5 -103.801 82.5h-17.2998
+c-30 0 -65.0996 -8.2998 -69.7002 -38.7998h-1.09961v74.7002h-64v-232h64v34.7998h0.900391c8 -23.8994 26.2998 -38.7998 70.3994 -38.7998h16.9004c92.3994 0 103.8 33.2002 103.8 82.5996zM288 187.5v-22.9004c0 -21.6992 -3.40039 -33.7998 -38.4004 -33.7998h-45.2998
+c-28.8994 0 -44.0996 6.5 -44.0996 35.7002v19c0 29.2998 15.2002 35.7002 44.0996 35.7002h45.2998c35 0.200195 38.4004 -12 38.4004 -33.7002z" />
+ <glyph glyph-name="bitcoin" unicode="&#xf379;" horiz-adv-x="512"
+d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM362.349 227.33c4.9375 32.999 -20.1904 50.7393 -54.5498 62.5732l11.1465 44.7021l-27.2129 6.78027l-10.8516 -43.5234
+c-7.1543 1.78223 -14.502 3.46387 -21.8027 5.12988l10.9287 43.8096l-27.1982 6.78125l-11.1523 -44.6855c-5.92188 1.34863 -11.7354 2.68164 -17.377 4.08398l0.0302734 0.139648l-37.5293 9.37012l-7.23926 -29.0625s20.1914 -4.62695 19.7646 -4.91309
+c11.0225 -2.75098 13.0146 -10.0439 12.6807 -15.8242l-12.6963 -50.9258c0.759766 -0.193359 1.74414 -0.472656 2.8291 -0.90625c-0.907227 0.224609 -1.87598 0.472656 -2.87598 0.712891l-17.7959 -71.3379c-1.34961 -3.34863 -4.76758 -8.37012 -12.4717 -6.46484
+c0.271484 -0.394531 -19.7793 4.9375 -19.7793 4.9375l-13.5107 -31.1475l35.4141 -8.82617c6.58887 -1.65137 13.0449 -3.37988 19.4004 -5.00684l-11.2617 -45.2129l27.1816 -6.78027l11.1533 44.7324c5.96875 -1.61719 15.6846 -4.13867 21.6865 -5.62695
+l-11.1152 -44.5225l27.2139 -6.78125l11.2617 45.1279c46.4043 -8.78125 81.2988 -5.23926 95.9863 36.7266c11.8359 33.79 -0.589844 53.2812 -25.0049 65.9912c17.7803 4.09766 31.1748 15.792 34.7471 39.9492zM300.172 140.151
+c-8.41016 -33.79 -65.3076 -15.5234 -83.7549 -10.9434l14.9443 59.8994c18.4453 -4.60352 77.5996 -13.7178 68.8105 -48.9561zM308.589 227.818c-7.67285 -30.7363 -55.0312 -15.1201 -70.3926 -11.292l13.5479 54.3262
+c15.3633 -3.82715 64.8359 -10.9727 56.8447 -43.0342z" />
+ <glyph glyph-name="bity" unicode="&#xf37a;" horiz-adv-x="496"
+d="M78.4004 380.8c95.3994 89.2002 246.1 91.2002 343.1 -3.7998c14.2998 -14.0996 -6.40039 -37.0996 -22.4004 -21.5c-84.7998 82.4004 -215.8 80.2998 -298.899 3.2002c-16.2998 -15.1006 -36.5 8.2998 -21.7998 22.0996zM177.3 -37.7998
+c-128.7 38.2998 -201.899 170.7 -169.8 298.1c5.2998 21 35.2002 12.5 30.2002 -7.09961c-28.2998 -111.3 35.2998 -227.101 147.5 -261c21.3994 -6.40039 11.3994 -35.7002 -7.90039 -30zM325.4 -35.7998c-19.2002 -6.2998 -30 22.7002 -8.80078 29.7002
+c106.101 35.5 167.4 145.699 143.2 253.399c-4.89941 21.7002 25.5 27.6006 30 7.90039c28.5 -124.101 -42.5 -250.8 -164.399 -291zM262.5 43.2002c0 -8.2002 -6.59961 -14.7998 -14.7998 -14.7998s-14.7998 6.59961 -14.7998 14.7998l0.199219 71.7998
+c0 8.09961 6.60059 14.7998 14.8008 14.7998c8.19922 0 14.7998 -6.59961 14.7998 -14.7998zM333.5 312.2c0 21.7998 32.5 19.5996 32.5 0v-71.6006c0 -69.2998 -60.7002 -90.8994 -118 -90.0996c-57.2998 -0.799805 -118 20.7998 -118 90.0996v71.6006
+c0 19.5996 32.5 21.7998 32.5 0c-1.40039 -88.2002 -7 -131.8 85.5 -132.5c90.2002 0.599609 87.5996 41.5996 85.5 132.5z" />
+ <glyph glyph-name="blackberry" unicode="&#xf37b;" horiz-adv-x="511"
+d="M166 331.1c0 -23.3994 -16.4004 -49.0996 -72.5 -49.0996h-70.0996l21 88.7998h67.7998c42.0996 0 53.7998 -23.2998 53.7998 -39.7002zM292.2 370.8c42.0996 0 53.7998 -23.2998 53.7002 -39.7002c0 -23.3994 -16.3008 -49.0996 -70.1006 -49.0996h-70.0996
+l18.7002 88.7998h67.7998zM88.7998 239.9c42.1006 0 53.7998 -23.4004 53.7998 -39.7002c0 -25.7002 -16.3994 -49.1006 -72.5 -49.1006h-70.0996l21 88.8008h67.7998zM268.9 239.9c42 0 53.6992 -23.4004 53.6992 -39.7002c0 -25.7002 -16.2998 -49.1006 -70.0996 -49.1006
+h-70.0996l18.6992 88.8008h67.8008zM458.2 293.7c42.0996 0 53.7998 -23.4004 53.7002 -39.7002c0 -25.7002 -16.3008 -49.0996 -70.1006 -49.0996h-70.0996l18.7002 88.7998h67.7998zM430.2 155.8c42.0996 0 53.7002 -23.3994 53.7002 -39.7002
+c0 -25.6992 -14 -49.0996 -70.1006 -49.0996h-70.0996l18.7002 88.7998h67.7998zM240.8 102c42.1006 0 53.7998 -23.4004 53.7002 -39.7002c0 -23.3994 -14 -49.0996 -70.0996 -49.0996h-70.1006l18.7002 88.7998h67.7998z" />
+ <glyph glyph-name="blogger" unicode="&#xf37c;" horiz-adv-x="447"
+d="M162.4 252c4.7998 4.90039 6.19922 5.09961 36.3994 5.09961c27.2002 0 28.1006 -0.0996094 32.1006 -2.09961c5.7998 -2.90039 8.2998 -7 8.2998 -13.5996c0 -5.90039 -2.40039 -10 -7.60059 -13.4004c-2.7998 -1.7998 -4.5 -1.90039 -31.0996 -2.09961
+c-16.4004 -0.100586 -29.5 0.199219 -31.5 0.799805c-10.2998 2.89941 -14.0996 17.7002 -6.59961 25.2998zM223.8 157.5c55.4004 0 55.1006 0 60.4004 -4.7002c7.39941 -7 5.89941 -19.2998 -3.10059 -24.3994l-9.19922 -1.5l-47.9004 -0.600586
+c-42.2002 -0.5 -54.0996 0.200195 -56.2998 1.2002c-4.40039 1.90039 -8.5 7.2998 -9.2002 12c-0.599609 4.5 1.59961 10.7998 5.09961 13.9004c4.40039 3.89941 6.30078 4.09961 60.2002 4.09961zM447.2 27.4004c-3.5 -28.4004 -23 -50.4004 -51.1006 -57.5
+c-7.19922 -1.80078 -9.69922 -1.90039 -172.899 -1.80078c-157.8 0 -165.9 0.100586 -172 1.80078c-8.40039 2.19922 -15.6006 5.5 -22.2998 10c-5.60059 3.7998 -13.9004 11.7998 -17 16.3994c-3.80078 5.60059 -8.2002 15.2998 -10 22
+c-1.80078 6.7002 -1.90039 9.40039 -1.90039 173.4c0 163.1 0 166.6 1.7998 173.7c6.2998 24.6992 25.9004 43.5996 51.2002 49.1992c7.2998 1.60059 332.1 1.90039 340 0.300781c21.2002 -4.30078 37.9004 -17.1006 47.5996 -36.4004c7.7002 -15.2998 7 1.5 7.30078 -180.6
+c0.199219 -115.801 0 -164.5 -0.700195 -170.5zM361.8 212.6c-1.09961 5 -4.2002 9.60059 -7.7002 11.5c-1.09961 0.600586 -8 1.30078 -15.5 1.7002c-12.3994 0.600586 -13.7998 0.799805 -17.7998 3.10059c-6.2002 3.59961 -7.89941 7.59961 -8 18.2998
+c0 20.3994 -8.5 39.3994 -25.2998 56.5c-12 12.2002 -25.2998 20.5 -40.5996 25.0996c-3.60059 1.10059 -11.8008 1.5 -39.2002 1.7998c-42.9004 0.5 -52.5 -0.399414 -67.1006 -6.19922c-27 -10.7002 -46.2998 -33.4004 -53.3994 -62.4004
+c-1.2998 -5.40039 -1.60059 -14.2002 -1.90039 -64.2998c-0.399414 -62.7998 0 -72.1006 4 -84.5c9.7002 -30.7002 37.1006 -53.4004 64.6006 -58.4004c9.19922 -1.7002 122.199 -2.09961 133.699 -0.5c20.1006 2.7002 35.9004 10.7998 50.7002 25.9004
+c10.7002 10.8994 17.4004 22.7998 21.7998 38.5c3.2002 10.8994 2.90039 88.3994 1.7002 93.8994z" />
+ <glyph glyph-name="blogger-b" unicode="&#xf37d;"
+d="M446.6 225.3c2 -8.89941 2.40039 -134.1 -2.5 -151.7c-7.09961 -25.2998 -17.8994 -44.3994 -35.1992 -62.0996c-23.9004 -24.4004 -49.4004 -37.5 -81.9004 -41.9004c-18.7002 -2.5 -201.2 -1.89941 -216 0.800781c-44.5 8 -88.7998 44.6992 -104.4 94.2998
+c-6.2998 20.0996 -7 35 -6.39941 136.5c0.5 81 1 95.0996 3.09961 103.899c11.4004 46.8008 42.6006 83.4004 86.1006 100.601c23.5996 9.39941 39 10.7998 108.399 10c44.2002 -0.5 57.4004 -1.10059 63.2998 -2.90039c24.6006 -7.5 46.2002 -20.7998 65.5 -40.5
+c27.1006 -27.5996 40.8008 -58.2998 40.9004 -91.2998c0.0996094 -17.2002 2.7998 -23.5996 12.9004 -29.5c6.39941 -3.7002 8.59961 -4.09961 28.6992 -5c12 -0.5 23.2002 -1.7002 25 -2.7002c5.7002 -3.09961 10.7002 -10.5 12.5 -18.5zM124.5 288.9
+c-12.2002 -12.3008 -6 -36.1006 10.5996 -40.8008c3.10059 -0.799805 24.3008 -1.39941 50.8008 -1.19922c43 0.199219 45.6992 0.399414 50.2998 3.2998c8.5 5.39941 12.2998 12.0996 12.2998 21.5996c0 10.6006 -4.09961 17.2002 -13.4004 21.9004
+c-6.39941 3.2998 -7.89941 3.39941 -51.7998 3.39941c-48.7998 0 -51 -0.299805 -58.7998 -8.19922zM316.3 89.0996c14.4004 8.2002 17 28.1006 4.90039 39.4004c-8.5 7.90039 -8 7.90039 -97.6006 7.7998c-87.0996 -0.0996094 -90.1992 -0.299805 -97.2998 -6.7002
+c-5.59961 -5.09961 -9.2998 -15.0996 -8.2002 -22.3994c1.10059 -7.7002 7.80078 -16.2998 14.9004 -19.4004c3.59961 -1.59961 22.7998 -2.7998 90.9004 -2l77.5 0.900391z" />
+ <glyph glyph-name="buromobelexperte" unicode="&#xf37f;"
+d="M0 416h128v-128h-128v128zM120 296v112h-112v-112h112zM160 416h128v-128h-128v128zM280 296v112h-112v-112h112zM320 416h128v-128h-128v128zM440 296v112h-112v-112h112zM0 256h128v-128h-128v128zM120 136v112h-112v-112h112zM160 256h128v-128h-128v128zM280 136v112
+h-112v-112h112zM320 256h128v-128h-128v128zM440 136v112h-112v-112h112zM0 96h128v-128h-128v128zM120 -24v112h-112v-112h112zM160 96h128v-128h-128v128zM280 -24v112h-112v-112h112zM320 96h128v-128h-128v128z" />
+ <glyph glyph-name="centercode" unicode="&#xf380;" horiz-adv-x="512"
+d="M329.2 179.4c-3.7998 -35.2002 -35.4004 -60.6006 -70.6006 -56.8008c-35.1992 3.80078 -60.5996 35.4004 -56.7998 70.6006s35.4004 60.5996 70.6006 56.7998c35.0996 -3.7998 60.5996 -35.4004 56.7998 -70.5996zM243.4 -55.7002
+c-146.7 7.7002 -251.601 138.2 -233.301 279.4c11.2002 86.5996 65.8008 156.899 139.101 192c161 77.0996 349.7 -37.4004 354.7 -216.601c4.09961 -147 -118.4 -262.199 -260.5 -254.8zM423.3 124.3c27.9004 118 -160.5 205.9 -237.2 234.2
+c-57.5 -56.2998 -69.0996 -188.6 -33.7998 -344.4c68.7998 -15.7998 169.101 26.4004 271 110.2z" />
+ <glyph glyph-name="cloudscale" unicode="&#xf383;"
+d="M318.1 294c6.2002 6.2998 15.8008 -3.09961 9.5 -9.59961l-75.1992 -88.8008c0.899414 -8.19922 -1.80078 -16.7998 -8.10059 -23.0996c-11.0996 -11 -28.8994 -11 -40 0c-11.0996 11.0996 -11.0996 29 0 40c6.2998 6.2998 14.7998 9 23.1006 8.09961l25.1992 20.4004
+c-16.3994 15.2998 -38.3994 24.7002 -62.5996 24.7002c-50.7998 0 -94.5996 -41.4004 -92.5996 -97.4004c-1 6.2998 -1.40039 12.7998 -1.40039 19.4004c0 71.5 57.7998 132.3 129.4 132.3c31.7998 0 60.7998 -14.2998 83.2998 -33.5996zM234.3 182.5
+c5.60059 5.5 5.60059 14.5996 0 20.2002c-5.59961 5.59961 -14.5996 5.59961 -20.2002 0c-5.59961 -5.60059 -5.59961 -14.6006 0 -20.2002c5.60059 -5.5 14.6006 -5.5 20.2002 0zM224 416c123.5 0 224 -100.5 224 -224s-100.5 -224 -224 -224s-224 100.5 -224 224
+s100.5 224 224 224zM224 32c88.2002 0 160 71.7998 160 160s-71.7998 160 -160 160s-160 -71.7998 -160 -160s71.7998 -160 160 -160z" />
+ <glyph glyph-name="cloudsmith" unicode="&#xf384;" horiz-adv-x="333"
+d="M332.5 28.0996c0 -46.3994 -37.5996 -84.0996 -84 -84.0996s-84 37.7002 -84 84.0996c0 46.4004 37.5996 84 84 84s84 -37.5996 84 -84zM248.5 272c-46.4004 0 -80 -33.5996 -80 -80s-37.5996 -80 -84 -80s-84 33.5996 -84 80s37.5996 88 84 88s76 29.5996 76 76
+s41.5996 84 88 84s80 -37.5996 80 -84s-33.5996 -84 -80 -84z" />
+ <glyph glyph-name="cloudversify" unicode="&#xf385;" horiz-adv-x="615"
+d="M148.6 144v-0.0996094h-48.8994c-6.40039 0 -11.7002 5.39941 -11.7002 11.7998v40.3994c0 7.60059 7 11.9004 10.7998 11.9004h46.7998v-6.59961c0 -10.7002 8.80078 -16.7002 19.5 -16.7002h20.2002c10.7998 0 19.5 8.7998 19.5 19.5v20.3994
+c0 10.6006 -3.5 19.5 -15.2002 19.5c18.5 15.2002 37.2002 21.4004 45 24.1006c15 56.5 42 92.3994 99.3008 109.7c55.0996 16.5 153.5 3.09961 186.5 -85c73.8994 -22.6006 106.899 -92.6006 92.0996 -155.101c-13 -54.8994 -62.2998 -100.6 -131.5 -99.5
+c-49.5996 -51.3994 -135.2 -48.8994 -186.4 -5.59961c-78.5996 -4.2002 -137.8 42.7998 -146 111.3zM376 136c8.7002 -54.0996 59.7002 -65.5 91.7998 -59.2002c39.1006 7.7002 70.5 37.5 79.7002 76.5c5.7998 24.4004 2.40039 50 -9.40039 72l-10.5 19.6006
+c1.2002 -22.5 -12.5 -60.6006 -47.5 -76.9004c65.5 67.7002 2.10059 141.2 -67.6992 150.5c-49.8008 6.59961 -83.3008 -13 -114.2 -43.7002c48 -4.7002 87.7002 -26.7998 101.8 -74.7998c-30.0996 49.2998 -103 56.5996 -133.6 40.7998
+c-35.5 -18.2002 -60 -54 -57 -93.8994c3.59961 -47.4004 39.5 -67.4004 57.3994 -79.8008c-4.5 21.7002 -4 71.3008 29.2002 92.9004c-36.2998 -60 28.0996 -144.6 135.3 -110.8c-33.5996 14.3994 -66 40.5 -55.2998 86.7998zM128 240h-39.7998
+c-8.90039 0 -16.2002 7.2998 -16.2002 16.2002v39.5996c0 8.90039 7.2998 16.2002 16.2002 16.2002h39.7998c8.90039 0 16.2002 -7.2998 16.2002 -16.2002v-39.5996c0 -8.90039 -7.2998 -16.2002 -16.2002 -16.2002zM10.0996 280c-5.59961 0 -10.0996 4.5 -10.0996 10.0996
+v27.8008c0 5.59961 4.5 10.0996 10.0996 10.0996h27.7002c5.5 0 10.1006 -4.5 10.1006 -10.0996v-27.8008c0 -5.59961 -4.5 -10.0996 -10.1006 -10.0996h-27.7002zM168 305.3v21.4004c0 5.09961 4.2002 9.2998 9.2998 9.2998h21.4004
+c5.09961 0 9.2998 -4.2002 9.2998 -9.2998v-21.4004c0 -5.09961 -4.2002 -9.2998 -9.2998 -9.2998h-21.4004c-5.09961 0 -9.2998 4.2002 -9.2998 9.2998zM56 212.5v-25c0 -6.2998 -5.09961 -11.5 -11.4004 -11.5h-25.1992c-6.30078 0 -11.4004 5.2002 -11.4004 11.5v25
+c0 6.2998 5.09961 11.5 11.4004 11.5h25.0996c6.40039 0 11.5 -5.2002 11.5 -11.5z" />
+ <glyph glyph-name="cpanel" unicode="&#xf388;" horiz-adv-x="639"
+d="M210.3 227.8c6.60059 -29.0996 -14.5 -65.2998 -51.7002 -65.2998h-32l6.40039 23.7998c1.7998 6.2002 7.2998 10.7998 14.2998 10.7998h10.2998c12.4004 0 20.8008 11.7002 18.3008 22.6006c-2.10059 9.2002 -9.90039 14.7998 -18.3008 14.7998h-19.7998
+l-25.7998 -95.7002c-1.90039 -6.2002 -7.40039 -10.7002 -14.2002 -10.7002l-24.7002 -0.0996094l34.9004 130.1c1.7998 6.40039 7.2002 10.9004 14.2998 10.9004h37c24.1006 0 45.4004 -16.4004 51 -41.2002zM53.7998 199.8c-24.8994 0 -24.7002 -37.3994 0 -37.3994
+h11.2998c4.2002 0 7.60059 -3.90039 6.40039 -8.30078l-7.09961 -26.0996h-12.4004c-33.5 0 -59 31.4004 -50.2998 65.2002c7.2998 27 28.2998 41.0996 51.2002 41.0996h40l-6.2002 -23.5996c-1.90039 -6.5 -7.40039 -10.9004 -14.2998 -10.9004h-18.6006zM301.3 234.6
+c18.7998 0 33.2998 -17.5996 28.5 -36.7998l-14 -51.7998c-2.7998 -10.5996 -12.2002 -17.7998 -23.3994 -17.7998l-57.5 0.200195c-42.9004 0 -38.5 63.7998 0.699219 63.7998h48.4004l-3.5 -13.2002c-1.90039 -6.2002 -7.40039 -10.7998 -14.2002 -10.7998h-21.5996
+c-5.2998 0 -5.2998 -7.90039 0 -7.90039h34.8994c4.60059 0 5.10059 3.90039 5.5 5.2998l8.60059 31.8008c0.299805 1 1.89941 5.2998 -2.10059 5.2998h-57.5c-9.69922 0 -16.5996 8.89941 -14.1992 18.5l3.5 13.3994h77.8994zM633.1 269c4.5 0 7.7002 -4 6.5 -8.2998
+l-26.5 -98.2002c-5.09961 -20.7002 -24.1992 -34.5 -44.8994 -34.5l35.5996 133.1c1.2002 4.7002 5.5 7.90039 10.4004 7.90039h18.8994zM396.8 234.3c34.4004 0 59.2998 -32.2998 50.2998 -65.3994l-8.7998 -33.1006c-1.2002 -4.89941 -5.7002 -7.7998 -10.2998 -7.7998
+h-19.0996c-4.5 0 -7.60059 4 -6.40039 8.2998l10.5996 40c3.30078 11.6006 -5.59961 23.4004 -18.0996 23.4004h-19.7998l-17.2002 -64c-1.2002 -4.7998 -5.59961 -7.7998 -10.4004 -7.7998h-18.8994c-4.2002 0 -7.60059 3.89941 -6.40039 8.2998l26.2002 98h48.2998
+v0.0996094zM495.1 159.7h73.3008l-5.7002 -21c-1.90039 -6.2002 -7.40039 -10.7002 -14.2002 -10.7002h-66.7002c-20 0 -33.2998 19 -28.2998 36.7002l10.7998 40c4.7998 17.5996 20.7002 29.5996 38.6006 29.5996h47.2998c19 0 33.2002 -17.7002 28.2998 -36.7998
+l-3.2002 -12c-2.89941 -11 -12.7002 -17.5996 -23.2002 -17.5996h-53.3994l3.5 13c1.59961 6.19922 7.2002 10.7998 14.2002 10.7998h21.5996c2 0 3.2998 1 3.90039 3l0.699219 2.59961c0.700195 2.7002 -1.2998 5.10059 -3.89941 5.10059h-32.9004
+c-4.09961 0 -6.89941 -2.10059 -7.7998 -6l-8 -30c-0.900391 -3.30078 1.5 -6.7002 5.09961 -6.7002z" />
+ <glyph glyph-name="css3-alt" unicode="&#xf38b;" horiz-adv-x="384"
+d="M0 416h384l-34.9004 -395.8l-157.1 -52.2002l-157.1 52.2002zM313.1 336h-242.199l5.7998 -47.2998h122.899l-6.5 -2.7002l-112.1 -46.7002l3.59961 -46.2998l0.200195 0.0996094v-0.0996094l166.3 -0.5l-3.69922 -61.5996l-54.7002 -15.4004l-52.6006 13.2998
+l-3.19922 38.2998h-48.9004l6.40039 -73.8994l98.7998 -29.2002l98.2002 28.7002l12.7998 146.6h-111.5l0.299805 0.100586l115.3 49.2998z" />
+ <glyph glyph-name="cuttlefish" unicode="&#xf38c;" horiz-adv-x="431"
+d="M344 142.5c13.7002 -50.9004 41.7002 -93.2998 87 -117.8c-45.2998 -49.6006 -110.5 -80.7002 -183 -80.7002c-137 0 -248 111 -248 248s111 248 248 248c72.5 0 137.7 -31.0996 183 -80.7002c-45.2998 -24.5 -73.2998 -66.8994 -87 -117.8
+c-17.5 31.5996 -57.4004 54.5 -96 54.5c-56.5996 0 -104 -47.4004 -104 -104s47.4004 -104 104 -104c38.5996 0 78.5 22.9004 96 54.5z" />
+ <glyph glyph-name="d-and-d" unicode="&#xf38d;" horiz-adv-x="575"
+d="M82.5 349.1c-0.599609 17.2002 2 33.8008 12.7002 48.2002c0.299805 -7.39941 1.2002 -14.5 4.2002 -21.5996c5.89941 27.5 19.6992 49.2998 42.2998 65.5c-1.90039 -5.90039 -3.5 -11.7998 -3 -17.7002c8.7002 7.40039 18.7998 17.7998 44.3994 22.7002
+c14.7002 2.7998 29.7002 2 42.1006 -1c38.5 -9.2998 61 -34.2998 69.7002 -72.2998c5.2998 -23.1006 0.699219 -45 -8.30078 -66.4004c-5.19922 -12.4004 -12 -24.4004 -20.6992 -35.0996c-2 1.89941 -3.90039 3.7998 -5.80078 5.59961
+c-42.7998 40.7998 -26.7998 25.2002 -37.3994 37.4004c-1.10059 1.19922 -1 2.19922 -0.100586 3.59961c8.30078 13.5 11.8008 28.2002 10 44c-1.09961 9.7998 -4.2998 18.9004 -11.2998 26.2002c-14.5 15.2998 -39.2002 15 -53.5 -0.600586
+c-11.3994 -12.5 -14.0996 -27.3994 -10.8994 -43.5996c0.199219 -1.2998 0.399414 -2.7002 0 -3.90039c-3.40039 -13.6992 -4.60059 -27.5996 -2.5 -41.5996c0.0996094 -0.5 0.0996094 -1.09961 0.0996094 -1.59961c0 -0.300781 -0.0996094 -0.5 -0.200195 -1.10059
+c-21.7998 11 -36 28.2998 -43.2002 52.2002c-8.2998 -17.7998 -11.0996 -35.5 -6.59961 -54.0996c-15.5996 15.1992 -21.2998 34.2998 -22 55.1992zM552.1 225.9c0.5 -0.600586 1.2002 -1 1.7002 -1.40039v-0.5c-15 3.59961 -29.7998 1.7998 -44.5 -1.2998
+c-9.2998 -2 -18.2998 -4.7002 -26.7002 -9c-2.89941 -1.5 -5.69922 -3.2998 -8 -4.7002c-5.7998 2.40039 -11.2998 5.5 -17.1992 6.7998c-24.5 5.2998 -45.8008 -1.2002 -62.5 -20c-19.7002 -22.2002 -34.5 -47.5996 -46.7002 -74.5l-1.2002 -2.7002
+c-0.0996094 -0.199219 -0.200195 -0.299805 -0.400391 -0.399414c-12.0996 8.2998 -21.5996 20.2998 -36.0996 25.5996c0.299805 0.400391 0.400391 0.900391 0.700195 1.2998c20.5996 28.2002 44.8994 52.5 75.0996 70.4004c16 9.5 33 16.0996 51.5 18.5
+c1.7998 0.200195 3.5 0.400391 5.2998 1.09961c-4.39941 0 -8.7998 0.300781 -13.0996 -0.0996094c-21.2002 -1.90039 -40.5 -9.59961 -58.7002 -20.2002c-13.7998 -8 -26.2002 -17.7002 -36.5996 -29.7998c-0.400391 -0.5 -0.600586 -1.09961 -0.900391 -1.7002
+c-0.299805 0.299805 -0.700195 0.600586 -1 0.900391c11 30.8994 30.7002 55 57.7002 73.2998c0.200195 -0.200195 0.5 -0.299805 0.700195 -0.5c-1.2002 -1.7002 -2.5 -3.2998 -3.5 -5.09961c-1.7998 -3.30078 -3.7002 -6.5 -5.10059 -10
+c-1.7998 -4.30078 1.60059 -8.60059 12 -0.5c18.2002 14.0996 29.6006 26.2998 48.9004 29.5996c0.700195 0.0996094 1.2998 0.299805 1.90039 0.299805h2.5c-1 -0.700195 -1.60059 -1.09961 -2.2002 -1.5c-11.6006 -7.7998 -11.7998 -7.39941 -15 -12
+c-2.60059 -3.7002 -0.200195 -8 4.7002 -6.7998c2.59961 0.599609 5.19922 1.2998 7.69922 2.2002c9.40039 3.2998 19 5.7998 29 6.39941c13.9004 0.800781 27.1006 -1.89941 39.9004 -7.09961c15.0996 -6.2002 28.5 -15 40.0996 -26.5996zM316.7 50.4004
+c1.5 -1.30078 1.89941 -2.40039 0.899414 -4.2002c-25.2998 -50.2002 -61.0996 -89.1006 -116 -98.7998c-26.7998 -4.7002 -52.8994 -2.7002 -77.8994 8.59961c-18.5 8.2002 -34.6006 19.5996 -47.2002 35.5996c-2 2.60059 -3.7002 5.40039 -5.90039 8.60059
+c-0.699219 -7.7998 0.100586 -14.9004 1.5 -21.9004c-0.199219 -0.200195 -0.399414 -0.299805 -0.599609 -0.5c-3.2002 3.40039 -6.59961 6.60059 -9.5 10.2998c-12.2002 15.5 -19.5 33.3008 -24.0996 52.3008c-11.8008 48.2998 -0.5 78.7998 7.7998 101.1
+c-8.7002 -4.7998 -16.2002 -10.2998 -23.6006 -16.2002c11.6006 32.7998 31.9004 59.9004 56.1006 84.6006c2.39941 -2.10059 3.2998 -4.7002 3 -7.40039c-0.200195 -1 -5.90039 -38.9004 -5.60059 -44.7002c18.9004 18.9004 40.5 33.2998 64.8008 43.9004
+c-7.5 -11.1006 -11 -23.4004 -11.8008 -37.2998c13.4004 12.1992 27.7002 20.0996 46.4004 13.8994c-8.5 -9.09961 -30.7998 -30.5 -38.5996 -64.2998c-5.10059 -21.9004 -3.80078 -43.0996 8.19922 -62.5996c11.2002 -18.3008 27.8008 -27.8008 49.4004 -27.8008
+c12.5996 0 23.7998 5 34.0996 11.8008c18.5 12.2998 32.8008 28.5 44 47.5996c1.90039 3.2002 1.10059 2.09961 1.90039 3c19.9004 -16.0996 3.2998 -2.59961 42.7002 -35.5996zM488.7 96.7998c20.2002 -6.59961 35.5 -18.7998 43.7998 -38.8994
+c9.2002 -23.1006 2.09961 -49.4004 -17.4004 -66c-16.3994 -14 -35.6992 -19.2002 -57 -17.4004c-0.599609 0 -1.19922 0 -1.89941 -0.299805c15.0996 -10.7002 31.5996 -15.2002 50.8994 -10.6006c-2.19922 -2.39941 -3.89941 -4.69922 -5.89941 -6.5
+c-12.2998 -10.8994 -26.9004 -16.8994 -42.9004 -19.7998c-39.5996 -7.2998 -75.5996 12.7998 -85 56.9004c-0.5 2.09961 -0.599609 4.2002 -0.899414 6.39941c-10.8008 -8.19922 -16.4004 -34.0996 -0.700195 -52.2998c-1.60059 0.5 -2.60059 0.700195 -3.60059 1.10059
+c-21.2998 8.2998 -34.3994 28.2998 -33.5 51.1992c0.900391 23.2002 4.90039 41 -13 56c-16.5 13.8008 -33 27.4004 -49.5 41.1006c-8.09961 6.7002 -14.7998 14.5 -17 25.0996c-1 4.60059 -1.39941 9.40039 -1.7998 14.1006c-0.5 6.09961 -3.2998 11 -7.89941 14.7998
+c-4.5 3.89941 -9.30078 7.39941 -13.8008 11.2002c-8.89941 7.5 -12.2998 18.8994 -7.2998 29.8994c2.7998 -12.8994 9.60059 -18.8994 22.6006 -20.2998c4.39941 -0.5 8.89941 -0.799805 13.2998 -1.5c8.09961 -1.2002 12.7998 -6.09961 14.2998 -14.2002
+c0.700195 -3.39941 1.2998 -6.7998 2.2002 -10.2002c1.59961 -5.59961 4.5 -8 10.3994 -8.39941c4.60059 -0.299805 9.30078 -0.5 13.9004 -0.900391c7.59961 -0.599609 14.2002 -3.7998 20.0996 -8.7002c19.4004 -16.1992 39 -32.1992 58.5 -48.2998
+c5.7002 -4.7002 12 -8.2002 19.6006 -8.5c16.7002 -0.599609 29 15.2002 24.7998 31.7998c-0.200195 0.700195 -0.400391 1.5 -0.0996094 2.80078c2.39941 -2 4.89941 -3.80078 7 -5.90039c14.0996 -14 18.0996 -39.2998 8.69922 -56.0996
+c-2.09961 -3.80078 -5.2998 -7.10059 -8.09961 -10.8008c0.700195 -0.199219 1.7998 -0.5 3 -0.599609c14 -1.40039 27.2002 1 38.9004 9.09961c15.7998 10.9004 18 31.2002 5.39941 45.6006c-4.7002 5.39941 -8.89941 8 -18.7998 12
+c6.5 1.2998 19.2002 0.200195 28.7002 -2.90039zM99.4004 268.7c-5.30078 9.2002 -13.2002 15.5996 -22.1006 21.2998c13.7002 0.5 26.6006 -0.200195 39.6006 -3.7002c-7 12.2002 -8.5 24.7002 -5 38.7002c5.2998 -11.9004 13.6992 -20.0996 23.5996 -26.7998
+c19.7002 -13.2002 35.7002 -19.6006 46.7002 -30.2002c3.39941 -3.2998 6.2998 -7.09961 9.59961 -10.9004c-0.799805 2.10059 -1.39941 4.10059 -2.2002 6c-5 10.6006 -13 18.6006 -22.5996 25c-1.7998 1.2002 -2.7998 2.5 -3.40039 4.5
+c-3.2998 12.5 -3 25.1006 -0.699219 37.6006c1 5.5 2.7998 10.8994 4.5 16.2998c0.799805 2.40039 2.2998 4.59961 4 6.59961c0.599609 -6.89941 0 -25.5 19.5996 -46c10.7998 -11.2998 22.4004 -21.8994 33.9004 -32.6992c9 -8.5 18.2998 -16.7002 25.5 -26.8008
+c1.09961 -1.59961 2.19922 -3.2998 3.7998 -4.69922c-5 13 -14.2002 24.0996 -24.2002 33.7998c-9.59961 9.2998 -19.4004 18.3994 -29.2002 27.3994c-3.2998 3 -4.59961 6.7002 -5.09961 10.9004c-1.2002 10.4004 0 20.5996 4.2998 30.2002c0.5 1 1.09961 2 1.90039 3.2998
+c0.5 -4.2002 0.599609 -7.90039 1.39941 -11.5996c4.7998 -23.1006 20.4004 -36.3008 49.2998 -63.5c10 -9.40039 19.3008 -19.2002 25.6006 -31.6006c4.7998 -9.2998 7.2998 -19 5.7002 -29.5996c-0.100586 -0.600586 0.5 -1.7002 1.09961 -2
+c6.2002 -2.60059 10 -6.90039 9.7002 -14.2998c7.7002 2.59961 12.5 8 16.3994 14.5c4.2002 -20.2002 -9.09961 -50.3008 -27.1992 -58.7002c0.399414 4.5 5 23.3994 -16.5 27.7002c-6.80078 1.2998 -12.8008 1.2998 -22.9004 2.09961c4.7002 9 10.4004 20.5996 0.5 22.4004
+c-24.9004 4.59961 -52.7998 -1.90039 -57.7998 -4.60059c8.2002 -0.399414 16.2998 -1 23.5 -3.2998c-2 -6.5 -4 -12.7002 -5.7998 -18.9004c-1.90039 -6.5 2.09961 -14.5996 9.2998 -9.59961c1.2002 0.900391 2.2998 1.90039 3.2998 2.7002
+c-3.09961 -17.9004 -2.90039 -15.9004 -2.7998 -18.2998c0.299805 -10.2002 9.5 -7.80078 15.7002 -7.30078c-2.5 -11.7998 -29.5 -27.2998 -45.4004 -25.7998c7 4.7002 12.7002 10.2998 15.9004 17.9004c-6.5 -0.799805 -12.9004 -1.60059 -19.2002 -2.40039
+l-0.299805 0.900391c4.69922 3.39941 8 7.7998 10.1992 13.0996c8.7002 21.1006 -3.59961 38 -25 39.9004c-9.09961 0.799805 -17.7998 -0.799805 -25.8994 -5.5c6.2002 15.5996 17.2002 26.5996 32.5996 34.5c-15.2002 4.2998 -8.89941 2.7002 -24.5996 6.2998
+c14.5996 9.2998 30.2002 13.2002 46.5 14.5996c-5.2002 3.2002 -48.1006 3.60059 -70.2002 -20.8994c7.90039 -1.40039 15.5 -2.7998 23.2002 -4.2002c-23.7998 -7 -44 -19.7002 -62.4004 -35.5996c1.10059 4.7998 2.7002 9.5 3.2998 14.2998
+c0.600586 4.5 0.800781 9.2002 0.100586 13.5996c-1.5 9.40039 -8.90039 15.1006 -19.7002 16.2998c-7.90039 0.900391 -15.5996 -0.0996094 -23.2998 -1.2998c-0.900391 -0.0996094 -1.7002 -0.299805 -2.90039 0c15.7998 14.7998 36 21.7002 53.1006 33.5
+c6 4.5 6.7998 8.2002 3 14.9004zM227.8 241.9c3.2998 -16 12.6006 -25.5 23.7998 -24.3008c-4.59961 11.3008 -12.0996 19.5 -23.7998 24.3008z" />
+ <glyph glyph-name="deploydog" unicode="&#xf38e;" horiz-adv-x="512"
+d="M382.2 312h51.7002v-239.6h-51.7002v20.6992c-19.7998 -24.7998 -52.7998 -24.0996 -73.7998 -14.6992c-26.2002 11.6992 -44.3008 38.0996 -44.3008 71.7998c0 29.7998 14.8008 57.8994 43.3008 70.7998c20.1992 9.09961 52.6992 10.5996 74.7998 -12.9004v103.9z
+M317.5 150.2c0 -18.2002 13.5996 -33.5 33.2002 -33.5c19.7998 0 33.2002 16.3994 33.2002 32.8994c0 17.1006 -13.7002 33.2002 -33.2002 33.2002c-19.6006 0 -33.2002 -16.3994 -33.2002 -32.5996zM188.5 312h51.7002v-239.6h-51.7002v20.6992
+c-19.7998 -24.7998 -52.7998 -24.0996 -73.7998 -14.6992c-26.2002 11.6992 -44.2998 38.0996 -44.2998 71.7998c0 29.7998 14.7998 57.8994 43.2998 70.7998c20.2002 9.09961 52.7002 10.5996 74.7998 -12.9004v103.9zM123.8 150.2c0 -18.2002 13.6006 -33.5 33.2002 -33.5
+c19.7998 0 33.2002 16.3994 33.2002 32.8994c0 17.1006 -13.7002 33.2002 -33.2002 33.2002c-19.7002 0 -33.2002 -16.3994 -33.2002 -32.5996zM448 352h-384c-17.5996 0 -32 -14.5 -32 -32v-256c0 -17.5996 14.5 -32 32 -32h384c17.5996 0 32 14.5 32 32v256
+c0 17.5996 -14.5 32 -32 32zM448 384c35.2002 0 64 -28.7998 64 -64v-256c0 -35.2002 -28.7998 -64 -64 -64h-384c-35.2002 0 -64 28.7998 -64 64v256c0 35.2002 28.7998 64 64 64h384z" />
+ <glyph glyph-name="deskpro" unicode="&#xf38f;" horiz-adv-x="480"
+d="M205.9 -64l31.0996 38.4004c12.2998 0.199219 25.5996 1.39941 36.5 6.59961c38.9004 18.5996 38.4004 61.9004 38.2998 63.7998c-0.0996094 5 -0.799805 4.40039 -28.8994 37.4004h79.0996c-0.200195 -50.1006 -7.2998 -68.5 -10.2002 -75.7002
+c-9.39941 -23.7002 -43.8994 -62.7998 -95.2002 -69.4004c-8.69922 -1.09961 -32.7998 -1.19922 -50.6992 -1.09961zM406.3 103.7l-119.2 -0.100586l17.4004 31.3008l175.5 -0.300781c-15.2002 -17.2998 -35.0996 -30.8994 -73.7002 -30.8994zM362.7 327.6v-168.3h-73.5
+l-32.7002 -55.5h-6.5c-52.2998 0 -58.0996 56.5 -58.2998 58.9004c-1.2002 13.2002 -21.2998 11.5996 -20.1006 -1.7998c1.40039 -15.8008 8.80078 -40 26.4004 -57.1006h-91c-25.5 0 -110.8 26.7998 -107 114v213.3c0 16 9.7002 16.6006 15 16.8008h82
+c0.200195 0 0.299805 -0.100586 0.5 -0.100586c4.2998 0.400391 50.0996 2.10059 50.0996 -43.7002c0 -13.2998 20.2002 -13.3994 20.2002 0c0 18.2002 -5.5 32.8008 -15.7998 43.7002h84.2002c108.7 0.400391 126.5 -79.3994 126.5 -120.2zM230.2 271.6l64 -29.2998
+c13.2998 45.5 -42.2002 71.7002 -64 29.2998z" />
+ <glyph glyph-name="digital-ocean" unicode="&#xf391;" horiz-adv-x="511"
+d="M87 -33.7998v73.5996h73.7002v-73.5996h-73.7002zM25.4004 101.4h61.5996v-61.6006h-61.5996v61.6006zM491.6 271.1c53.2002 -170.3 -73 -327.1 -235.6 -327.1v95.7998h0.299805v0.299805c101.7 0.200195 180.5 101 141.4 208
+c-14.2998 39.6006 -46.1006 71.4004 -85.7998 85.7002c-107.101 38.7998 -208.101 -39.8994 -208.101 -141.7h-95.7998c0 162.2 156.9 288.7 327 235.601c74.2002 -23.2998 133.6 -82.4004 156.6 -156.601zM256.3 40.0996h-0.299805v-0.299805h-95.2998v95.6006h95.5996
+v-95.3008z" />
+ <glyph glyph-name="discord" unicode="&#xf392;"
+d="M297.216 204.8c0 -15.6162 -11.5195 -28.416 -26.1123 -28.416c-14.3359 0 -26.1113 12.7998 -26.1113 28.416s11.5195 28.416 26.1113 28.416c14.5928 0 26.1123 -12.7998 26.1123 -28.416zM177.664 233.216c14.5918 0 26.3682 -12.7998 26.1123 -28.416
+c0 -15.6162 -11.5205 -28.416 -26.1123 -28.416c-14.3359 0 -26.1123 12.7998 -26.1123 28.416s11.5205 28.416 26.1123 28.416zM448 395.264v-459.264c-64.4941 56.9941 -43.8682 38.1279 -118.784 107.776l13.5684 -47.3604h-290.304
+c-28.9287 0 -52.4805 23.5518 -52.4805 52.7363v346.111c0 29.1846 23.5518 52.7363 52.4805 52.7363h343.039c28.9287 0 52.4805 -23.5518 52.4805 -52.7363zM375.04 152.576c0 82.4316 -36.8643 149.248 -36.8643 149.248
+c-36.8643 27.6475 -71.9355 26.8799 -71.9355 26.8799l-3.58398 -4.0957c43.5195 -13.3125 63.7441 -32.5127 63.7441 -32.5127c-60.8115 33.3291 -132.244 33.335 -191.232 7.42383c-9.47168 -4.35156 -15.1035 -7.42383 -15.1035 -7.42383
+s21.2471 20.2246 67.3271 33.5361l-2.55957 3.07227s-35.0723 0.767578 -71.9355 -26.8799c0 0 -36.8643 -66.8164 -36.8643 -149.248c0 0 21.5039 -37.1201 78.0801 -38.9121c0 0 9.47168 11.5195 17.1514 21.248c-32.5117 9.72754 -44.7998 30.208 -44.7998 30.208
+c3.7666 -2.63574 9.97656 -6.05273 10.4961 -6.40039c43.21 -24.1973 104.588 -32.126 159.744 -8.95996c8.95996 3.32812 18.9443 8.19238 29.4395 15.1045c0 0 -12.7998 -20.9922 -46.3359 -30.4639c7.68066 -9.72852 16.8965 -20.7363 16.8965 -20.7363
+c56.5762 1.79199 78.3359 38.9121 78.3359 38.9121z" />
+ <glyph glyph-name="discourse" unicode="&#xf393;"
+d="M225.9 416c122.699 0 222.1 -102.3 222.1 -223.9c0 -121.6 -99.4004 -223.899 -222.1 -223.899l-225.801 -0.200195s-0.0996094 224 -0.0996094 227.9c0 121.6 103.3 220.1 225.9 220.1zM224 64c70.7002 0 128 57.2998 128 128s-57.2998 128 -128 128
+s-128 -57.2998 -128 -128c0 -22.0996 5.59961 -42.9004 15.4004 -61l-22.9004 -75l81.0996 20.0996c16.5 -7.7998 35 -12.0996 54.4004 -12.0996z" />
+ <glyph glyph-name="dochub" unicode="&#xf394;" horiz-adv-x="400"
+d="M397.9 288h-141.9v140.4zM304 256h96v-126.1c0 -129.301 -70.2998 -193.9 -210.8 -193.9h-189.2v512h189.2c12.2002 0 23.7002 -1.09961 34.5996 -3.2998v-84c-10 1.7002 -21.0996 2.5 -33.0996 2.5h-94.7002v-337.3h94.7002c76.7998 0 113.3 33.2998 113.3 100.1v130z
+" />
+ <glyph glyph-name="docker" unicode="&#xf395;" horiz-adv-x="640"
+d="M349.9 211.7h-66.1006v59.3994h66.1006v-59.3994zM349.9 416v-60.7002h-66.1006v60.7002h66.1006zM428.1 271.2v-59.4004h-66.0996v59.4004h66.0996zM271.8 343.3v-60.0996h-66.0996v60.0996h66.0996zM349.9 343.3v-60.0996h-66.1006v60.0996h66.1006zM626.7 243.3
+l13.2998 -8.89941c-1.90039 -3.90039 -7 -14.6006 -8.5 -17.1006c-23.7002 -45.2998 -69.9004 -45.5996 -91.2998 -45.2002c-54.5 -131.699 -171 -204.199 -328.4 -204.199c-72.7002 0 -128.3 22.2998 -165.399 66.1992c-38.2002 45.3008 -52.7002 111.301 -44 162.101
+h434.699c22.6006 -0.400391 39.7002 6 48.4004 10.7002c-19.7002 30.1992 -14.7002 76 3.7002 103.8l9.2998 14l14 -9.2998c24.4004 -18.8008 37.7998 -39.7002 41.0996 -63.7002c25.5 4.7998 58.7002 1.2998 73.1006 -8.40039zM115.6 271.2h0.100586v-59.4004h-66.1006
+v59.4004h66zM193.7 271.2v-59.4004h-66.1006v59.4004h66.1006zM271.8 271.2v-59.4004h-66.0996v59.4004h66.0996zM193.7 343.3v-60.0996h-66.1006v60.0996h66.1006z" />
+ <glyph glyph-name="draft2digital" unicode="&#xf396;" horiz-adv-x="480"
+d="M480 49.9004l-144 -81.9004v64.2002l-336 -0.100586c18.2998 19.1006 84.5 87.8008 161.1 174.801c32.6006 37.1992 78 83.2998 69.7002 127.6c-5.2998 28.2998 -42.2002 50.7998 -83.2998 33.5c-8.59961 -3.59961 -24.5 -17.4004 -26.2998 -24.7002
+c28.2998 -4.7002 48 -29.7002 48 -56.7998c0 -31.7002 -25.6006 -57.4004 -57.2998 -57.4004c-37.3008 0 -62.2002 34.1006 -56.7002 67.1006c1.2002 7.89941 5.09961 26.7998 18.2002 47.7002c14.8994 23.8994 45.1992 54.8994 104.3 67.2998
+c103.8 21.7002 161.6 -36.6006 166 -41.2002c28.8994 -29.9004 48 -90.7002 12.7998 -153.3c-30 -53.4004 -81 -114.3 -111.8 -149.3h91.2998v64.6992zM369.9 77v-54.4004l47.0996 27.2002zM134.2 286.6c0 12.3008 -10 22.4004 -22.4004 22.4004
+c-12.3994 0 -22.3994 -10 -22.3994 -22.4004c0 -12.3994 10 -22.3994 22.3994 -22.3994c12.4004 0 22.4004 10 22.4004 22.3994zM82.5 67.5h114.4c17.5996 19.2002 91.5 100.8 128.5 166.7c36.5996 65.0996 -5.80078 113.3 -5.80078 113.3
+c-14.1992 14.9004 -36.8994 36.2002 -82.1992 38.2998c6.7998 -5.5 16.8994 -16.8994 24.2998 -35.7002c11.8994 -30.2998 6.7002 -69.5996 -28.4004 -112.699c-53.0996 -65.2002 -125.2 -142.5 -150.8 -169.9z" />
+ <glyph glyph-name="dribbble-square" unicode="&#xf397;"
+d="M90.2002 219.8c8.89941 42.4004 37.3994 77.7002 75.7002 95.7002c3.59961 -4.90039 28 -38.7998 50.6992 -79c-64 -17 -120.3 -16.7998 -126.399 -16.7002zM314.6 294c-2.5 -3.5 -23 -31.0996 -71.5996 -49.4004c-22.4004 41.1006 -47.2002 74.9004 -51 80
+c43.2998 10.5 89 -0.799805 122.6 -30.5996zM140.1 84c14.3008 29.2002 53 66.7998 108.101 85.5996c19.2002 -49.7998 27.2002 -91.5996 29.2002 -103.6c-44 -18.7002 -96.8008 -13.5996 -137.301 18zM238.9 192.2c-49.4004 -13.9004 -94.3008 -53.9004 -116.5 -91.7998
+c-21.8008 24.2998 -35.1006 56.2998 -35.1006 91.3994c0 1.40039 0.100586 2.7998 0.100586 4.2002c6 -0.200195 72.1992 -1 140.399 19.4004c3.90039 -7.7002 7.7002 -15.4004 11.1006 -23.2002zM273.8 175.9c42.7998 6.89941 80.5 -4.30078 85.1006 -5.80078
+c-6.10059 -38 -27.9004 -70.8994 -58.6006 -91.5996c-1.39941 8.2998 -8.59961 48.2998 -26.5 97.4004zM253.5 224.3c50.5 20.7002 73.4004 50 76.2998 53.9004c19.1006 -23.2002 30.6006 -52.7998 30.9004 -85.1006c-4.5 1 -49.7002 10.1006 -95.2002 4.40039
+c-3.7002 9 -7.2002 17 -12 26.7998zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM384 192c0 88.2002 -71.7998 160 -160 160s-160 -71.7998 -160 -160s71.7998 -160 160 -160
+s160 71.7998 160 160z" />
+ <glyph glyph-name="dyalog" unicode="&#xf399;" horiz-adv-x="416"
+d="M0 416h171.2c74.5 0 137.7 -24 182.5 -69.5996c40.2002 -40.9004 62.2998 -95.6006 62.2998 -154.301c0 -111.399 -84.0996 -224.1 -244.8 -224.1h-171.2v64h171.2c122.2 0 180.8 84 180.8 160.1c0 79.7002 -67.4004 159.9 -180.8 159.9h-107.2v-55.2002h-64v119.2z" />
+ <glyph glyph-name="earlybirds" unicode="&#xf39a;" horiz-adv-x="480"
+d="M313.2 400.5c1.2002 13 21.2998 14 36.5996 8.7002c0.900391 -0.299805 26.2002 -9.7002 19 -15.2002c-27.8994 7.40039 -56.3994 -18.2002 -55.5996 6.5zM112.2 393.6c-7.7998 6.2002 19.8994 16.4004 20.8994 16.7002c16.8008 5.7002 38.9004 4.60059 40.2002 -9.59961
+c0.900391 -27.1006 -30.3994 1 -61.0996 -7.10059zM319.4 288c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16c-8.80078 0 -16 7.2002 -16 16s7.19922 16 16 16zM159.7 288c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16z
+M478.2 124.8c-9.90039 -24 -40.7002 -11 -63.9004 1.2002c-13.5 -69.0996 -58.0996 -111.4 -126.3 -124.2c0.299805 -0.899414 -2 0.100586 24 -1c33.5996 -1.39941 63.7998 3.10059 97.4004 8c-19.8008 13.7998 -11.4004 37.1006 -9.80078 38.1006
+c1.40039 0.899414 14.7002 -1.7002 21.6006 -11.5c8.59961 12.5 28.3994 14.7998 30.2002 13.5996c1.59961 -1.09961 6.59961 -20.9004 -6.90039 -34.5996c4.7002 0.899414 8.2002 1.59961 9.7998 2.09961c2.60059 0.799805 17.7002 -11.2998 3.10059 -13.2998
+c-14.3008 -2.2998 -22.6006 -5.10059 -47.1006 -10.7998c-45.8994 -10.7002 -85.8994 -11.8008 -117.7 -12.8008l1 -11.5996c3.80078 -18.0996 -23.3994 -24.2998 -27.5996 -6.2002c0.799805 -17.8994 -27.0996 -21.7998 -28.4004 1l-0.5 -5.2998
+c-0.699219 -18.4004 -28.3994 -17.9004 -28.2998 0.599609c-7.5 -13.5 -28.0996 -6.7998 -26.3994 8.5l1.19922 12.4004c-36.6992 -0.900391 -59.6992 -3.09961 -61.7998 -3.09961c-20.8994 0 -20.8994 31.5996 0 31.5996c2.40039 0 27.7002 -1.2998 63.2002 -2.7998
+c-61.0996 15.5 -103.7 55 -114.9 118.2c-25 -12.8008 -57.5 -26.8008 -68.1992 -0.800781c-10.5 25.4004 21.5 42.6006 66.7998 73.4004c0.700195 6.59961 1.59961 13.2998 2.7002 19.7998c-14.4004 19.6006 -11.6006 36.2998 -16.1006 60.4004
+c-16.7998 -2.40039 -23.2002 9.09961 -23.5996 23.0996c0.299805 7.2998 2.09961 14.9004 2.39941 15.4004c1.10059 1.7998 10.1006 2 12.7002 2.59961c6 31.7002 50.6006 33.2002 90.9004 34.5c19.7002 21.7998 45.2002 41.5 80.8994 48.2998
+c-15.2998 19.4004 -3.39941 39.9004 -2.39941 40.4004c1.7002 0.799805 21.2002 -4.2998 26.2998 -23.2002c5.2002 8.7998 18.2998 11.4004 19.5996 10.7002c1.10059 -0.599609 6.40039 -15 -4.89941 -25.9004c40.2998 -3.5 72.2002 -24.6992 96 -50.6992
+c36.0996 -1.5 71.7998 -5.90039 77.0996 -34c2.7002 -0.600586 11.6006 -0.800781 12.7002 -2.60059c0.299805 -0.5 2.09961 -8.09961 2.40039 -15.3994c-0.5 -13.9004 -6.80078 -25.4004 -23.6006 -23.1006c-3.2002 -17.2998 -2.7002 -32.8994 -8.7002 -47.7002
+c2.40039 -11.6992 4 -23.7998 4.80078 -36.3994c37 -25.4004 70.2998 -42.5 60.2998 -66.9004zM207.4 288.1c0.899414 44 -37.9004 42.2002 -78.6006 40.3008c-21.7002 -1 -38.8994 -1.90039 -45.5 -13.9004c-11.3994 -20.9004 5.90039 -92.9004 23.2002 -101.2
+c9.7998 -4.7002 73.4004 -7.89941 86.2998 7.10059c8.2002 9.39941 15 49.3994 14.6006 67.6992zM259.4 229.8c-4.30078 12.4004 -6 30.1006 -15.3008 32.7002c-2 0.5 -9 0.5 -11 0c-10 -2.7998 -10.7998 -22.0996 -17 -37.2002c15.4004 0 19.3008 -9.7002 23.7002 -9.7002
+c4.2998 0 6.2998 11.3008 19.6006 14.2002zM395.1 314.5c-6.59961 12.0996 -24.7998 12.9004 -46.5 13.9004c-40.1992 1.89941 -78.1992 3.7998 -77.2998 -40.3008c-0.5 -18.2998 5 -58.2998 13.2002 -67.7998c13 -14.8994 76.5996 -11.7998 86.2998 -7.09961
+c15.7998 7.59961 36.5 78.8994 24.2998 101.3z" />
+ <glyph glyph-name="erlang" unicode="&#xf39d;" horiz-adv-x="640"
+d="M87.2002 394.5c-41.5 -50.2002 -65.6006 -116.2 -65.5 -192.9c-0.100586 -86.7998 29 -159.5 78.7002 -212.1h-100.4v405h87.2002zM325.4 384.8c46.1992 -0.0996094 79.5996 -33.5 80.6992 -83.2002h-169.899c4.09961 49.7002 43.2998 83.1006 89.2002 83.2002z
+M556.1 394.4h0.300781l-0.100586 0.0996094zM556.4 394.4h83.5996v-405h-80.7998c21.3994 23 40.5 49.8994 57.8994 80.7998l-96.3994 48.2002c-33.9004 -55.1006 -83.4004 -105.801 -151.9 -106.101c-99.7002 0.400391 -138.8 85.6006 -138.6 195.3h372.399
+c0.5 12.4004 0.5 18.1006 0 24.1006c2.5 65.2002 -14.7998 120 -46.1992 162.7z" />
+ <glyph glyph-name="facebook-f" unicode="&#xf39e;" horiz-adv-x="264"
+d="M215.8 363c-37.7998 0 -45.0996 -18 -45.0996 -44.2998v-62.7002h85.2998l-11.7002 -91h-73.5996v-229h-94v229h-76.7002v91h76.7002v71.7002c0 77.8994 47.5996 120.3 117.1 120.3c33.2998 0 61.9004 -2.5 70.2002 -3.59961v-81.4004h-48.2002z" />
+ <glyph glyph-name="facebook-messenger" unicode="&#xf39f;" horiz-adv-x="447"
+d="M224 416c122.5 0 221.8 -92.7998 221.7 -207.3c0 -138.8 -143.2 -238.5 -285.4 -198.7l-75.7002 -42v79.4004c-162.1 122.6 -68.6992 368.6 139.4 368.6zM247.4 137.9l121.1 128.5l-110.4 -61.1006l-57.3994 59.6006l-121.101 -128.5l110.4 61.0996z" />
+ <glyph glyph-name="firstdraft" unicode="&#xf3a1;" horiz-adv-x="384"
+d="M384 256h-64v-128h-128v-128h-192v25.5996h166.4v128h128v128h89.5996v-25.5996zM358.4 217.6h25.5996v-153.6h-128v-128h-192v25.5996h166.4v128h128v128zM384 25.5996v-25.5996h-64v-64h-25.5996v89.5996h89.5996zM0 448h384v-128h-128v-128h-128v-128h-128v384z" />
+ <glyph glyph-name="fonticons-fi" unicode="&#xf3a2;" horiz-adv-x="384"
+d="M114.4 224h92.3994l-15.2002 -51.2002h-76.3994v-157.8c0 -8 -2.7998 -9.2002 4.39941 -10l59.6006 -5.59961v-34.4004h-179.2v35.2002l29.2002 2.7998c7.2002 0.799805 9.2002 3.2002 9.2002 10.7998v155.8c0 3.2002 -4 3.2002 -8 3.2002h-30.4004v51.2002h38.4004
+v28.7998c0 68 36.3994 96 106 96c46.7998 0 88.7998 -11.2002 88.7998 -72.3994l-69.6006 -8.40039c0.400391 25.5996 -6 31.5996 -22.3994 31.5996c-25.2002 0 -26 -13.5996 -26 -37.5996v-32c0 -3.2002 -4.7998 -6 -0.799805 -6zM384 -35h-140.8v34.4004l28 3.59961
+c7.2002 0.799805 10.3994 2.40039 10.3994 10v148c0 5.59961 -4 9.2002 -9.19922 10.7998l-33.2002 8.7998l9.2002 40.4004h110v-208c0 -8 -3.60059 -8.7998 4 -10l21.5996 -3.59961v-34.4004zM354 312.2l12.4004 -45.6006l-10 -10l-42.8008 22.8008l-42.7998 -22.8008
+l-10 10l12.4004 45.6006l-30 36.3994l4.7998 10h38l21.2002 38.4004h12.7998l21.2002 -38.4004h38l4.7998 -13.1992z" />
+ <glyph glyph-name="fort-awesome-alt" unicode="&#xf3a3;" horiz-adv-x="512"
+d="M208 210.6c2.09961 0 3.7002 -1.59961 3.7002 -3.69922v-51.7002c0 -2.10059 -1.60059 -3.7002 -3.7002 -3.7002h-22.2002c-2.09961 0 -3.7002 1.59961 -3.7002 3.7002v51.7002c0 2.09961 1.60059 3.69922 3.7002 3.69922h22.2002zM326.2 210.6
+c2 0 3.59961 -1.59961 3.7002 -3.69922v-51.7002c0 -2.10059 -1.60059 -3.7002 -3.7002 -3.7002h-22.2002c-2.09961 0 -3.7002 1.59961 -3.7002 3.7002v51.7002c0 2.09961 1.60059 3.69922 3.7002 3.69922h22.2002zM458.2 335.7
+c28.8994 -40.7002 45.7998 -90.2002 45.7998 -143.7c0 -2 0 -4 -0.0996094 -6c0 -0.700195 0 -1.2998 -0.100586 -2c0 -1.2998 -0.0996094 -2.7002 -0.200195 -4c0 -0.799805 -0.0996094 -1.5 -0.0996094 -2.2998
+c-0.0996094 -1.2002 -0.0996094 -2.40039 -0.200195 -0.700195c-0.0996094 -0.799805 -0.0996094 -1.59961 -0.200195 -2.40039c-0.0996094 -1.19922 -0.199219 -2.39941 -0.299805 -3.5c-0.0996094 -0.799805 -0.200195 -1.59961 -0.200195 -2.39941
+c-0.0996094 -1.2002 -0.299805 -2.40039 -0.399414 -3.60059c-0.100586 -0.799805 -0.200195 -1.5 -0.299805 -2.2998c-0.200195 -1.2998 -0.400391 -2.59961 -0.5 -3.89941c-0.100586 -0.600586 -0.200195 -1.30078 -0.300781 -1.90039l-0.899414 -5.7002
+c-0.100586 -0.599609 -0.200195 -1.09961 -0.299805 -1.7002c-0.200195 -1.2998 -0.5 -2.69922 -0.800781 -4c-0.199219 -0.799805 -0.299805 -1.59961 -0.5 -2.39941c-0.199219 -1.10059 -0.5 -2.2002 -0.699219 -3.2002
+c-0.200195 -0.900391 -0.400391 -1.7002 -0.600586 -2.59961c-0.200195 -1 -0.5 -2 -0.700195 -3c-0.199219 -0.900391 -0.5 -1.80078 -0.699219 -2.7002c-0.300781 -1 -0.5 -1.90039 -0.800781 -2.90039c-0.199219 -0.899414 -0.5 -1.7998 -0.799805 -2.7002
+c-0.299805 -0.899414 -0.599609 -1.89941 -0.799805 -2.7998c-0.299805 -0.899414 -0.5 -1.7998 -0.799805 -2.7002c-0.299805 -0.899414 -0.600586 -1.7998 -0.900391 -2.7998c-0.5 -1.59961 -1.09961 -3.2998 -1.7002 -4.89941
+c-0.299805 -0.900391 -0.599609 -1.80078 -1 -2.80078c-0.399414 -1 -0.699219 -2 -1.09961 -3c-0.299805 -0.799805 -0.599609 -1.5 -0.900391 -2.2998l-1.19922 -3c-0.300781 -0.700195 -0.600586 -1.5 -0.900391 -2.2002c-0.400391 -1 -0.799805 -2 -1.2998 -3
+l-0.900391 -2.09961c-0.399414 -1 -0.899414 -2 -1.39941 -3c-0.300781 -0.700195 -0.600586 -1.2998 -0.900391 -2c-0.5 -1 -1 -2.09961 -1.5 -3.09961c-0.299805 -0.600586 -0.599609 -1.10059 -0.799805 -1.7002c-0.600586 -1.10059 -1.10059 -2.2002 -1.7002 -3.2998
+c-0.0996094 -0.200195 -0.200195 -0.300781 -0.299805 -0.5c-2.2002 -4.10059 -4.40039 -8.2002 -6.7998 -12.2002c-0.200195 -0.400391 -0.5 -0.799805 -0.700195 -1.2002c-0.700195 -1.09961 -1.2998 -2.2002 -2 -3.2998
+c-0.299805 -0.5 -0.600586 -0.900391 -0.900391 -1.40039c-0.700195 -1.09961 -1.39941 -2.09961 -2 -3.2002c-0.299805 -0.5 -0.599609 -0.899414 -0.899414 -1.39941c-0.700195 -1.10059 -1.40039 -2.10059 -2.10059 -3.2002
+c-0.299805 -0.400391 -0.599609 -0.799805 -0.799805 -1.2002c-0.799805 -1.09961 -1.5 -2.2002 -2.2998 -3.2998c-0.200195 -0.200195 -0.299805 -0.5 -0.5 -0.700195c-37.6006 -54.7002 -94.5 -91.3994 -160.101 -102.399
+c-0.899414 -0.100586 -1.69922 -0.300781 -2.59961 -0.400391c-1 -0.200195 -2.09961 -0.299805 -3.09961 -0.5c-0.900391 -0.0996094 -1.80078 -0.299805 -2.80078 -0.400391c-1 -0.0996094 -2 -0.299805 -3 -0.399414c-1 -0.100586 -2 -0.200195 -2.89941 -0.299805
+c-1 -0.100586 -1.90039 -0.200195 -2.90039 -0.300781c-1 -0.0996094 -2.09961 -0.199219 -3.09961 -0.299805c-0.900391 -0.0996094 -1.7998 -0.200195 -2.7002 -0.200195c-1.09961 -0.0996094 -2.2998 -0.0996094 -3.40039 -0.199219
+c-0.799805 0 -1.69922 -0.100586 -2.5 -0.100586c-1.2998 -0.0996094 -2.59961 -0.0996094 -3.89941 -0.0996094c-0.700195 0 -1.40039 -0.100586 -2.10059 -0.100586c-2 0 -4 -0.0996094 -6 -0.0996094s-4 0 -6 0.0996094c-0.699219 0 -1.39941 0 -2.09961 0.100586
+c-1.2998 0 -2.59961 0.0996094 -3.90039 0.0996094c-0.799805 0 -1.69922 0.100586 -2.5 0.100586c-1.09961 0.0996094 -2.2998 0.0996094 -3.39941 0.199219c-0.900391 0.100586 -1.7998 0.100586 -2.7002 0.200195c-1 0.100586 -2.09961 0.200195 -3.09961 0.299805
+c-1 0.100586 -1.90039 0.200195 -2.90039 0.300781c-1 0.0996094 -2 0.199219 -2.90039 0.299805c-1 0.0996094 -2 0.200195 -3 0.399414c-0.899414 0.100586 -1.7998 0.300781 -2.7998 0.400391s-2.09961 0.299805 -3.09961 0.5
+c-0.900391 0.0996094 -1.7002 0.299805 -2.60059 0.400391c-65.5996 10.8994 -122.5 47.6992 -160 99.3994c-0.199219 0.200195 -0.299805 0.5 -0.5 0.700195c-0.799805 1.09961 -1.59961 2.2002 -2.2998 3.2998c-0.299805 0.400391 -0.599609 0.799805 -0.799805 1.2002
+c-0.700195 1.09961 -1.40039 2.09961 -2.09961 3.2002c-0.300781 0.5 -0.600586 0.899414 -0.900391 1.39941c-0.700195 1.10059 -1.40039 2.10059 -2 3.2002c-0.299805 0.5 -0.599609 0.900391 -0.900391 1.40039c-0.699219 1.09961 -1.2998 2.2002 -2 3.2998
+c-0.199219 0.400391 -0.5 0.799805 -0.699219 1.2002c-2.40039 4 -4.60059 8.09961 -6.80078 12.2002c-0.0996094 0.199219 -0.199219 0.299805 -0.299805 0.5c-0.599609 1.09961 -1.09961 2.19922 -1.7002 3.2998c-0.299805 0.599609 -0.599609 1.09961 -0.799805 1.7002
+c-0.5 1 -1 2.09961 -1.5 3.09961c-0.299805 0.700195 -0.599609 1.2998 -0.899414 2c-0.5 1 -0.900391 2 -1.40039 3l-0.900391 2.09961c-0.399414 1 -0.899414 2 -1.2998 3c-0.299805 0.700195 -0.599609 1.5 -0.899414 2.2002l-1.2002 3
+c-0.299805 0.799805 -0.600586 1.5 -0.900391 2.2998c-0.399414 1 -0.799805 2 -1.09961 3c-0.299805 0.900391 -0.600586 1.80078 -1 2.80078c-0.600586 1.59961 -1.10059 3.2998 -1.7002 4.89941c-0.299805 0.900391 -0.599609 1.7998 -0.900391 2.7998
+c-0.299805 0.900391 -0.5 1.80078 -0.799805 2.7002c-0.299805 0.900391 -0.599609 1.90039 -0.799805 2.7998c-0.299805 0.900391 -0.5 1.80078 -0.799805 2.7002c-0.299805 1 -0.5 1.90039 -0.799805 2.90039c-0.200195 0.899414 -0.5 1.7998 -0.700195 2.7002
+c-0.299805 1 -0.5 2 -0.700195 3c-0.200195 0.899414 -0.400391 1.69922 -0.599609 2.59961c-0.200195 1.09961 -0.5 2.2002 -0.700195 3.2002c-0.200195 0.799805 -0.299805 1.59961 -0.5 2.39941c-0.299805 1.30078 -0.5 2.7002 -0.799805 4
+c-0.100586 0.600586 -0.200195 1.10059 -0.300781 1.7002l-0.899414 5.7002c-0.100586 0.599609 -0.200195 1.2998 -0.299805 1.90039c-0.200195 1.2998 -0.400391 2.59961 -0.5 3.89941c-0.100586 0.799805 -0.200195 1.5 -0.300781 2.2998
+c-0.0996094 1.2002 -0.299805 2.40039 -0.399414 3.60059c-0.100586 0.799805 -0.200195 1.59961 -0.200195 2.39941c-0.0996094 1.2002 -0.200195 2.40039 -0.299805 3.5c-0.100586 0.800781 -0.100586 1.60059 -0.200195 2.40039
+c-0.0996094 1.2002 -0.200195 2.40039 -0.200195 3.7002c0 0.799805 -0.0996094 1.5 -0.0996094 2.2998c-0.100586 1.2998 -0.100586 2.7002 -0.200195 4c0 0.700195 0 1.2998 -0.0996094 2c0 2 -0.100586 4 -0.100586 6c0 53.5 16.9004 103 45.7998 143.6
+c2.30078 3.2002 4.7002 6.40039 7.10059 9.5c4.89941 6.2002 10.0996 12.3008 15.5996 18c2.7002 2.90039 5.5 5.7002 8.40039 8.40039c2.89941 2.7002 5.7998 5.40039 8.7998 8c4.5 3.90039 9.09961 7.59961 13.9004 11.2002c1.59961 1.2002 3.19922 2.39941 4.7998 3.5
+c27.2998 19.5996 59 33.7002 93.2998 40.7998c16.0996 3.2998 32.9004 5 50 5s33.7998 -1.7002 50 -5c34.2998 -7 66 -21.0996 93.5996 -40.7002c1.60059 -1.2002 3.2002 -2.2998 4.80078 -3.5c4.7998 -3.59961 9.39941 -7.2998 13.8994 -11.2002
+c12 -10.3994 23 -21.8994 32.7998 -34.3994c2.5 -3.10059 4.80078 -6.2998 7.10059 -9.5zM448 76.5v71.2998c0 2.10059 -1.59961 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.69922 -1.59961 -3.69922 -3.7002v-25.7998h-29.5v144
+c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.1006c-2.09961 0 -3.69922 -1.60059 -3.69922 -3.7002v-25.9004h-29.5v25.9004c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-25.9004h-29.5v25.9004
+c0 4.7998 -6.5 3.7002 -9.5 3.7002v30.7002c6.7002 1.59961 13.7998 2.7998 20.7998 2.7998c8.80078 0 16.8008 -3.5 25.4004 -3.5c3.7002 0 22.4004 0.899414 22.4004 6.5v48.3994c0 2.10059 -1.60059 3.7002 -3.7002 3.7002c-4.2002 0 -12.2002 -3.5 -19.4004 -3.5
+c-7.89941 0 -16.8994 3.5 -26.2998 3.5c-6.5 0 -12.9004 -0.899414 -19.2002 -2.2998v3.90039c4.40039 2.09961 7.40039 6.69922 7.40039 11.5c0 16.7998 -25.4004 16.7998 -25.4004 0c0 -4.80078 3 -9.5 7.40039 -11.5v-90.2002c-3 0 -9.5 1.09961 -9.5 -3.7002v-25.9004
+h-29.5v25.9004c0 2.09961 -1.60059 3.7002 -3.7002 3.7002h-22.2002c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-25.9004h-29.5v25.9004c0 2.09961 -1.59961 3.7002 -3.69922 3.7002h-22.1006c-2.09961 0 -3.7002 -1.60059 -3.7002 -3.7002v-144h-29.5996v25.7998
+c0 2.10059 -1.59961 3.7002 -3.7002 3.7002h-22.0996c-2.10059 0 -3.7002 -1.59961 -3.7002 -3.7002v-71.2998c9.40039 -15.5 20.5996 -29.9004 33.5996 -42.9004c20.6006 -20.5996 44.5 -36.6992 71.2002 -48c13.9004 -5.89941 28.2002 -10.2998 42.9004 -13.1992v75.7998
+c0 58.5996 88.5996 58.5996 88.5996 0v-75.7998c14.7002 2.89941 29 7.39941 42.9004 13.1992c26.7002 11.3008 50.5996 27.4004 71.2002 48c13 13 24.1992 27.4004 33.5996 42.9004z" />
+ <glyph glyph-name="freebsd" unicode="&#xf3a4;"
+d="M303.7 351.8c11.0996 11.1006 115.5 77 139.2 53.2002c23.6992 -23.7002 -42.1006 -128.1 -53.2002 -139.2c-11.1006 -11.0996 -39.4004 -0.899414 -63.1006 22.9004c-23.7998 23.7002 -34.0996 52 -22.8994 63.0996zM109.9 379.9
+c-31.6006 -19.4004 -57.9004 -46.5 -76.4004 -78.7002c-20.7998 36.2998 -44.5 89.0996 -27.9004 105.7c16.4004 16.5 68 -6.40039 104.301 -27zM406.7 274c3.2998 5.5 7 11.7998 10.8994 18.7998c17.6006 -31.2998 27.7002 -67.3994 27.7002 -105.8
+c0 -119.1 -96.5 -215.6 -215.6 -215.6c-119.101 0 -215.601 96.5996 -215.601 215.6c0 119.1 96.5 215.6 215.601 215.6c35.8994 0 69.7002 -8.7998 99.5 -24.2998c-7.2998 -4 -13.9004 -8 -19.6006 -11.5996c-26 4.7002 -32.8994 -16.4004 -14.8994 -48.7002
+c21.7998 -43.0996 89 -90.4004 109.3 -70.0996c5.40039 5.39941 6 14.7998 2.7002 26.0996z" />
+ <glyph glyph-name="gitkraken" unicode="&#xf3a6;" horiz-adv-x="592"
+d="M565.7 329.9c11.7998 -31.6006 18.2998 -65.7002 18.2998 -101.4c0 -155.1 -122.6 -281.6 -276.3 -287.7v145.8c-8.40039 -0.5 -16.6006 -0.399414 -23.4004 0v-145.899c-153.7 6.2002 -276.3 132.7 -276.3 287.8c0 35.7002 6.5 69.7998 18.2998 101.3
+c2.2998 6.2002 9.2998 9.2002 15.2998 6.60059c5.7002 -2.40039 8.5 -8.80078 6.30078 -14.6006c-10.9004 -29 -16.9004 -60.5 -16.9004 -93.2998c0 -134.6 100.4 -245.7 230.2 -262.7v123.7c-7.90039 1.59961 -15.4004 3.7002 -23 6.2002v-104
+c-106.7 26 -185.9 122.1 -185.9 236.8c0 91.7998 50.7998 171.8 125.8 213.3c5.80078 3.2002 13 0.900391 15.9004 -5c2.7002 -5.5 0.700195 -12.0996 -4.7002 -15.0996c-67.8994 -37.7002 -113.899 -110.101 -113.899 -193.2c0 -93.4004 57.8994 -173.2 139.8 -205.4
+v92.2002c-14.2002 4.5 -24.7998 17.7002 -24.7998 33.5c0 13.1006 6.69922 24.4004 17.2998 30.5c-8.2002 79.6006 -44.5 58.6006 -44.5 83.9004v14.7998c0 38 87.8994 161.7 129.1 164.7c2.60059 0.200195 5.10059 0.200195 7.60059 0
+c41.0996 -2.90039 129 -126.7 129 -164.7v-14.7002c0 -25.2998 -36.2002 -4.39941 -44.5 -83.8994c10.5 -6.10059 17.2998 -17.4004 17.2998 -30.5c0 -15.8008 -10.7002 -29 -24.9004 -33.5v-92.2002c81.9004 32.2998 139.8 112.1 139.8 205.399
+c0 83.2002 -46 155.601 -113.899 193.2c-5.2998 2.90039 -7.40039 9.60059 -4.7002 15.1006c2.90039 5.89941 10.2002 8.19922 15.9004 5c75 -41.5 125.8 -121.5 125.8 -213.301c0 -114.699 -79.2002 -210.899 -185.9 -236.8v104
+c-7.5 -2.59961 -15.0996 -4.7002 -23 -6.2002v-123.699c129.9 17 230.2 128.1 230.2 262.699c0 32.8008 -6 64.3008 -16.9004 93.3008c-2.19922 5.69922 0.600586 12.1992 6.30078 14.5996c6 2.59961 13 -0.5 15.2998 -6.59961zM365.9 172.5
+c-13.1006 0 -23.7002 -10.5996 -23.7002 -23.7002c0 -13.2002 10.7002 -23.7002 23.7002 -23.7002c13.0996 0 23.6992 10.6006 23.6992 23.7002c0 13.2002 -10.6992 23.7002 -23.6992 23.7002zM226.1 125.2c13.2002 0 23.7002 10.7002 23.7002 23.7002
+c0 13.0996 -10.5996 23.6992 -23.7002 23.6992c-13.1992 0 -23.6992 -10.6992 -23.6992 -23.6992s10.5 -23.7002 23.6992 -23.7002z" />
+ <glyph glyph-name="gofore" unicode="&#xf3a7;" horiz-adv-x="400"
+d="M324 128.2c54.2998 0 65.7002 -50.1006 67.7002 -77.7002c-46.5 -56.2998 -107.8 -82.5 -171 -82.5c-123.7 0 -220.7 101.5 -220.7 224c0 123.4 98 224 220.7 224c59 0 114.3 -23.2998 156.1 -65.5996l-62.2998 -63.3008c-25 25.4004 -58.2998 39.4004 -93.5996 39.4004
+c-73.2002 0 -132.4 -60.2998 -132.4 -134.4c0 -74.1992 59.2002 -134.399 132.4 -134.399c33.5996 0 65.3994 12.7002 89.8994 35.7998v34.7002h13.2002zM311.9 240.7c47.6992 0 88.0996 -35 88.0996 -100.2v-30.5996c-15.5 26.6992 -42.5 41.7998 -76 41.7998h-118.4v89
+h106.301z" />
+ <glyph glyph-name="goodreads" unicode="&#xf3a8;"
+d="M299.9 256.8c5.09961 -37.2998 -4.7002 -79 -35.9004 -100.7c-22.2998 -15.5 -52.7998 -14.0996 -70.7998 -5.69922c-37.1006 17.2998 -49.5 58.5996 -46.7998 97.1992c4.2998 60.9004 40.8994 87.9004 75.2998 87.5c46.8994 0.200195 71.7998 -31.7998 78.2002 -78.2998
+zM448 360v-336c0 -30.9004 -25.0996 -56 -56 -56h-336c-30.9004 0 -56 25.0996 -56 56v336c0 30.9004 25.0996 56 56 56h336c30.9004 0 56 -25.0996 56 -56zM330 134.8c0 0 -0.0996094 34 -0.0996094 217.3h-29v-40.2998c-0.800781 -0.299805 -1.2002 0.5 -1.60059 1.2002
+c-9.59961 20.7002 -35.8994 46.2998 -76 46c-51.8994 -0.400391 -87.2002 -31.2002 -100.6 -77.7998c-4.2998 -14.9004 -5.7998 -30.1006 -5.5 -45.6006c1.7002 -77.8994 45.0996 -117.8 112.399 -115.199c28.9004 1.09961 54.5 17 69 45.1992
+c0.5 1 1.10059 1.90039 1.7002 2.90039c0.200195 -0.0996094 0.400391 -0.0996094 0.600586 -0.200195c0.299805 -3.7998 0.199219 -30.7002 0.0996094 -34.5c-0.200195 -14.7998 -2 -29.5 -7.2002 -43.5c-7.7998 -21 -22.2998 -34.7002 -44.5 -39.5
+c-17.7998 -3.89941 -35.5996 -3.7998 -53.2002 1.2002c-21.5 6.09961 -36.5 19 -41.0996 41.7998c-0.299805 1.60059 -1.2998 1.2998 -2.2998 1.2998h-26.7998c0.799805 -10.5996 3.19922 -20.2998 8.5 -29.1992c24.1992 -40.5 82.6992 -48.5 128.199 -37.4004
+c49.9004 12.2998 67.3008 54.9004 67.4004 106.3z" />
+ <glyph glyph-name="goodreads-g" unicode="&#xf3a9;" horiz-adv-x="383"
+d="M42.5996 44.7002h2.80078c12.6992 0 25.5 0 38.1992 -0.100586c1.60059 0 3.10059 0.400391 3.60059 -2.09961c7.09961 -34.9004 30 -54.5996 62.8994 -63.9004c26.9004 -7.59961 54.1006 -7.7998 81.3008 -1.7998c33.7998 7.40039 56 28.2998 68 60.4004
+c8 21.5 10.6992 43.7998 11 66.5c0.0996094 5.7998 0.299805 47 -0.200195 52.7998l-0.900391 0.299805c-0.799805 -1.5 -1.7002 -2.89941 -2.5 -4.39941c-22.0996 -43.1006 -61.2998 -67.4004 -105.399 -69.1006c-103 -4 -169.4 57 -172 176.2
+c-0.5 23.7002 1.7998 46.9004 8.2998 69.7002c20.5996 71.0996 74.5996 118.2 153.899 118.8c61.3008 0.400391 101.5 -38.7002 116.2 -70.2998c0.5 -1.10059 1.2998 -2.2998 2.40039 -1.90039v61.6006h44.2998c0 -280.301 0.0996094 -332.2 0.0996094 -332.2
+c-0.0996094 -78.5 -26.6992 -143.7 -103 -162.2c-69.5 -16.9004 -159 -4.7998 -196 57.2002c-8 13.5 -11.7998 28.2998 -13 44.5zM188.9 411.5c-52.5 0.5 -108.5 -40.7002 -115 -133.8c-4.10059 -59 14.7998 -122.2 71.5 -148.601
+c27.5996 -12.8994 74.2998 -15 108.3 8.7002c47.5996 33.2002 62.7002 97 54.7998 154c-9.7002 71.1006 -47.7998 120 -119.6 119.7z" />
+ <glyph glyph-name="google-drive" unicode="&#xf3aa;" horiz-adv-x="512"
+d="M339 133.1l-163.6 282.9h161.199l163.601 -282.9h-161.2zM201.5 109.5h310.5l-80.5996 -141.5h-310.5zM154.1 380.6l82.9004 -141.399l-156.4 -271.2l-80.5996 141.5z" />
+ <glyph glyph-name="google-play" unicode="&#xf3ab;" horiz-adv-x="512"
+d="M325.3 213.7l-220.7 221.3l280.801 -161.2zM47 448l256.6 -255.9l-256.6 -256c-13 6.80078 -21.7002 19.2002 -21.7002 35.3008v441.3c0 16.0996 8.7002 28.5 21.7002 35.2998zM472.2 222.4c19.2002 -14.3008 19.2002 -46.5 1.2002 -60.8008l-60.1006 -34.0996
+l-65.7002 64.5l65.7002 64.5zM104.6 -51l220.7 221.3l60.1006 -60.0996z" />
+ <glyph glyph-name="gripfire" unicode="&#xf3ac;" horiz-adv-x="352"
+d="M112.5 146.6c0 -26.8994 16.5996 -47.1992 32.5996 -69.5c22.5 -30.1992 44.2002 -56.8994 44.2002 -86.5c-0.0996094 -14.5 -4.39941 -29.6992 -17.5 -46.3994c0 5.2998 4.7998 12.2002 4.7998 22.2998c0 15.2002 -13 39.9004 -78.0996 86.5996
+c-34.2998 29.1006 -66.5 58.5 -66.5 108.301c0 114.699 147.1 176.5 147.1 268.6c0 3.2998 -0.199219 6.7002 -0.599609 10c5.09961 -2.40039 39.0996 -43.2998 39.0996 -90.4004c0 -80.5 -105.1 -129.199 -105.1 -203zM317.8 185.6
+c1.5 -8.39941 2.2002 -16.5996 2.2002 -24.5996c0 -51.7998 -29.4004 -97.5 -67.2998 -136.8c-1 -1 -2.2002 -2.40039 -3.2002 -2.40039c-3.59961 0 -35.5 41.6006 -35.5 53.2002c0 0 41.7998 55.7002 41.7998 96.9004c0 10.7998 -2.7002 21.6992 -9.09961 33.3994
+c-1.5 -32.2998 -55.7002 -87.7002 -58.1006 -87.7002c-2.69922 0 -17.8994 22 -17.8994 42.1006c0 5.2998 1 10.7002 3.2002 15.7998c2.39941 5.5 56.5996 72 56.5996 116.7c0 6.2002 -1 12 -3.40039 17.0996l-4 7.2002c16.7002 -6.5 82.6006 -64.0996 94.7002 -130.9z" />
+ <glyph glyph-name="grunt" unicode="&#xf3ad;" horiz-adv-x="384"
+d="M61.2998 258.7c0.5 4.89941 2.7998 10 7 12h0.100586c-4.60059 1.7002 -9.2002 3.09961 -13.5 4.09961c42.1992 10.2002 73.3994 -20.5996 83.0996 -31.7998c16.5996 -19.2002 35.5 -8.7998 35.5 -8.7998c0.299805 -11.1006 -10.2998 -19 -21.0996 -19.5
+c1.19922 -15.4004 -13.9004 -32.5 -13.9004 -32.5s5.59961 15 2.7002 25.2998c-0.900391 3.2002 -2 6.09961 -3 8.5c-19.2998 -17.2002 -48 -1.5 -54.9004 6.09961c-9.59961 10.6006 -12.3994 23.8008 -12.7998 34.1006c-1.7998 -3.7998 -3.2998 -9.10059 -4 -16.6006
+c0 0 -6.2998 9.10059 -5.2002 19.1006zM89.5996 260.5c-2.89941 -9.09961 -3.39941 -27.7002 6.90039 -35.2998c16.2998 -12.1006 32.2998 -5 38 -1.7002c-7.5 11.2998 -25.4004 26 -44.9004 37zM231.7 214.7c-10.7998 0.399414 -21.4004 8.39941 -21.2002 19.2998
+c0 0 18.7998 -10.4004 35.5 8.7998c9.7002 11.2002 40.7998 42 83.0996 31.7998c-4.2998 -0.899414 -8.89941 -2.2998 -13.5 -4.09961h0.100586c4.09961 -1.7998 6.39941 -6.7998 7 -11.7998c1.2002 -10 -5.2002 -19.1006 -5.2002 -19.1006
+c-0.599609 7.5 -2.2002 12.8008 -4 16.6006c-0.5 -10.2998 -3.2002 -23.5 -12.7998 -34.1006c-6.7998 -7.59961 -35.5 -23.3994 -54.7998 -6.09961c-1 -2.5 -2.10059 -5.2998 -3 -8.5c-2.90039 -10.2998 2.69922 -25.2998 2.69922 -25.2998s-15.0996 17 -13.8994 32.5z
+M294.4 260.5c-19.5 -11 -37.4004 -25.5996 -44.9004 -37c5.7002 -3.40039 21.5996 -10.5 37.9004 1.59961c10.3994 7.7002 10 26.3008 7 35.4004zM160 29.5c4.09961 0 7 -0.900391 8.7998 -2.7002c2.2002 -2.2998 1.5 -5.2998 0.900391 -6.7998
+c-1.10059 -2.7002 -5.5 -11.5996 -13 -19.7998c-2.7002 -2.90039 -6.60059 -4.60059 -11 -4.60059c-4.2998 0 -8.7002 1.60059 -11.7998 4.30078c-2.30078 2.09961 -10.2002 9.5 -13.7002 18.5996c-1.2998 3.40039 -1 6.09961 0.899414 8.09961
+c1.30078 1.30078 4 2.90039 9.5 2.90039h29.4004zM349.2 130.7c0 0 29.2998 -22.5 21.0996 -70.9004c-5.2998 -29.5 -23.2002 -46 -47 -54.7002c-8.7998 -19.0996 -29.3994 -45.6992 -67.2998 -49.5996c-14.5 -11.7998 -34.5 -19.5 -63.5996 -19.5h-0.200195
+c-29.2002 0 -49.2002 7.7002 -63.6006 19.5c-37.8994 3.90039 -58.5 30.5 -67.2998 49.5996c-23.7998 8.60059 -41.7998 25.2002 -47 54.7002c-8.59961 48.2002 20.6006 70.7998 20.6006 70.7998c2.39941 -17.8994 13 -33.8994 24.5996 -43.7998
+c3.09961 22.7002 3.7002 55.5 3.7002 62.4004c0 14.7002 -9.5 24.5 -12.2002 26.0996c-2.5 1.5 -5.2998 3 -8.2998 4.60059c-18 9.59961 -40.4004 21.5996 -40.4004 43.6992c0 16.1006 9.2998 23.2002 15.4004 27.8008c0.799805 0.599609 1.5 1.19922 2.2002 1.69922
+c2.09961 1.7002 3.69922 3 4.2998 4.40039c4.39941 9.7998 3.59961 34.2002 1.7002 37.5996c-0.600586 0.700195 -16.8008 21 -11.8008 39.2002c2 7.40039 6.90039 13.2998 14.1006 17c5.2998 2.7002 11.7998 4.2002 19.5 4.5c0.0996094 2 0.5 4 0.899414 5.90039
+c0.5 2.59961 1.10059 5.2998 0.900391 8.09961c-0.400391 4.7002 -0.799805 9.10059 -2.2002 11.2998c-8.39941 13.3008 -28.7998 17.6006 -29 17.6006l-12.2998 2.39941l8.09961 9.40039c0.200195 0.200195 17.3008 17.5 46.3008 17.5c7.89941 0 16 -1.2998 23.8994 -3.5
+c24.2998 -7.7998 42.9004 -30.5 49.4004 -39.2998c2 0.599609 3.89941 1.2002 5.89941 1.7002c-1 26.3994 20.7002 47.3994 28.2002 48.2998c0.5 -4.5 -0.399414 -22.2002 7.2002 -27.6006c2.2002 14.4004 9.59961 30.3008 39.0996 40.7002
+c-6.2998 -16.7002 -0.799805 -30.7002 1.80078 -37.2002c20.0996 18.2002 33.6992 15.2002 33.6992 15.2002s-13.1992 -22.7002 -9 -38.5c3.30078 -0.799805 6.5 -1.7002 9.60059 -2.7002c6.5 8.80078 25.2002 31.5 49.3994 39.3008
+c8.10059 2.59961 16.2002 3.89941 24.1006 3.89941c29 0 46.2002 -17.2998 46.2998 -17.5l8.09961 -9.5l-12.2998 -2.39941c-0.200195 0 -20.5996 -4.30078 -29 -17.6006c-1.39941 -2.2998 -1.7998 -6.59961 -2.2002 -11.2998
+c-0.199219 -2.7998 0.300781 -5.5 0.900391 -8.09961c0.400391 -2 0.799805 -3.90039 0.900391 -5.90039c7.59961 -0.299805 14.1992 -1.7998 19.5 -4.5c7.19922 -3.7002 12.0996 -9.59961 14.0996 -17c4.90039 -18.2998 -11.2002 -38.5996 -11.7998 -39.2002
+c-1.90039 -3.39941 -2.7002 -27.7998 1.7002 -37.5996c0.599609 -1.40039 2.19922 -2.7002 4.2998 -4.40039c0.700195 -0.599609 1.39941 -1.09961 2.2002 -1.7002c6.09961 -4.59961 15.3994 -11.5996 15.3994 -27.7998c0 -22.0996 -22.3994 -34.0996 -40.3994 -43.7002
+c-2.90039 -1.59961 -5.80078 -3.09961 -8.30078 -4.59961c-2.69922 -1.59961 -12.1992 -11.4004 -12.1992 -26.0996c0 -6.90039 0.599609 -39.7002 3.69922 -62.4004c11.6006 9.90039 22.2002 25.7998 24.6006 43.7002zM305.7 410.3
+c-17.7998 -5.7002 -31.6006 -23.0996 -37.7002 -32.2002c1.59961 -0.699219 3.09961 -1.39941 4.7002 -2.19922c2.59961 -1.2002 4.89941 -2.40039 7.09961 -3.7002c2.7002 5.5 8.40039 13.7002 20.7002 22.3994c8.2002 5.80078 18.2002 8.90039 28.7002 8.90039
+c3.59961 0 6.7998 -0.400391 9.2002 -0.799805c3.2998 2.09961 6.59961 3.89941 9.69922 5.2998c-4.7998 2 -13.6992 5 -24.6992 5c-6.10059 0 -12.1006 -0.900391 -17.7002 -2.7002zM326.7 392.1c-7.40039 -0.299805 -14 -2.69922 -19.6006 -7
+c-8 -6.39941 -12.0996 -17.6992 -13.5 -22.5c4.90039 -4.19922 8.2002 -8.09961 10.5 -11.1992c3.40039 1 7.30078 1.89941 11.5 2.69922c3.30078 4.5 3.90039 10.6006 4.40039 17c0.5 6.2002 1.09961 12.6006 4.40039 17.8008c0.699219 1.09961 1.5 2.19922 2.2998 3.19922
+zM45.5996 402.7c2.40039 0.399414 5.60059 0.799805 9 0.899414c10.6006 0 20.5 -3.09961 28.8008 -8.89941c12.3994 -8.7002 18.0996 -17 20.6992 -22.4004c2.2002 1.2002 4.60059 2.5 7.10059 3.7002c1.59961 0.799805 3.2002 1.5 4.7998 2.2002
+c-6.09961 8.89941 -19.9004 26.2998 -37.7002 32.0996c-5.7002 1.7998 -11.5996 2.7002 -17.7002 2.7002c-11 0 -19.8994 -3 -24.6992 -5c3.09961 -1.2998 6.39941 -3.09961 9.69922 -5.2998zM90.2998 362.6c-1.39941 4.80078 -5.5 16.1006 -13.5 22.4004
+c-5.5 4.40039 -12.0996 6.7002 -19.5 7c0.799805 -1 1.60059 -2.09961 2.2998 -3.2002c3.30078 -5.2002 3.90039 -11.5996 4.40039 -17.7998c0.5 -6.40039 1 -12.5 4.2998 -16.9004c4.2002 -0.799805 8.10059 -1.7998 11.5 -2.69922c2.2002 3.19922 5.60059 7 10.5 11.1992z
+M58.0996 188.1c8.7002 -5 18.1006 -16.7998 19 -34.1992c0.900391 -14.7002 -0.899414 -49.9004 -3.39941 -75.9004c12.5 -4.7998 26.7002 -6.40039 39.7002 -6.7998c2 4.09961 3.89941 8.5 5.5 13.0996c0.699219 1.90039 19.5996 51 26.3994 62.2002
+c-5.39941 -39 -17.5 -73.7002 -23.5 -89.5996c3.40039 0.399414 7.2998 0.699219 11.7002 0.699219h117c4.40039 0 8.2002 -0.199219 11.7002 -0.699219c-6 15.8994 -18 50.5996 -23.5 89.5996c6.7998 -11.0996 25.7002 -60.2002 26.3994 -62.2002
+c1.60059 -4.59961 3.5 -9 5.5 -13.0996c13 0.399414 27.3008 2 39.7002 6.7998c-2.5 26 -4.2998 61.2998 -3.39941 75.9004c1.09961 17.5 10.3994 29.1992 19.0996 34.1992c2.7002 1.5 5.5 3.10059 8.40039 4.60059c14.7998 8 30.1992 16.2998 30.1992 30.5
+c0 11.0996 -4.2998 14.5 -8.89941 18.2002l-0.5 0.399414c-0.700195 0.600586 -1.5 1.2002 -2.2002 1.7998c0.900391 -7.19922 1.90039 -13.2998 2.7002 -14.8994c0 0 -12.1006 15 -15.7002 44.2998c-1.40039 11.5 1.09961 34.2002 5.09961 43
+c-0.199219 -4.90039 0 -9.7998 0.300781 -14.4004c0.399414 0.900391 0.799805 1.60059 1.2998 2.2002c3.2998 4 11.8994 17.5 9.39941 26.6006c-1 3.39941 -3.19922 6 -6.69922 7.7998c-3.80078 1.89941 -8.80078 2.89941 -15.1006 2.89941
+c-12.2998 0 -25.8994 -3.7998 -32.8994 -6c-25.1006 -7.89941 -55.4004 -30.8994 -64.1006 -37.6992c-0.200195 -0.200195 -0.399414 -0.300781 -0.399414 -0.300781l-5.60059 -3.89941l3.5 5.7998c0.200195 0.299805 19.1006 31.4004 53.1006 46.5
+c-2 2.90039 -7.40039 8.2002 -21.6006 15.0996c-21.3994 10.5 -46.3994 15.8008 -74.2998 15.8008c-27.7998 0 -52.9004 -5.30078 -74.2998 -15.8008c-14.2002 -7 -19.6006 -12.1992 -21.6006 -15.0996c34.1006 -15.0996 53 -46.2002 53.2002 -46.5l3.5 -5.7998
+l-5.59961 3.89941s-0.200195 0.100586 -0.400391 0.300781c-8.7002 6.7998 -39 29.6992 -64.0996 37.6992c-7 2.30078 -20.6006 6 -32.9004 6c-6.2998 0 -11.2998 -1 -15.0996 -2.89941c-3.60059 -1.7998 -5.7998 -4.2998 -6.7002 -7.7998
+c-2.40039 -9.10059 6.2002 -22.6006 9.40039 -26.6006c0.5 -0.599609 0.899414 -1.39941 1.2998 -2.2002c0.299805 4.60059 0.5 9.5 0.299805 14.4004c4 -8.7002 6.5 -31.5 5.09961 -43c-3.59961 -29.2998 -15.6992 -44.2998 -15.6992 -44.2998
+c0.799805 1.59961 1.7998 7.7002 2.69922 14.8994c-0.799805 -0.599609 -1.5 -1.19922 -2.19922 -1.7998l-0.5 -0.399414c-4.60059 -3.60059 -8.90039 -7.10059 -8.90039 -18.2002c0 -14.2002 15.2998 -22.5 30.2002 -30.5c2.7998 -1.5 5.7002 -3 8.39941 -4.60059z
+M34.7998 43.4004c11.9004 -19.7002 35.5 -29.4004 58.2002 -29.5c-4.5 13.2998 -3.09961 24 4.09961 31.7998l1.40039 1.39941c1.7998 2.40039 4.2998 5.80078 7 10c-27.2002 1.10059 -63.5 11 -74.4004 45.4004c-5 -5 -8.39941 -39.0996 3.7002 -59.0996zM80.5 -0.0996094
+c6.5 -9.5 16.5 -19.6006 30.9004 -25.5c-4.90039 7.19922 -8.80078 15.0996 -12.3008 23.0996c-6.39941 0.5 -12.5996 1.2998 -18.5996 2.40039zM192 -50.2002c60.5996 0.100586 78.2998 45.9004 84.9004 64.7002c3.59961 10.5 3.2998 18.2998 -0.900391 23.0996
+c-2.7998 3.30078 -9.5 7.2002 -24.5996 7.2002h-118.801c-15.0996 0 -21.6992 -3.89941 -24.5996 -7.2002c-4.2998 -4.89941 -4.59961 -12.5996 -0.900391 -23.0996c6.60059 -18.9004 24.3008 -64.5996 84.9004 -64.7002zM272.6 -25.5996
+c14.4004 5.89941 24.4004 16 30.9004 25.5c-6 -1.10059 -12.2002 -1.90039 -18.5996 -2.40039c-3.5 -8 -7.40039 -15.9004 -12.3008 -23.0996zM349.2 43.4004c12.2002 19.8994 8.7998 54 3.7998 59c-10.9004 -34.4004 -47.2002 -44.2002 -74.4004 -45.4004
+c2.7002 -4.2002 5.2002 -7.59961 7 -10c0.5 -0.5 1 -1 1.40039 -1.5c7.2002 -7.7002 8.59961 -18.5 4.09961 -31.7998c22.5 0.399414 46.1006 10 58.1006 29.7002zM191.9 260.3c-12.7002 0.200195 -27.2002 17.7998 -27.2002 17.7998
+c9.89941 -6 18.7998 -8.09961 27.2998 -8.2998c8.5 0.200195 17.4004 2.2998 27.2998 8.2998c0 0 -14.5 -17.6992 -27.2002 -17.7998h-0.199219zM253.6 29.5996c5.40039 -0.0996094 8.10059 -1.69922 9.40039 -3c1.90039 -1.89941 2.2002 -4.59961 0.900391 -7.89941
+c-3.5 -8.90039 -11.4004 -16.1006 -13.7002 -18.1006c-3.10059 -2.59961 -7.40039 -4.19922 -11.7998 -4.19922c-4.40039 0 -8.30078 1.59961 -11 4.5c-7.5 8 -12 16.6992 -13 19.2998c-0.600586 1.5 -1.30078 4.39941 0.899414 6.7002
+c1.7002 1.7998 4.7002 2.69922 8.90039 2.69922h29.3994z" />
+ <glyph glyph-name="gulp" unicode="&#xf3ae;" horiz-adv-x="255"
+d="M209.8 56.9004l-14.0996 -24.6006l-4.60059 -80.2002c0 -8.89941 -28.2998 -16.0996 -63.0996 -16.0996s-63.0996 7.2002 -63.0996 16.0996l-5.80078 79.4004l-14.8994 25.4004c41.2002 -17.3008 126 -16.7002 165.6 0zM13.7998 310.2
+c30.7002 -17 197.8 -16.9004 228.3 0.200195l-14.7998 -136.801c-4.7998 -4.19922 -11.5996 -10.1992 -16.5996 -14.0996c-1.60059 -1.2002 -6 -4.7002 -8 -4.7002c-1.2998 0 -2.2002 0.5 -2.2002 1.7998c0.0996094 1 3.40039 4.5 5 6.40039
+c4.90039 5.7002 13.7998 16 13.7998 23.4004c0 7 -10.7002 14.0996 -25.7002 0.199219c-1.59961 -1.5 -3.09961 -3 -4.5 -4.5c0.400391 1.10059 1.10059 5.10059 1.10059 6.2002c0 2.7998 -1.40039 4 -4.2002 4c-1 0 -1.90039 -0.599609 -2.7002 -1.59961
+c-2.59961 -3.10059 -3.89941 -7.5 -5.2998 -11.2998c-0.5 -1.80078 -1.09961 -3.60059 -1.7002 -5.5c-0.399414 -0.200195 -0.700195 -0.300781 -0.899414 -0.600586c-3.80078 -3.89941 -17.7002 -17 -23.1006 -17c-2.2998 0 -1.59961 3.60059 -1 5.7998
+c1 3.40039 6.7998 17.7002 8.7002 22.3008c4.59961 11.0996 8 19.7998 13.2002 31.8994c3.89941 9.2002 3.7998 8.60059 4.5 10.5c0.700195 2.10059 0.700195 4.90039 -1 6.2002c-1 0.700195 -2 1.09961 -3.2002 1.09961c-2.40039 0 -4.7998 -1.39941 -6.09961 -4.69922
+c-25.5 -64.4004 -25.2002 -63.3008 -26.4004 -68.2002c-2 -1.7002 -4.40039 -3.40039 -6.7998 -4.5c-3.10059 -1.40039 -6.7998 -2.2002 -6.7998 1.2002c0 3.69922 1.39941 8.19922 2.69922 11.6992c2.2002 6.10059 4.90039 11.1006 6.90039 16.7002
+c0.900391 2.40039 1.2998 4.7002 -0.400391 6.90039c-0.799805 1 -1.89941 1.5 -3.19922 1.5c-2.60059 0 -4.10059 -2.60059 -5.2002 -5.10059c-0.700195 -1.5 -1.2998 -3.09961 -1.7998 -4.7998c-1.2002 -4 -3.60059 -8.7002 -5.60059 -12.2998
+c-2.7998 -5 -6.5 -10.0996 -11.0996 -13.5c-2.2002 -1.59961 -4.5 -2.40039 -6.90039 -2.40039c-3.5 0 -2.39941 5.7002 -1.5 9c2.2002 7.80078 5.5 13.3008 9.2998 20.8008c1.30078 2.69922 2.30078 5.39941 -0.299805 7.19922c-0.5 0.300781 -1 0.5 -1.59961 0.700195
+c-3.40039 0.900391 -6 -1.09961 -7.60059 -4.5c-3.09961 -6.2998 -5.39941 -11.7002 -7.09961 -16.2002c-3.2998 -8.89941 -6.90039 -18.2998 -4.59961 -23.7998c1.5 -3.7002 4.5 -5.09961 8.59961 -5.09961c9.7998 0 17.7998 6.7002 22.4004 14.8994
+c-4.30078 -19.7998 8.19922 -17.2998 20 -8.09961c0.0996094 -0.400391 0.0996094 -0.799805 0.199219 -1.2002c1.5 -6.7002 8.7002 -6.7002 14.5 -4.09961c3.5 1.59961 8.2002 4.5 14.4004 10.5c0.200195 0.299805 0.799805 1.39941 -0.799805 -2.2998
+c-7.2002 -16.2002 -13.5 -28.2002 -15 -34.3008c-0.200195 -0.899414 -0.299805 -1.7998 -0.299805 -2.69922c0 -1.80078 0.399414 -3.10059 1.2998 -3.7002c1.59961 -1.2002 4.2002 -1.2998 6.09961 -0.299805c1.7998 1 3.10059 2.59961 4 4.5
+c1 2.19922 0.200195 0.699219 5.2002 14c5 13.3994 2.90039 7.7998 9.09961 22c1.90039 4.2998 4.2002 9.5 8.5 15.5c2.5 3.39941 5.5 7 8.7002 9.69922c5.7002 4.7002 11.7002 5.40039 11.7002 2.5c0 -2.19922 -3.2998 -6.39941 -4.7002 -8.09961
+c-5.2998 -6.7002 -14.3994 -16.2998 -14.3994 -21.5c0 -9.5 12 -8 17.3994 -5.7002c7.2998 3.2002 13.9004 9.60059 19.6006 14.7998l-10.9004 -94.5996c-1.90039 -4.90039 -39.0996 -17.0996 -88.2002 -17.0996c-49 0 -86.2002 12.0996 -88.2002 17.0996l-7.59961 79.5996
+c2.09961 -1.5 4.2998 -2.39941 7.7002 -2.39941c7.39941 0 16.0996 6.7002 21.5 11.7998c2.2998 2.2002 4.39941 4.40039 6.39941 6.59961c-1 -3 -7.09961 -22 -7.2998 -25.1992c-0.0996094 -1 -0.200195 -4.90039 0.799805 -6.30078
+c0.5 -0.799805 1.40039 -1.19922 2.60059 -1.19922c2.89941 0 5.59961 4.69922 6.2998 7.5c0 0 1.7998 6.2998 7.59961 25.7998c6.30078 21.0996 10 24.5 10 34.7002c0 5.59961 -7.2998 6.7998 -9.89941 0l-5.2002 -15.5c-2.2002 -4.5 -8 -11.5 -12.5 -16
+c-3.5 -3.5 -10.7998 -10.1006 -15.7998 -10.1006c-2.40039 0 -3.90039 1.40039 -4.90039 3.60059c-2.2998 5.2998 -0.899414 14.2998 0.600586 19.8994c2.59961 9.7002 6.89941 19.4004 12 28.2002c4.19922 7.2998 10.1992 15.7002 17.0996 20.7002
+c6.59961 4.7998 12.7998 4.5 16.9004 -2.7998c1.5 -2.7002 3.7998 -7.30078 6.7998 -7.30078c2.5 0 5.7002 2.60059 4.5 9.10059c-0.5 2.5 -4.90039 8.7998 -10.1006 11.7998c-6 3.59961 -12.3994 3.59961 -18.6992 0.900391
+c-19.2002 -8.2002 -34.1006 -35.2002 -40 -55.2002zM243.5 318.7c0 -21 -231.2 -21 -231.2 0c0 8.7998 51.7998 15.8994 115.601 15.8994c9 0 17.7998 -0.0996094 26.2998 -0.399414l12.5996 48.7002l61.2998 64.5c1.40039 1.39941 5.80078 0.199219 9.90039 -3.5
+c4.09961 -3.7002 6.59961 -7.90039 5.2998 -9.30078l-0.0996094 -0.0996094l-57.2998 -60.5l-10 -40.7002c39.8994 -2.59961 67.5996 -8.09961 67.5996 -14.5996zM174.1 314.1c0 0.800781 -0.899414 1.5 -2.5 2.10059l-0.199219 -0.799805
+c0 -1.30078 -5 -2.40039 -11.1006 -2.40039c-6.09961 0 -11.0996 1.09961 -11.0996 2.40039c0 0.0996094 0 0.199219 0.0996094 0.299805l0.200195 0.700195c-1.7998 -0.600586 -3 -1.40039 -3 -2.30078c0 -2.09961 6.2002 -3.69922 13.7002 -3.69922
+c7.7002 -0.100586 13.8994 1.59961 13.8994 3.69922z" />
+ <glyph glyph-name="hacker-news-square" unicode="&#xf3af;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM21.2002 218.8h-0.200195c0.0996094 0.100586 0.200195 0.299805 0.299805 0.400391c0 -0.100586 0 -0.299805 -0.0996094 -0.400391z
+M239.2 164.9l80.7998 155.1h-34.7998c-54.7998 -101.2 -48.2998 -98.5996 -60.6006 -125.6c-10.0996 24.3994 -6.7998 27.2998 -59.2998 125.6h-37.2998l79.7998 -153.3v-102.7h31.4004v100.9z" />
+ <glyph glyph-name="hire-a-helper" unicode="&#xf3b0;" horiz-adv-x="512"
+d="M443.1 448c3.90039 -36.4004 32.5 -65.7998 68.9004 -71.7002v-370.5c-35.4004 -4 -64.9004 -33.3994 -67.9004 -69.7998h-372.199c-5.90039 36.4004 -34.5 63.9004 -71.9004 68.7998v371.5c37.4004 3.90039 67.9004 34.4004 71.9004 71.7002h371.199zM406.1 43.0996
+c7.80078 0 5.80078 10.8008 0 10.8008c-10.2998 3.39941 -13.5 3.59961 -21.6992 13.7998c-7.80078 12.8994 -7.90039 44.3994 -7.90039 127.8v101.2c0 22.0996 12.2002 28.2998 28.5996 32.3994c8.90039 2.2002 3.90039 11.8008 -1 11.8008
+c-36.5 0 -20.5996 -2 -57.0996 -2c-32.7002 0 -16.5 2 -49.2002 2c-3.2998 0 -8.5 -8.30078 -1 -10.8008c4.90039 -1.59961 27.6006 -3.69922 27.6006 -39.2998c0 -45.5996 0.199219 -55.7998 -1 -68.7998c0 -1.2998 -2.30078 -12.7998 -12.8008 -12.7998h-109.199
+c-10.5 0 -12.8008 11.5 -12.8008 12.7998c-1.19922 13 -1 23.2002 -1 68.7998c0 35.6006 22.7002 37.7002 27.6006 39.2998c7.5 2.5 2.2998 10.8008 -1 10.8008c-32.7002 0 -16.5 -2 -49.2002 -2c-36.5 0 -20.5996 2 -57.0996 2c-5 0 -9.80078 -9.60059 -1 -11.8008
+c16.3994 -4.09961 28.5996 -10.1992 28.5996 -32.3994v-101.2c0 -83.4004 -0.200195 -114.9 -7.90039 -127.8c-8.19922 -10.2998 -11.5 -10.4004 -21.6992 -13.7998c-5.80078 0 -7.90039 -10.8008 0 -10.8008c36.2998 0 18.7998 2 55.0996 2c35.7998 0 21 -2 56.0996 -2
+c6 0 4.90039 8.2002 0 9.80078c-22.7998 7.59961 -22.8994 10.2998 -24.5996 12.7998c-10.4004 15.5996 -5.90039 83 -5.90039 113c0 5.2998 6.40039 12.7998 13.8008 12.7998h111.199c7.40039 0 13.8008 -7.5 13.8008 -12.7998c0 -30 4.5 -97.4004 -5.90039 -113
+c-1.7002 -2.60059 -1.7998 -5.2002 -24.5996 -12.7998c-4.90039 -1.60059 -5.90039 -9.80078 0 -9.80078c35.0996 0 20.2998 2 56.0996 2c36.2998 0 18.7998 -2 55.0996 -2z" />
+ <glyph glyph-name="hotjar" unicode="&#xf3b1;"
+d="M414.9 286.5c30 -53 41.7998 -121.6 26.2998 -180.9c-14.7002 -56.6992 -68.2998 -120.3 -148.8 -145.6c54.5 76.9004 43.8994 200.1 -27.1006 215.5c54.2002 -93.9004 -53.7002 -180.3 -110.8 -93.9004c-2.5 -7.19922 -25.0996 -74.5 4.09961 -129.6
+c-61.0996 9.09961 -117.8 33.5 -144.6 93.4004c-35 78.1992 -2.7002 149.8 79 204.899c129.2 87.2998 28.0996 197.7 28.0996 197.7s219.101 -29 293.801 -161.5z" />
+ <glyph glyph-name="hubspot" unicode="&#xf3b2;" horiz-adv-x="512"
+d="M267.4 236.4l-163.2 114.699c-7.90039 -4.69922 -17 -7.59961 -26.7998 -7.59961c-28.8008 0 -52.2002 23.4004 -52.2002 52.2998c0 28.7998 23.3994 52.2002 52.2002 52.2002c28.8994 0 52.3994 -23.4004 52.3994 -52.2002c0 -4.7998 -0.799805 -9.39941 -2 -13.7998
+c51.4004 -39.0996 141.3 -103.9 168.9 -124.8c13.0996 6.89941 27.5 11.5 42.7002 13.5996v61.2002c-17.5 7.40039 -28.2002 23.7998 -28.2002 42.9004c0 26.0996 20.5996 47.8994 46.7002 47.8994c26.0996 0 47 -21.7998 47 -47.8994
+c0 -19.1006 -10.7002 -35.5 -28.2002 -42.9004v-61.5996c62.5 -9.5 110.2 -63.5 110.2 -128.7c0 -71.9004 -58.1006 -130.2 -130 -130.2c-29.9004 0 -57.3008 10 -79.3008 26.9004l-50 -50.2002c1.30078 -3.90039 1.90039 -7.90039 1.90039 -12.1006
+c0 -10.6992 -4.2002 -20.8994 -11.7998 -28.5c-7.7002 -7.69922 -17.7998 -11.5996 -28.6006 -11.5996c-10.6992 0 -20.8994 4 -28.5 11.5996c-7.59961 7.60059 -11.7998 17.7002 -11.7998 28.5c0 10.8008 4.2002 21 11.7998 28.6006
+c7.60059 7.59961 17.7002 11.7998 28.5 11.7998c4.90039 0 9.60059 -0.900391 14 -2.5l49.5 49.7998c-16.2998 21.7002 -26 48.7002 -26 78c0 37.2998 15.7002 70.9004 40.8008 94.6006zM356.9 72.7998c38.0996 0 69 30.9004 69 69c0 38.1006 -30.9004 69 -69 69
+c-38.1006 0 -69 -30.8994 -69 -69c0 -38.0996 30.8994 -69 69 -69z" />
+ <glyph glyph-name="itunes" unicode="&#xf3b4;"
+d="M223.6 367.7c94.5 0 171.2 -76.7002 171.2 -171.3c0 -94.5 -76.5996 -171.2 -171.2 -171.2c-94.5996 0 -171.1 76.7998 -171.1 171.3s76.5 171.2 171.1 171.2zM303 127.7c1.40039 6.2002 0.900391 -3 1 167.6c0 5.7002 -3.2998 9.10059 -9 8.7002
+c-1.7998 0 -14.0996 -2.40039 -115.1 -21.4004c-0.900391 0 -4.60059 -1 -6.7002 -2.69922c-2 -1.60059 -3.10059 -3.80078 -3.5 -6.40039c-1.7002 -6.7002 2.39941 -128 -2.60059 -133.7c-2.09961 -2.5 -4.69922 -3.2002 -7.69922 -3.7002
+c-17.7002 -3.19922 -29.6006 -4.7998 -38 -12.7998c-14.5 -14.2002 -7 -38.8994 14.3994 -42.8994c8 -1.40039 23.1006 0.599609 31.4004 5.19922c7.2998 3.80078 12.7998 10.6006 14.8994 19.6006c1.7002 7.7002 1.2002 2.39941 1.2002 118.5
+c0 5.7002 1.7002 7.2002 6.7002 8.2998c0 0 87.9004 16.4004 91.9004 17.0996c5.69922 1 8.39941 -0.5 8.39941 -6.09961c0 -78.7998 1 -77.2002 -2.2002 -80.7998c-2.09961 -2.5 -4.69922 -3.2002 -7.69922 -3.7002c-17.7002 -3.2002 -29.6006 -4.7998 -38 -12.7998
+c-10.6006 -10.4004 -10.4004 -26.7998 1.39941 -36.7998c9.7002 -7.80078 19.7998 -7.2002 31.9004 -5c13.7998 2.59961 24.0996 10.1992 27.2998 23.7998zM345.2 416c56.8994 0 102.8 -45.9004 102.8 -102.8v-242.4c0 -56.8994 -45.7998 -102.8 -102.8 -102.8h-242.4
+c-56.8994 0 -102.8 45.9004 -102.8 102.8v242.4c0 56.8994 45.9004 102.8 102.8 102.8h242.4zM223.6 4c106.301 0 192.5 86.2002 192.5 192.5s-86.1992 192.5 -192.5 192.5c-106.3 0 -192.5 -86.2002 -192.5 -192.5s86.2002 -192.5 192.5 -192.5z" />
+ <glyph glyph-name="itunes-note" unicode="&#xf3b5;" horiz-adv-x="384"
+d="M381.9 59.7998c-6.40039 -27.3994 -27.2002 -42.7998 -55.1006 -48c-24.5 -4.5 -44.8994 -5.59961 -64.5 10.2002c-23.8994 20.0996 -24.2002 53.4004 -2.7002 74.4004c17 16.1992 40.9004 19.5 76.8008 25.7998c6 1.09961 11.1992 2.5 15.5996 7.39941
+c6.40039 7.2002 4.40039 4.10059 4.40039 163.2c0 11.2002 -5.5 14.2998 -17 12.2998c-8.2002 -1.39941 -185.7 -34.5996 -185.7 -34.5996c-10.2002 -2.2002 -13.4004 -5.2002 -13.4004 -16.7002c0 -234.7 1.10059 -223.899 -2.5 -239.5
+c-4.2002 -18.2002 -15.3994 -31.8994 -30.2002 -39.5c-16.7998 -9.2998 -47.1992 -13.3994 -63.3994 -10.3994c-43.2002 8.09961 -58.4004 58 -29.1006 86.5996c17 16.2002 40.9004 19.5 76.8008 25.7998c6 1.10059 11.1992 2.5 15.5996 7.40039
+c10.0996 11.5 1.7998 256.6 5.2002 270.2c0.799805 5.19922 3 9.59961 7.09961 12.8994c4.2002 3.5 11.7998 5.5 13.4004 5.5c204 38.2002 228.899 43.1006 232.399 43.1006c11.5 0.799805 18.1006 -6 18.1006 -17.6006c0.200195 -344.5 1.09961 -326 -1.7998 -338.5z" />
+ <glyph glyph-name="jenkins" unicode="&#xf3b6;" horiz-adv-x="511"
+d="M487.1 23c1.5 -11.9004 -5.2998 -28.2998 -8.69922 -39.7002c-4.90039 -16.2998 -9.7002 -31.8994 -14.6006 -47.2002h-422c-0.700195 1.90039 -1.39941 4 -2.09961 6c-4.60059 14.2002 -12.6006 31.7002 -14.7002 45.8008
+c-3.09961 20.8994 16.5996 22.0996 29.2002 31.0996c19.5 14 34.7998 21.7998 55.8994 34.2998c6.30078 3.7998 25.1006 13.2002 27.3008 17.6006c4.2998 8.69922 -7.30078 20.8994 -10.4004 27.6992c-4.90039 10.7002 -7.5 19.8008 -8.2002 30.4004
+c-17.7002 2.7998 -31.0996 13.2998 -39.2002 25.2002c-13.3994 19.7002 -22.6992 56 -11.0996 83.7002c0.900391 2.19922 5.40039 6.5 6.09961 9.7998c1.40039 6.59961 -2.5 15.3994 -2.69922 22.3994c-1.2002 36 6.09961 67 30.2998 77.8008
+c9.7998 39.0996 45 52.1992 78.0996 71.5996c12.2998 7.2998 26 11.9004 40.1006 17.0996c50.5 18.7002 128.1 15.1006 170.1 -16.5996c17.7998 -13.5 46.2002 -41.9004 56.4004 -62.5c26.8994 -54.2998 25 -145.1 6.19922 -211.2
+c-2.5 -8.89941 -6.19922 -21.8994 -11.2998 -32.5996c-3.59961 -7.40039 -14.7002 -22.2998 -13.2998 -28.9004c1.40039 -6.7998 25.2998 -24.8994 30.4004 -29.8994c9.19922 -8.80078 26.7998 -20.7002 28.1992 -31.9004zM205.9 414.3
+c-33.2002 -9.39941 -75.7002 -33.5 -89.3008 -63.3994c10.6006 1.5 17.9004 6.7998 28.3008 7.5c3.89941 0.299805 9.09961 -1.60059 13.5996 -0.5c9 2.2998 16.5996 22.5 23.4004 30c6.59961 7.39941 14.5996 10.5 20 17.1992c3.5 1.7002 8.69922 1.60059 8.89941 6.80078
+c-1.5 1.69922 -3.09961 2.89941 -4.89941 2.39941zM101.1 320.7c-14.6992 -16.1006 -11.5996 -46.2998 -9.7998 -67.7998c26.5 16.6992 61.6006 -1.30078 61.2998 -29.6006c12.6006 0.299805 4.7002 15.7998 2.40039 25.7002c-7.5 32.5996 12.5996 67.9004 0.900391 97.5996
+c-22.7002 -1.7998 -41.3008 -11 -54.8008 -25.8994zM137.8 120.5c4.90039 -20 15.7002 -46 26.2998 -61.4004c13.6006 -19.3994 40.1006 -22.2998 68.7002 -24.1992c5.10059 11 23.9004 10.0996 36.2002 7.19922c-14.7002 5.80078 -28.4004 19.9004 -39.7002 32.4004
+c-13 14.2998 -26.0996 29.7002 -26.7998 48.4004c24.5 -34 44.7998 -63.8008 89.5 -78.8008c33.7998 -11.2998 73.2002 5.2002 99.2002 23.4004c10.7998 7.59961 17.2002 19.5996 24.8994 30.5996c28.7002 41.2002 42 100.101 39.1006 157.101
+c-1.2002 23.5 -1.10059 47 -9 62.7998c-8.2998 16.5996 -36.2002 31.2998 -52.5 16.4004c-3 16.0996 13.5996 26.0996 33.0996 20.2998c-13.8994 18 -28.5996 39.5996 -48.2998 50.7002c-34.4004 19.5 -92.7002 34.0996 -129.3 15.7998
+c-29.6006 -14.7002 -69.5 -39.1006 -83.1006 -70c12.7002 -29.7998 -3.7998 -57.1006 -4.7998 -87.4004c-0.599609 -16.0996 7.60059 -30.2002 8.2002 -47.7002c-4.40039 -7.19922 -17.7002 -8.09961 -26.9004 -7.59961c-3.09961 15.5 -8.5 32.9004 -24.5 34.7002
+c-22.5 2.39941 -39.0996 -16.2998 -40.0996 -35.7998c-1.2002 -23 17.7002 -61 44.4004 -58.4004c10.2998 1.09961 12.7998 11.4004 24.0996 11.2998c6.09961 -12.2002 -9.40039 -16 -11 -24.7002c-0.400391 -2.19922 1.2998 -11 2.2998 -15.0996zM359.8 -3.59961
+c-1.59961 -4.40039 0.299805 -10.4004 -0.599609 -16.5c14.8994 -4.2002 31.8994 -6.40039 50.7002 -7c3.69922 4.7998 4.89941 13.7998 4.5 22.7998c-0.600586 10.7998 -3.40039 33.0996 -10.1006 37c-14.0996 8.2002 -39 -16.5 -49.5996 -20.2998
+c1.2002 -3.40039 3.09961 -6 3.2002 -10.2002c6.2998 1.5 13.8994 0.5 19.2998 -2.2002c-6.2998 -0.700195 -13.2998 -0.599609 -17.4004 -3.59961zM342.6 16.4004c7.60059 5.5 14.3008 12 22.2002 17.0996c-18.2002 -1.59961 -41 -12.9004 -59 -4.90039
+c-0.0996094 -0.899414 -1.2998 -0.599609 -1.5 -1.39941c12.2998 -9.60059 21.5 -11.6006 38.2998 -10.7998zM330.5 -16.7998c26.9004 -8.40039 22.2002 36.7998 -2.7998 20.2002c-0.700195 -8.2002 1.2002 -10.8008 2.7998 -20.2002zM226 9.40039
+c0 6.19922 3.59961 12 2.7998 16.3994c-13.7998 2.40039 -31.8994 0.799805 -41.2998 7.2998c-9.59961 -9.69922 26.9004 -23 38.5 -23.6992zM57.7002 -49.0996v-0.100586h180.7c-0.800781 2.5 -1.5 4.90039 -2.2002 7.2002c-4.7998 15.2998 -7.5 26.7002 -8.7002 35.5
+c-19.2002 9.2002 -39.7002 18.5 -56.2002 30.2002c-3 2.2002 -23.3994 28.7002 -26.2002 27.5996c-36.8994 -14.5996 -71.3994 -39.7002 -102.199 -63.5c5.59961 -11.7998 10.5 -24.2002 14.7998 -36.8994zM298.3 -54.7998h-0.799805
+c0.299805 0.200195 0.5 0.399414 0.799805 0.5v-0.5zM305.8 -49.0996h9.60059c-1 1.5 -2.10059 2.89941 -3.2002 4.2998c-2.10059 -1.5 -4.2998 -2.90039 -6.40039 -4.2998zM320.9 -24.4004c0.0996094 3.60059 0.299805 7.2002 0.399414 10.6006
+c-6.5 3.2002 -14 5.5 -23.5 5.89941c6.5 3.30078 15.9004 3.2002 21.7998 7.10059c0.100586 1.5 0.100586 2.89941 0.200195 4.2998c-10.7998 0.900391 -14.7998 5.59961 -21.8994 9.5c-11.6006 6.40039 -29 13.2002 -43.9004 16.0996
+c-18.5 3.60059 -16.7998 -25.1992 -16 -42.3994c0.700195 -13.6006 7.7002 -28 10.7998 -37c1.5 -4.2002 1.7998 -8.7002 5.40039 -9.5c6.39941 -1.5 27.3994 6.89941 33.3994 10.2002c12.7002 6.89941 22.5 17.8994 33.3008 25.1992zM374.3 -49.0996l0.600586 12.5996
+c-11.2002 -0.700195 -17.5 10.2002 -25.4004 11c-6.90039 0.700195 -12.7002 -7.90039 -21.7002 -4.2002c-2 -2.2002 -3.89941 -4.7002 -6 -6.89941c3.2002 -3.90039 6.10059 -8.10059 8.90039 -12.5h17.3994c0.200195 3.19922 2.80078 5.7998 6.10059 5.7998
+s6 -2.60059 6.09961 -5.7998h14zM383 -49.0996h36.2998c-6.7002 10.1992 -20.0996 18.7998 -35.7002 11.5c-0.199219 -3.7002 -0.399414 -7.5 -0.599609 -11.5zM466.4 -12.0996c1.19922 6.19922 4.59961 19.5996 3.7998 25.0996
+c-1.40039 9.7998 -14.6006 17.0996 -21.4004 23.0996c-12.3994 11.1006 -20.2002 21 -33.2002 31.4004c-5.19922 -7.7998 -16.5 -13 -20.7998 -19.2998c30.7002 14.8994 36.2998 -55.7998 24.2002 -78.5c1.90039 -6.7998 8.2998 -9.40039 10.9004 -15.5
+c-0.700195 -1.10059 -1.30078 -2.2002 -1.90039 -3.2998h27.9004c0.199219 0 0.399414 0 0.599609 -0.100586c4.09961 13.1006 7.59961 25.9004 9.90039 37.1006zM222.2 317.5c5.39941 14.9004 27.2002 34.7002 45 32c7.7002 -1.2002 18 -8.2002 12.2002 -17.7002
+c-30.2002 7 -45.2002 -12.5996 -54.4004 -33.0996c-8.09961 2 -4.90039 13.0996 -2.7998 18.7998zM406.3 254.4c8.2002 3.59961 22.4004 0.699219 29.6006 5.2998c-4.2002 11.5 -10.3008 21.3994 -9.30078 37.7002c0.5 0 1 0 1.40039 -0.100586
+c6.7998 -14.2002 12.7002 -29.2002 21.4004 -41.7002c-5.7002 -13.5 -43.6006 -25.3994 -43.1006 -1.19922zM309.5 251.7c-6.7998 10.8994 -19 32.5 -14.5 45.2998c6.5 -11.9004 8.59961 -24.4004 17.7998 -33.2998c4.10059 -4 12.2002 -9 8.2002 -20.2002
+c-0.900391 -2.7002 -7.7998 -8.59961 -11.7002 -9.7002c-14.3994 -4.2998 -47.8994 -0.899414 -36.5996 17.1006c11.8994 -0.700195 27.8994 -7.80078 36.7998 0.799805zM336.8 181.7c3.7998 -6.60059 1.40039 -18.7002 12.1006 -20.6006
+c20.1992 -3.39941 43.5996 12.3008 58.0996 17.8008c9 15.1992 -0.799805 20.6992 -8.90039 30.5c-16.5996 20 -38.7998 44.7998 -38 74.6992c6.7002 4.90039 7.30078 -7.39941 8.2002 -9.69922c8.7002 -20.3008 30.4004 -46.2002 46.2998 -63.5
+c3.90039 -4.30078 10.3008 -8.40039 11 -11.2002c2.10059 -8.2002 -5.39941 -18 -4.5 -23.5c-21.6992 -13.9004 -45.7998 -29.1006 -81.3994 -25.6006c-7.40039 6.7002 -10.2998 21.4004 -2.90039 31.1006zM135.5 190.9c-6.7998 3.89941 -8.40039 21 -16.4004 21.3994
+c-11.3994 0.700195 -9.2998 -22.2002 -9.2998 -35.5c-7.7998 7.10059 -9.2002 29.1006 -3.5 40.2998c-6.59961 3.2002 -9.5 -3.59961 -13.0996 -5.89941c4.7002 34.0996 49.7998 15.7998 42.2998 -20.2998zM435.1 162.1c-10.0996 -19.1992 -24.3994 -40.3994 -54 -41
+c-0.599609 6.2002 -1.09961 15.6006 0 19.4004c22.7002 2.2002 36.6006 13.7002 54 21.5996zM293.2 149.7c18.8994 -9.90039 53.5996 -11 79.2998 -10.2002c1.40039 -5.59961 1.2998 -12.5996 1.40039 -19.4004c-33 -1.7998 -72 6.40039 -80.7002 29.6006zM385.4 103
+c-1.7002 -4.2998 -5.30078 -9.2998 -9.80078 -11.0996c-12.0996 -4.90039 -45.5996 -8.7002 -62.3994 0.299805c-10.7002 5.7002 -17.5 18.5 -23.4004 26c-2.7998 3.59961 -16.8994 12.8994 -0.200195 12.8994c13.1006 -32.6992 58 -29 95.8008 -28.0996z" />
+ <glyph glyph-name="joget" unicode="&#xf3b7;" horiz-adv-x="496"
+d="M378.1 403c116.601 -71.7998 152.9 -224.6 81 -341.2c-71.8994 -116.5 -224.6 -152.8 -341.199 -80.8994c-116.601 71.8994 -152.9 224.6 -81 341.199c46.8994 76 128.1 117.9 211.3 117.9c44.3994 0 89.3994 -11.9004 129.899 -37zM429.9 79.7998
+c5.2998 8.7002 9.89941 17.6006 13.8994 26.6006c-32.0996 -1.10059 -157.1 1.5 -208.8 -17.6006c-58.4004 -21.5 -36.9004 -53.3994 -31.2002 -67.0996c3.7998 -9.10059 14.7002 -28.7998 23.7002 -42.4004c6.7998 -0.599609 13.5996 -1 20.4004 -1
+c71.5996 0 141.6 36 182 101.5zM229.1 166.1c51 -1.2998 205.4 -4.39941 230.301 -4.89941c11.8994 81.7998 -24.5 166.6 -99.3008 212.7c-100.5 61.8994 -232.1 30.6992 -294 -69.8008c-28.5996 -46.3994 -37.2998 -99.3994 -28.5 -149.1
+c11 40.9004 49.7002 131.5 178.301 140.2c50.8994 4 41.5 -19.2002 23.5996 -29.7002c-17.7998 -10.5 -45.7002 -23.7998 -68.9004 -51.2002c-23.1992 -27.3994 3 -46.7998 58.5 -48.2002zM412.9 220.9c22.6992 -6 19.0996 -15.5 19.0996 -15.5l-46.5 -23.4004
+l-169.5 -1.59961s33.7998 10.7998 65.2998 31.2998c26 16.8994 49.7002 35.5996 67.5 35.5996c3.7002 0 7.2002 -0.899414 10.4004 -2.7002c18.5 -10.5996 -2.90039 -18.1992 -13.4004 -24.5996s-50.7002 -34.5 -50.7002 -34.5s1.40039 -7.59961 31.1006 8.2002
+c29.7002 15.8994 64 33.2002 86.7002 27.2002z" />
+ <glyph glyph-name="js" unicode="&#xf3b8;"
+d="M0 416h448v-448h-448v448zM243.8 66.5996v143.7h-42.0996v-143.1c0 -21.1006 -8.7998 -26.5 -22.6006 -26.5c-14.5 0 -20.5 9.89941 -27.0996 21.5996l-34.2998 -20.7002c10 -21.0996 29.5 -38.5 63.2002 -38.5c37.2998 0 62.8994 19.9004 62.8994 63.5zM343.4 3.09961
+c39.8994 0 69.6992 20.8008 69.6992 58.6006c0 35.2002 -20.0996 50.8994 -55.8994 66.2002l-10.5 4.5c-18.1006 7.89941 -25.9004 13 -25.9004 25.5996c0 10.2002 7.7998 18 20.1006 18c12.0996 0 19.8994 -5.09961 27.0996 -18l32.7998 21
+c-13.7998 24.4004 -33 33.7002 -59.7998 33.7002c-37.5 0 -61.5996 -24 -61.5996 -55.6006c0 -34.2998 20.0996 -50.5996 50.5 -63.5l10.5 -4.5c19.2998 -8.5 30.6992 -13.5996 30.6992 -28c0 -12.0996 -11.1992 -20.7998 -28.5996 -20.7998
+c-20.7002 0 -32.5 10.9004 -41.5 25.6006l-34.2998 -19.8008c12.2998 -24.3994 37.5996 -43 76.7002 -43z" />
+ <glyph glyph-name="js-square" unicode="&#xf3b9;"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM243.8 66.5996v143.7h-42.0996v-143.1c0 -21.1006 -8.7998 -26.5 -22.6006 -26.5c-14.5 0 -20.5 9.89941 -27.0996 21.5996
+l-34.2998 -20.7002c10 -21.0996 29.5 -38.5 63.2002 -38.5c37.2998 0 62.8994 19.9004 62.8994 63.5zM343.4 3.09961c39.8994 0 69.6992 20.8008 69.6992 58.6006c0 35.2002 -20.0996 50.8994 -55.8994 66.2002l-10.5 4.5c-18.1006 7.89941 -25.9004 13 -25.9004 25.5996
+c0 10.2002 7.7998 18 20.1006 18c12.0996 0 19.8994 -5.09961 27.0996 -18l32.7998 21c-13.7998 24.4004 -33 33.7002 -59.7998 33.7002c-37.5 0 -61.5996 -24 -61.5996 -55.6006c0 -34.2998 20.0996 -50.5996 50.5 -63.5l10.5 -4.5
+c19.2998 -8.5 30.6992 -13.5996 30.6992 -28c0 -12.0996 -11.1992 -20.7998 -28.5996 -20.7998c-20.7002 0 -32.5 10.9004 -41.5 25.6006l-34.2998 -19.8008c12.2998 -24.3994 37.5996 -43 76.7002 -43z" />
+ <glyph glyph-name="keycdn" unicode="&#xf3ba;" horiz-adv-x="512"
+d="M63.7998 38.7002l60.5 59c32.1006 -42.7998 71.1006 -66 126.601 -67.4004c30.5 -0.700195 60.2998 7 86.3994 22.4004c5.10059 -5.2998 18.5 -19.5 20.9004 -22c-32.2002 -20.7002 -69.6006 -31.1006 -108.101 -30.2002
+c-43.2998 1.09961 -84.5996 16.7002 -117.699 44.4004c0.299805 0.599609 -38.2002 -37.5 -38.6006 -37.9004c9.5 -29.7998 -13.0996 -62.4004 -46.2998 -62.4004c-26.7998 0.100586 -47.5 21.7002 -47.5 48.5c0 34.3008 33.0996 56.6006 63.7998 45.6006zM418.7 291.1
+c19.0996 -31.2998 29.5996 -67.3994 28.7002 -104c-1.10059 -44.7998 -19 -87.5 -48.6006 -121c0.299805 -0.299805 23.7998 -25.1992 24.1006 -25.5c9.59961 1.30078 19.1992 -2 25.8994 -9.09961c11.2998 -12 10.9004 -30.9004 -1.09961 -42.4004
+c-12 -11.2998 -30.9004 -10.8994 -42.4004 1.10059c-6.7002 7 -9.39941 16.7998 -7.59961 26.2998c-24.9004 26.5996 -44.4004 47.2002 -44.4004 47.2002c42.7002 34.0996 63.2998 79.5996 64.4004 124.2c0.700195 28.8994 -7.2002 57.1992 -21.1006 82.1992zM104 394.9
+c6.7002 -7 9.40039 -16.8008 7.59961 -26.3008l45.9004 -48.0996c-4.7002 -3.7998 -13.2998 -10.4004 -22.7998 -21.2998c-25.4004 -28.5 -39.6006 -64.7998 -40.7002 -102.9c-0.700195 -28.8994 6.09961 -57.2002 20 -82.3994l-22 -21.5
+c-19.2998 31.5996 -28.9004 67.6992 -27.7998 104.699c1 44.6006 18.2998 87.6006 47.5 121.101l-25.2998 26.3994c-9.60059 -1.2998 -19.2002 2 -25.9004 9.10059c-11.2998 12 -10.9004 30.8994 1.09961 42.3994c11.9004 11.2002 30.6006 10.9004 42.4004 -1.19922z
+M464.9 440c26 0 47.0996 -22.4004 47.0996 -48.2998c0 -25.9004 -21.0996 -47.7002 -47.0996 -47.7002c-6.30078 -0.0996094 -14 1.09961 -15.9004 1.7998l-62.9004 -59.7002c-32.6992 43.6006 -76.6992 65.9004 -126.899 67.2002
+c-30.5 0.700195 -60.2998 -6.7998 -86.2002 -22.3994l-21.0996 22c32.1992 20.7998 69.5996 31.0996 108.1 30.1992c43.2998 -1.09961 84.5996 -16.6992 117.7 -44.5996l41.0996 38.5996c-1.5 4.7002 -2.2002 9.60059 -2.2002 14.5
+c-0.0996094 26.7002 22.3008 48.4004 48.3008 48.4004zM256.7 334.6c5.5 0 10.8994 -0.399414 16.3994 -1.09961c78.1006 -9.7998 133.4 -81.0996 123.801 -159.1c-9.80078 -78.1006 -81.1006 -133.4 -159.101 -123.801c-78.0996 9.80078 -133.399 81.1006 -123.8 159.2
+c9.2998 72.4004 70.0996 124.601 142.7 124.8zM197.7 215.2c0.599609 -22.7002 12.2002 -41.7998 32.3994 -52.2002l-11 -51.7002h73.7002l-11 51.7002c20.1006 10.9004 32.1006 29 32.4004 52.2002c-0.400391 32.7998 -25.7998 57.5 -58.2998 58.2998
+c-32.1006 -0.799805 -57.3008 -24.7998 -58.2002 -58.2998zM256 288z" />
+ <glyph glyph-name="kickstarter" unicode="&#xf3bb;"
+d="M400 -32h-352c-26.4004 0 -48 21.5996 -48 48v352c0 26.4004 21.5996 48 48 48h352c26.4004 0 48 -21.5996 48 -48v-352c0 -26.4004 -21.5996 -48 -48 -48zM199.6 269.5c0 30.7002 -17.5996 45.0996 -39.6992 45.0996c-25.8008 0 -40 -19.7998 -40 -44.5v-154.8
+c0 -25.7998 13.6992 -45.5996 40.5 -45.5996c21.5 0 39.1992 14 39.1992 45.5996v41.7998l60.6006 -75.6992c12.2998 -14.9004 39 -16.8008 55.7998 0c14.5996 15.0996 14.7998 36.7998 4 50.3994l-49.0996 62.7998l40.5 58.7002c9.39941 13.5 9.5 34.5 -5.60059 49.1006
+c-16.3994 15.8994 -44.5996 17.2998 -61.3994 -7l-44.8008 -64.7002v38.7998z" />
+ <glyph glyph-name="kickstarter-k" unicode="&#xf3bc;" horiz-adv-x="384"
+d="M147.3 333.6v-70.5996l82.7998 118.2c31.2002 44.3994 83.3008 41.7998 113.601 12.7998c27.8994 -26.7002 27.7998 -65.0996 10.3994 -89.7998l-74.8994 -107.4l90.7998 -114.8c19.9004 -24.7998 19.5996 -64.5996 -7.40039 -92.2002
+c-31.0996 -30.7002 -80.5 -27.2002 -103.199 0l-112.101 138.3v-76.5c0 -57.7998 -32.5996 -83.3994 -72.3994 -83.3994c-49.6006 0 -74.9004 36.0996 -74.9004 83.3994v283c0 45.2002 26.2002 81.4004 73.9004 81.4004c40.8994 0 73.3994 -26.2002 73.3994 -82.4004z" />
+ <glyph glyph-name="laravel" unicode="&#xf3bd;" horiz-adv-x="640"
+d="M637.5 206.4c4.2998 -4.80078 3.2002 -8.60059 -4.7002 -10.6006c-6.7002 -1.89941 -69.5996 -18.5996 -87.2998 -23.2998c25.7998 -34.5996 75.0996 -100.6 79.2998 -106.8c5.7002 -8.5 0.5 -10.9004 -7.89941 -14.4004c-8.40039 -3.39941 -195.2 -70.5996 -208 -74.5
+c-16.3008 -5 -23.7002 -7.5 -34.3008 7.40039c-8 11.0996 -51.0996 88.7002 -72.1992 127c-40 -10.5 -113.2 -29.6006 -134.301 -34.7002c-20.5996 -5 -29.3994 7.40039 -32.7998 15c-3.39941 7.59961 -124.8 269.2 -132.399 287.2c-7.60059 18 0.799805 21.3994 8.39941 22
+c7.60059 0.700195 114.5 9.59961 128.5 10.2002c14 0.699219 15.2998 -2.5 21.4004 -11.6006l154.2 -257.5l193.699 46.4004c-10.7998 15.2002 -59.5 84.2998 -64.1992 90.8994c-5.30078 7.40039 0.0996094 10.8008 8.69922 12.3008
+c8.60059 1.39941 82.7002 13.8994 89.1006 14.7998c6.2998 0.899414 11.3994 3.09961 21.7002 -9.2998c10.2998 -12.4004 68.8994 -85.7002 73.0996 -90.5zM285.3 134.4c2.2998 0.5 3.7998 1.7998 1.2002 6.09961c-2.40039 4.2998 -144.6 249.7 -144.6 249.7
+c-1.30078 2.2002 -0.900391 3 -4.5 2.7998c-3.5 -0.200195 -104.301 -9.2002 -106 -9.2002c-1.7002 0 -1.80078 -2.59961 0 -5.89941c1.7998 -3.30078 130.1 -268 130.8 -270s0.700195 -2.60059 6.5 -1.30078c5.7998 1.30078 114.3 27.3008 116.6 27.8008zM591.3 77
+c-1.7002 2.7002 -61.2002 83.4004 -64.0996 88.2002c-3 4.7002 -4.5 3.7002 -9.2002 2.2002l-188.8 -49.1006s58 -100.3 62.3994 -106.8c4.40039 -6.5 7.10059 -6 10.6006 -4.5c3.39941 1.5 181.7 61.5996 187.1 63.5996c5.5 1.90039 3.7002 3.7002 2 6.40039zM603.4 211.1
+c4.19922 1 7.39941 2.40039 5.59961 4.7002c-1.90039 2.40039 -50.9004 64.5 -54.5 69.4004c-3.59961 4.89941 -6.09961 4.09961 -9 3.39941c-2.90039 -0.599609 -67.2998 -12.2998 -71.2998 -12.7998s-2.7002 -2.7002 -1.10059 -5l56.7002 -77.7998
+s69.4004 17.2002 73.6006 18.0996z" />
+ <glyph glyph-name="line" unicode="&#xf3c0;"
+d="M272.1 243.8v-71.0996c0 -1.7998 -1.39941 -3.2002 -3.19922 -3.2002h-11.4004c-1.09961 0 -2.09961 0.599609 -2.59961 1.2998l-32.6006 44v-42.2002c0 -1.7998 -1.39941 -3.19922 -3.2002 -3.19922h-11.3994c-1.7998 0 -3.2002 1.39941 -3.2002 3.19922v71.1006
+c0 1.7998 1.40039 3.2002 3.2002 3.2002h11.2998c1 0 2.09961 -0.5 2.59961 -1.40039l32.6006 -44v42.2002c0 1.7998 1.39941 3.2002 3.2002 3.2002h11.3994c1.7998 0.0996094 3.2998 -1.40039 3.2998 -3.10059zM190.1 247c1.80078 0 3.2002 -1.5 3.2002 -3.2002v-71.0996
+c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-11.3994c-1.7998 0 -3.2002 1.40039 -3.2002 3.2002v71.0996c0 1.7998 1.40039 3.2002 3.2002 3.2002h11.3994zM162.6 187.4c1.7002 0 3.10059 -1.5 3.10059 -3.2002v-11.4004c0 -1.7998 -1.40039 -3.2002 -3.2002 -3.2002
+h-45.7002c-0.899414 0 -1.59961 0.400391 -2.2002 0.900391c-0.599609 0.599609 -0.899414 1.2998 -0.899414 2.2002v71.0996c0 1.7998 1.39941 3.2002 3.2002 3.2002h11.3994c1.7998 0 3.2002 -1.40039 3.2002 -3.2002v-56.3994h31.0996zM332.1 247
+c1.7002 0 3.10059 -1.5 3.2002 -3.2002v-11.3994c0 -1.80078 -1.39941 -3.2002 -3.2002 -3.2002h-31.0996v-12h31.0996c1.80078 0 3.2002 -1.40039 3.2002 -3.2002v-11.5c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-31.0996v-12h31.0996
+c1.80078 0 3.2002 -1.39941 3.2002 -3.2002v-11.3994c0 -1.7998 -1.39941 -3.2002 -3.2002 -3.2002h-45.6992c-1.80078 0 -3.2002 1.5 -3.2002 3.2002v71.0996c0 1.7998 1.5 3.2002 3.2002 3.2002h45.6992zM448 334.3v-285.3
+c-0.0996094 -44.7998 -36.7998 -81.0996 -81.7002 -81h-285.3c-44.7998 0.0996094 -81.0996 36.9004 -81 81.7002v285.3c0.0996094 44.7998 36.9004 81.0996 81.7002 81h285.3c44.7998 -0.0996094 81.0996 -36.7998 81 -81.7002zM386.4 211.7
+c0 73 -73.2002 132.399 -163.101 132.399c-89.8994 0 -163.1 -59.3994 -163.1 -132.399c0 -65.4004 58 -120.2 136.399 -130.601c19.1006 -4.09961 16.9004 -11.0996 12.6006 -36.7998c-0.700195 -4.09961 -3.2998 -16.0996 14.0996 -8.7998
+c17.4004 7.2998 93.9004 55.2998 128.2 94.7002c23.5996 26 34.9004 52.2998 34.9004 81.5z" />
+ <glyph glyph-name="lyft" unicode="&#xf3c3;" horiz-adv-x="512"
+d="M0 366.9h77.7998v-208.7c0 -33.1006 15 -52.7998 27.2002 -61c-12.7002 -11.1006 -51.2002 -20.9004 -80.2002 2.7998c-17 14 -24.7998 37.2998 -24.7998 59v207.9zM485.9 193.4c0 -14.2002 11.5996 -25.9004 26.0996 -25.9004v-76.5
+c-56.7002 0 -102.7 46.0996 -102.7 102.7v77.0996c0 34.6006 -52.2002 34.6006 -52.2002 0v-23.2998h38.8008v-76.7998h-38.8008v-6.7002c0 -21.7998 -7.69922 -45 -24.7998 -59c-16.2998 -13.7002 -35.7002 -16.2998 -51.7002 -14v179.2
+c0 56.7002 46.1006 102.7 102.7 102.7c49.1006 0 90.2002 -34.4004 100.3 -80.7002h26.1006v-76.7998h-23.7998v-22zM191.6 292.4v0.5h77.1006v-178.2c0 -52.4004 -29.7002 -91.7002 -76.7998 -100.8c-26.1006 -5.10059 -52.5 -2.80078 -77.6006 4.69922v70.3008
+c9.7998 -4.2002 29.5 -9.40039 45 -7.80078c20.4004 2 32.7998 11.9004 34.9004 25.3008c0 0 -21.2002 -20.4004 -58.2002 -10.6006c-37 9.90039 -45 40.1006 -45 63.9004v132.7h76.7998v-113c0 -15.4004 23.7998 -15.4004 23.7998 0v113z" />
+ <glyph glyph-name="magento" unicode="&#xf3c4;"
+d="M445.7 320.1v-256.1l-63.4004 -36.5v255.8l-158.5 91.6006l-158.6 -91.6006l0.399414 -255.899l-63.2998 36.5996v255.9l221.9 128.1zM255.6 27.5v255.9l63.4004 -36.6006v-256l-95.0996 -54.8994l-94.9004 54.8994l-0.0996094 255.9l63.2998 36.5996v-256
+l31.7998 -18.2002z" />
+ <glyph glyph-name="medapps" unicode="&#xf3c6;" horiz-adv-x="320"
+d="M118.3 209.6c3.5 12.5 6.90039 33.6006 13.2002 33.6006c8.2998 -1.7998 9.59961 -23.4004 18.5996 -36.6006c4.60059 23.5 5.30078 85.1006 14.1006 86.7002c9 0.700195 19.7002 -66.5 22 -77.5c9.89941 -4.09961 48.8994 -6.59961 48.8994 -6.59961
+c1.90039 -7.2998 -24 -7.60059 -40 -7.7998c-4.59961 -14.8008 -5.39941 -27.7002 -11.3994 -28c-4.7002 -0.200195 -8.2002 28.7998 -17.5 49.5996l-9.40039 -65.5c-4.39941 -13 -15.5 22.5 -21.8994 39.2998c-3.30078 0.100586 -62.4004 1.60059 -47.6006 7.7998zM228 0
+h-136c-21.2002 0 -21.2002 32 0 32h136c21.2002 0 21.2002 -32 0 -32zM204 -64h-88c-21.2002 0 -21.2002 32 0 32h88c21.2002 0 21.2002 -32 0 -32zM238.2 77.5c-3.60059 -21.2998 -36 -15.5 -32.6006 5.09961c3.60059 21.2002 5.60059 40.6006 15.3008 58.6006
+c32.5996 60.2998 66.0996 95.5 66.0996 151.6c0 67.9004 -57 123.2 -127 123.2s-127 -55.2998 -127 -123.2c0 -56.0996 33.5 -91.2998 66.0996 -151.7c9.7002 -17.8994 11.7002 -36.8994 15.3008 -58.5996c3.5 -20.7998 -29.1006 -26.0996 -32.6006 -5.09961
+c-3.2002 19.0996 -5.2002 36.3994 -11.8994 48.8994c-8 14.7002 -16.1006 28.1006 -24 41c-24.6006 40.4004 -45.9004 75.2998 -45.9004 125.5c0 85.6006 71.7998 155.2 160 155.2s160 -69.5996 160 -155.2c0 -50.2998 -21.2998 -85.0996 -45.9004 -125.5
+c-7.89941 -12.8994 -16.0996 -26.2998 -24 -41c-6.69922 -12.3994 -8.69922 -29.8994 -11.8994 -48.7998z" />
+ <glyph glyph-name="medium-m" unicode="&#xf3c7;" horiz-adv-x="512"
+d="M71.5 305.7c0.599609 5.89941 -1.7002 11.7998 -6.09961 15.7998l-45.1006 54.4004v8.09961h140.2l108.4 -237.7l95.2998 237.7h133.7v-8.09961l-38.6006 -37c-3.2998 -2.5 -5 -6.7002 -4.2998 -10.8008v-272c-0.700195 -4.09961 1 -8.2998 4.2998 -10.7998l37.7002 -37
+v-8.09961h-189.7v8.09961l39.1006 37.9004c3.7998 3.7998 3.7998 5 3.7998 10.7998v219.8l-108.7 -275.899h-14.7002l-126.399 275.899v-184.899c-1.10059 -7.80078 1.5 -15.6006 7 -21.2002l50.7998 -61.6006v-8.09961h-144v8l50.7998 61.7002
+c5.40039 5.59961 7.90039 13.5 6.5 21.2002v213.8z" />
+ <glyph glyph-name="medrt" unicode="&#xf3c8;" horiz-adv-x="544"
+d="M113.7 192c0 -121.8 83.8994 -222.8 193.5 -241.1c-18.7002 -4.5 -38.2002 -6.90039 -58.2002 -6.90039c-137.6 0 -249 111 -249 248s111.4 248 248.9 248c20.0996 0 39.5996 -2.40039 58.1992 -6.90039c-109.6 -18.2998 -193.399 -119.3 -193.399 -241.1zM411.1 91.7002
+c77.7002 55.3994 104.4 155.1 67 233.899c11.2002 -9.89941 21.5 -21.2998 30.5 -34.1992c61.6006 -88.3008 40.8008 -210.301 -46.5 -272.601c-87.2998 -62.2998 -208.1 -41.2002 -269.699 47c-9 12.7998 -16.2002 26.4004 -21.7002 40.5
+c60.7998 -62.0996 162.7 -70 240.399 -14.5996zM192.3 335.7c72.5 54.5996 171.601 45.7002 221.601 -19.7998c45.2998 -59.7002 34.3994 -145.601 -22.3008 -201.801c18.5 51.4004 11.3008 111 -24.3994 158c-43 56.5 -114.601 78.3008 -178.9 60.5
+c1.2998 1 2.60059 2.10059 4 3.10059zM296 224h40c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-40c-4.40039 0 -8 -3.59961 -8 -8v-40c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v40c0 4.40039 -3.59961 8 -8 8h-40
+c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h40c4.40039 0 8 3.59961 8 8v40c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-40c0 -4.40039 3.59961 -8 8 -8z" />
+ <glyph glyph-name="microsoft" unicode="&#xf3ca;"
+d="M0 416h214.6v-214.6h-214.6v214.6zM233.4 416h214.6v-214.6h-214.6v214.6zM0 182.6h214.6v-214.6h-214.6v214.6zM233.4 182.6h214.6v-214.6h-214.6v214.6z" />
+ <glyph glyph-name="mix" unicode="&#xf3cb;"
+d="M0 384h448v-204.1c0 -56.6006 -88 -59.9004 -88 0v23.7998c0 56.7998 -82.7002 59 -88 4.2998v-116.1c0 -58 -96 -57.9004 -96 0v175.3c0 56.8994 -80.0996 59.3994 -88 6.5v-238.601c0 -58.0996 -88 -56.1992 -88 0v348.9z" />
+ <glyph glyph-name="mizuni" unicode="&#xf3cc;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111.1 248 -248c0 -137 -111 -248 -248 -248s-248 111 -248 248c0 136.9 111 248 248 248zM168 88.0996v223.9c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-272.1c21.2002 20.8994 48.5996 37.5996 80 48.1992zM288 98v214
+c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-214c13 2 26.4004 3.09961 40.2002 3.09961c13.5996 0 26.8994 -1.09961 39.7998 -3.09961zM408 40.2998v271.7c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-223.7c31.4004 -10.5996 58.7998 -27.2002 80 -48z
+" />
+ <glyph glyph-name="monero" unicode="&#xf3d0;" horiz-adv-x="496"
+d="M352 64h108.4c-43.4004 -71.9004 -122.301 -120 -212.4 -120s-169 48.0996 -212.4 120h108.4v127.8l104 -104.8l104 105v-128zM88 112h-74.7998c-8.60059 25.0996 -13.2002 52 -13.2002 80c0 137 111 248 248 248s248 -111 248 -248c0 -28 -4.7002 -54.9004 -13.2002 -80
+h-74.7998v208l-160.6 -159.4l-159.4 159.4v-208z" />
+ <glyph glyph-name="napster" unicode="&#xf3d2;" horiz-adv-x="495"
+d="M298.3 74.4004c-14.2002 -13.6006 -31.2998 -24.1006 -50.3994 -30.5c-19 6.39941 -36.2002 16.8994 -50.3008 30.5h100.7zM342.3 274c-56.3994 39.7998 -132.1 39.9004 -188.899 -0.0996094c-19.9004 16.7998 -43.6006 29.5 -69.5 36.3994v-161.6
+c0 -217.3 328 -219.101 328 0.299805v161.2c-26 -7 -49.6006 -19.2998 -69.6006 -36.2002zM133.5 332.5c6.5 -3.2002 14.0996 -7.40039 20.4004 -11.4004c58.6992 30.5 129.199 30.6006 187.899 0.100586c6.7002 4.2002 13.5 8 20.6006 11.5
+c-64.6006 59.8994 -164.5 59.7998 -228.9 -0.200195zM43.7998 354.8c17.5 -0.5 34.2998 -3.09961 50.6006 -7.5c82 91.6006 225.5 91.6006 307.5 0.100586c16.0996 4.39941 32.7998 6.89941 50.0996 7.39941v-69.2002c58.7002 -36.5 58.5 -121.899 -0.200195 -158.199
+l-0.299805 -1.7002c-25.9004 -238.8 -381.2 -243.601 -407.6 1.5c-58.5 37.2002 -58.5 121.8 -0.100586 158.3v69.2998zM259.2 96c13.0996 59.2998 33.5 56 113 55.4004c-0.799805 -8.2002 0.0996094 -32.3008 -26.2002 -47.4004c-4.40039 -2.5 -15.2998 -6 -25.5 -6.5
+c-25.2998 -1.2002 -61.2998 -1.5 -61.2998 -1.5zM123.7 151.3c79.2998 0.700195 99.7998 4 113 -55.3994c0 0 -36 0.399414 -61.2998 1.5c-10.3008 0.5 -21.1006 4 -25.5 6.5c-26.3008 15.0996 -25.4004 39.1992 -26.2002 47.3994zM292.8 27.9004
+c3 -4.90039 3.2002 -8.80078 3.2998 -8.90039c-29.0996 -17.5996 -67.0996 -17.5996 -96.1992 0c0 0 0.899414 5.5 3.69922 9.59961c3.5 5.10059 6.40039 6.60059 6.40039 6.60059c23.7002 -6.90039 51.0996 -7.2998 75.9004 0c0 0 3.69922 -2 6.89941 -7.2998z" />
+ <glyph glyph-name="node-js" unicode="&#xf3d3;"
+d="M224 -60c-6.7002 0 -13.5 1.7998 -19.4004 5.2002l-61.6992 36.5c-9.2002 5.2002 -4.7002 7 -1.7002 8c12.2998 4.2998 14.7998 5.2002 27.8994 12.7002c1.40039 0.799805 3.2002 0.5 4.60059 -0.400391l47.3994 -28.0996c1.7002 -1 4.10059 -1 5.7002 0l184.7 106.6
+c1.7002 1 2.7998 3 2.7998 5v213.2c0 2.09961 -1.09961 4 -2.89941 5.09961l-184.601 106.5c-1.7002 1 -4 1 -5.7002 0l-184.5 -106.6c-1.7998 -1 -2.89941 -3 -2.89941 -5.10059v-213.1c0 -2 1.09961 -4 2.89941 -4.90039l50.6006 -29.1992
+c27.5 -13.7002 44.2998 2.39941 44.2998 18.6992v210.4c0 3 2.40039 5.2998 5.40039 5.2998h23.3994c2.90039 0 5.40039 -2.2998 5.40039 -5.2998v-210.5c0 -36.5996 -20 -57.5996 -54.7002 -57.5996c-10.7002 0 -19.0996 0 -42.5 11.5996l-48.4004 27.9004
+c-12 6.89941 -19.3994 19.7998 -19.3994 33.6992v213.101c0 13.7998 7.39941 26.7998 19.3994 33.7002l184.5 106.6c11.7002 6.59961 27.2002 6.59961 38.8008 0l184.699 -106.7c12 -6.89941 19.4004 -19.7998 19.4004 -33.7002v-213.1
+c0 -13.7998 -7.40039 -26.7002 -19.4004 -33.7002l-184.699 -106.6c-5.90039 -3.40039 -12.6006 -5.2002 -19.4004 -5.2002zM373.1 150.1c0 -40.1992 -33.5996 -63.2998 -92 -63.3994c-80.8994 0 -97.7998 37.0996 -97.7998 68.2002c0 2.89941 2.2998 5.2998 5.2998 5.2998
+h23.9004c2.7002 0 4.90039 -1.90039 5.2998 -4.5c3.60059 -24.2998 14.2998 -36.6006 63.2002 -36.6006c38.9004 0 55.5 8.80078 55.5 29.4004c0 11.9004 -4.7002 20.7998 -65.2002 26.7002c-50.5 5 -81.7998 16.2002 -81.7998 56.5996c0 37.2998 31.4004 59.5 84.0996 59.5
+c59.2002 0 88.5 -20.5 92.2002 -64.5996c0.100586 -1.5 -0.399414 -3 -1.39941 -4.10059c-1 -1.09961 -2.40039 -1.69922 -3.90039 -1.69922h-24c-2.5 0 -4.7002 1.7998 -5.2002 4.19922c-5.7998 25.6006 -19.7998 33.8008 -57.7002 33.8008
+c-42.5 0 -47.3994 -14.8008 -47.3994 -25.9004c0 -13.4004 5.7998 -17.2998 63.2002 -24.9004c56.6992 -7.5 83.6992 -18.0996 83.6992 -58z" />
+ <glyph glyph-name="npm" unicode="&#xf3d4;" horiz-adv-x="576"
+d="M288 160h-32v64h32v-64zM576 288v-192h-288v-32h-128v32h-160v192h576zM160 256h-128v-128h64v96h32v-96h32v128zM320 256h-128v-160h64v32h64v128zM544 256h-192v-128h64v96h32v-96h32v96h32v-96h32v128z" />
+ <glyph glyph-name="ns8" unicode="&#xf3d5;" horiz-adv-x="639"
+d="M187.1 288.1h44.9004l-48.5 -160.1h-56.9004l-50.5996 106.5l-31.0996 -106.5h-44.9004l49 160.1h49.4004l54.5 -113.699zM639.6 289c4.60059 -28.5996 -36.0996 -44.7002 -65.6992 -50.5996h-0.100586c17.5 -29.3008 22.1006 -69.3008 3.40039 -105.5
+c-26.4004 -51.2002 -86.5 -79.9004 -135.101 -68c-29.3994 7.19922 -51.3994 29 -56.7998 59.5c-0.700195 3.5 -1 7.09961 -1.2002 10.7998c-5.5 -2.7998 -11.8994 -4.2002 -18.5 -4.90039c-15.5996 -1.7002 -21 -2.2998 -160.899 -2.2998l11.5996 39.5h126.8
+c9.10059 0 12.2002 3.2002 13.8008 7.40039c1.69922 4.59961 3.39941 10.1992 4.5 14.5996c1.09961 3.90039 0.0996094 6.59961 -7.7002 6.59961h-87.2998c-33.4004 0 -38.2002 9.2002 -32.8008 28.6006c3.2002 11.5 10.8008 37.2002 17.6006 47.0996
+c7.09961 10.2002 18.2998 13.7002 30.5996 15c15.6006 1.7002 20.4004 1.2002 160.101 1.2002l-9.7002 -31.5h-133.5c-5.5 0 -11.2002 -0.700195 -13.2998 -7.09961c-1.80078 -5.40039 -2.10059 -6.7002 -3.7002 -12.2002c-1.40039 -5.10059 2.2002 -7.40039 11.5 -7.40039
+h87.5996c20.4004 0 31 -6.7998 34 -16.5996c19.9004 21.3994 50.4004 39.5 94.2002 48.2002v0.0996094c-13.4004 42.5 43.9004 66.5996 88.5 58.7998c18.2002 -3.2002 39.2002 -13.2998 42.0996 -31.2998zM530.7 184.3c3.09961 15.7998 -0.5 33.7002 -7.2002 47.7998
+c-23.2998 -2.89941 -52.2998 -10.0996 -68.5 -26.8994c-24.4004 -25.2998 -16.7998 -60 14.0996 -64.7998c25 -3.90039 55.7002 14.3994 61.6006 43.8994zM552.5 267.4c10.5996 1.5 23.5 3.5 34.2002 9.59961c14.7998 8.5 10.3994 21 -4.90039 24.4004
+c-10.8994 2.39941 -25.0996 -0.5 -31.7998 -7.7002c-7.2998 -7.7998 -1.7002 -20.2998 2.5 -26.2998z" />
+ <glyph glyph-name="nutritionix" unicode="&#xf3d6;" horiz-adv-x="400"
+d="M88 439.9c0 0 133.4 8.19922 121 -104.4c0 0 19.0996 74.9004 103 40.5996c0 0 -17.7002 -74 -88 -56c0 0 14.5996 54.6006 66.0996 56.6006c0 0 -39.8994 10.2998 -82.0996 -48.7998c0 0 -19.7998 94.5 -93.5996 99.6992c0 0 75.1992 -19.3994 77.5996 -107.5
+c0 -0.0996094 -106.4 -7 -104 119.801zM400 124.3c0 -48.5 -9.7002 -95.2998 -32 -132.3c-42.2002 -30.9004 -105 -48 -168 -48c-62.9004 0 -125.8 17.0996 -168 48c-22.2998 37 -32 83.7998 -32 132.3c0 48.4004 17.7002 94.7002 40 131.7
+c42.2002 30.9004 97.0996 48.5996 160 48.5996c63 0 117.8 -17.5996 160 -48.5996c22.2998 -37 40 -83.2998 40 -131.7zM120 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM120 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
+s12.5 -28 28 -28s28 12.5 28 28zM120 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM192 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM192 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
+s12.5 -28 28 -28s28 12.5 28 28zM192 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM264 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM264 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
+s12.5 -28 28 -28s28 12.5 28 28zM264 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM336 20c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM336 86.2002c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28
+s12.5 -28 28 -28s28 12.5 28 28zM336 152.4c0 15.5 -12.5 28 -28 28s-28 -12.5 -28 -28s12.5 -28 28 -28s28 12.5 28 28zM360 192c-4.7998 22.2998 -7.40039 36.9004 -16 56c-38.7998 19.9004 -90.5 32 -144 32s-105.2 -12.0996 -144 -32
+c-8.7998 -19.5 -11.2002 -33.9004 -16 -56c42.2002 7.90039 98.7002 14.7998 160 14.7998s117.8 -6.89941 160 -14.7998z" />
+ <glyph glyph-name="page4" unicode="&#xf3d7;" horiz-adv-x="496"
+d="M248 -56c-137 0 -248 111 -248 248s111 248 248 248c20.9004 0 41.2998 -2.59961 60.7002 -7.5l-266.4 -376.5h205.7v-112zM248 87.5996h-149.4l149.4 213.601v-213.601zM344 56h111.4c-26.9004 -41 -65.7002 -73.5 -111.4 -92.7002v92.7002zM401.4 194.2v-16.7002
+l-21.2002 8.2998zM381.1 139.7c5.90039 0 8.2002 -4.7002 8.2002 -10.6006v-10h-16.2002v7.7002c0 6.60059 1.30078 12.9004 8 12.9004zM496 192c0 -37.2998 -8.2002 -72.7002 -23 -104.4h-129v333.101c89.2998 -37.5 152 -125.8 152 -228.7zM360.4 304.4h68.1992v47.5996
+h-13.8994v-32.5996h-13.9004v29.5996h-13.8994v-29.5996h-12.7002v32.5996h-13.9004v-47.5996h0.100586zM428.5 119.1h-26.5v11c0 15.4004 -5.59961 25.2002 -20.9004 25.2002c-15.3994 0 -20.6992 -10.5996 -20.6992 -25.8994v-25.3008h68.1992v15h-0.0996094zM428.5 222.1
+l-68.2002 -29.6992v-12.4004l68.2002 -29.5v16.5996l-14.4004 5.7002v26.5l14.4004 5.90039v16.8994zM423.7 290.6h-35.6006v-26.5996h13.9004v12.2002h11c8.59961 -15.7998 1.2998 -35.2998 -18.5996 -35.2998c-22.5 0 -28.3008 25.2998 -15.5 37.6992l-11.6006 10.6006
+c-16.2002 -17.5 -12.2002 -63.9004 27.1006 -63.9004c34 0 44.6992 35.9004 29.2998 65.2998z" />
+ <glyph glyph-name="palfed" unicode="&#xf3d8;" horiz-adv-x="575"
+d="M384.9 254.1c0.0996094 -53.3994 -46.5 -96.1992 -83.3008 -96.1992c-12.5 0 -14.3994 3.39941 -15.0996 6.19922c0.5 39.1006 1.7002 80.4004 3 119.801c40.2002 14.3994 95.4004 17.5996 95.4004 -29.8008zM190.4 181.9
+c-0.200195 0.599609 -0.400391 2.09961 -0.600586 4.59961c0 25.5996 37 60.9004 58.5 75.9004c-1.2002 -36.4004 -5.5 -198.101 -1.39941 -242.5c3 -32.3008 26.7998 -32.9004 36.3994 -22.3008c5.90039 6.60059 5.5 15.7002 5.2998 19.1006v0.200195
+c-1.7998 25.5996 -2.7998 60.5996 -2.69922 100c60.7998 -14.4004 140.1 60.2998 140.1 138.199c0 71 -63 94.2002 -135.2 72c-2.89941 14.6006 -18.2998 20.1006 -29.5 11.1006c-7.5 -6.2002 -9.5 -15.7998 -10.5 -28.2002c-57.7998 -30.9004 -100.7 -84.5 -100.7 -126.5
+c0 -24.9004 15.6006 -43 37.1006 -43c35.0996 0 41 44.0996 14.3994 44.0996c-4.69922 0 -11 -2.69922 -11.1992 -2.69922zM8 266.9c0 38.5996 38.4004 37.3994 38.4004 37.3994h29c15.5 70.1006 120.5 74.2998 120.5 74.2998h28.0996v19.1006
+c0 18.3994 21.0996 18.3994 21.0996 18.3994h85.8008c18.3994 0 21.0996 -18.3994 21.0996 -18.3994v-19.1006h28c89.2002 0 112.1 -48.6992 119.4 -74.2998h30.0996c38.5 0 38.4004 -37.3994 38.4004 -37.3994c0 -38.6006 -38.4004 -37.4004 -38.4004 -37.4004h-30
+l-22.4004 -217.2c0 -43.8994 -44.6992 -44.2998 -44.6992 -44.2998h-288.9c-44.7002 0 -44.7002 44.2998 -44.7002 44.2998l-22.3994 217.2h-30c-38.5 0 -38.4004 37.4004 -38.4004 37.4004z" />
+ <glyph glyph-name="patreon" unicode="&#xf3d9;" horiz-adv-x="512"
+d="M512 253.2c0 -101.3 -82.4004 -183.8 -183.8 -183.8c-101.7 0 -184.4 82.3994 -184.4 183.8c0 101.6 82.7002 184.3 184.4 184.3c101.399 0 183.8 -82.7002 183.8 -184.3zM0 -53.5v491h90v-491h-90z" />
+ <glyph glyph-name="periscope" unicode="&#xf3da;"
+d="M370 384.4c38.4004 -40.7002 59.5 -94.3008 59.5 -150.801c0 -74.2998 -57.4004 -159.5 -82 -192.6c-8 -10.7998 -79.2998 -105 -120.9 -105c-34 0 -88.7998 56.5 -125.399 104.9c-24.9004 32.8994 -82.7002 117.6 -82.7002 192.699c0 118.2 93.4004 214.4 208.1 214.4
+c53.9004 0 104.801 -22.5996 143.4 -63.5996zM226.6 -45.9004c37.3008 0 184.801 167.301 184.7 279.4c0 107.3 -83.8994 196.3 -184.7 196.3c-106.1 0 -190 -88.8994 -190 -196.3c0 -112.1 147.5 -279.4 190 -279.4zM338 241.2c0 -59.1006 -51.0996 -109.7 -110.8 -109.7
+c-100.601 0 -150.7 108.2 -92.9004 181.8v-0.399414c0 -24.5 20.1006 -44.4004 44.7998 -44.4004c24.7002 0 44.8008 19.9004 44.8008 44.4004c0 18.1992 -11.1006 33.7998 -26.9004 40.6992c76.5996 19.2002 141 -39.2998 141 -112.399z" />
+ <glyph glyph-name="phabricator" unicode="&#xf3db;" horiz-adv-x="496"
+d="M323 185.9c0 0 21.5996 -19.6006 20.9004 -20.7002l-8.10059 -19.7998c-0.5 -1.40039 -29.7002 -0.5 -29.7002 -0.5l-9.09961 -9.10059s1.59961 -31.5 0.200195 -32.0996l-20 -7.5c-1.2998 -0.5 -21.7998 23.2998 -21.7998 23.2998l-13.1006 0.200195
+s-19.2998 -24.1006 -20.7002 -23.5l-20.0996 8.2998c-1.40039 0.5 -1.2002 32.2998 -1.2002 32.2998l-9.39941 9.2998s-28.9004 -0.899414 -29.5 0.5l-9.5 20c-0.600586 1.40039 21.0996 21.2002 21.0996 21.2002l-0.0996094 12.9004s-21.6006 19.5996 -21 21
+l8.09961 19.7998c0.5 1.2998 29.7002 0.400391 29.7002 0.400391l9.09961 9.09961s-1.59961 28.4004 -0.200195 28.9004l20 8.2998c1.40039 0.599609 21.9004 -20.7998 21.9004 -20.7998l13.0996 -0.200195s19.3008 21.5996 20.7002 21l20.1006 -9.2002
+c1.39941 -0.599609 1.19922 -29.0996 1.19922 -29.0996l9.40039 -9.30078s28.9004 0.900391 29.5 -0.5l9.5 -20c0.599609 -1.39941 -21.0996 -21.1992 -21.0996 -21.1992zM278.1 194.6c-0.699219 17 -15.5 30.3008 -32.7998 29.5
+c-17.2998 -0.699219 -30.7998 -15.1992 -30.0996 -32.2998c0.700195 -17.0996 15.5 -30.3994 32.7998 -29.5996s30.7998 15.2998 30.0996 32.3994zM479.3 232.5c22.2998 -22.2998 22.2998 -58.7002 0 -81c-67.3994 -67.4004 -44.2998 -44.4004 -95.2998 -95.2998
+c-74.4004 -74.5 -194.7 -74.9004 -269.8 -1.60059l-0.100586 -0.0996094c-51 51 -27.5 27.5996 -97.3994 97c-22.2998 22.2998 -22.2998 58.7002 0 81c67.8994 67.4004 44.7998 44.2998 95.7002 95.2998c74.3994 74.4004 194.699 74.9004 269.8 1.60059l0.0996094 0.0996094
+zM140.4 84.2002c59.5996 -59.5 156 -59.6006 215.6 -0.100586c59.5996 59.6006 59.5 156.101 0 215.601c-59.5996 59.5 -156.1 59.5996 -215.6 0c-59.6006 -59.5 -59.6006 -156 0 -215.5z" />
+ <glyph glyph-name="phoenix-framework" unicode="&#xf3dc;" horiz-adv-x="640"
+d="M212.9 103.7c-36.7002 -1.2002 -108.7 29.2998 -127.7 106.399c-8.7002 35.3008 -2.7002 51.8008 -8 86.1006c-8.2002 53.3994 -32.1006 72.2002 -55.9004 76.5c-6.2002 1.09961 -12.3994 1.2998 -18.7002 0.299805
+c-0.799805 -0.0996094 -1.59961 -0.200195 -2.39941 -0.200195c-0.100586 0.200195 -0.100586 0.299805 -0.200195 0.5c0.700195 0.600586 1.40039 1.2002 2.2002 1.7998c36.8994 26.9004 92 38.4004 136.3 35c123.6 -9.5 141.3 -156.6 252.5 -173.1
+c6.09961 -0.900391 12.2998 -1.09961 18.5 -1.7002c0.700195 -0.0996094 1.40039 -0.0996094 2.5 -0.200195c-2.09961 -2.19922 -21.5996 -11.7998 -36.5 -14.5c-18.4004 -3.39941 -35.7002 -0.0996094 -51.2998 10.3008c-14.5 9.7998 -24.5 23.5 -38.9004 27.3994
+c-13 3.60059 -34.0996 1.7002 -35.8994 -19.5996c-1.30078 -15.9004 14.1992 -51.7998 51.7998 -74.6006c40.3994 -24.5 101.399 -26.8994 134.7 -14.7998c0.299805 0.100586 0.699219 0.200195 1.09961 0.299805c0.200195 0.100586 0.400391 0 1 -0.0996094
+c-23.5996 -28.4004 -71.2002 -49.9004 -108.2 -45.4004c-50.3994 6.2002 -77.7002 75.9004 -113.7 97.5c-19.0996 11.5 -49.0996 7 -52 -18.5c-1.09961 -10 2.10059 -19 6.40039 -27.5996c24.4004 -48.5996 65.5996 -47 68 -49.5996
+c-2.7998 -0.800781 -21.7998 -2.10059 -25.5996 -2.2002zM75.2998 383.1c13.1006 -14.5 34.2002 -7.89941 35.2998 6.80078c-12.3994 -0.700195 -24.5 -2.2002 -36.5996 -4.80078c0.400391 -0.799805 0.400391 -1 1.2998 -2zM272.2 32.5996
+c-42.7998 -1.19922 -92 26.7002 -123.5 61.4004c-4.60059 5 -16.7998 20.2002 -18.6006 23.4004l0.400391 0.399414c6.59961 -4.09961 25.7002 -18.5996 54.7998 -27c24.2002 -7 48.1006 -6.2998 71.6006 3.2998c22.6992 9.30078 41 0.5 43.0996 -2.89941
+c-18.5 -3.7998 -20.0996 -4.40039 -24 -7.90039c-5.09961 -4.39941 -4.59961 -11.7002 7 -17.2002c26.2002 -12.3994 63 2.80078 97.2002 -25.3994c2.39941 -2 8.09961 -7.7998 10.0996 -10.7002c-0.0996094 -0.200195 -0.299805 -0.299805 -0.399414 -0.5
+c-4.80078 1.5 -16.4004 7.5 -40.2002 9.2998c-24.7002 2 -46.2998 -5.2998 -77.5 -6.2002zM447 284.6c16.4004 5.2002 41.2998 13.4004 66.5 3.30078c16.0996 -6.5 26.2002 -18.7002 32.0996 -34.6006c3.5 -9.39941 5.10059 -19.7002 5.10059 -28.7002
+c-0.200195 0 -0.400391 0 -0.600586 -0.0996094c-0.199219 0.400391 -0.399414 0.900391 -0.5 1.2998c-5 22 -29.8994 43.7998 -67.5996 29.9004c-50.2002 -18.6006 -130.4 -9.7002 -176.9 48c-0.699219 0.899414 -2.39941 1.7002 -1.2998 3.2002
+c0.100586 0.199219 2.10059 -0.600586 3 -1.30078c18.1006 -13.3994 38.2998 -21.8994 60.2998 -26.1992c30.5 -6.10059 54.6006 -2.90039 79.9004 5.19922zM549.7 167.1c-32.4004 -0.199219 -33.7998 -50.0996 -103.601 -64.3994
+c-18.1992 -3.7002 -38.6992 -4.60059 -44.8994 -4.2002v0.400391c2.7998 1.5 14.7002 2.59961 29.7002 16.5996c7.89941 7.2998 15.2998 15.0996 22.7998 22.9004c19.5 20.1992 41.3994 42.1992 81.8994 39c23.1006 -1.80078 29.3008 -8.2002 36.1006 -12.7002
+c0.299805 -0.200195 0.399414 -0.5 0.700195 -0.900391c-0.5 0 -0.700195 -0.0996094 -0.900391 0c-7 2.7002 -14.2998 3.2998 -21.7998 3.2998zM537.4 191.2c-0.100586 -0.200195 -0.100586 -0.400391 -0.200195 -0.600586c-28.9004 4.40039 -48 7.90039 -68.5 -4
+c-17 -9.89941 -31.4004 -20.5 -62 -24.3994c-27.1006 -3.40039 -45.1006 -2.40039 -66.1006 8c-0.299805 0.200195 -0.599609 0.399414 -1 0.599609c0 0.200195 0.100586 0.299805 0.100586 0.5c24.8994 -3.7998 36.3994 -5.09961 55.5 5.7998
+c22.2998 12.9004 40.0996 26.6006 71.2998 31c29.5996 4.10059 51.2998 -2.5 70.9004 -16.8994zM268.6 350.7c-0.599609 0.599609 -1.09961 1.2002 -2.09961 2.2998c7.59961 0 29.7002 1.2002 53.4004 -8.40039c19.6992 -8 32.1992 -21 50.1992 -32.8994
+c11.1006 -7.2998 23.4004 -9.2998 36.4004 -8.10059c4.2998 0.400391 8.5 1.2002 12.7998 1.7002c0.400391 0.100586 0.900391 0 1.5 -0.299805c-0.599609 -0.400391 -1.2002 -0.900391 -1.7998 -1.2002c-8.09961 -4 -16.7002 -6.2998 -25.5996 -7.09961
+c-26.1006 -2.60059 -50.3008 3.7002 -73.4004 15.3994c-19.2998 9.90039 -36.4004 22.9004 -51.4004 38.6006zM640 112.3c-3.5 -3.09961 -22.7002 -11.5996 -42.7002 -5.2998c-12.2998 3.90039 -19.5 14.9004 -31.5996 24.0996
+c-10 7.60059 -20.9004 7.90039 -28.1006 8.40039c0.600586 0.799805 0.900391 1.2002 1.2002 1.40039c14.7998 9.19922 30.5 12.1992 47.2998 6.5c12.5 -4.2002 19.2002 -13.5 30.4004 -24.2002c10.7998 -10.4004 21 -9.90039 23.0996 -10.5
+c0.100586 0.0996094 0.200195 0 0.400391 -0.400391zM427.5 -24.7002c2.2002 -1.2002 1.59961 -1.5 1.5 -2c-18.5 1.40039 -33.9004 7.60059 -46.7998 22.2002c-21.7998 24.7002 -41.7002 27.9004 -48.6006 29.7002c0.5 0.200195 0.800781 0.399414 1.10059 0.399414
+c13.0996 -0.0996094 26.0996 -0.699219 38.8994 -3.89941c25.3008 -6.40039 35 -25.4004 41.6006 -35.2998c3.2002 -4.80078 7.2998 -8.30078 12.2998 -11.1006z" />
+ <glyph glyph-name="playstation" unicode="&#xf3df;" horiz-adv-x="576"
+d="M570.9 75.7002c-11.3008 -14.2002 -38.8008 -24.2998 -38.8008 -24.2998l-205.1 -73.6006v54.2998l150.9 53.8008c17.0996 6.09961 19.7998 14.7998 5.7998 19.3994c-13.9004 4.60059 -39.1006 3.2998 -56.2002 -2.89941l-100.5 -35.5v56.3994
+c23.2002 7.7998 47.0996 13.6006 75.7002 16.7998c40.8994 4.5 90.8994 -0.599609 130.2 -15.5c44.1992 -14 49.1992 -34.6992 38 -48.8994zM346.5 168.2v139c0 16.2998 -3 31.2998 -18.2998 35.5996c-11.7002 3.7998 -19 -7.09961 -19 -23.3994v-347.9l-93.7998 29.7998
+v414.7c39.8994 -7.40039 98 -24.9004 129.199 -35.4004c79.5 -27.2998 106.4 -61.2998 106.4 -137.8c0 -74.5 -46 -102.8 -104.5 -74.5996zM43.2002 37.7998c-45.4004 12.7998 -53 39.5 -32.2998 54.7998c19.0996 14.2002 51.6992 24.9004 51.6992 24.9004l134.5 47.7998
+v-54.5l-96.7998 -34.5996c-17.0996 -6.10059 -19.7002 -14.7998 -5.7998 -19.4004c13.9004 -4.59961 39.0996 -3.2998 56.2002 2.90039l46.3994 16.8994v-48.7998c-51.5996 -9.2998 -101.399 -7.2998 -153.899 10z" />
+ <glyph glyph-name="pushed" unicode="&#xf3e1;" horiz-adv-x="432"
+d="M407 336.1c21.7002 -1.89941 33.7998 -28 17.4004 -44.7998l-235.2 -231.3l-35.2998 -80.7998c-11 -17.2002 -41.2002 -14.2998 -47.7002 7l-105.101 348.3c-4.59961 18.2998 6.30078 33.9004 21.4004 36.5996l271.3 44.4004c17.9004 3.40039 39.1006 -13.5 28.7002 -37
+l-14 -33.4004zM297.6 394.4l-189 -31l177.4 -16.3008l16.7998 39.9004c2.2998 4.90039 -0.0996094 8.09961 -5.2002 7.40039zM22.7002 340.1l157.899 -244.3l96.9004 230.7l-248.7 22.7002c-5.09961 0.899414 -9.2002 -4 -6.09961 -9.10059zM136 -8.40039
+c0 0 28.2002 64.1006 35.2002 79.1006l-127.7 197.6l83.0996 -275.5c1.5 -4.2998 6.80078 -5.2002 9.40039 -1.2002zM408.8 306.1c3.10059 3.30078 1.40039 7.5 -2.59961 8.60059l-106.4 9.7002l-89.7002 -213.7z" />
+ <glyph glyph-name="python" unicode="&#xf3e2;"
+d="M439.8 247.5c10.7002 -42.9004 11.2002 -75.0996 0 -108.6c-10.7998 -32.5 -22.2998 -54.2002 -53.3994 -54.2002h-160.2v-13.6006h106.7v-40.6992c0 -30.8008 -26.5 -46.5 -53.4004 -54.3008c-40.5 -11.6992 -73 -9.89941 -106.8 0
+c-28.2002 8.30078 -53.4004 25.3008 -53.4004 54.3008v101.8c0 29.2998 24.2002 54.2998 53.4004 54.2998h106.8c35.5996 0 66.7998 31 66.7998 67.7998v47.4004h40.1006c31.0996 0 45.6992 -23.2998 53.3994 -54.2002zM286.2 44c-11 0 -20 -9 -20.1006 -20.2998
+c0 -11.2002 9.10059 -20.4004 20.1006 -20.4004c11.0996 0 20.0996 9.10059 20.0996 20.4004c0 11.2002 -9 20.2998 -20.0996 20.2998zM167.8 199.9c-36.2998 0 -66.7998 -31.1006 -66.7998 -66.4004v-48.7998h-36.7002c-31.0996 0 -49.2002 22.5996 -56.7998 54.2002
+c-10.2002 42.5 -9.7998 67.8994 0 108.6c8.5 35.5 35.7002 54.2002 66.7998 54.2002h147v13.5996h-106.899v40.7002c0 30.9004 8.19922 47.5996 53.3994 55.5996c32.1006 5.7002 71 6 106.8 0.100586c29 -4.90039 53.4004 -26.6006 53.4004 -55.6006v-101.899
+c0 -29.7998 -23.7002 -54.2998 -53.4004 -54.2998h-106.8zM161.1 342.5c11.1006 0 20.1006 9.09961 20.1006 20.2998s-9.10059 20.4004 -20.1006 20.4004c-11.0996 0 -20 -9.10059 -20.0996 -20.4004c0 -11.2002 9 -20.2998 20.0996 -20.2998z" />
+ <glyph glyph-name="red-river" unicode="&#xf3e3;"
+d="M353.2 416c52.3994 0 94.7998 -42.4004 94.7998 -94.7998v-258.4c0 -52.3994 -42.4004 -94.7998 -94.7998 -94.7998h-258.4c-52.3994 0 -94.7998 42.4004 -94.7998 94.7998v258.4c0 52.3994 42.4004 94.7998 94.7998 94.7998h258.4zM144.9 247.1
+c-0.600586 12.4004 11.6992 24.6006 24 24h56.2998c27 0 48.8994 21.9004 48.8994 48.9004h-154.199c-13.2002 0 -23.9004 -10.7002 -23.9004 -23.9004v-154.199c27 0 48.9004 21.8994 48.9004 48.8994v56.2998zM321.2 175.1c27 0 48.8994 21.9004 48.8994 48.9004h-154.199
+c-13.2002 0 -23.9004 -10.7002 -23.9004 -23.9004v-154.199c27 0 48.9004 21.8994 48.9004 48.8994v56.2998c-0.600586 12.4004 11.6992 24.6006 24 24h56.2998z" />
+ <glyph glyph-name="wpressr" unicode="&#xf3e4;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM419.33 281.4c2.41016 5.47949 0.459961 8.2793 -5.62012 8.26953c-104.8 0.00976562 -107.69 -0.0302734 -130.78 0.0302734
+c-4.31934 0.00976562 -7.10938 -1.82031 -8.83984 -5.78027c-5.70996 -13.0996 -11.5195 -26.1504 -17.2998 -39.21c-2.57031 -5.7998 -1 -8.26953 5.26953 -8.26953c25.2607 0 50.5205 -0.0107422 75.7803 0.0195312
+c10.0303 0.00976562 8.54004 -13.6602 -3.89941 -13.6396c-26.4307 0.0498047 -52.8604 0 -79.29 0.0498047c-4.91016 0.00976562 -8.33008 -1.88965 -10.3506 -6.5c-4.2998 -9.83008 -32.1494 -73.0801 -32.1895 -73.1602
+c-3.2002 -7.16016 -16.2607 -6.09961 -11.2803 5.33008c8.26953 18.9902 16.6504 37.9297 24.9795 56.8896c2.25 5.11035 -0.0996094 8.74023 -5.65918 8.75c-15.21 0.0205078 -30.4307 -0.0400391 -45.6406 0.0400391
+c-3.35938 0.0107422 -5.41016 -1.29004 -6.76953 -4.38965c-31.4307 -71.8701 -29.7803 -67.3203 -30.0098 -67.6904c-3.87012 -6.37012 -14.8604 -3.34961 -10.9502 5.60059c5.66992 13.0098 11.3701 26.0098 17.0898 39c13.5703 30.7793 27.1396 61.5596 40.7402 92.3301
+c2.54004 5.75 -0.419922 10.5801 -6.66016 10.5898c-14.2402 0.0302734 -28.4805 -0.0498047 -42.7197 0.0498047c-4.26074 0.0302734 -6.84082 -1.76953 -8.54004 -5.65039c-12.8604 -29.3896 -25.8203 -58.7295 -38.75 -88.0791
+c-8.62012 -19.5605 -17.2305 -39.1201 -25.8906 -58.6602c-1.58008 -3.55078 -1.47949 -6.78027 1.20996 -9.73047c11.2207 -12.3096 22.4707 -24.6094 33.6807 -36.9395c2.08984 -2.30078 4.58984 -3.4502 7.71973 -3.4502c45.9395 0.0195312 91.8701 0.00976562 137.81 0
+c3.86035 0 6.37988 1.78027 7.91992 5.29004c10.3203 23.5 20.7607 46.9395 30.9502 70.5c2.08984 4.83008 5.21973 6.75 10.3398 6.71973c23.0205 -0.110352 46.0303 -0.0400391 69.0508 -0.0498047c6.0791 0 10.5293 2.72949 12.9697 8.24023
+c15.2598 34.4795 30.4502 68.9893 45.6299 103.5z" />
+ <glyph glyph-name="replyd" unicode="&#xf3e6;"
+d="M320 -32h-192c-70.4004 0 -128 57.5996 -128 128v192c0 70.4004 57.5996 128 128 128h192c70.4004 0 128 -57.5996 128 -128v-192c0 -70.4004 -57.5996 -128 -128 -128zM193.4 174.8c-6.10059 2 -11.6006 3.10059 -16.4004 3.10059
+c-7.2002 0 -13.5 -1.90039 -18.9004 -5.60059c-5.39941 -3.7002 -9.59961 -9 -12.7998 -15.7998h-1.09961l-4.2002 18.2998h-28v-138.899h36.0996v89.6992c1.5 5.40039 4.40039 9.80078 8.7002 13.2002c4.2998 3.40039 9.7998 5.10059 16.2002 5.10059
+c4.59961 0 9.7998 -1 15.5996 -3.10059zM308.6 71.4004c-3.19922 -2.40039 -7.69922 -4.80078 -13.6992 -7.10059s-12.8008 -3.5 -20.4004 -3.5c-12.2002 0 -21.0996 3 -26.5 8.90039c-5.5 5.89941 -8.5 14.7002 -9 26.3994h83.2998
+c0.900391 4.80078 1.60059 9.40039 2.10059 13.9004c0.5 4.40039 0.699219 8.59961 0.699219 12.5c0 10.7002 -1.59961 19.7002 -4.69922 26.9004c-3.2002 7.19922 -7.30078 13 -12.5 17.1992c-5.2002 4.30078 -11.1006 7.30078 -17.8008 9.2002
+c-6.69922 1.7998 -13.5 2.7998 -20.5996 2.7998c-21.0996 0 -37.5 -6.09961 -49.2002 -18.2998s-17.5 -30.5 -17.5 -55c0 -22.7998 5.2002 -40.7002 15.6006 -53.7002c10.3994 -13.0996 26.7998 -19.5996 49.1992 -19.5996c10.7002 0 20.9004 1.5 30.4004 4.59961
+c9.5 3.10059 17.0996 6.80078 22.5996 11.2002zM286.8 141.7c3.7998 -5.40039 5.2998 -13.1006 4.60059 -23.1006h-51.7002c0.899414 9.40039 3.7002 17 8.2002 22.6006c4.5 5.59961 11.5 8.5 21 8.5c8.19922 0.0996094 14.0996 -2.60059 17.8994 -8zM366.7 139.2
+c4.09961 -3.90039 9.39941 -5.7998 16.0996 -5.7998c7 0 12.6006 1.89941 16.7002 5.7998c4.09961 3.89941 6.09961 9.09961 6.09961 15.5996s-2 11.6006 -6.09961 15.4004s-9.59961 5.7002 -16.7002 5.7002c-6.7002 0 -12 -1.90039 -16.0996 -5.7002
+c-4.10059 -3.7998 -6.10059 -8.90039 -6.10059 -15.4004s2 -11.7002 6.10059 -15.5996zM366.7 38.7002c4.09961 -3.90039 9.39941 -5.7998 16.0996 -5.7998c7 0 12.6006 1.89941 16.7002 5.7998c4.09961 3.89941 6.09961 9.09961 6.09961 15.5996
+s-2 11.6006 -6.09961 15.4004s-9.59961 5.7002 -16.7002 5.7002c-6.7002 0 -12 -1.90039 -16.0996 -5.7002c-4.10059 -3.7998 -6.10059 -8.90039 -6.10059 -15.4004c0 -6.59961 2 -11.7002 6.10059 -15.5996z" />
+ <glyph glyph-name="resolving" unicode="&#xf3e7;" horiz-adv-x="496"
+d="M281.2 169.8l-197.9 -57.2002l-28.5996 98.6006l188.2 54.0996c52.6992 15.2998 65 8.10059 71.0996 -12.7998l11.2002 -39.2998c5.59961 -19.9004 2 -30.1006 -44 -43.4004zM248.5 440c137 0 248.5 -111.4 247.5 -247.7c0 -136.899 -111.5 -248.3 -248.5 -248.3
+c-46 0 -89.5 12.7002 -126.3 34.7002l-23 80.2002l286.8 -37.3008l48.0996 13.3008l-9.69922 34.1992l-220.4 27.1006l92.5996 26.5996c30.2002 8.7002 42 15.7998 61.4004 33.2002c24.5 23 31.7002 45.5 23.5 73.5996l-10.7002 37.8008
+c-8.7002 30.1992 -25.0996 49.0996 -61.3994 55.1992c-25.1006 3.5 -44.5 2 -79.3008 -8.19922l-221.899 -63.9004c26 108.8 124.2 189.5 241.3 189.5zM38.2998 59.4004c-24 38.3994 -38.2998 83.2998 -38.2998 131.8z" />
+ <glyph glyph-name="rocketchat" unicode="&#xf3e8;" horiz-adv-x="582"
+d="M491.9 342.1c121 -77.3994 120.6 -223.5 0 -300.5c-78 -51.5 -181.4 -63.0996 -267.101 -47.6992c-96.5996 -92.2002 -204 -49.7002 -224.8 -37.4004c0 0 73.9004 62.7998 61.9004 117.8c-45.9004 46.9004 -87.5 146.2 0 235.4c12 55 -61.9004 117.8 -61.9004 117.8
+c21 12.2998 128.7 54.9004 224.8 -37.7998c85.9004 15.5 189.3 3.7998 267.101 -47.6006zM297.5 42.0996c128.1 0 232 67 232 149.9s-103.9 150.1 -232 150.1s-232 -67.1992 -232 -150.1c0 -36.2002 19.7002 -69.2998 52.5996 -95.2002
+c9.2002 -29.5 3.80078 -62.7002 -16.1992 -99.7998c-0.900391 -1.7002 -1.80078 -3.5 -2.80078 -5.2998c18.2002 1.59961 36 6.7002 52.3008 14.8994c13.3994 7.60059 25.8994 16.9004 37 27.7002l20 19.2998c29.0996 -7.69922 59 -11.5996 89.0996 -11.5zM186.2 156.3
+c-19.1006 -0.299805 -34.9004 15 -35.2002 34.1006c-0.700195 45.8994 68.5996 46.8994 69.2998 1.09961v-0.5c0.200195 -19.2998 -15.5 -34.7002 -34.0996 -34.7002zM260.8 190.4c-0.799805 45.8994 68.5 47 69.2998 1.19922v-0.599609
+c0.400391 -45.5996 -68.5 -46.0996 -69.2998 -0.599609zM405.8 156.3c-19.0996 -0.299805 -34.8994 15 -35.2002 34.1006c-0.699219 45.8994 68.6006 46.8994 69.3008 1.09961v-0.5c0.199219 -19 -15 -34.5996 -34.1006 -34.7002z" />
+ <glyph glyph-name="rockrms" unicode="&#xf3e9;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM405.4 20.5l-101.5 118.9s73.5996 0.199219 74.1992 0.199219c29.6006 -1.09961 46.6006 33.3008 27.6006 56.1006l-157.7 185.1c-13.2002 17.2998 -40.0996 18.4004 -54.5 0
+l-147.1 -172.5h90l84.2998 98.9004l84.5996 -99.2998h-75.2998c-30.5 0 -44.5 -35.7002 -26.5996 -56.1006l112 -131.3h90z" />
+ <glyph glyph-name="schlix" unicode="&#xf3ea;"
+d="M350.5 290.3l-54.2002 46.1006l73.4004 39l78.2998 -44.2002zM192 325.9l45.7002 28.1992l34.7002 -34.5996l-55.4004 -29zM126.9 319.3l31.8994 22.1006l17.2002 -28.4004l-36.7002 -22.5zM103.6 231.1l-8.7998 34.8008l29.6006 18.2998l13.0996 -35.2998z
+M82.4004 314.8l23.8994 18.1006l8.90039 -24l-26.7002 -18.3008zM59 241.5l-3.59961 28.4004l22.2998 15.5l6.09961 -28.7002zM28.4004 224.9l20.7998 12.7998l3.2998 -33.4004l-22.9004 -12zM1.40039 180l19.1992 10.2002l0.400391 -38.2002l-21 -8.7998zM60.5 120.7
+l-28.2998 -8.2998l-1.60059 46.7998l25.1006 10.7002zM99 184.8l-31.0996 -13l-5.2002 40.7998l27.3994 14.4004zM123.2 71l-41.6006 -5.90039l-8.09961 63.5l35.2002 10.8008zM151.7 210.9l21.2002 -57.1006l-46.2002 -13.5996l-13.7002 54.0996zM237.4 -19.5996
+l-70.9004 3.2998l-24.2998 95.7998l55.2002 8.59961zM152.5 260.1l42.2002 22.4004l28 -45.9004l-50.7998 -21.2998zM193.5 165.2l61.2998 18.7002l52.7998 -86.6006l-79.7998 -11.2998zM244.9 250.8l67.2998 28.7998l65.5 -65.3994l-88.6006 -26.2002z" />
+ <glyph glyph-name="searchengin" unicode="&#xf3eb;" horiz-adv-x="459"
+d="M220.6 317.7l-67.1992 -209.3v130.3l-54.7002 -24.2002l54.7002 190.3v-115.3zM137.4 414.4l-1.30078 -4.7002l-15.1992 -52.9004c-40.3008 -15.5 -68.9004 -54.5996 -68.9004 -100.3c0 -52.2998 34.2998 -95.9004 83.4004 -105.5v-53.5996
+c-77.9004 10.5 -135.4 78.1992 -135.4 159c0 80.5 59.7998 147.199 137.4 158zM448.8 -32.7998c-11.2002 -11.2002 -23.0996 -12.2998 -28.5996 -10.5c-5.40039 1.7998 -27.1006 19.8994 -60.4004 44.3994c-33.2998 24.6006 -33.5996 35.7002 -43 56.7002
+c-9.39941 20.9004 -30.3994 42.6006 -57.5 52.4004l-9.7002 14.7002c-24.6992 -16.9004 -53 -26.9004 -81.2998 -28.7002l2.10059 6.59961l15.8994 49.5c46.5 11.9004 80.9004 54 80.9004 104.2c0 54.5 -38.4004 102.1 -96 107.1v52.1006
+c83.2002 -5.10059 148.8 -74.5 148.8 -159.3c0 -33.6006 -11.2002 -64.7002 -29 -90.4004l14.5996 -9.59961c9.80078 -27.1006 31.5 -48 52.4004 -57.4004s32.2002 -9.7002 56.7998 -43c24.6006 -33.2002 42.7002 -54.9004 44.5 -60.2998
+c1.7998 -5.40039 0.700195 -17.2998 -10.5 -28.5zM438.9 -14.9004c0 4.40039 -3.60059 8 -8 8c-4.40039 0 -8 -3.59961 -8 -8c0 -4.39941 3.59961 -8 8 -8c4.39941 0 8 3.60059 8 8z" />
+ <glyph glyph-name="servicestack" unicode="&#xf3ec;" horiz-adv-x="496"
+d="M88 232c81.7002 -10.2002 273.7 -102.3 304 -232h-392c99.5 8.09961 184.5 137 88 232zM120 384c102.8 -15.5 335.3 -167.9 376 -384h-96c-26.2998 126.7 -150.7 216.7 -233.6 250.4c1.2998 49.6992 -14.1006 98 -46.4004 133.6z" />
+ <glyph glyph-name="sistrix" unicode="&#xf3ee;"
+d="M448 -1l-30.5 -31l-146 148.1c-28.7002 -23.6992 -65.2002 -37.8994 -105 -37.8994c-91.7998 0 -166.5 75.7998 -166.5 168.899c0 93.1006 74.7002 168.9 166.6 168.801c91.8008 0 166.5 -75.8008 166.5 -168.9c0 -37 -11.8994 -71.2998 -31.8994 -99.2002zM166.5 117.2
+c70.7002 0 128.1 58.2998 128.1 129.899c0 71.6006 -57.5 129.9 -128.1 129.9s-128.1 -58.2998 -128.1 -129.9c0 -71.5996 57.5 -129.899 128.1 -129.899z" />
+ <glyph glyph-name="slack-hash" unicode="&#xf3ef;"
+d="M446.2 177.6c6.2002 -19 -3.90039 -39.6992 -22.9004 -45.6992l-45.3994 -15.1006l15.6992 -47c6.10059 -19.0996 -3.89941 -39.7002 -23 -45.8994c-21.2998 -6.10059 -40.0996 6 -46 22.8994l-15.6992 47l-93.6006 -31.2998l15.7002 -47
+c6.09961 -19.0996 -3.90039 -39.7002 -23 -45.9004c-21.2998 -6.09961 -40.0996 6 -46 22.9004l-15.7002 47c-45.7002 -15.2002 -50.8994 -17.7998 -57.7002 -16.7998c-14.5 0.599609 -28.5996 10.0996 -33.5996 24.5996c-6.09961 19 4 39.7002 23 45.9004l45.4004 15.0996
+l-30.3008 90c-45.6992 -15.2002 -50.8994 -17.7998 -57.6992 -16.7998c-14.5 0.599609 -28.6006 10.0996 -33.6006 24.5996c-6.09961 19.1006 3.90039 39.7002 23 45.9004l45.2998 15l-15.6992 47c-6.10059 19.0996 3.89941 39.7002 23 45.9004
+c19.0996 6.19922 39.7998 -3.90039 46 -22.9004l15.6992 -47l93.4004 31.2002l-15.7002 47c-6.09961 19.0996 3.90039 39.7002 23 45.8994c19.1006 6.2002 39.7998 -3.89941 46 -22.8994l15.7002 -47l45.4004 15.0996c19.0996 6.2002 39.7998 -3.89941 46 -22.8994
+c6.09961 -19.1006 -3.90039 -39.7002 -23 -45.9004l-45.4004 -15.0996l30.2998 -90l45.4004 15.0996c19.0996 6.2002 39.7998 -3.90039 46 -22.9004zM192.1 130.4l93.5 31.2998l-30.2998 90.2002l-93.5 -31.3008z" />
+ <glyph glyph-name="speakap" unicode="&#xf3f3;" horiz-adv-x="430"
+d="M55.0098 56.2197c-79.4102 88.1904 -71.96 224.36 16.6406 304.141c88.5996 79.7793 224.8 72.96 304.21 -15.2402c79.4092 -88.2002 71.96 -224.36 -16.6406 -304.14c-18.7393 -16.8701 64.0303 -43.0908 42.0205 -52.2607c-82.0605 -34.21 -253.91 -35.04 -346.23 67.5
+zM268.32 267.82l38.5 40.8594c-9.61035 8.89062 -32.0205 26.8301 -76.1699 27.6006c-52.3301 0.910156 -95.8604 -28.2998 -96.7705 -79.96c-0.200195 -11.3301 0.290039 -36.7207 29.4199 -54.8301c34.46 -21.4199 86.5205 -21.5098 85.9805 -52.2598
+c-0.370117 -21.2803 -26.4199 -25.8105 -38.5898 -25.6006c-2.98047 0.0498047 -30.2305 0.459961 -47.6104 24.6201l-39.9502 -42.6104c28.1602 -27.0098 58.9902 -32.6201 83.4902 -33.0498c10.2295 -0.179688 96.4199 -0.330078 97.8398 81
+c0.280273 15.8105 -2.07031 39.7197 -28.8604 56.5898c-34.3594 21.6406 -84.96 19.4502 -84.4297 49.75c0.410156 23.25 30.96 25.3701 37.5303 25.2607c0.429688 0 26.6201 -0.260742 39.6201 -17.3701z" />
+ <glyph glyph-name="staylinked" unicode="&#xf3f5;" horiz-adv-x="439"
+d="M382.7 155.5l44.2998 -41.2998c3.7002 -3.5 3.2998 -9 -0.700195 -12.2002l-198 -163.9c-9.89941 -7.59961 -17.2998 -0.799805 -17.2998 -0.799805l-208.7 196.101c-3.5 3.5 -3 9 1.2002 12.1992l45.7998 34.9004c4.2002 3.2002 10.4004 3 13.9004 -0.5l151.899 -147.5
+c3.7002 -3.5 10 -3.7002 14.2002 -0.400391l93.2002 74c4.09961 3.2002 4.5 8.7002 0.900391 12.2002l-84 81.2998c-3.60059 3.5 -9.90039 3.7002 -14 0.5l-0.100586 -0.0996094c-4.09961 -3.2002 -10.3994 -3 -14 0.5l-68.0996 64.2998
+c-3.5 3.5 -3.10059 9 1.09961 12.2002l57.2998 43.5996c4.10059 3.2002 10.3008 3 13.8008 -0.5l170 -167.3zM437.2 238.9c3.7002 -3.5 3.39941 -9 -0.700195 -12.2002l-45.7998 -35.7998c-4.10059 -3.2002 -10.4004 -3 -14.1006 0.5l-160.399 159
+c-3.60059 3.5 -9.7998 3.69922 -13.9004 0.5l-92.2002 -71.5c-4.19922 -3.30078 -4.69922 -8.7002 -1.09961 -12.2002l94.5996 -91.7998c3.7002 -3.5 10 -3.60059 14.2002 -0.400391l0.100586 0.0996094c4.19922 3.2002 10.5996 3 14.1992 -0.5l57.1006 -54.3994
+c3.7002 -3.5 3.2998 -9 -0.900391 -12.2002l-7.7002 -6l0.300781 -0.299805l-50.2002 -38.7998c-4.2002 -3.30078 -10.6006 -3.10059 -14.2998 0.399414l-171.7 165.101l-42.2998 41.6992c-3.60059 3.5 -3 9 1.19922 12.2002l206.801 162.101
+c8.2998 6.59961 14.7998 2.2998 16.2998 1.09961z" />
+ <glyph glyph-name="steam-symbol" unicode="&#xf3f6;"
+d="M395.5 270.5c0 -33.7998 -27.5 -61 -61 -61c-33.7998 0 -61 27.2998 -61 61s27.2998 61 61 61c33.5 0 61 -27.2002 61 -61zM448 270.3c0 -63 -51 -113.8 -113.7 -113.8l-109.3 -79.7998c-4 -43 -40.5 -76.7998 -84.5 -76.7998c-40.5 0 -74.7002 28.7998 -83 67
+l-57.5 23.0996v107.3l97.2002 -39.2998c15.0996 9.2002 32.2002 13.2998 52 11.5l71 101.7c0.5 62.2998 51.5 112.8 114 112.8c62.7998 0 113.8 -51 113.8 -113.7zM203 85c0 34.7002 -27.7998 62.5 -62.5 62.5c-4.5 0 -9 -0.5 -13.5 -1.5l26 -10.5
+c25.5 -10.2002 38 -39 27.7002 -64.5c-10.2002 -25.5 -39.2002 -38 -64.7002 -27.5c-10.2002 4 -20.5 8.2998 -30.7002 12.2002c10.5 -19.7002 31.2002 -33.2002 55.2002 -33.2002c34.7002 0 62.5 27.7998 62.5 62.5zM410.5 270.3c0 42 -34.2998 76.2002 -76.2002 76.2002
+c-42.2998 0 -76.5 -34.2002 -76.5 -76.2002c0 -42.2002 34.2998 -76.2002 76.5 -76.2002c41.9004 -0.0996094 76.2002 33.9004 76.2002 76.2002z" />
+ <glyph glyph-name="sticker-mule" unicode="&#xf3f7;" horiz-adv-x="576"
+d="M561.7 248.4c-1.2998 -0.300781 0.299805 0 0 0zM555.5 325.8c20.2002 -50.0996 20.5996 -45.2002 20.5996 -52.8994c0 -7.5 -4.09961 -11 -7.19922 -16.5c-1.5 -3 -4.60059 -7.5 -7.2002 -8c-0.400391 0 -3 -0.5 -13.4004 -2.5c-7.2002 -1 -13.3994 4.5 -14.8994 9.5
+c-1.60059 4.69922 2.7998 10.0996 -11.8008 22.8994c-10.2998 10 -21.0996 11.2998 -31.8994 17c-9.7998 5.7002 -11.9004 -1 -18 -8c-18 -22.8994 -34 -46.8994 -52 -69.7998c-11.7998 -15 -24.2002 -30.4004 -33.5 -47.4004
+c-3.90039 -6.7998 -9.5 -28.0996 -10.2998 -29.8994c-6.2002 -17.7002 -5.5 -25.7998 -16.5 -68.2998c-3.10059 -10 -5.7002 -21.4004 -8.7002 -32.4004c-2.2002 -6.7998 -7.40039 -49.2998 -0.5 -59.4004c2.09961 -3.5 8.7002 -4.5 11.2998 -8
+c0.0996094 -0.0996094 9.59961 -18.1992 9.2998 -20c0 -6.09961 -9.39941 -5.59961 -11.2998 -6.5c-4.7998 -2.89941 -3.7998 -5.89941 -6.40039 -7.39941c-5.89941 -2.90039 -32.0996 -3.2002 -36.5 0.5c-4.09961 3 -2.19922 11.8994 -1.5 15
+c2.2002 15 -2.5 7.89941 -9.7998 11.5c-3.09961 1.5 -4.09961 5.5 -4.59961 10c-0.5 1.5 -1 2.5 -1.5 3.5c-1.7002 10.7002 6.7998 33.5996 8.2002 43.3994c4.89941 23.7002 -0.700195 37.2002 1.5 46.9004c3.69922 16.2002 4.09961 3.5 4.09961 29.9004
+c-1.40039 25.8994 3.2998 36.8994 0.5 38.8994c-14.7998 0 -64.2998 -10.7002 -112.2 -2c-46.0996 8.90039 -59.3994 29 -65.3994 30.9004c-10.3008 4.5 -23.2002 -0.5 -27.3008 -7c-0.0996094 -0.100586 -35 -70.6006 -39.5996 -87.7998
+c-6.2002 -20.5 -0.5 -47.4004 4.09961 -66.8008c0 -0.0996094 4.5 -14.5996 10.3008 -19.5c2.09961 -1.5 5.09961 -2.5 7.19922 -4.5c2.80078 -2.69922 9.40039 -15.1992 9.80078 -16c2.59961 -4.5 3.59961 -8 -1.5 -10.5c-3.60059 -2 -9.30078 -2.5 -14.4004 -2.5
+c-2.59961 -0.5 -1.5 -3.5 -3.09961 -5c-2.90039 -2.7998 -20.7002 -6.09961 -29.9004 -2.5c-2.59961 1 -5.7002 3 -6.2002 5c-1.5 4 2.10059 9 -1 12.5c-4.5 2.90039 -13.0996 2 -17 12c-2.2002 5.40039 -2.59961 7.60059 -2.59961 49.4004
+c0 9.7002 -5.90039 38.7002 -8.2002 46.9004c-1.5 5.5 -1.5 11.5 0 16c0.299805 0.899414 4.09961 4.59961 4.09961 13c-1 1.5 -4.59961 0.5 -5.09961 1.5c-10.4004 80.5996 -5.90039 79 -7.7002 98.2998c-1.5 16 -10.8994 43.8994 -6.7002 64.2998
+c0.5 2.40039 3.40039 21 24.2002 38.9004c31 26.6992 48.4004 38.2998 159 11.5c1.10059 -0.400391 66.2998 -21.1006 110.7 9c15.5 11.2998 28.7998 11.2998 35.5 16c0.0996094 0.0996094 61.7002 52.0996 87 65.2998c47.2002 29.3994 69.9004 16.7002 75.0996 18
+c4.7002 1 13.4004 25.7998 17 25.7998c5.5 0 1.60059 -20.2002 3.60059 -25.9004c0.5 -2 3.59961 -5 6.2002 -5c2.2998 0 1.69922 0.800781 10.2998 5c8.39941 5.40039 14.8994 17.6006 20.5996 17c11.7002 -1.59961 -19 -41.5996 -19 -46.8994
+c0 -2 0.200195 -0.799805 4.60059 -9.5c2.59961 -5.5 4.59961 -13.5 6.19922 -20c8.30078 -29.7002 5.7002 -14.6006 13.4004 -36.9004z" />
+ <glyph glyph-name="studiovinari" unicode="&#xf3f8;" horiz-adv-x="511"
+d="M480.3 260.3l4.2002 -28v-28l-25.0996 -44.0996l-39.8008 -78.4004l-56.0996 -67.5l-79.0996 -37.7998l-17.7002 -24.5l-7.7002 -12l-9.59961 -4s17.2998 63.5996 19.3994 63.5996c2.10059 0 20.2998 -0.699219 20.2998 -0.699219l66.7002 38.5996l-92.5 -26.0996
+l-55.8994 -36.8008l-22.8008 -28l-6.59961 -1.39941l20.7998 73.5996l6.90039 5.5l20.7002 -12.8994l88.2998 45.1992l56.7998 51.5l14.7998 68.4004l-125.399 -23.2998l15.1992 18.2002l-173.399 53.2998l81.8994 10.5l-166 122.899l114.9 -18.0996l-101.3 108
+l252.899 -126.6l-31.5 38l124.4 -74.4004l-143.3 99l18.7002 -38.4004l-49.6006 18.1006l-45.5 84.2998l194.601 -122l-42.9004 55.7998l108 -96.3994l12 8.89941l-21 16.4004l4.2002 37.7998l37.7998 10.4004l29.2002 -24.7002l11.5 -4.2002l-7 -6.2002l8.5 -12
+l-13.1006 -7.39941l-10.2998 -20.2002z" />
+ <glyph glyph-name="supple" unicode="&#xf3f9;" horiz-adv-x="640"
+d="M640 185.5c0 -64.0996 -109 -116.1 -243.5 -116.1c-24.7998 0 -48.5996 1.7998 -71.0996 5c7.69922 -0.400391 15.5 -0.600586 23.3994 -0.600586c134.5 0 243.5 56.9004 243.5 127.101c0 29.3994 -19.0996 56.3994 -51.2002 78
+c60 -21.1006 98.9004 -55.1006 98.9004 -93.4004zM47.7002 220.1c0.0996094 -29.3994 19.2998 -56.5 51.5996 -78c-60.2002 21 -99.2002 55 -99.2998 93.3008c-0.0996094 64.0996 108.8 116.3 243.3 116.699c24.7002 0 48.5 -1.69922 71 -4.89941
+c-7.7002 0.299805 -15.3994 0.5 -23.2998 0.5c-134.5 -0.299805 -243.4 -57.4004 -243.3 -127.601zM107.9 180.2l8.7998 10.8994s8.7998 -10.0996 20.7002 -10.0996c6.5 0 12.2998 3.5 12.2998 10.0996c0 14.5 -40.2002 13.3008 -40.2002 39.9004
+c0 13.9004 12 24.0996 28.5 24.0996c10 0 25.4004 -4.69922 25.4004 -16.7998v-7.89941h-14.2002v3.89941c0 4 -5.60059 6.60059 -11.2998 6.60059c-7.2002 0 -12.5 -3.7002 -12.5 -9.10059c0 -14.5996 40.1992 -11.7002 40.1992 -39.7002
+c0 -13.5996 -10.5 -25.0996 -28.3994 -25.0996c-18.7998 0 -29.2998 13.2002 -29.2998 13.2002zM228.7 253.8h15.7002v-55c0 -18.8994 -13.3008 -31.8994 -33.4004 -31.8994c-20.2998 0 -33.7002 13 -33.7002 31.8994v55h15.7998v-54.5
+c0 -11.2002 7.10059 -17.7002 17.8008 -17.7002c10.6992 0 17.7998 6.5 17.7998 17.8008v54.3994zM263.1 168.4v72h-7.7998v13.3994h39.1006c16 0 27.1992 -11.2002 27.1992 -27.7998s-11.1992 -28.0996 -27.1992 -28.0996h-15.5v-29.5h-15.8008zM278.9 211.4h12.5996
+c8.90039 0 14 5.7998 14 14.6992c0 8.7002 -5 14.4004 -13.7002 14.4004h-12.8994v-29.0996zM335.9 168.4v72h-7.80078v13.3994h39.1006c16 0 27.2002 -11.2002 27.2002 -27.7998s-11.2002 -28.0996 -27.2002 -28.0996h-15.5v-29.5h-15.7998zM351.6 211.4h12.6006
+c9 0 14 5.7998 14 14.6992c0 8.7002 -5 14.4004 -13.7002 14.4004h-12.9004v-29.0996zM408.7 176.6h0.0996094v61.2002c0 1.60059 -0.899414 2.60059 -2.59961 2.60059h-5.2002v13.3994h15.4004c5.7998 0 8.19922 -2.5 8.19922 -8.2002v-61.1992
+c0 -1.60059 0.900391 -2.60059 2.60059 -2.60059h18.5996c1.60059 0 2.60059 0.900391 2.60059 2.60059v5.19922h14.2998v-13c0 -5.7998 -2.40039 -8.19922 -8.2002 -8.19922h-37.5996c-5.80078 0 -8.2002 2.39941 -8.2002 8.19922zM472.1 176.6h-0.0996094v63.9004h-7.7998
+v13.4004h51.5996c5.7002 0 8.2002 -2.5 8.2002 -8.2002v-13h-14.2002v5.2002c0 1.59961 -0.899414 2.59961 -2.59961 2.59961h-19.2002v-22.4004h27.7002v-13.3994h-27.7002v-20.2998c0 -1.60059 0.900391 -2.60059 2.59961 -2.60059h19.7002
+c1.60059 0 2.60059 0.900391 2.60059 2.60059v5.19922h14.2998v-13c0 -5.7998 -2.5 -8.19922 -8.2002 -8.19922h-38.7002c-5.7998 0 -8.2002 2.39941 -8.2002 8.19922zM531 252.6h-2.7002v1.2002h7v-1.2002h-2.7002v-5.89941h-1.59961v5.89941zM536.7 253.8h2.39941
+l2.10059 -5.09961l2.09961 5.09961h2.2998v-7.09961h-1.5v5.7002l-2.2998 -5.7002h-1.2998l-2.2998 5.7002v-5.7002h-1.5v7.09961z" />
+ <glyph glyph-name="telegram-plane" unicode="&#xf3fe;" horiz-adv-x="447"
+d="M446.7 349.4l-67.6006 -318.801c-5.09961 -22.5 -18.3994 -28.0996 -37.2998 -17.5l-103 75.9004l-49.7002 -47.7998c-5.5 -5.5 -10.0996 -10.1006 -20.6992 -10.1006l7.39941 104.9l190.9 172.5c8.2998 7.40039 -1.7998 11.5 -12.9004 4.09961l-236 -148.6
+l-101.6 31.7998c-22.1006 6.90039 -22.5 22.1006 4.59961 32.7002l397.4 153.1c18.3994 6.90039 34.5 -4.09961 28.5 -32.1992z" />
+ <glyph glyph-name="uber" unicode="&#xf402;" horiz-adv-x="447"
+d="M414.1 416c18.7002 0 33.9004 -15.2002 33.8008 -33.9004v-380.199c0 -18.7002 -15.2002 -33.9004 -33.9004 -33.9004h-380.1c-18.7002 0 -33.9004 15.2002 -33.9004 34v380.1c0 18.7002 15.2002 33.9004 33.9004 33.9004h380.199zM237.6 56.9004
+c74.6006 7.5 129 74.0996 121.5 148.6c-7 69.4004 -65.3994 122.2 -135.1 122.2s-128.1 -52.7998 -135.1 -122.2h94.3994v20.4004c0 3.7998 3.10059 6.7998 6.7998 6.7998h67.9004c3.7998 0 6.7998 -3.10059 6.7998 -6.7998v-67.9004
+c0 -3.7998 -3.09961 -6.7998 -6.7998 -6.7998h-67.9004c-3.7998 0 -6.7998 3.09961 -6.7998 6.7998v20.4004h-94.3994c7.5 -74.6006 74.0996 -129 148.699 -121.5z" />
+ <glyph glyph-name="uikit" unicode="&#xf403;" horiz-adv-x="443"
+d="M443.9 320v-256l-225.9 -128l-218 128v214.3l87.5996 -45.0996v-117l133.5 -75.5l135.801 75.5v151l-101.101 57.5996l87.6006 53.1006zM308.6 398.9l-87.3994 -53l-86 47.2998l88.5996 54.7998z" />
+ <glyph glyph-name="uniregistry" unicode="&#xf404;" horiz-adv-x="384"
+d="M192 -32c-39.5 0 -76.2002 11.7998 -106.7 32.2002h213.5c-30.5996 -20.4004 -67.2998 -32.2002 -106.8 -32.2002zM102.9 161.1c0 -2.5 0.0996094 -5 0.299805 -7.39941h-103.101c-0.0996094 2.39941 -0.0996094 4.89941 -0.0996094 7.39941v12.4004h102.9v-12.4004z
+M123.4 104.1c8.89941 -10.5996 20.0996 -19.0996 33 -24.7998h-138.301c-3.7998 8 -7 16.2998 -9.59961 24.7998h114.9zM105.7 138.8c2 -7.89941 5.2002 -15.3994 9.2002 -22.2998h-109.7c-1.7002 7.2998 -3 14.7002 -3.90039 22.2998h104.4zM102.9 208.1v-17.2998h-102.9
+v17.2998h102.9zM102.9 381.3v-4.89941h-102.9v4.89941h102.9zM102.9 416v-2.5h-102.9v2.5h102.9zM102.9 346.7v-7.40039h-102.9v7.40039h102.9zM102.9 242.7v-14.7998h-102.9v14.7998h102.9zM102.9 312v-9.90039h-102.9v9.90039h102.9zM102.9 277.4v-12.4004h-102.9v12.4004
+h102.9zM269.1 116.5c4 6.90039 7.10059 14.4004 9.2002 22.2998h104.4c-0.799805 -7.59961 -2.10059 -15 -3.90039 -22.2998h-109.7zM281.1 302.2v9.7998h102.9v-9.7998h-102.9zM281.1 265v12.4004h102.9v-12.4004h-102.9zM281.1 339.3v7.40039h102.9v-7.40039h-102.9z
+M281.1 416h102.9v-2.5h-102.9v2.5zM78.0996 5.09961c-11.7998 8.7002 -23.5996 18.7002 -33.1992 29.7002h293.1c-9.5 -11.0996 -20.4004 -21 -32.2002 -29.7002h-227.7zM281.1 376.4v4.89941h102.9v-4.89941h-102.9zM281.1 227.9v14.7998h102.9v-14.7998h-102.9z
+M38.7998 42.2998c-6.59961 8.5 -10.5996 17.6006 -15.7998 27.2002h338.9c-5.2002 -9.59961 -11.1006 -18.7002 -17.8008 -27.2002h-305.3zM227.6 79.4004c12.8008 5.59961 24.1006 14.0996 32.9004 24.7998h115c-2.7002 -8.60059 -4.7998 -16.7998 -8.5 -24.7998h-139.4z
+M281.1 161.1v12.4004h102.9v-12.4004c0 -2.5 -0.0996094 -4.89941 -0.200195 -7.39941h-103.1c0.299805 2.39941 0.399414 4.89941 0.399414 7.39941zM281.1 190.8v17.2998h102.9v-17.2998h-102.9z" />
+ <glyph glyph-name="untappd" unicode="&#xf405;" horiz-adv-x="640"
+d="M401.3 398.1c-79.7998 -160.1 -84.5996 -152.5 -87.8994 -173.199l-5.2002 -32.8008c-1.90039 -12 -6.60059 -23.5 -13.7002 -33.3994l-148.9 -207.8c-7.59961 -10.6006 -20.3994 -16.2002 -33.3994 -14.6006c-40.2998 5 -77.7998 32.2002 -95.2998 68.5
+c-5.7002 11.7998 -4.5 25.7998 3.09961 36.4004l148.9 207.899c7.09961 9.90039 16.3994 18 27.1992 23.7002l29.3008 15.5c18.5 9.7998 9.69922 11.9004 135.6 138.9c1 4.7998 1 7.2998 3.59961 8c3 0.700195 6.60059 1 6.30078 4.59961l-0.400391 4.60059
+c-0.200195 1.89941 1.2998 3.59961 3.2002 3.59961c4.5 0.0996094 13.2002 -1.2002 25.5996 -10c12.2998 -8.90039 16.4004 -16.7998 17.7002 -21.0996c0.599609 -1.80078 -0.599609 -3.7002 -2.40039 -4.2002l-4.5 -1.10059
+c-3.39941 -0.899414 -2.5 -4.39941 -2.2998 -7.39941c0.100586 -2.7998 -2.2998 -3.60059 -6.5 -6.10059zM230.1 411.6c-3.19922 0.800781 -8.19922 1.2002 -6.7998 5.40039c1.2998 4.2998 5.40039 12.2002 17.7002 21.0996c12.4004 8.90039 21.0996 10.1006 25.5996 10
+c4.2002 -0.0996094 3.10059 -4.89941 2.80078 -8.19922c-0.300781 -3.60059 3.2998 -3.80078 6.2998 -4.60059c2.59961 -0.700195 2.59961 -3.2998 3.59961 -8c9.10059 -9.2002 17.6006 -17.8994 25.6006 -26.0996c1.2998 -1.40039 1.19922 -3.5 -0.100586 -4.90039
+c-15.8994 -16.3994 -29.2998 -30.5996 -40.5 -42.5996c-1 -1 -2.59961 -0.799805 -3.2998 0.5c-6.90039 13.5 -14.2998 28.0996 -22.2002 44c-4.2998 2.5 -6.59961 3.2998 -6.39941 6c0.199219 3 1.09961 6.5 -2.30078 7.39941zM620 41.2998
+c7.7002 -10.7002 8.7998 -24.7002 3.40039 -36.5996c-17.7002 -36.6006 -55.4004 -63.7002 -95.7002 -68.6006c-12.9004 -1.5 -25.5 4.10059 -33.1006 14.7002l-148.899 207.9c-7.10059 9.89941 -11.7998 21.3994 -13.7002 33.3994
+c-1.59961 9.80078 -2 19.1006 -0.299805 29.8008c1.89941 12 2.7002 6 49 94.7998c0.700195 1.39941 2.59961 1.59961 3.59961 0.5c16.2998 -18 19.2998 -23 30.5 -28.9004c29.7998 -15.7002 43.2002 -20.5996 56.4004 -39.0996z" />
+ <glyph glyph-name="ussunnah" unicode="&#xf407;" horiz-adv-x="512"
+d="M156.8 162.9l5.7002 -14.4004h-8.2002c-1.2998 3.2002 -3.09961 7.7002 -3.7998 9.5c-2.5 6.2998 -1.09961 8.40039 0 10c1.90039 2.7002 3.2002 4.40039 3.59961 5.2002c0 -2.2002 0.800781 -5.7002 2.7002 -10.2998zM454.1 144.1
+c-2.09961 -13.7998 -5.69922 -27.0996 -10.5 -39.6992l43 -23.4004l-44.7998 18.7998c-5.2998 -13.2002 -12 -25.5996 -19.8994 -37.2002l34.1992 -30.1992l-36.7998 26.3994c-8.39941 -11.7998 -18 -22.5996 -28.7002 -32.2998l24.9004 -34.7002l-28.0996 31.7998
+c-11 -9.59961 -23.1006 -18 -36.1006 -25.0996l15.7002 -37.2002l-19.2998 35.2998c-13.1006 -6.7998 -27 -12.0996 -41.6006 -15.8994l6.7002 -38.4004l-10.5 37.4004c-14.2998 -3.40039 -29.2002 -5.2998 -44.5 -5.40039l-1.7998 -38.2998l-1.90039 38.4004
+c-15.2998 0.0996094 -30.1992 2 -44.5 5.2998l-10.5996 -37.2998l6.7002 38.1992c-14.6006 3.7002 -28.6006 9.10059 -41.7002 15.8008l-19.2002 -35.1006l15.6006 37c-13 7 -25.2002 15.4004 -36.2002 25.1006l-27.9004 -31.6006l24.7002 34.4004
+c-10.7002 9.7002 -20.4004 20.5 -28.7998 32.2998l-36.5 -26.2002l33.8994 29.9004c-7.89941 11.5996 -14.5996 24.0996 -20 37.2998l-44.3994 -18.7002l42.5996 23.2002c-4.7998 12.7002 -8.39941 26.0996 -10.5 39.9004l-51 -9l50.2998 14.1992
+c-1.09961 8.5 -1.69922 17.1006 -1.69922 25.9004c0 4.7002 0.199219 9.40039 0.5 14.0996l-55.4004 2.90039l56 2.7998c1.2998 13.1006 3.7998 25.7998 7.5 38.1006l-57.0996 16.0996l58.8994 -10.4004c4 12 9.10059 23.5 15.2002 34.4004l-55.0996 30l58.2998 -24.5996
+c6.2998 10.5996 13.5 20.3994 21.5996 29.5996l-49.5 43.5996l53.9004 -38.6992c8.09961 8.59961 17 16.5 26.5996 23.5996l-40 55.5996l45.6006 -51.5996c9.5 6.59961 19.6992 12.2998 30.2998 17.2002l-27.2998 64.8994l33.7998 -62.0996
+c10.5 4.40039 21.3994 7.90039 32.7002 10.4004l-12.4004 70.6992l19.5 -69.1992c11 2.09961 22.2998 3.19922 33.7998 3.39941l3.7002 72.2002l3.59961 -72.2002c11.5 -0.200195 22.8008 -1.39941 33.8008 -3.5l19.5996 69.2998l-12.4004 -70.6992
+c11.3008 -2.60059 22.2002 -6.10059 32.6006 -10.5l33.8994 62.1992l-27.3994 -65.0996c10.5996 -4.90039 20.7002 -10.7002 30.2002 -17.2002l45.7998 51.7998l-40.1006 -55.8994c9.5 -7.10059 18.4004 -15 26.5 -23.6006l54.2002 38.9004l-49.7002 -43.9004
+c8 -9.09961 15.2002 -18.8994 21.5 -29.3994l58.7002 24.7002l-55.5 -30.2002c6.10059 -10.9004 11.1006 -22.2998 15.1006 -34.2998l59.2998 10.3994l-57.5 -16.2002c3.7002 -12.1992 6.2002 -24.8994 7.5 -37.8994l56.2998 -2.7002l-56 -2.7998
+c0.299805 -4.60059 0.5 -9.2998 0.5 -14.1006c0 -8.69922 -0.599609 -17.2998 -1.59961 -25.7998l50.6992 -14.2998zM432.3 175.1c0 97.5 -79 176.5 -176.5 176.5s-176.5 -79 -176.5 -176.5s79 -176.5 176.5 -176.5s176.5 79 176.5 176.5zM408.3 175.1
+c0 -84.2998 -68.2998 -152.6 -152.6 -152.6s-152.601 68.2998 -152.601 152.6c0 84.3008 68.3008 152.601 152.601 152.601s152.6 -68.2998 152.6 -152.601zM195 207c0 -2.09961 1.2998 -3.7998 3.59961 -5.09961c3.30078 -1.90039 6.2002 -4.60059 8.2002 -8.2002
+c2.7998 5.7002 4.2998 9.5 4.2998 11.2002c0 2.19922 -1.09961 4.39941 -3.19922 7c-2.10059 2.5 -3.2002 5.19922 -3.30078 7.69922c-6.5 -6.7998 -9.59961 -10.8994 -9.59961 -12.5996zM154.3 226c0 -2.09961 1.2998 -3.7998 3.60059 -5.09961
+c3.5 -1.90039 6.19922 -4.60059 8.19922 -8.2002c2.80078 5.7002 4.30078 9.5 4.30078 11.2002c0 2.19922 -1.10059 4.39941 -3.2002 7c-2.10059 2.5 -3.2002 5.19922 -3.2998 7.69922c-6.5 -6.7998 -9.60059 -10.8994 -9.60059 -12.5996zM135.3 226
+c0 -2.09961 1.2998 -3.7998 3.60059 -5.09961c3.2998 -1.90039 6.19922 -4.60059 8.19922 -8.2002c2.80078 5.7002 4.30078 9.5 4.30078 11.2002c0 2.19922 -1.10059 4.39941 -3.2002 7c-2.10059 2.5 -3.2002 5.19922 -3.2998 7.69922
+c-6.40039 -6.7998 -9.60059 -10.8994 -9.60059 -12.5996zM340.2 138.1c-8.40039 3 -8.7002 6.80078 -8.7002 15.6006v112.3c-8.2002 -12.5 -14.2002 -18.5996 -18 -18.5996c6.2998 -14.4004 9.5 -23.9004 9.5 -28.3008v-64.2998c0 -2.2002 -2.2002 -6.5 -4.7002 -6.5h-18
+c-2.7998 7.5 -10.2002 26.9004 -15.2998 40.2998c-2 -2.5 -7.2002 -9.19922 -10.7002 -13.6992c2.40039 -1.60059 4.10059 -3.60059 5.2002 -6.30078c2.59961 -6.69922 6.40039 -16.5 7.90039 -20.1992h-9.2002c-3.90039 10.3994 -9.60059 25.3994 -11.7998 31.0996
+c-2 -2.5 -7.2002 -9.2002 -10.7002 -13.7002c2.39941 -1.59961 4.09961 -3.59961 5.2002 -6.2998c0.799805 -2 2.7998 -7.2998 4.2998 -10.9004h-9.2002c-1.5 4.10059 -5.59961 14.6006 -8.40039 22c-2 -2.5 -7.19922 -9.19922 -10.6992 -13.6992
+c2.5 -1.60059 4.2998 -3.60059 5.19922 -6.30078c0.200195 -0.599609 0.5 -1.39941 0.600586 -1.69922h-17.7002c-4.59961 13.8994 -11.4004 27.6992 -11.4004 34.0996c0 2.2002 0.300781 5.09961 1.10059 8.2002c-8.7998 -10.7998 -14 -15.9004 -14 -25
+c0 -7.5 10.3994 -28.2998 10.3994 -33.2998c0 -1.7002 -0.5 -3.30078 -1.39941 -4.90039c-9.60059 12.7002 -15.5 20.7002 -18.7998 20.7002h-12l-11.2002 28c-3.7998 9.59961 -5.7002 16 -5.7002 18.7998c0 3.7998 0.5 7.7002 1.7002 12.2002
+c-1 -1.2998 -3.7002 -4.7002 -5.5 -7.10059c-0.799805 2.10059 -3.10059 7.7002 -4.60059 11.5c-2.09961 -2.5 -7.5 -9.09961 -11.1992 -13.5996c0.899414 -2.2998 3.2998 -8.09961 4.89941 -12.2002c-2.5 -3.2998 -9.09961 -11.7998 -13.5996 -17.7002
+c-4 -5.2998 -5.7998 -13.2998 -2.7002 -21.7998c2.5 -6.7002 2 -7.89941 -1.7002 -14.0996h61.7002c5.5 0 14.2998 -14 15.5 -22c13.2002 16 15.4004 19.5996 16.7998 21.5996h107c3.90039 0 7.2002 1.90039 9.90039 5.7998zM360.3 164.7v101.6
+c-9 -12.5 -15.8994 -18.5996 -20.7002 -18.5996c7.10059 -14.4004 10.7002 -23.9004 10.7002 -28.2998v-66.3008c0 -17.5 8.60059 -20.3994 24 -20.3994c8.10059 0 12.5 0.799805 13.7002 2.7002c-4.2998 1.59961 -7.59961 2.5 -9.90039 3.2998
+c-8.09961 3.2002 -17.7998 7.39941 -17.7998 26z" />
+ <glyph glyph-name="vaadin" unicode="&#xf408;"
+d="M224.5 307.3c1.5 17.6006 4.90039 52.7002 49.7998 52.7002h98.6006c20.6992 0 32.0996 7.7998 32.0996 21.5996v12.3008c0 12.1992 9.2998 22.0996 21.5 22.0996s21.5 -9.90039 21.5 -22.0996v-36.5c0 -42.9004 -21.5 -62 -66.7998 -62h-100.5
+c-30.1006 0 -33 -14.7002 -33 -27.1006c0 -1.2998 -0.100586 -2.5 -0.200195 -3.7002c-0.700195 -12.2998 -10.9004 -22.1992 -23.4004 -22.1992s-22.6992 9.7998 -23.3994 22.1992c-0.100586 1.2002 -0.200195 2.40039 -0.200195 3.7002c0 12.2998 -3 27.1006 -33 27.1006
+h-100.7c-45.2998 0 -66.7998 19.0996 -66.7998 62v36.5c0 12.1992 9.40039 22.0996 21.5996 22.0996c12.2002 0 21.5 -9.90039 21.5 -22.0996v-12.3008c0 -13.7998 11.4004 -21.5996 32.1006 -21.5996h98.5996c44.7998 0 48.2998 -35.0996 49.7998 -52.7002h0.900391z
+M224 -8c-11.5 0 -21.4004 7 -25.7002 16.2998c-1.09961 1.7998 -97.0996 169.5 -98.2002 171.4c-11.8994 19.7002 3.2002 44.2998 27.2002 44.2998c13.9004 0 23.4004 -6.40039 29.7998 -20.2998l66.9004 -117.7l66.9004 117.7c6.5 13.8994 15.8994 20.2998 29.7998 20.2998
+c24 0 39.0996 -24.7002 27.2002 -44.2998c-1.10059 -1.7998 -97.1006 -169.601 -98.2002 -171.4c-4.2998 -9.2998 -14.2002 -16.2998 -25.7002 -16.2998z" />
+ <glyph glyph-name="viber" unicode="&#xf409;" horiz-adv-x="511"
+d="M444 398.1c42.2002 -36.6992 65.5996 -117.899 49.7998 -246.5c-15.2002 -124.6 -109.1 -136.6 -125.7 -142c-7.19922 -2.2998 -70.2998 -18.0996 -152.5 -11.1992c-9.09961 -10.5 -21.0996 -24.3008 -29.7998 -33.7002
+c-15.8994 -17.1006 -25.7002 -33 -42.2998 -27.7998c-13.7998 4.19922 -13 25.0996 -13 25.0996l0.0996094 51.5996h-0.0996094c-120.1 33.8008 -118.4 158.4 -117 224.9s14.2998 120.2 50.9004 156.8c65.7998 60.4004 200.899 52.2998 200.899 52.2998
+c114.601 -0.5 166 -37.7998 178.7 -49.5zM457.9 161c13.2998 107.3 -4.90039 180.5 -40.6006 211.1c-10.7998 9.80078 -57.2002 39 -154.1 39.4004c0 0 -114.7 7.5 -170.4 -43c-31 -30.5996 -41.5 -76.0996 -42.5996 -131.6
+c-1.10059 -55.5 -7.10059 -161.601 94.7002 -189.801c-0.100586 0 -0.100586 0 0 0c0 0 -0.400391 -78.7998 -0.400391 -85.6992c-0.0996094 -10.5 5.7002 -11 11 -5.7002c16.2002 16.2998 68.2002 79 68.2002 79c69.7002 -4.5 125.2 9.2998 131.2 11.2002
+c14 4.5 90.0996 11.0996 103 115.1zM318.9 241.8c0.399414 -8.59961 -12.5 -9.2002 -12.9004 -0.599609c-1.09961 22 -11.4004 32.7002 -32.5996 33.8994c-8.60059 0.5 -7.80078 13.4004 0.699219 12.9004c27.9004 -1.5 43.4004 -17.5 44.8008 -46.2002zM339.2 230.5
+c1 42.4004 -25.5 75.5996 -75.7998 79.2998c-8.5 0.600586 -7.60059 13.5 0.899414 12.9004c58 -4.2002 88.9004 -44.1006 87.7998 -92.5c-0.0996094 -8.60059 -13.0996 -8.2002 -12.8994 0.299805zM386.2 217.1c0.0996094 -8.59961 -12.9004 -8.69922 -12.9004 -0.0996094
+c-0.599609 81.5 -54.8994 125.9 -120.8 126.4c-8.5 0.0996094 -8.5 12.8994 0 12.8994c73.7002 -0.5 133 -51.3994 133.7 -139.2zM374.9 119v-0.200195c-10.8008 -19 -31 -40 -51.8008 -33.2998l-0.199219 0.299805c-21.1006 5.90039 -70.8008 31.5 -102.2 56.5
+c-16.2002 12.7998 -31 27.9004 -42.4004 42.4004c-10.2998 12.8994 -20.7002 28.2002 -30.7998 46.5996c-21.2998 38.5 -26 55.7002 -26 55.7002c-6.7002 20.7998 14.2002 41 33.2998 51.7998h0.200195c9.2002 4.7998 18 3.2002 23.9004 -3.89941
+c0 0 12.3994 -14.8008 17.6992 -22.1006c5 -6.7998 11.7002 -17.7002 15.2002 -23.7998c6.10059 -10.9004 2.2998 -22 -3.7002 -26.5996l-12 -9.60059c-6.09961 -4.89941 -5.2998 -14 -5.2998 -14s17.7998 -67.2998 84.2998 -84.2998c0 0 9.10059 -0.799805 14 5.2998
+l9.60059 12c4.59961 6 15.7002 9.7998 26.5996 3.7002c14.7002 -8.2998 33.4004 -21.2002 45.7998 -32.9004c7 -5.69922 8.60059 -14.3994 3.80078 -23.5996z" />
+ <glyph glyph-name="vimeo" unicode="&#xf40a;"
+d="M403.2 416c24.7002 0 44.7998 -20.0996 44.7998 -44.7998v-358.4c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v358.4c0 24.7002 20.0996 44.7998 44.7998 44.7998h358.4zM377 267.2
+c1.90039 42.2002 -13.7998 63.7998 -47.0996 64.7002c-44.9004 1.39941 -75.3008 -23.9004 -91.2002 -76c19.8994 8.5 49.2998 10.7998 45.7998 -22.4004c-1 -11.2002 -8.2998 -27.5 -21.7998 -48.9004c-37.7002 -59.3994 -46.9004 -39.5996 -67.6006 91.6006
+c-5.7998 36.8994 -21.2998 54.0996 -46.5 51.7002c-22.2998 -2 -57.8994 -38.4004 -95.1992 -71.2002l15.1992 -19.6006c14.5 10.1006 23 15.2002 25.4004 15.2002c21 0 31.9004 -54.7002 57.4004 -148c13.0996 -34.8994 29 -52.2998 47.8994 -52.2998
+c30.4004 0 67.7002 28.5996 111.7 85.7998c42.5996 54.7002 64.5996 97.9004 66 129.4z" />
+ <glyph glyph-name="vnv" unicode="&#xf40b;" horiz-adv-x="640"
+d="M104.9 96c-34.1006 0 -46.4004 30.4004 -46.4004 30.4004l-55.9004 111.5s-10.3994 18.0996 10.4004 18.0996h32.7998c10.4004 0 13.2002 -8.7002 18.7998 -18.0996l36.7002 -74.5s5.2002 -13.1006 21.1006 -13.1006c15.8994 0 21.0996 13.1006 21.0996 13.1006
+l36.7002 74.5c5.59961 9.5 8.39941 18.0996 18.7998 18.0996h32.7998c20.7998 0 10.4004 -18.0996 10.4004 -18.0996l-55.7998 -111.5s-12.2002 -30.4004 -46.4004 -30.4004h-35.0996zM499.9 96c-34.1006 0 -46.4004 30.4004 -46.4004 30.4004l-55.9004 111.5
+s-10.3994 18.0996 10.4004 18.0996h32.7998c10.4004 0 13.2002 -8.7002 18.7998 -18.0996l36.7002 -74.5s5.2002 -13.1006 21.1006 -13.1006c15.8994 0 21.0996 13.1006 21.0996 13.1006l36.7998 74.5c5.60059 9.5 8.40039 18.0996 18.7998 18.0996h32.9004
+c20.7998 0 10.4004 -18.0996 10.4004 -18.0996l-55.9004 -111.5s-12.2002 -30.4004 -46.4004 -30.4004h-35.1992zM337.6 256c34.1006 0 46.4004 -30.4004 46.4004 -30.4004l55.9004 -111.5s10.3994 -18.0996 -10.4004 -18.0996h-32.7998
+c-10.4004 0 -13.2002 8.7002 -18.7998 18.0996l-36.7002 74.5s-5.2002 13.1006 -21.1006 13.1006c-15.8994 0 -21.0996 -13.1006 -21.0996 -13.1006l-36.7002 -74.5c-5.59961 -9.39941 -8.39941 -18.0996 -18.7998 -18.0996h-32.9004
+c-20.7998 0 -10.3994 18.0996 -10.3994 18.0996l55.8994 111.5s12.2002 30.4004 46.4004 30.4004h35.0996z" />
+ <glyph glyph-name="whatsapp-square" unicode="&#xf40c;"
+d="M224 325.2c35.2002 0 68.2002 -13.7002 93.2002 -38.7002c24.8994 -24.9004 40.0996 -58 40.0996 -93.2002c0 -72.7002 -60.7002 -131.8 -133.3 -131.8h-0.0996094c-23.7002 0 -46.9004 6.40039 -67.1006 18.4004l-4.7998 2.89941l-49.9004 -13.0996l13.3008 48.5996
+l-3.10059 5c-13.2002 20.9004 -20.2002 45.2002 -20.2002 70.1006c0.100586 72.6992 59.2002 131.8 131.9 131.8zM301.5 136.8c3.2998 9.2002 3.2998 17.2002 2.40039 19.1006c-1 1.59961 -3.60059 2.59961 -7.60059 4.59961s-23.5 11.5996 -27.0996 12.9004
+c-3.60059 1.2998 -6.2998 2 -8.90039 -2c-2.59961 -3.90039 -10.2002 -12.9004 -12.5 -15.5c-2.2998 -2.7002 -4.59961 -3 -8.59961 -1c-23.2998 11.6992 -38.6006 20.7998 -53.9004 47.0996c-4.09961 7 4 6.40039 11.6006 21.5996
+c1.39941 2.60059 0.699219 4.90039 -0.300781 6.90039s-8.89941 21.5 -12.1992 29.4004c-3.2002 7.69922 -6.5 6.69922 -8.90039 6.7998c-2.2998 0.0996094 -5 0.0996094 -7.59961 0.0996094c-2.7002 0 -7 -1 -10.6006 -5c-3.7002 -4 -13.8994 -13.5996 -13.8994 -33.0996
+s14.1992 -38.4004 16.1992 -41c2 -2.60059 28 -42.6006 67.7002 -59.7998c25.1006 -10.8008 34.9004 -11.8008 47.5 -9.90039c7.60059 1.09961 23.4004 9.5 26.7002 18.7998zM400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48
+v352c0 26.5 21.5 48 48 48h352zM223.9 34.7998c87.3994 0 160.1 71.1006 160.1 158.5c0 42.4004 -18 82.2002 -47.9004 112.2c-30 30 -69.7998 46.5 -112.199 46.5c-87.4004 0 -158.5 -71.0996 -158.601 -158.5c0 -28 7.2998 -55.2998 21.2002 -79.2998l-22.5 -82.2002
+l84.0996 22.0996c23.1006 -12.5996 49.2002 -19.2998 75.8008 -19.2998z" />
+ <glyph glyph-name="whmcs" unicode="&#xf40d;"
+d="M448 287l-29.0996 -7l-2.2002 -12.0996l20.8994 -18.8008l-10.2998 -20.0996l-28.7998 8.7998l-7.7998 -8.09961l8.7998 -28l-20.4004 -12.1006l-20.6992 21.6006l-11.6006 -3.5l-6.7002 -28.7998l-22.5996 0.299805l-6.7002 28.5l-11.5996 2.89941l-19.4004 -20.3994
+l-19.8994 11.5996l8.09961 26.9004l-7.2002 8.59961l-29.5996 -7.5l-10.4004 18.5l20.1006 19.9004l-2.40039 12.0996l-28.7998 7.5l0.299805 21.7002l28.5 7.7998l2.90039 10.4004l-20.7002 21l11 19.0996l28.5 -7.5l8.09961 8.40039l-8.09961 27.7002l19.3994 11
+l19.7002 -21l12.1006 3.19922l6.19922 26.4004h22.6006l7 -26.4004l10.7002 -3.19922l21.2998 21l19.0996 -11.6006l-7.5 -28.2002l7.2002 -7.5l29 7.5l10.4004 -19.3994l-20.1006 -20.7002l2.2002 -10.4004l28.5 -8.7998v-21.2998zM328.8 241.8
+c31.4004 0 56.7998 25.2998 56.7998 56.7998c0 31.4004 -25.3994 56.8008 -56.7998 56.8008c-31.3994 0 -56.7998 -25.4004 -56.7998 -56.8008c0 -31.3994 25.5 -56.7998 56.7998 -56.7998zM401.1 225.4l46.9004 -14.5v-39.9004l-55.0996 -13.4004l-4.10059 -22.6992
+l38.9004 -35.3008l-19.2002 -37.8994l-54 16.7002l-14.5996 -15.2002l16.6992 -52.5l-38.2998 -22.7002l-38.8994 40.5l-21.7002 -6.59961l-12.6006 -54l-42.3994 0.5l-12.6006 53.5996l-21.6992 5.59961l-36.4004 -38.3994l-37.4004 21.7002l15.2002 50.5l-13.7002 16.0996
+l-55.5 -14.0996l-19.6992 34.7998l37.8994 37.3994l-4.7998 22.8008l-54 14.0996l0.5 40.9004l53.5 14.6992l5.7002 19.7002l-38.9004 39.4004l20.7002 35.7998l53.5996 -14.0996l15.2002 15.6992l-15.2002 52l36.4004 20.7002l36.7998 -39.3994l22.7002 6.09961l11.5996 52
+h42.4004l11.5996 -45.9004l-22.5996 5.90039l-6.2998 1.7002l-3.2998 -5.7002l-11 -19.0996l-3.30078 -5.60059l4.60059 -4.59961l17.2002 -17.4004l-0.300781 -1l-23.7998 -6.5l-6.2002 -1.7002l-0.0996094 -6.39941l-0.200195 -12.9004
+c-47.5 -10.3994 -83.2998 -52.7998 -83.2998 -103.5c0 -58.2998 47.2998 -105.7 105.7 -105.7c50.5 0 92.7002 35.4004 103.2 82.8008l13.1992 -0.200195l6.90039 -0.100586l1.59961 6.7002l5.60059 24l1.89941 0.600586l17.1006 -17.8008l4.7002 -4.89941l5.7998 3.39941
+l20.3994 12.1006l5.80078 3.5l-2 6.5z" />
+ <glyph glyph-name="wordpress-simple" unicode="&#xf411;" horiz-adv-x="512"
+d="M256 440c136.7 0 248 -111.2 248 -248c0 -136.7 -111.3 -248 -248 -248s-248 111.3 -248 248c0 136.8 111.3 248 248 248zM33 192c0 -88.2002 51.2998 -164.5 125.7 -200.7l-106.4 291.4c-12.3994 -27.7002 -19.2998 -58.4004 -19.2998 -90.7002zM256 -31
+c26 0 50.9004 4.5 74 12.5996c-0.599609 1 -1.09961 2 -1.59961 3.10059l-68.5 187.8l-66.9004 -194.4c20 -5.89941 41.0996 -9.09961 63 -9.09961zM286.7 296.5l80.7002 -239.6l22.1992 74.2998c9.7002 30.8994 17 53 17 72.0996c0 27.6006 -9.89941 46.7002 -18.3994 61.5
+c-11.2998 18.4004 -21.9004 33.9004 -21.9004 52.2998c0 20.5 15.5 39.6006 37.4004 39.6006c1 0 1.89941 -0.100586 2.89941 -0.200195c-39.6992 36.2998 -92.5996 58.5 -150.6 58.5c-77.9004 0 -146.4 -40 -186.3 -100.5
+c5.2998 -0.200195 10.2002 -0.299805 14.3994 -0.299805c23.3008 0 59.4004 2.7998 59.4004 2.7998c12 0.700195 13.4004 -17 1.40039 -18.4004c0 0 -12.1006 -1.39941 -25.5 -2.09961l81.1992 -241.5l48.8008 146.3l-34.7002 95.2002
+c-12 0.700195 -23.4004 2.09961 -23.4004 2.09961c-12 0.700195 -10.5996 19.1006 1.40039 18.4004c0 0 36.7998 -2.7998 58.7002 -2.7998c23.2998 0 59.3994 2.7998 59.3994 2.7998c12 0.700195 13.4004 -17 1.40039 -18.4004c0 0 -12.1006 -1.39941 -25.5 -2.09961z
+M368.1 -0.700195c66.3008 38.6006 110.9 110.4 110.9 192.7c0 38.7998 -9.90039 75.2002 -27.2998 107c1 -7.09961 1.5 -14.7002 1.5 -22.9004c0 -22.6992 -4.2998 -48.0996 -17 -79.8994z" />
+ <glyph glyph-name="xbox" unicode="&#xf412;" horiz-adv-x="512"
+d="M369.9 129.8c44.2998 -54.2998 64.6992 -98.7998 54.3994 -118.7c-7.89941 -15.0996 -56.7002 -44.5996 -92.5996 -55.8994c-29.6006 -9.2998 -68.4004 -13.2998 -100.4 -10.2002c-38.2002 3.7002 -76.8994 17.4004 -110.1 39
+c-27.9004 18.2002 -34.2002 25.7002 -34.2002 40.5996c0 29.9004 32.9004 82.3008 89.2002 142.101c32 33.8994 76.5 73.7002 81.3994 72.5996c9.40039 -2.09961 84.3008 -75.0996 112.301 -109.5zM188.6 304.2c-66.3994 -81.5 -106 -155.4 -120.3 -194.4
+c-9.7998 -26.5 -13.7002 -53 -9.5 -64c2.7998 -7.39941 0.200195 -4.7002 -9.2998 9.90039c-23.2002 35.5 -34.9004 70.3994 -40.5 120.899c-1.90039 16.7002 -1.2002 26.3008 4.2002 60.5c6.7998 42.7002 31.0996 92 60.2998 122.4
+c12.4004 12.9004 13.5 13.2002 28.7002 8.09961c28.2998 -9.5 56.7002 -36.5 86.3994 -63.3994zM500.2 240.7c4.7002 -22.6006 5.09961 -70.9004 0.799805 -93.4004c-3.59961 -18.5 -11.2002 -42.5 -18.5996 -58.7002c-5.5 -12.1992 -19.3008 -35.7998 -25.4004 -43.5
+c-3.09961 -3.89941 -3.09961 -3.89941 -1.40039 4.60059c2.30078 11.2002 -0.599609 31.5996 -7.39941 52.2998c-20.7002 62.9004 -80.5 149 -122.9 202.3c23.2998 21.4004 41 38.2998 64.2998 52.7998c11.8008 7.40039 28.7002 13.9004 36 13.9004
+c7.10059 0 57.7002 -50.2998 74.6006 -130.3zM141.3 405c-14.5996 -0.700195 -14 0.0996094 9.40039 11.2002c81.2002 38.2998 170 27.5996 233.899 -11.7002c-13.3994 0.599609 -43.5 5.90039 -107.399 -25.2002c-11.2002 -5.5 -20.9004 -9.7998 -21.6006 -9.7002
+c-4.59961 0.900391 -66.5996 37.9004 -114.3 35.4004z" />
+ <glyph glyph-name="yandex" unicode="&#xf413;" horiz-adv-x="256"
+d="M153.1 132.2l-87.3994 -196.2h-63.7002l96 209.8c-45.0996 22.9004 -75.2002 64.4004 -75.2002 141.101c-0.0996094 107.399 68 161.1 148.9 161.1h82.2998v-512h-55.0996v196.2h-45.8008zM198.9 401.5h-29.4004c-44.4004 0 -87.4004 -29.4004 -87.4004 -114.6
+c0 -82.3008 39.4004 -108.801 87.4004 -108.801h29.4004v223.4z" />
+ <glyph glyph-name="yandex-international" unicode="&#xf414;" horiz-adv-x="320"
+d="M129.5 -64v166.1l-111 297.9h55.7998l81.7998 -229.7l94.1006 277.7h51.2998l-120.7 -347.8v-164.2h-51.2998z" />
+ <glyph glyph-name="apple-pay" unicode="&#xf415;" horiz-adv-x="640"
+d="M116.9 289.5c-7.5 -8.90039 -19.5 -15.9004 -31.5 -14.9004c-1.5 12 4.39941 24.8008 11.2998 32.6006c7.5 9.09961 20.5996 15.5996 31.2998 16.0996c1.2002 -12.3994 -3.7002 -24.7002 -11.0996 -33.7998zM127.8 272.3c6.7998 -0.5 26.2998 -2.5 38.7998 -21.0996
+c-1 -0.799805 -23.1992 -13.5 -22.8994 -40.2998c0.299805 -32 28 -42.6006 28.2998 -42.9004c-0.200195 -0.799805 -4.40039 -15.0996 -14.5 -29.9004c-8.90039 -13 -18 -25.6992 -32.5 -26c-14 -0.199219 -18.7002 8.40039 -34.7998 8.40039
+c-16 0 -21.2002 -8.09961 -34.5 -8.59961c-14 -0.5 -24.6006 13.7998 -33.5 26.7998c-18.2002 26.2998 -32.1006 74 -13.2998 106.3c9.09961 16.0996 25.6992 26.2002 43.5996 26.5c13.7998 0.299805 26.4004 -9.09961 34.7998 -9.09961
+c8.2002 0 23.1006 10.8994 40.5 9.89941zM228.2 308.5h73.2002c37.6992 0 64.0996 -26 64.0996 -64s-26.7998 -64.2998 -65.0996 -64.2998h-41.9004v-66.6006h-30.2998v194.9zM258.5 283v-77.4004h34.7998c26.4004 0 41.4004 14.2002 41.4004 38.8008
+c0 24.5996 -15 38.5996 -41.2998 38.5996h-34.9004zM420.7 112.1c-28.1006 0 -47.7002 16.8008 -47.7998 42c0 25 19 39.4004 54.0996 41.5l37.7998 2.30078v10.7998c0 15.8994 -10.3994 24.5 -28.8994 24.5c-15.2002 0 -26.3008 -7.90039 -28.6006 -19.9004h-27.2998
+c0.900391 25.2002 24.7002 43.6006 56.7998 43.6006c34.6006 0 57.1006 -18.2002 57.1006 -46.3008v-97h-28v23.4004h-0.600586c-8 -15.2998 -25.5996 -24.9004 -44.5996 -24.9004zM428.9 135.2c20.5 0 36 13 36 31.2002v11l-33.6006 -2.10059
+c-18.8994 -1.09961 -28.7998 -8.2002 -28.7998 -20.5c0 -11.7998 10.2998 -19.5996 26.4004 -19.5996zM531.4 60.5996c-2.30078 0 -9.80078 0.300781 -11.6006 0.700195v23.4004c1.90039 -0.200195 6.5 -0.5 8.90039 -0.5c13.3994 0 20.8994 5.7002 25.5 20.2998
+l2.7998 8.59961l-51.2002 141.9h31.6006l35.5996 -115.1h0.599609l35.6006 115.1h30.7998l-53.0996 -149c-12.1006 -34.0996 -26 -45.4004 -55.5 -45.4004z" />
+ <glyph glyph-name="cc-apple-pay" unicode="&#xf416;" horiz-adv-x="576"
+d="M302.2 229.6c0 -17.1992 -10.5 -27.0996 -29 -27.0996h-24.2998v54.2002h24.3994c18.4004 0 28.9004 -9.7998 28.9004 -27.1006zM349.7 167c0 8.59961 6.89941 13.5 20.2002 14.4004l23.5 1.5v-7.7002c0 -12.7998 -10.8008 -21.9004 -25.2002 -21.9004
+c-11.2998 0 -18.5 5.40039 -18.5 13.7002zM576 369v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM127.8 250.8c8.40039 -0.700195 16.7998 4.2002 22.1006 10.4004
+c5.19922 6.39941 8.59961 15 7.69922 23.7002c-7.39941 -0.300781 -16.5996 -4.90039 -21.8994 -11.3008c-4.7998 -5.5 -8.90039 -14.3994 -7.90039 -22.7998zM188.4 176.3c-0.200195 0.200195 -19.6006 7.60059 -19.8008 30c-0.199219 18.7002 15.3008 27.7002 16 28.2002
+c-8.7998 13 -22.3994 14.4004 -27.0996 14.7002c-12.2002 0.700195 -22.5996 -6.90039 -28.4004 -6.90039c-5.89941 0 -14.6992 6.60059 -24.2998 6.40039c-12.5 -0.200195 -24.2002 -7.2998 -30.5 -18.6006c-13.0996 -22.5996 -3.39941 -56 9.2998 -74.3994
+c6.2002 -9.10059 13.7002 -19.1006 23.5 -18.7002c9.30078 0.400391 13 6 24.2002 6c11.2998 0 14.5 -6 24.2998 -5.90039c10.2002 0.200195 16.5 9.10059 22.8008 18.2002c6.89941 10.4004 9.7998 20.4004 10 21zM323.8 229.7c0 26.5996 -18.5 44.7998 -44.8994 44.7998
+h-51.2002v-136.4h21.2002v46.6006h29.2998c26.7998 0 45.5996 18.3994 45.5996 45zM413.8 206c0 19.7002 -15.7998 32.4004 -40 32.4004c-22.5 0 -39.0996 -12.9004 -39.7002 -30.5h19.1006c1.59961 8.39941 9.39941 13.8994 20 13.8994c13 0 20.2002 -6 20.2002 -17.2002
+v-7.5l-26.4004 -1.59961c-24.5996 -1.5 -37.9004 -11.5996 -37.9004 -29.0996c0 -17.7002 13.7002 -29.4004 33.4004 -29.4004c13.2998 0 25.5996 6.7002 31.2002 17.4004h0.399414v-16.4004h19.6006v68h0.0996094zM516 237.1h-21.5l-24.9004 -80.5996h-0.399414
+l-24.9004 80.5996h-22.2998l35.9004 -99.2998l-1.90039 -6c-3.2002 -10.2002 -8.5 -14.2002 -17.9004 -14.2002c-1.69922 0 -4.89941 0.200195 -6.19922 0.300781v-16.4004c1.19922 -0.400391 6.5 -0.5 8.09961 -0.5c20.7002 0 30.4004 7.90039 38.9004 31.7998z" />
+ <glyph glyph-name="fly" unicode="&#xf417;" horiz-adv-x="383"
+d="M197.8 20.2002c12.9004 -11.7002 33.7002 -33.2998 33.2002 -50.7002c0 -0.799805 -0.0996094 -1.59961 -0.0996094 -2.5c-1.80078 -19.7998 -18.8008 -31.0996 -39.1006 -31c-25 0.0996094 -39.8994 16.7998 -38.7002 35.7998c1 16.2002 20.5 36.7002 32.4004 47.6006
+c2.2998 2.09961 2.7002 2.69922 5.59961 3.59961c3.40039 0 3.90039 -0.299805 6.7002 -2.7998zM331.9 380.7c23.8994 -40 27.7998 -73.2998 20.7998 -112.5c-15.2002 -69.9004 -103.601 -166.5 -155.9 -215.7c-1.7002 -1.59961 -1.39941 -1.40039 -3.5 -2.09961
+l-3.2998 0.0996094c-1.7002 0.599609 -4.5 3.5 -6.2002 5.09961c-58.7998 57.8008 -148.7 151.601 -155.8 233.801c-1.5 71.3994 29.2998 113.399 82.9004 141.3c9.89941 4.09961 37 17.2998 81.0996 17.2998c22 0.200195 51.0996 -4.5 76.5996 -15.2002
+c24.7002 -11.5 47 -26.3994 63.3008 -52.0996zM186.8 96.0996v325.7c-57.8994 -5.5 -72.7002 -89.2002 -69.2998 -136.7c4.09961 -58.2998 41.2998 -137.899 69.2998 -189zM328.7 268c15.7998 54.9004 -10.9004 134.7 -99.7002 153
+c38.2002 -25.5996 49.5996 -85.5 48 -131.4c-2 -58.5996 -39.4004 -140 -67.2002 -191.899c41.6006 42.2998 102.5 113.5 118.9 170.3z" />
+ <glyph glyph-name="nintendo-switch" unicode="&#xf418;"
+d="M95.9004 414.5c5.7998 1 19.0996 1.2998 63.2998 1.40039c54.3994 0.0996094 56 0 56.8994 -1.7002c0.600586 -1.2998 0.900391 -72.1006 0.900391 -222.601c0 -202.899 -0.0996094 -220.8 -1.5 -222.199c-1.40039 -1.40039 -6.7998 -1.5 -58.7002 -1.10059
+c-50.2002 0.200195 -58 0.5 -64.0996 1.90039c-47 10.8994 -80 44 -90.2998 90.5c-1.90039 8.7002 -2 11.2998 -2.2002 122.899c-0.5 121.601 -0.200195 130.801 3.89941 146.5c11.3008 43.4004 47.2002 76.4004 91.8008 84.4004zM179.8 191.9h-0.200195v188
+l-35.8994 -0.100586c-39.7002 -0.0996094 -45.4004 -0.700195 -57.6006 -5.59961c-24.2998 -9.7002 -42.3994 -31.2998 -48 -57.4004c-1.89941 -9.2002 -1.89941 -239.899 0.100586 -249.3c6.2998 -30 28.3994 -53 58.2998 -60.7002
+c7 -1.7002 10.7002 -1.89941 45.5 -2.2998l37.7998 -0.5v187.9zM103.9 323.1c23.2998 4.7002 46 -11.2998 49.8994 -35c3.5 -20.0996 -8.7002 -39.5996 -28.7998 -46.3994c-4.90039 -1.7002 -7.5 -2 -14.7998 -1.7002c-8.10059 0.299805 -9.7002 0.599609 -15.9004 3.7002
+c-9 4.39941 -15.5 11 -19.8994 20c-3 5.89941 -3.40039 7.89941 -3.80078 15.2002c-0.799805 14.0996 4.10059 26.0996 13.8008 34.5c4.7998 4.09961 13.6992 8.59961 19.5 9.69922zM262.1 415.4c0.300781 0.299805 18.8008 0.599609 41.2002 0.5
+c32.2998 0 42.2998 -0.300781 48.7998 -1.40039c48.4004 -8.2998 85.3008 -44.7998 94.5 -93.0996c1.30078 -6.7002 1.5 -22.6006 1.5 -129c0 -133.301 0.100586 -128.7 -5.69922 -146.101c-1.60059 -4.5 -4.7002 -11.7998 -7 -16.2002
+c-18 -34 -51.3008 -56.8994 -89 -61.1992c-8.90039 -1 -80.9004 -1.30078 -83.4004 -0.400391c-1.40039 0.599609 -1.5 21.0996 -1.5 223.4c0 122.699 0.200195 223.199 0.599609 223.5zM361.2 213.3c-23.2002 6.10059 -47.2998 -7.2998 -54.2002 -30
+c-2.2998 -7.2998 -2.40039 -19.2002 -0.400391 -26.2002c6.7002 -23 31.4004 -37 54.6006 -31c14.2998 3.80078 25.3994 14.1006 31.0996 28.8008c3.10059 8 3.2002 20.7998 0.100586 29.5c-4.90039 14.0996 -16.7002 25.0996 -31.2002 28.8994z" />
+ <glyph glyph-name="node" unicode="&#xf419;" horiz-adv-x="640"
+d="M316.3 -4c-2.09961 0 -4.2002 0.599609 -6.09961 1.59961l-19.2002 11.4004c-2.90039 1.59961 -1.5 2.2002 -0.5 2.5c3.7998 1.2998 4.59961 1.59961 8.7002 4c0.399414 0.200195 1 0.0996094 1.39941 -0.0996094l14.8008 -8.80078
+c0.5 -0.299805 1.2998 -0.299805 1.7998 0l57.7998 33.4004c0.5 0.299805 0.900391 0.900391 0.900391 1.59961v66.7002c0 0.700195 -0.300781 1.2998 -0.900391 1.60059l-57.7998 33.2998c-0.5 0.299805 -1.2002 0.299805 -1.7998 0l-57.8008 -33.2998
+c-0.599609 -0.300781 -0.899414 -1 -0.899414 -1.60059v-66.7002c0 -0.599609 0.399414 -1.19922 0.899414 -1.5l15.8008 -9.09961c8.59961 -4.2998 13.8994 0.799805 13.8994 5.7998v65.9004c0 0.899414 0.700195 1.7002 1.7002 1.7002h7.2998
+c0.900391 0 1.7002 -0.700195 1.7002 -1.7002v-65.9004c0 -11.5 -6.2002 -18 -17.0996 -18c-3.30078 0 -6 0 -13.3008 3.60059l-15.1992 8.69922c-3.7002 2.2002 -6.10059 6.2002 -6.10059 10.5v66.7002c0 4.2998 2.2998 8.40039 6.10059 10.5l57.7998 33.4004
+c3.7002 2.09961 8.5 2.09961 12.0996 0l57.7998 -33.4004c3.7002 -2.2002 6.10059 -6.2002 6.10059 -10.5v-66.7002c0 -4.2998 -2.2998 -8.39941 -6.10059 -10.5l-57.7998 -33.3994c-1.7002 -1.10059 -3.7998 -1.7002 -6 -1.7002zM363 61.7998
+c0 -12.5996 -10.5 -19.7998 -29 -19.7998c-25.2998 0 -30.5996 11.5996 -30.5996 21.2998c0 1 0.799805 1.7002 1.69922 1.7002h7.5c0.900391 0 1.60059 -0.599609 1.7002 -1.40039c1.10059 -7.59961 4.5 -11.3994 19.7998 -11.3994
+c12.2002 0 17.4004 2.7002 17.4004 9.2002c0 3.69922 -1.5 6.39941 -20.4004 8.2998c-15.7998 1.59961 -25.5996 5 -25.5996 17.7002c0 11.5996 9.7998 18.5996 26.2998 18.5996c18.5 0 27.6006 -6.40039 28.7998 -20.2002
+c0.100586 -0.5 -0.0996094 -0.899414 -0.399414 -1.2998c-0.299805 -0.299805 -0.700195 -0.5 -1.2002 -0.5h-7.5c-0.799805 0 -1.40039 0.5 -1.59961 1.2998c-1.80078 8 -6.2002 10.6006 -18.1006 10.6006c-13.2998 0 -14.7998 -4.60059 -14.7998 -8.10059
+c0 -4.2002 1.7998 -5.39941 19.7998 -7.7998c17.7998 -2.40039 26.2002 -5.7002 26.2002 -18.2002zM417.5 111.9c0 -6.10059 -5 -11.1006 -11.0996 -11.1006c-6.10059 0 -11.1006 5 -11.1006 11.1006c0 6.2998 5.2002 11.0996 11.1006 11.0996
+c6 0.0996094 11.0996 -4.7998 11.0996 -11.0996zM415.7 111.9c0 5.19922 -4.2002 9.2998 -9.40039 9.2998c-5.09961 0 -9.2998 -4.10059 -9.2998 -9.2998c0 -5.2002 4.2002 -9.40039 9.2998 -9.40039c5.2002 0.0996094 9.40039 4.2998 9.40039 9.40039zM411.2 105.7
+h-2.60059c-0.0996094 0.599609 -0.5 3.7998 -0.5 3.89941c-0.199219 0.700195 -0.399414 1.10059 -1.2998 1.10059h-2.2002v-5h-2.39941v12.5h4.2998c1.5 0 4.40039 0 4.40039 -3.2998c0 -2.30078 -1.5 -2.80078 -2.40039 -3.10059
+c1.7002 -0.0996094 1.7998 -1.2002 2.09961 -2.7998c0.100586 -1 0.300781 -2.7002 0.600586 -3.2998zM408.4 114.5c0 1.7002 -1.2002 1.7002 -1.80078 1.7002h-2v-3.5h1.90039c1.59961 0 1.90039 1.09961 1.90039 1.7998zM137.3 257l-0.200195 -95
+c0 -1.2998 -0.699219 -2.59961 -1.7998 -3.2002c-1.09961 -0.700195 -2.59961 -0.700195 -3.7002 0l-36.3994 20.9004c-2.2998 1.2998 -3.7002 3.7998 -3.7002 6.39941v44.4004c0 2.59961 -1.40039 5.09961 -3.7002 6.40039l-15.5 8.89941
+c-1.09961 0.700195 -2.39941 1 -3.7002 1c-1.2998 0 -2.5 -0.299805 -3.69922 -1l-15.5 -8.89941c-2.30078 -1.30078 -3.7002 -3.80078 -3.7002 -6.40039v-44.4004c0 -2.59961 -1.40039 -5 -3.7002 -6.39941l-36.4004 -20.9004
+c-1.19922 -0.700195 -2.59961 -0.700195 -3.69922 0c-1.10059 0.700195 -1.80078 1.90039 -1.80078 3.2002l-0.0996094 95c0 2.59961 1.40039 5.09961 3.7002 6.40039l61.2002 35.2998c1.09961 0.599609 2.19922 1 3.39941 1h0.600586
+c1.19922 -0.100586 2.39941 -0.400391 3.39941 -1l61.2998 -35.2998c2.30078 -1.30078 3.7002 -3.7002 3.7002 -6.40039zM472.5 360.7v-176.4c0 -2.59961 -1.40039 -5.09961 -3.7002 -6.39941l-61.2998 -35.4004c-2.2998 -1.2998 -5.09961 -1.2998 -7.40039 0
+l-61.2998 35.4004c-2.2998 1.2998 -3.7002 3.7998 -3.7002 6.39941v70.7998c0 2.60059 1.40039 5.10059 3.7002 6.40039l61.2998 35.4004c2.30078 1.2998 5.10059 1.2998 7.40039 0l15.2998 -8.80078c1.7002 -1 3.90039 0.300781 3.90039 2.2002v94
+c0 2.7998 3 4.60059 5.5 3.2002l36.5 -20.4004c2.2998 -1.19922 3.7998 -3.69922 3.7998 -6.39941zM426.5 231.8c0 0.700195 -0.400391 1.2998 -0.900391 1.60059l-21 12.1992c-0.599609 0.300781 -1.2998 0.300781 -1.89941 0l-21 -12.1992
+c-0.600586 -0.300781 -0.900391 -0.900391 -0.900391 -1.60059v-24.2998c0 -0.700195 0.400391 -1.2998 0.900391 -1.59961l21 -12.1006c0.599609 -0.299805 1.2998 -0.299805 1.7998 0l21 12.1006c0.599609 0.299805 0.900391 0.899414 0.900391 1.59961v24.2998h0.0996094
+zM636.3 232.5l-36.7002 -21.2998c-2.5 -1.40039 -5.59961 0.399414 -5.59961 3.2002v17.3994c0 1.2998 -0.799805 2.5 -1.90039 3.2002l-19.1992 11.0996c-1.10059 0.700195 -2.60059 0.700195 -3.7002 0l-19.2002 -11.0996
+c-1.2002 -0.700195 -1.90039 -1.90039 -1.90039 -3.2002v-22.2002c0 -1.2998 0.700195 -2.5 1.90039 -3.19922l61.7002 -35.4004c2.5 -1.40039 2.5 -5 0 -6.40039l-36.7998 -20.5c-2.30078 -1.2998 -5.10059 -1.2998 -7.30078 0l-60.8994 34.7002
+c-2.2998 1.2998 -3.7002 3.7002 -3.7002 6.40039v70.7998c0 2.59961 1.40039 5.09961 3.7002 6.40039l61.2998 35.3994c2.2998 1.2998 5.09961 1.2998 7.40039 0l60.8994 -35.3994c2.2998 -1.30078 3.7002 -3.80078 3.7002 -6.40039v-17.0996
+c0 -2.60059 -1.40039 -5.10059 -3.7002 -6.40039zM559 229l11.7998 6.7998c0.400391 0.299805 1 0.299805 1.40039 0l11.7998 -6.7998c0.400391 -0.200195 0.700195 -0.700195 0.700195 -1.2002v-13.5996c0 -0.5 -0.299805 -0.900391 -0.700195 -1.2002l-11.7998 -6.7998
+c-0.400391 -0.299805 -1 -0.299805 -1.40039 0l-11.7998 6.7998c-0.400391 0.200195 -0.700195 0.700195 -0.700195 1.2002v13.5996c0 0.5 0.299805 0.900391 0.700195 1.2002zM304.8 185.5c0 -0.599609 -0.0996094 -1.2002 -0.200195 -1.7002
+c-0.5 -2 -1.7998 -3.7002 -3.59961 -4.7002l-61 -35.1992c-2.2002 -1.30078 -5 -1.40039 -7.40039 0l-61.1992 35.1992c-2.10059 1.2002 -4 3.60059 -4 6.40039v70.4004c0 2.69922 1.59961 5.09961 3.89941 6.39941l61.1006 35.2002
+c2.39941 1.40039 5.2998 1.2002 7.39941 0l61.1006 -35.2002c2.2998 -1.2998 3.89941 -3.7998 3.89941 -6.39941v-70.4004zM230.5 310.4l-0.799805 -0.5h1.09961zM306.7 180.2l-0.400391 0.700195v-0.900391z" />
+ <glyph glyph-name="osi" unicode="&#xf41a;" horiz-adv-x="495"
+d="M0 188.8c2.2998 135.8 97.4004 232.4 213.8 248.101c138.8 18.5996 255.601 -75.8008 278 -201.101c21.2998 -118.8 -44 -230 -151.6 -274c-9.2998 -3.7998 -14.4004 -1.7002 -18 7.7002c-17.7998 46.2998 -35.6006 92.7002 -53.4004 139
+c-3.09961 8.09961 -1 13.2002 7 16.7998c24.2002 11 39.2998 29.4004 43.2998 55.7998c6.40039 42.4004 -24.5 78.7002 -64.5 82.2002c-39 3.40039 -71.7998 -23.7002 -77.5 -59.7002c-5.19922 -33 11.1006 -63.6992 41.9004 -77.6992
+c9.59961 -4.40039 11.5 -8.60059 7.7998 -18.4004c-17.8994 -46.5996 -35.7998 -93.2002 -53.7002 -139.9c-2.59961 -6.89941 -8.2998 -9.2998 -15.5 -6.5c-52.5996 20.3008 -101.399 61 -130.8 119c-24.8994 49.2002 -25.2002 87.7002 -26.7998 108.7zM20.9004 190.7
+c0.399414 -6.60059 0.599609 -14.2998 1.2998 -22.1006c6.2998 -71.8994 49.5996 -143.5 131 -183.1c3.2002 -1.5 4.39941 -0.799805 5.59961 2.2998c14.9004 39.1006 29.9004 78.2002 45 117.3c1.2998 3.30078 0.600586 4.80078 -2.39941 6.7002
+c-31.6006 19.9004 -47.3008 48.5 -45.6006 86c1 21.6006 9.2998 40.5 23.7998 56.2998c30 32.7002 77 39.8008 115.5 17.6006c31.9004 -18.4004 49.5 -53.7998 45.2002 -90.4004c-3.59961 -30.5996 -19.2998 -53.8994 -45.7002 -69.7998
+c-2.69922 -1.59961 -3.5 -2.90039 -2.2998 -6c15.2002 -39.2002 30.2002 -78.4004 45.2002 -117.7c1.2002 -3.09961 2.40039 -3.7998 5.59961 -2.2998c35.5 16.5996 65.2002 40.2998 88.1006 72c34.7998 48.2002 49.0996 101.9 42.2998 161
+c-13.7002 117.5 -119.4 214.8 -255.5 198c-106.1 -13 -195.3 -102.5 -197.1 -225.8z" />
+ <glyph glyph-name="react" unicode="&#xf41b;" horiz-adv-x="512"
+d="M418.2 270.8c54.3994 -18.7002 93.7998 -48.0996 93.7998 -78.3994c0 -31.7002 -41.7998 -62.6006 -99.5 -81.7002c-3.09961 -1 -6.2002 -2 -9.40039 -2.90039c1.10059 -4.59961 2.10059 -9.09961 3 -13.5c11.4004 -57.5996 2.60059 -104.899 -24.3994 -120.5
+c-26.1006 -15.0996 -68.4004 -0.200195 -111.2 36.6006c-4.59961 4 -9.2002 8.09961 -13.5996 12.3994c-3.5 -3.39941 -7 -6.59961 -10.5 -9.7002c-44.2002 -38.6992 -89.6006 -54.6992 -116.601 -39.0996c-26.2002 15.0996 -34.3994 59.0996 -23.8994 114.6
+c1.19922 6.10059 2.5 12 4 18c-4.60059 1.30078 -9.10059 2.80078 -13.6006 4.30078c-55.5 19 -96.2998 50.2998 -96.2998 81.5c0 30.1992 38.2998 59.3994 91.7002 77.8994c5.89941 2.10059 12.2002 4.10059 18.5996 5.90039
+c-1.39941 5.59961 -2.59961 11.0996 -3.7002 16.7002c-11 56.3994 -3.19922 101.5 23 116.699c27.3008 15.9004 72.9004 -1.09961 118.4 -41.5c2.7998 -2.5 5.59961 -5.09961 8.2998 -7.69922c4 3.89941 8.2002 7.7998 12.5 11.5
+c43.4004 37.7998 86.2998 53.5 112.601 38.3994c27.2998 -15.7998 35.3994 -63.7002 23.0996 -123.3c-0.799805 -3.7002 -1.59961 -7.40039 -2.5 -11.0996c5.40039 -1.60059 10.7998 -3.30078 16.2002 -5.10059zM282.9 355.7c-4 -3.5 -7.80078 -7 -11.7002 -10.7002
+c15.3994 -16.7002 29.5996 -34.5 42.5996 -53.0996c22.6006 -2 45.1006 -5.60059 67.2998 -10.6006c0.900391 3.2998 1.60059 6.60059 2.30078 10c10.5996 51.5 4.09961 90.7002 -12.8008 100.4c-15.7998 9.09961 -50.5 -3.60059 -87.6992 -36zM167.2 140.5
+c-5 8.59961 -9.7002 17.2998 -14.2998 26.0996c-6.40039 -15.1992 -11.9004 -30.0996 -16.3008 -44.5c15.3008 -3.2998 30.8008 -5.7998 46.4004 -7.5c-5.5 8.5 -10.7002 17.2002 -15.7998 25.9004zM136.9 260.8c4.39941 -14.0996 9.69922 -28.7002 16 -43.5996
+c4.5 8.7998 9.2998 17.5 14.1992 26c4.90039 8.59961 10.1006 17.0996 15.4004 25.3994c-15.9004 -2 -31.2002 -4.59961 -45.5996 -7.7998zM164.3 191.9c6.7002 -13.8008 13.7998 -27.3008 21.5 -40.6006s15.9004 -26.2998 24.6006 -39
+c14.6992 -0.899414 29.8994 -1.39941 45.5996 -1.39941s31.2002 0.5 46.0996 1.59961c8.5 12.7998 16.6006 25.7002 24.2002 39c7.7002 13.4004 14.9004 27 21.6006 40.7998c-6.80078 13.7002 -14 27.2002 -21.7002 40.4004s-15.7998 26.0996 -24.2998 38.7002
+c-14.9004 1.09961 -30.3008 1.69922 -45.9004 1.69922s-30.9004 -0.599609 -45.9004 -1.69922c-8.59961 -12.7002 -16.7998 -25.6006 -24.3994 -38.9004c-7.60059 -13.2998 -14.7998 -26.7998 -21.4004 -40.5996zM344.9 140.7c-5 -8.60059 -10.1006 -17.2002 -15.5 -25.6006
+c15.7998 1.80078 31.5 4.5 47 8c-4.90039 15.1006 -10.5 29.8008 -16.9004 44.3008c-4.7002 -9 -9.5 -17.9004 -14.5996 -26.7002zM359.3 217.2c6.10059 14.2002 11.5 28.5996 16.1006 43.3994c-14.4004 3.30078 -29.8008 6 -45.9004 8
+c5.2998 -8.2998 10.4004 -16.6992 15.2998 -25.1992c5 -8.60059 9.7998 -17.4004 14.5 -26.2002zM256.2 329.7c-10 -10.9004 -20.1006 -22.9004 -29.9004 -35.7998c19.7998 0.899414 39.7002 0.899414 59.5 0c-9.2002 12.3994 -19.0996 24.3994 -29.5996 35.7998zM140.2 391
+c-15.7998 -9.09961 -22 -45.5996 -12.6006 -94c1.10059 -5.2002 2.2002 -10.4004 3.5 -15.5c22.2002 4.90039 44.6006 8.40039 67.2002 10.4004c13.1006 18.5996 27.4004 36.3994 42.9004 53.0996c-2.60059 2.40039 -5.10059 4.7998 -7.60059 7
+c-39.2998 34.7998 -76.5996 48.7998 -93.3994 39zM115.7 127.4c6.89941 22 15.2002 43.5996 24.7998 64.5c-9.5 20.5996 -17.7002 41.8994 -24.5 63.5996c-5.7998 -1.7002 -11.5996 -3.5 -17.2998 -5.5c-45.6006 -15.9004 -77.2002 -39.2998 -77.2002 -57.5996
+c1.90039 -12.1006 8.7002 -22.9004 18.7998 -29.9004c17.5 -13.9004 41.7002 -24.5 63 -31.2002c4.10059 -1.39941 8.2002 -2.7002 12.4004 -3.89941zM232.3 29.4004c3.2002 2.7998 6.40039 5.7998 9.60059 8.89941c-15.5 16.7998 -30 34.7002 -43.2002 53.4004
+c-22.9004 1.7002 -45.5 5 -67.9004 9.7998c-1.39941 -5.5 -2.59961 -11.0996 -3.7002 -16.7002c-9 -47.5 -2.39941 -82.7998 13.5 -92c11.4004 -4.5 24.2002 -4 35.3008 1.2998c20.7998 8.2002 39.8994 20.2002 56.3994 35.3008zM256.8 53.7002
+c10.5 11.5996 20.4004 23.7002 29.6006 36.3994c-10 -0.5 -20.1006 -0.699219 -30.4004 -0.699219c-10 0 -19.9004 0.199219 -29.5 0.599609c9.90039 -13.0996 20.0996 -25.2998 30.2998 -36.2998zM387.5 23.7002c3.2002 22.2002 2.40039 44.7002 -2.5 66.2998
+c-0.799805 4 -1.7002 8.09961 -2.7002 12.2002c-22.5 -5.10059 -45.2998 -8.60059 -68.2002 -10.5c-12.7998 -18.7998 -26.8994 -36.7002 -42.1992 -53.6006c4.2998 -4 8.5 -7.89941 12.6992 -11.5c36.6006 -31.3994 70.5 -43.3994 86.4004 -34.1992
+c9.59961 7.69922 15.5996 19.0996 16.5 31.2998zM405.7 131.2c49.8994 16.5 84.7998 41.7998 84.7998 61.3994c0 18.2002 -32.7002 42 -79.2998 58c-4.7998 1.60059 -9.7998 3.2002 -15 4.7002c-6.7998 -21.5 -14.9004 -42.5 -24.5 -62.8994
+c9.89941 -20.7002 18.5 -42 25.5 -63.8008c2.89941 0.800781 5.7002 1.7002 8.5 2.60059zM256 146.2c-25.2998 0 -45.7998 20.5 -45.7998 45.7998s20.5 45.7998 45.7998 45.7998s45.7998 -20.5 45.7998 -45.7998s-20.5 -45.7998 -45.7998 -45.7998z" />
+ <glyph glyph-name="autoprefixer" unicode="&#xf41c;" horiz-adv-x="640"
+d="M318.4 432l164.1 -480h-77.5l-25.2002 81.4004h-119.5l-25.3994 -81.4004h-77.5zM278.1 90.0996h83.6006l-40.9004 130.4h-1.5zM640 43l-158.5 -9.5l-19.4004 56.5l167.9 -15.5996zM177.9 90l-19.4004 -56.4004l-158.5 9.40039l10 31.2998z" />
+ <glyph glyph-name="less" unicode="&#xf41d;" horiz-adv-x="640"
+d="M612.7 229c0 -11 6.7998 -22.5996 27.2998 -23.2998v-27.2998c-20.5 -1 -27.2998 -12.6006 -27.2998 -23.6006c0 -20.3994 3.2002 -32 3.2002 -54.5996c0 -34.2002 -12.7002 -45.2002 -40.5 -45.2002h-20.5v25.2002h6.2998v0.5c13.5996 0 17.2998 4.7002 17.2998 22.5996
+c0 17.2998 -1.59961 32.6006 -1.59961 51.5c0 24.2002 7.7998 33.6006 23.5996 37.2998v1.60059c-15.7002 3.7002 -23.5996 13.0996 -23.5996 37.2998c0 18.9004 1.59961 35.2002 1.59961 51.5c0 17.4004 -3.09961 22.0996 -17.2998 22.0996h-6.2998v24.2002h20.5
+c27.8994 0 40.5 -11 40.5 -45.2002c0 -22 -3.2002 -34.0996 -3.2002 -54.5996zM507.1 197c20.5 -6.7998 43 -18.9004 43 -47.7998c0 -28.9004 -22.5996 -51 -64.5996 -51c-20 0 -44.0996 9 -59.9004 22.0996l21 30.5c14.2002 -11 27.4004 -16.2998 40.5 -16.2998
+c14.2002 0 20.5 5.2002 20.5 13.0996c0 10.5 -15.7998 15.8008 -32.0996 22.1006c-18.9004 7.2998 -41.5 20.5 -41.5 46.2002c0 28.8994 24.2002 49.3994 59.9004 49.3994c24.1992 0 42.0996 -10.5 55.1992 -20.5l-21 -27.7998c-11.5 8.40039 -22 13.0996 -33.5996 13.0996
+s-17.9004 -4.69922 -17.9004 -12.5996c0 -10.5 14.7002 -14.2002 30.5 -20.5zM148.2 137.6c1.59961 0 3.09961 0 6.2002 0.800781l5.2998 -34.2002c-5.7002 -2.10059 -13.6006 -3.7002 -23.6006 -3.7002c-32.0996 0 -43.0996 21 -43.0996 53.0996v150.801h-14.0996
+c-13.6006 0 -17.3008 -4.80078 -17.3008 -22.1006s1.60059 -32.5996 1.60059 -51.5c0 -24.2002 -7.7998 -33.5996 -23.6006 -37.2998v-1.59961c15.7002 -3.7002 23.6006 -13.1006 23.6006 -37.3008c0 -19.3994 -1.60059 -34.1992 -1.60059 -51.5
+c0 -17.2998 4.2002 -22.5996 17.3008 -22.5996h6.2998v-24.2002h-20.5c-27.9004 0 -40.5 11 -40.5 45.2002c0 22.5996 3.2002 34.2002 3.2002 53.5996c0 11 -6.80078 22.6006 -27.3008 23.1006v27.2998c20.5 1 27.3008 12.5996 27.3008 23.5996
+c0 19.4004 -3.2002 32 -3.2002 54.6006c0 34.2002 12.5996 45.2002 41 45.2002h74.5996v-178.2c0 -9.90039 4.7002 -13.1006 8.40039 -13.1006zM379.9 197c20.5 -6.7998 43.0996 -18.9004 43 -47.7998c0 -28.9004 -22.6006 -51 -64.6006 -51
+c-20 0 -44.0996 9 -59.8994 22.0996l20.5 30.5c14.1992 -11 27.3994 -16.2998 40.5 -16.2998c14.1992 0 20.5 5.2002 20.5 13.0996c0 10.5 -15.8008 15.8008 -32.1006 22.1006c-18.8994 7.2998 -41.5 20.5 -41.5 46.2002c0 28.8994 24.2002 49.3994 59.9004 49.3994
+c24.2002 0 42.0996 -10.5 55.2002 -20.5l-21 -27.7998c-11.5 8.40039 -22 13.0996 -33.6006 13.0996c-11.5996 0 -17.8994 -4.69922 -17.8994 -12.5996c0 -10.5 14.6992 -14.2002 31 -20.5zM224.9 265.8c44.0996 0 67.2998 -33.0996 66.6992 -75.7002
+c0 -8.39941 -1.09961 -15.6992 -1.59961 -19.3994h-95.2002c4.2002 -24.2002 20.5 -34.2002 41.5 -34.2002c11.6006 0 22.6006 3.2002 34.2002 10l15.7998 -27.7998c-16.2998 -11.1006 -37.2998 -17.9004 -56.2002 -17.9004c-45.0996 0 -79.2998 30.5 -79.2998 82.5
+c-1 50.4004 35.7002 82.5 74.1006 82.5zM194.9 199.6h56.7998c0 17.9004 -7.40039 31 -26.2998 31c-14.7002 0 -27.3008 -10 -30.5 -31z" />
+ <glyph glyph-name="sass" unicode="&#xf41e;" horiz-adv-x="640"
+d="M301.9 69.0996c-0.300781 -0.599609 -0.600586 -1.09961 0 0zM551.1 156.1c57.9004 0.300781 90.6006 -37.0996 89 -71.0996c-1.09961 -26.9004 -25.6992 -37.9004 -30.2998 -38.7002c-3.2998 -0.599609 -5.09961 -0.700195 -5.59961 1.90039
+c-0.299805 1.7998 0.899414 2.7002 4.7998 5.09961c3.90039 2.40039 15.5996 10.4004 17.7002 25c2.09961 14.5 -8.7998 49.2998 -64.5 55.7998c-26 3 -46.4004 -0.599609 -62.1006 -7.19922c2.90039 -7.60059 5.10059 -15.5 5.40039 -23.4004
+c0.799805 -17.5 -11.2998 -30.4004 -23.7998 -39.5996c-7.2998 -5.40039 -15.1006 -8.90039 -21.6006 -11.1006c-5.19922 -2.2002 -12.1992 -4.5 -17.0996 -3.5c-10.9004 2.2002 -16.7002 11.7998 -9.2998 33.1006c4 11.5 15.5 29 34.0996 44.0996
+c-4.2998 8.7002 -9 17.5996 -11.3994 25.7002c-4.80078 16.0996 -6.2002 25.7998 -6.2002 25.7998s-15.2998 -31.7002 -35.1006 -60.5996c-1.09961 -1.7002 -2.2998 -3.40039 -3.39941 -5c3.7998 -9 6.89941 -18.6006 7.2998 -28.2002
+c0.700195 -17.4004 -6.90039 -30.6006 -19.4004 -39.7998c-6.7998 -4.90039 -14 -8.40039 -20.1992 -10.6006c-3.90039 -1.7998 -12 -4.59961 -23.5 -5.39941c-6.30078 -0.5 -12.3008 -0.100586 -15.7002 2.5c-4.60059 3.39941 -5.2002 7.7998 -2.7998 13.6992
+c2 5 17.1992 22.4004 30 37.6006c3.5 4.2002 6.89941 8.5 9.89941 12.5c-0.0996094 0.0996094 -0.0996094 0.200195 -0.0996094 0.200195s2.2998 3 6.09961 8.19922c-4.7002 10.1006 -10.5996 20.5 -13.3994 30c-4.80078 16.1006 -6.2002 25.8008 -6.2002 25.8008
+s-15.5 -39.7002 -31.7002 -71.5c-12.5 -24.6006 -20.7998 -39.5 -24.5996 -46v-0.300781s-0.5 -0.899414 -1.5 -2.39941c-0.5 -0.799805 -0.700195 -1.2002 -0.700195 -1.2002v0.0996094c-4.2002 -6.19922 -13.6006 -18.2998 -23 -18.2998
+c-25.7002 0 -16.2998 52.2002 -16.2998 52.2002s-7.5 -19.2998 -16 -35.9004c-6.90039 -13.5996 -13.1006 -25 -26.9004 -25c-3.90039 0 -10.2002 0.100586 -15.4004 5c-11.7998 11.2002 -20.8994 39.7002 -19.0996 61.7002c1.5 18.7998 4.40039 31.7998 8.40039 42.6006
+c-7.10059 -3.90039 -15.2002 -8.40039 -23.5 -13.3008c-4.30078 -2.5 -8.60059 -5 -12.8008 -7.5c0.100586 -0.299805 0.300781 -0.5 0.400391 -0.799805c10.5996 -20.3994 13.4004 -65.2002 -9.59961 -99.5s-65.8008 -55.2002 -107.601 -43.5996
+c-13.3994 3.7998 -33.7998 31.5996 -16.2998 70.3994c15.5 34.2002 77.4004 66.6006 93.7002 74.7002c1.39941 0.799805 2.89941 1.60059 4.5 2.5c-32.5 28.4004 -113.7 66.7998 -125.101 125.7c-3.19922 16.5996 4.60059 56.2998 53.3008 101.9
+c41 38.2998 98 67.6992 150.699 86.3994c88.5 31.4004 182 12.9004 196.4 -43.5c14.0996 -55.5 -34 -121.8 -95.7998 -145.6c-55 -21.2998 -100.5 -17.9004 -119.2 -11.7998c-21.2998 7 -33.7998 21 -36.7998 28.8994c-1.2002 3.10059 -3.2998 8.2998 0 10.1006
+c2 1.09961 2.7998 0.799805 8.09961 -5.10059c5.10059 -5.59961 25.5 -20.5996 64.2998 -16.2998c101.801 11.4004 163.101 90.5 143.7 133c-13.5 29.7998 -91.8994 43.2002 -189.899 -5.59961c-119.601 -59.6006 -126.101 -108.7 -127.101 -127.4
+c-2.7998 -51.2998 63.2998 -78.2998 99.1006 -116.5c0.5 -0.5 0.899414 -1 1.39941 -1.5c6.7002 3.7002 13.7998 7.59961 20.7002 11.4004c18 9.89941 35.0996 19.1992 43 23.5c12.5996 18.2998 38.2002 38.5 56.5996 38.5c29.5 0 19.4004 -42.4004 19.4004 -42.4004
+s0.599609 2 1.40039 2c0.799805 0 4.09961 5.5 13.1992 2.2002c9.40039 -3.5 7.2002 -10 7.30078 -10.7002c0.0996094 -1.2998 -11 -38.9004 -15.7002 -63.0996c-2.2002 -11.5 -0.900391 -19.9004 -0.299805 -19.9004c0.899414 0 2.7998 2.90039 4.5 6.09961v0.100586
+s1.2998 2.39941 3.5 6.7002c0 0.199219 -0.200195 -0.300781 -0.5 -0.800781c0.199219 0.400391 0.5 0.900391 0.899414 1.7002c2.60059 5 6.2002 12.4004 10.4004 21.6006c8.2002 18.0996 39.5 87.6992 42.0996 95.3994c2.60059 7.7002 4 15.7002 5.2998 19.1006
+c1.30078 3.39941 12.4004 6 25.3008 5.89941c12.8994 -0.0996094 14.1992 -5.59961 14.2998 -6.7002c0.0996094 -1.09961 -6.2002 -16.3994 -7.60059 -27.1992c-1.39941 -10.8008 -0.0996094 -16.2002 1.10059 -25.3008c0.799805 -6 4.5 -13.5 8.89941 -22
+c13.3008 21.8008 36.8008 63.6006 39.1006 75.3008c1.5 8 4 15.6992 5.2998 19.0996s12.4004 6 25.2998 5.90039c12.9004 -0.100586 14.2002 -5.60059 14.2998 -6.7002c0.100586 -1.10059 -6.19922 -16.4004 -7.59961 -27.2002s-0.0996094 -16.2002 1.09961 -25.2998
+c1 -7.7998 7.10059 -18.2002 13 -30.1006c16.2002 8 35.6006 13.4004 58 13.5zM121.8 11.4004c19.4004 21.0996 27.4004 47.8994 19.1006 78.2998c-1 -0.600586 -2 -1.10059 -2.90039 -1.7002c0 0 -0.400391 -0.200195 -1.2002 -0.700195
+c-4.7998 -2.89941 -8.7002 -5.2998 -11.3994 -6.89941c-11.8008 -7.40039 -29.6006 -19.4004 -43.4004 -32.4004c-22.7002 -21.4004 -27.4004 -51 -15.5 -57.9004c11.0996 -6.39941 36.9004 1.2002 55.2998 21.3008zM256.2 102.8c4 9.7998 19.7002 53.2998 16.2002 59.2002
+c-2.60059 4.5 -13.7002 0.900391 -23.8008 -10.4004c-6.2998 -7 -16.8994 -25 -21.8994 -40.0996c-9.90039 -30 -5.60059 -60.5 1.39941 -62.2998c8.2002 -2.10059 21.7002 37.8994 28.1006 53.5996zM367.2 49.7998c7.7998 4.7998 25 16.9004 25.0996 34.7998
+c0 0.600586 -0.0996094 1.10059 -0.0996094 1.60059c-4 -5.2002 -7.7002 -9.90039 -10.9004 -13.9004c-5.5 -6.7998 -19.3994 -21.7002 -19.3994 -21.7002s-2 -1.89941 -1.10059 -2.39941c1.2002 -0.700195 3.7002 0.200195 6.40039 1.59961zM452.8 69.2998
+c9.7002 3.5 25.7998 11.9004 25.9004 34.4004c0 3.39941 -0.700195 7 -1.90039 10.7998c-10.3994 -9.2002 -16.3994 -18.7998 -19 -24.5c-6.7002 -14.5996 -7 -19.2998 -5 -20.7002z" />
+ <glyph glyph-name="vuejs" unicode="&#xf41f;"
+d="M356.9 383.7h91.0996l-224 -383.7l-224 383.7h176l48 -88.6006l56 88.6006h76.9004zM55.7002 351.7l168.3 -288.2l168.2 288.2h-53.7998l-114.4 -198.2l-114.5 198.2h-53.7998z" />
+ <glyph glyph-name="angular" unicode="&#xf420;" horiz-adv-x="415"
+d="M169.7 179.9l38.0996 91.5996l38.1006 -91.5996h-76.2002zM207.8 416l207.8 -74.4004l-31.7998 -275.699l-176 -97.9004l-176 97.9004l-31.7998 275.699zM338 74.2002l-130.2 292.3l-130.1 -292.3h48.7002l26.1992 65.3994h110.601l26.2002 -65.3994h48.5996z" />
+ <glyph glyph-name="aviato" unicode="&#xf421;" horiz-adv-x="640"
+d="M107.2 164.5l-19 41.7998h-52.1006l-19 -41.7998h-17.0996l62.2002 131.4l62.2002 -131.4h-17.2002zM62.2002 262.6l-19.6006 -42.5h39.2002zM174.9 160.2l-62.2002 131.399h17.0996l45.1006 -96l45.0996 96h17zM255.5 164.5v127.1h15.5v-127.1h-15.5zM464.6 280.1
+v-115.6h-17.2998v115.6h-41.2002v11.5h99.6006v-11.5h-41.1006zM640 229.2c0 -9.2002 -1.7002 -17.7998 -5.09961 -25.7998c-3.40039 -8 -8.2002 -15.1006 -14.2002 -21.1006s-13.1006 -10.7998 -21.1006 -14.2002c-8 -3.39941 -16.5996 -5.09961 -25.7998 -5.09961
+s-17.7998 1.7002 -25.7998 5.09961c-8 3.40039 -15.0996 8.2002 -21.0996 14.2002s-10.8008 13 -14.2002 21.1006c-3.40039 8 -5.10059 16.5996 -5.10059 25.7998s1.7002 17.7998 5.10059 25.7998c3.39941 8 8.2002 15.0996 14.2002 21.0996s13 8.40039 21.0996 11.9004
+c8 3.40039 16.5996 5.09961 25.7998 5.09961s17.7998 -1.69922 25.7998 -5.09961s15.1006 -5.7998 21.1006 -11.9004c6 -6 10.7002 -13.0996 14.2002 -21.0996c3.39941 -8 5.09961 -16.5996 5.09961 -25.7998zM624.5 229.2c0 7.2998 -1.2998 14 -3.90039 20.2998
+c-2.59961 6.2998 -6.19922 11.7002 -10.7998 16.2998c-4.59961 4.60059 -10 8.2002 -16.2002 10.9004c-6.19922 2.7002 -12.7998 4 -19.7998 4s-13.5996 -1.2998 -19.7998 -4s-11.5996 -6.2998 -16.2002 -10.9004c-4.59961 -4.59961 -8.2002 -10 -10.7998 -16.2998
+s-3.90039 -13.0996 -3.90039 -20.2998c0 -7.2998 1.30078 -14 3.90039 -20.2998c2.59961 -6.30078 6.2002 -11.7002 10.7998 -16.3008c4.60059 -4.59961 10 -8.19922 16.2002 -10.8994s12.7998 -4 19.7998 -4s13.6006 1.2998 19.7998 4
+c6.2002 2.7002 11.6006 6.2998 16.2002 10.8994c4.60059 4.60059 8.2002 10 10.7998 16.3008c2.60059 6.2998 3.90039 13.0996 3.90039 20.2998zM529.7 132.5c6 -0.900391 10.5 -6 10.7002 -12.2998c0 -6.7998 -5.60059 -12.4004 -12.4004 -12.4004
+s-12.4004 5.60059 -12.4004 12.4004c0 6.2002 4.60059 11.2998 10.5 12.2002v5.7998l-80.2998 -9v-5.40039c5.60059 -1.09961 9.90039 -6.09961 9.90039 -12.0996c0 -6.7998 -5.60059 -10.2002 -12.4004 -10.2002s-12.3994 3.40039 -12.3994 10.2002
+c0 5.89941 4.19922 11 9.89941 12.0996v4.90039l-28.3994 -3.2002v-23.7002h5.89941v-13.7998h-5.89941v6.59961h-5v-6.59961h-5.90039v13.7998h5.90039v23.2002l-38.3008 -4.2998c-8.09961 -11.5 -19 -13.6006 -19 -13.6006l0.100586 -6.69922l5.09961 -0.200195
+l0.100586 -12.1006h-4.10059l-0.0996094 5h-5.2002l-0.0996094 -5h-4.10059l0.100586 12.1006l5.09961 0.200195l0.0996094 6.69922s-10.8994 2.2002 -19 13.6006l-38.2998 4.2998v-23.2002h5.90039v-13.7998h-5.90039v6.59961h-5v-6.59961h-5.89941v13.9004h5.89941
+v23.6992l-28.3994 3.2002v-4.89941c5.59961 -1.10059 9.89941 -6.10059 9.89941 -12.1006c0 -6.7998 -5.59961 -10.2002 -12.3994 -10.2002c-6.80078 0 -12.4004 3.40039 -12.4004 10.2002c0 5.90039 4.2002 11 9.90039 12.1006v5.39941l-80.3008 9v-5.7998
+c5.90039 -0.900391 10.5 -6 10.5 -12.2002c0 -6.7998 -5.59961 -12.3994 -12.3994 -12.3994s-12.4004 5.59961 -12.4004 12.3994c0 6.2002 4.60059 11.2998 10.5 12.2002v6.2998l-88.8994 10l242.899 -13.5c-0.599609 2.2002 -1.09961 4.60059 -1.39941 7.2002
+c-0.300781 2.09961 -0.5 4.2002 -0.600586 6.5l-64.7998 8.09961l64.9004 -1.89941c0 0.399414 0 0.799805 0.0996094 1.09961c2.7998 17.2002 25.5 23.7002 25.5 23.7002l1.09961 26.4004h-23.5996l-19 -41.8008h-17.0996l62.1992 131.4l62.2002 -131.4h-17.0996
+l-19 41.8008h-23.7998l1.09961 -26.3008s22.7002 -6.5 25.5 -23.6992c0 -0.400391 0.0996094 -0.700195 0.0996094 -1.10059l64.9004 1.90039l-64.7998 -8.10059c-0.100586 -2.2998 -0.299805 -4.5 -0.600586 -6.5c-0.299805 -2.59961 -0.799805 -5 -1.39941 -7.19922
+l242.899 13.3994l-88.8994 -10v-6.2998zM328.9 220.1h17.8994l1.7002 40.3008l1.7002 -40.3008h17.8994l-19.5996 42.5z" />
+ <glyph glyph-name="ember" unicode="&#xf423;" horiz-adv-x="640"
+d="M639.9 193.4c1.09961 -10.8008 -5.30078 -14.3008 -5.30078 -14.3008s-26.5996 -19.5996 -47 -13.6992c-20.3994 5.89941 -21.5 43.1992 -21.5 43.1992h-1.89941l-20.7002 -57.1992s-8.2998 -27.9004 -20.7002 -22.8008
+c-12.3994 5.10059 -12.0996 18.6006 -12.0996 18.6006s-19.2998 -21.2998 -54.7998 -18.6006c-31.1006 2.30078 -41.1006 26.7002 -41.1006 26.7002s-20.7998 -14.3994 -79.0996 -25.8994c-26.1006 -2.90039 -44.6006 12.8994 -44.6006 12.8994
+c-2.39941 -2.39941 -18 -10.2002 -18 -10.2002s-22.2998 -10.2998 -30.8994 5.30078c-8.60059 15.5996 -3 63.6992 -3 63.6992h-1.60059s-12.8994 -26.2998 -19.5996 -49.8994c-6.7002 -23.6006 -15 -21.2002 -15 -21.2002s-15.2998 -1.40039 -18.7998 11.4004
+c-3.5 12.8994 5.59961 59.6992 5.59961 59.6992l-1.2998 -0.299805s-0.799805 1.40039 -12.5996 -23.5996c-20.1006 -48.9004 -24.9004 -50 -36.5 -47.9004c-11.6006 2.10059 -12.1006 16.7002 -12.1006 16.7002l-15.8994 -8.7998s-38.6006 -16.6006 -58.8008 -1.2998
+c-13.3994 10.1992 -18 22.1992 -19.5996 29.6992c0 0 -17 1.80078 -28.0996 6.10059c-11.1006 4.2998 0.0996094 18.2998 0.0996094 18.2998s3.5 5.2998 10 0s18.7998 -2.90039 18.7998 -2.90039c1 8.5 2.5 19.7002 7.7998 31.5c11 24.7002 27.6006 33 41.3008 33.3008
+c13.6992 0.199219 23.3994 -3.5 31.6992 -15.3008c18.6006 -45.8994 -49.3994 -69.1992 -49.3994 -69.1992s-1.7998 -12.1006 16.7002 -11.8008c18.5996 0.200195 46.7998 20.4004 46.7998 20.4004c1.2998 15.4004 12.0996 63.5 15 70.7002
+c2.89941 7.2002 14.2002 5.89941 14.2002 5.89941s8.89941 1.90039 10.5 -7.5c1.69922 -9.39941 -6.40039 -47.5996 -6.40039 -47.5996l1.2998 -1.59961c0.799805 3.69922 20.4004 36.5 20.4004 36.5s11.2998 19.5996 28.5 18.7998s-0.799805 -53.5 -0.799805 -53.5
+l1.2998 -1.60059l1.2998 2.40039c2.2002 5.90039 27.7002 44.5996 27.7002 44.5996s9.59961 11.3008 18.5 8.60059c8.7998 -2.60059 9.39941 -6.7002 9.89941 -14.2002s-7 -52.0996 -7 -52.0996s-4.2998 -29.2002 5.40039 -28.7002s20.2002 10.7002 20.2002 10.7002
+s7.5 57.5996 12.5996 105.1c5.10059 47.5 27.1006 79.5 27.1006 79.5s6.5 10 23.5 16.7002c11.1992 4 23.3994 1.2998 29.1992 -23.1006c9.5 -41 -23.2998 -87.8994 -36.8994 -105.199c5.89941 5.7998 15.7998 12.0996 27.2002 5.2998
+c40.2998 -25.2998 7.2998 -80.9004 7.2998 -80.9004c11.7998 3.7998 33 18 33 18s0.5 6.10059 0.700195 7.5c7.19922 41.2998 32 56.2002 36.5996 59.7002c4.7998 3.59961 47.0996 19.7998 49 -24s-52.9004 -59.0996 -52.9004 -59.0996s4.80078 -12.6006 25 -9.40039
+c20.2002 3.2002 43.3008 22.7998 43.3008 22.7998c0.799805 18 12.5996 61 15 67.2002c2.39941 6.2002 17.1992 6.5 18.7998 3c2.2002 -7 0.299805 -37.5996 0.299805 -37.5996l1.59961 0.5c5.90039 17.5 18.3008 31.1992 18.3008 31.1992s9.89941 9.7002 18 7.30078
+c8.09961 -2.30078 5.09961 -30.4004 5.09961 -30.4004s-4.2998 -30.7002 9.40039 -32c13.6992 -1.40039 29.2998 10.7002 29.2998 10.7002s9.59961 3.89941 10.7002 -6.7998zM61.9004 188.1c0 0 6.19922 -1.89941 19.8994 7.60059
+c13.7002 9.39941 16.4004 24.3994 9.10059 31.3994c-7.2002 6.90039 -28.2002 -7 -29 -39zM334.7 311.9c0 0 -15.9004 -54.5 -16.4004 -70.7002c0 0 44.5 72 40 96.2002c-4.5 24.1992 -23.5996 -25.5 -23.5996 -25.5zM357.5 173.5
+c12.5996 33.0996 -3.59961 45.5 -3.59961 45.5s-23.4004 12.9004 -33.3008 -20.2002c-9.89941 -33.0996 -6.39941 -44.8994 -6.39941 -44.8994s30.7002 -13.4004 43.2998 19.5996zM442.1 188.1c0 0 15.7002 -1.09961 26.4004 14.2002s1.2998 25.5 1.2998 25.5
+s-8.59961 11.1006 -19.5996 -9.09961c-11.1006 -20.1006 -8.10059 -30.6006 -8.10059 -30.6006z" />
+ <glyph glyph-name="font-awesome-flag" unicode="&#xf425;" horiz-adv-x="447"
+d="M444.373 88.5762c0 -7.16797 -6.14453 -10.2402 -13.3125 -13.3125c-28.6719 -12.2881 -59.3916 -23.5518 -92.1592 -23.5518c-46.0801 0 -67.584 28.6719 -122.88 28.6719c-39.9365 0 -81.9209 -14.3359 -115.713 -29.6953
+c-2.04785 -1.02441 -4.0957 -1.02441 -6.14355 -2.04883v-77.8232c0 -21.4053 -16.1221 -34.8164 -33.792 -34.8164c-19.4561 0 -34.8164 15.3604 -34.8164 34.8164v374.783c-13.3115 10.2402 -22.5273 26.624 -22.5273 45.0566c0 31.7441 25.5996 57.3438 57.3438 57.3438
+s57.3438 -25.5996 57.3438 -57.3438c0 -18.4326 -8.19141 -34.8164 -22.5273 -45.0566v-31.7432c4.12402 1.37402 58.7676 28.6719 114.688 28.6719c65.2705 0 97.6758 -27.6484 126.976 -27.6484c38.9121 0 81.9209 27.6484 92.1602 27.6484
+c8.19238 0 15.3604 -6.14453 15.3604 -13.3125v-240.64z" />
+ <glyph glyph-name="gitter" unicode="&#xf426;" horiz-adv-x="384"
+d="M66.4004 125.5h-50.4004v322.5h50.4004v-322.5zM166.9 371.9v-435.9h-50.4004v435.9h50.4004zM267.5 371.9v-435.9h-50.4004v435.9h50.4004zM368 372v-247h-50.4004v247h50.4004z" />
+ <glyph glyph-name="hooli" unicode="&#xf427;" horiz-adv-x="640"
+d="M144.5 96v16c12.2998 -6.59961 25.0996 -12.2002 38.2998 -16.7998zM202.2 101.3c29.5 -10.7002 55.3994 -13.5 75.2998 -13.2998c-24.7998 -7 -58.2002 -5.2998 -94.7002 7.2002l19.4004 0.799805v5.2998zM611.1 216.5c-16 0 -28.8994 13 -28.8994 28.9004
+c0 15.8994 13 24.5 28.8994 24.5c16 0 28.9004 -8.5 28.9004 -24.5s-13 -28.9004 -28.9004 -28.9004zM582.1 96v110.5h57.9004v-110.5h-57.9004zM508.4 96v168l57.8994 27.2998v-195.3h-57.8994zM477.4 215.4c18.0996 -18.1006 16.6992 -33.8008 16.7998 -52.6006
+c0 -18.7002 1.39941 -34.2998 -16.7998 -52.5c-18.1006 -18.2002 -50.4004 -17.0996 -50.4004 -17.0996s-32.2002 -1.10059 -50.4004 17.0996c-18.1992 18.2002 -16.7998 33.7998 -16.7998 52.5s-1.39941 34.4004 16.7998 52.6006
+c18.1006 18.1992 50.4004 17.0996 50.4004 17.0996s32.2002 1.09961 50.4004 -17.0996zM437.6 143.5v40.4004c0 8.7998 -7.2998 10.8994 -10.6992 10.8994c-3.40039 0 -10.7002 -2.2002 -10.7002 -10.8994v-40.4004c0 -3.59961 1.7998 -12.5 10.7002 -12.5
+c8.89941 0 10.6992 8.90039 10.6992 12.5zM331.4 215.4c18.1992 -18.1006 16.6992 -33.8008 16.6992 -52.3008c0 -18.6992 1.5 -34.2998 -16.6992 -52.5c-18.1006 -18.1992 -50.4004 -17.0996 -50.4004 -17.0996s-32.2002 -1.09961 -50.4004 17.0996
+c-18.1992 18.2002 -16.7998 33.8008 -16.7998 52.5c0 15.6006 -0.899414 29.1006 9.2998 43.7002c-16 11.7998 -58 37.4004 -99.8994 58.2998v-54.2998c8 13.7002 22.7002 22 38.5 21.9004c27.2002 0 40.5996 -18.7002 40.5996 -37.4004v-93.8994
+c-20.3994 7.5 -39.7002 17.3994 -57.7002 29.5996v48.7002c0 8.09961 -1.5 15 -10.5996 15s-10.7998 -11.2998 -10.7998 -18.2002v-29.7998l-4.5 3.59961c-22.9004 18.9004 -40.2998 35.6006 -53.4004 50.2998v-31c11 -9.7998 23.6006 -20.1992 38.4004 -31.3994
+c6.39941 -4.90039 12.8994 -9.40039 19.3994 -13.6006v-28.5996h-57.8994v73.7002c-86.7002 78 -61.7998 110.8 -61.7998 110.8c8.2998 18.2998 42.8994 22.2002 97.2998 0.0996094l22.5 10.6006v-20.7002c29.5996 -14.5996 63.8994 -31.5 102.1 -61.0996
+c1.60059 2.09961 3.40039 4.09961 5.2998 6c18.2002 18.1992 50.4004 17.0996 50.4004 17.0996s32.2002 1.09961 50.4004 -17.0996zM65.2002 264l29.2002 13.7002c-26.9004 10.0996 -50.9004 13.5 -64.4004 2.09961c-3.7002 -3.09961 -13.5 -24.5996 35.2002 -79.0996
+v63.2998zM291.7 143.5v40.4004c0 8.7998 -7.2998 10.8994 -10.7002 10.8994s-10.7002 -2.2002 -10.7002 -10.8994v-40.4004c0 -3.59961 1.7998 -12.5 10.7002 -12.5s10.7002 8.90039 10.7002 12.5z" />
+ <glyph glyph-name="strava" unicode="&#xf428;" horiz-adv-x="369"
+d="M151.4 448l150.199 -292h-88.5l-61.6992 116.1l-62.2002 -116.1h-89.2002zM301.6 156h67.6006l-111.5 -220l-112.2 220h67.5996l44.6006 -88.2002z" />
+ <glyph glyph-name="stripe" unicode="&#xf429;" horiz-adv-x="640"
+d="M165 303.3l0.0996094 -38.5h33.7002v-37.7998h-33.7002v-63.2002c0 -26.2002 28 -18 33.7002 -15.7002v-33.7998c-5.89941 -3.2002 -16.5996 -5.89941 -31.2002 -5.89941c-26.2998 0 -46.0996 17 -46.0996 43.2998l0.200195 142.399zM254.1 251.7
+c10.4004 19.0996 31.1006 15.2002 37.1006 13.0996v-40.7998c-5.7002 1.7998 -23.4004 4.5 -33.9004 -9.2998v-103.101h-44.2998v153.2h38.4004zM346.4 324v-36.2002l-44.6006 -9.5v36.2002zM44.9004 219.7c0 -20 67.8994 -10.5 67.8994 -63.4004
+c0 -32 -25.3994 -47.7998 -62.2998 -47.7998c-15.2998 0 -32 3 -48.5 10.0996v40c14.9004 -8.09961 33.9004 -14.1992 48.5996 -14.1992c9.90039 0 17 2.69922 17 10.8994c0 21.2002 -67.5 13.2002 -67.5 62.4004c0 31.3994 24 50.2002 60 50.2002
+c14.7002 0 29.4004 -2.30078 44.1006 -8.10059v-41.7998c-13.5 7.2998 -30.7002 11.4004 -44.2002 11.4004c-9.2998 -0.100586 -15.0996 -2.80078 -15.0996 -9.7002zM640 186.4c0 -4.30078 -0.400391 -13.6006 -0.599609 -15.9004h-86.9004
+c2 -20.7998 17.2002 -26.9004 34.5 -26.9004c17.5996 0 31.5 3.7002 43.5996 9.80078v-33.4004c-12.0996 -6.7002 -28 -11.5 -49.1992 -11.5c-43.2002 0 -73.5 24.7002 -73.5 78.2002c0 45.2002 25.6992 81.0996 67.8994 81.0996s64.2002 -35.8994 64.2002 -81.3994z
+M552.1 203.2h45.9004c0 20 -11.5996 28.3994 -22.5 28.3994c-11.0996 0 -23.4004 -8.39941 -23.4004 -28.3994zM439.2 267.8c31.2002 0 60.5996 -28.0996 60.5 -79.7002c0 -56.3994 -29 -79.5996 -60.7998 -79.5996c-15.5 0 -25 6.5 -31.4004 11.2002l-0.0996094 -50.2002
+l-44.4004 -9.40039v204.801h39.0996l2.30078 -11c6.19922 5.69922 17.3994 13.8994 34.7998 13.8994zM428.6 145.3c16.5 0 27.5 17.9004 27.4004 41.7998c0 23.2002 -11.2002 41.4004 -27.4004 41.4004c-10.1992 0 -16.5996 -3.7002 -21.1992 -8.7998l0.299805 -66
+c4.2998 -4.60059 10.5 -8.40039 20.8994 -8.40039zM301.9 111.6v153.2h44.5996v-153.2h-44.5996z" />
+ <glyph glyph-name="stripe-s" unicode="&#xf42a;" horiz-adv-x="362"
+d="M144.3 293.4c0 -64.2002 218 -33.7002 218 -203.9c0 -102.6 -81.7002 -153.6 -200.3 -153.6c-49.2002 0 -103 9.59961 -156 32.3994v128.5c47.9004 -26 108.9 -45.5 156.1 -45.5c31.8008 0 54.7002 8.5 54.7002 34.9004c0 68.0996 -216.8 42.5 -216.8 200.399
+c0 101 77.0996 161.4 192.8 161.4c47.2998 0 94.5 -7.2002 141.8 -26.0996v-134.301c-43.3994 23.4004 -98.5 36.7002 -141.899 36.7002c-29.7998 0 -48.4004 -8.59961 -48.4004 -30.8994z" />
+ <glyph glyph-name="typo3" unicode="&#xf42b;" horiz-adv-x="433"
+d="M171.7 369.6c0 -66.3994 83.3994 -264.899 140.6 -264.899c6.90039 0 11.5 0 18.5 2.2998c-49.3994 -79.5 -110.399 -139 -146.7 -139c-77.2998 0 -184.1 234 -184.1 337.5c0 16.2998 3.90039 29.4004 9.2998 37.0996c27 32.4004 106.8 57.9004 176.3 66.4004
+c-8.5 -7 -13.8994 -14.7002 -13.8994 -39.4004zM294.5 416c71.7998 0 138.8 -11.5996 138.8 -52.5c0 -82.5996 -52.5 -182.3 -78.7998 -182.3c-47.9004 0 -101.7 132.1 -101.7 198.5c0 30.8994 11.6006 36.2998 41.7002 36.2998z" />
+ <glyph glyph-name="amazon-pay" unicode="&#xf42c;" horiz-adv-x="611"
+d="M0 122.8c2.2998 4.2002 5.2002 4.90039 9.7002 2.5c10.3994 -5.59961 20.5996 -11.3994 31.2002 -16.7002c40.6992 -20.3994 83.1992 -35.5996 127.399 -46.2998c20.9004 -5 41.9004 -9 63.2002 -11.7998c31.5 -4.2002 63.2002 -6 95 -5.2002
+c17.4004 0.400391 34.7998 1.7998 52.0996 3.7998c56.4004 6.7002 110.9 20.8008 163.301 42.8008c2.89941 1.19922 5.89941 2 9.09961 1.19922c6.7002 -1.7998 9 -9 4.09961 -13.8994c-2.7998 -2.7998 -6.2998 -5.10059 -9.59961 -7.40039
+c-30.7002 -21.0996 -64.2002 -36.3994 -99.5996 -47.8994c-24.6006 -7.90039 -49.6006 -13.8008 -75.1006 -17.6006c-17.5996 -2.59961 -35.3994 -4.39941 -53.2002 -4.7998c-0.799805 0 -1.69922 -0.200195 -2.5 -0.299805h-21.0996
+c-0.799805 0.0996094 -1.7002 0.299805 -2.5 0.299805c-3.59961 0.200195 -7.2002 0.299805 -10.7002 0.400391c-16.8994 0.699219 -33.7002 2.59961 -50.3994 5.2998c-27.4004 4.5 -54.2002 11.3994 -80.4004 20.8994c-54.0996 19.6006 -102.6 48.6006 -145.6 87
+c-1.80078 1.60059 -3 3.80078 -4.40039 5.7002v2zM158 383c2.7998 0 5.5 0 8.2998 -0.0996094c3.2998 -0.5 6.60059 -0.800781 9.7998 -1.5c21.3008 -4.40039 35.4004 -17.3008 43.9004 -36.9004c6.90039 -15.9004 8.59961 -32.7002 8.09961 -49.7998
+c-0.399414 -15.4004 -3.2998 -30.2002 -10.2998 -44.1006c-9.2002 -18.3994 -23.3994 -30.8994 -43.7998 -34.8994c-22.5 -4.40039 -43.0996 0.5 -61 15.3994c-0.5 0.5 -1.09961 1 -2.2002 1.90039v-72.4004c0 -1 0 -2 -0.0996094 -3c-0.299805 -3 -2.10059 -5 -5 -5
+c-7 -0.0996094 -14.1006 -0.0996094 -21.1006 0c-2.89941 0.100586 -4.69922 2 -4.89941 5c-0.100586 1 -0.100586 2 -0.100586 3v209.301c0 6.89941 1.30078 8.19922 8.2002 8.19922h11.5c4.60059 0 6.90039 -2 7.60059 -6.59961c0.5 -2.7002 0.899414 -5.5 1.2998 -8.2002
+c0 -0.399414 0.200195 -0.899414 0.399414 -1.39941c2.5 1.89941 4.7002 3.69922 7.10059 5.39941c11.3994 8.2002 24 13.4004 38 15.1006c1.39941 0.199219 2.89941 0.399414 4.2998 0.599609zM110.6 341.1c0.100586 -14.0996 0 -28.0996 0 -42.0996
+c0 -14.0996 0.100586 -28.0996 0 -42.2002c0 -1.59961 0.5 -2.39941 1.7002 -3.2998c11.2002 -7.90039 23.4004 -13.2998 37.4004 -13.9004c20.2002 -0.899414 35.7998 7.2002 42.5996 28.5c3.2002 10 4 20.2002 4 30.6006c0 11.2002 -1 22.2998 -4.89941 33
+c-6.40039 17.5 -18.6006 24.7998 -33.5 25.8994c-16.8008 1.30078 -31.9004 -3.69922 -45.6006 -13.1992c-1.2998 -0.900391 -1.7002 -1.80078 -1.7002 -3.30078zM316.3 383c4 0 8 0 11.9004 0.0996094c3.59961 -0.5 7.2002 -0.799805 10.7998 -1.2998
+c7.7002 -1.09961 15.0996 -3.09961 21.7998 -7.09961c11.6006 -6.90039 17.1006 -17.5 19 -30.4004c0.700195 -4.2998 0.900391 -8.59961 0.900391 -12.8994v-106c0 -0.900391 0 -1.90039 -0.100586 -2.80078c-0.299805 -2.7998 -2.09961 -4.59961 -4.7998 -4.69922
+c-5.39941 -0.100586 -10.8994 -0.100586 -16.2998 0c-2.90039 0.0996094 -4.7998 2.09961 -5.40039 5.19922c-0.699219 3.60059 -1.19922 7.2002 -1.7998 11c-0.700195 -0.399414 -1.2002 -0.699219 -1.59961 -1.09961
+c-11.7998 -9.7002 -25.2002 -16.0996 -40.2998 -18.4004c-13.1006 -2 -26 -1.19922 -37.9004 5.40039c-12.4004 6.90039 -19.4004 17.7002 -21.4004 31.7002c-1.5 10.5 -0.799805 20.8994 3.90039 30.7002c6.09961 12.5996 16.5 20.3994 29.4004 24.8994
+c10.7998 3.7998 22 4.5 33.2998 3.90039c10.8994 -0.600586 21.5 -2.40039 32 -4.90039c0.399414 -0.0996094 0.799805 0 1.2998 -0.0996094c0.0996094 0.5 0.200195 1 0.200195 1.39941c-0.100586 8.30078 0 16.6006 -0.299805 24.9004
+c-0.200195 5.90039 -1.60059 11.5996 -5.30078 16.4004c-4.19922 5.5 -10.2998 7.39941 -16.7998 8.39941c-12.5 1.90039 -24.8994 0.900391 -37.2002 -1.39941c-7.89941 -1.5 -15.6992 -3.7002 -23.5 -5.7002c-4.69922 -1.2002 -6.69922 0.0996094 -6.7998 4.89941
+c-0.0996094 3.30078 0.100586 6.60059 0 9.90039c-0.0996094 3.90039 1.7002 6.5 5.2998 7.7002c5.90039 2 11.8008 4.2002 17.9004 5.7998c9.5 2.40039 19.0996 3.59961 28.9004 4.09961c0.899414 0.100586 1.89941 0.300781 2.89941 0.400391zM351.3 255.3
+c-0.0996094 4.7002 0 9.40039 0.100586 14.1006c0 4.7998 -0.100586 9.5 0 14.2998c0 1.59961 -0.5 2.39941 -2.10059 2.59961c-8.39941 1.10059 -16.5996 2.7002 -25 3.40039c-8.2998 0.799805 -16.7002 0.399414 -24.7998 -2.2002
+c-8 -2.59961 -13.9004 -7.2998 -16.4004 -15.5996c-1.89941 -6.40039 -1.89941 -13 0.100586 -19.4004s6.09961 -10.7998 12.3994 -13.2998c5.40039 -2.2002 11.1006 -2.40039 16.8008 -1.7998c13.8994 1.39941 26.1992 6.7998 37.3994 14.8994
+c1.10059 0.799805 1.5 1.7002 1.5 3zM611.2 125.9v-17.3008c-0.700195 -3.59961 -1.2998 -7.2998 -2.10059 -10.8994c-4.39941 -20.2998 -11.8994 -39.2002 -24.6992 -55.6006c-3.80078 -4.7998 -8.30078 -9.09961 -12.7002 -13.3994
+c-1.2002 -1.2002 -3.10059 -2.10059 -4.7998 -2.5c-2.90039 -0.700195 -4.60059 1.2002 -4.10059 4.09961c0.200195 1 0.600586 2 1 3c5.7998 14.7998 11.7002 29.7002 15.7998 45.1006c2.10059 7.59961 3.90039 15.2998 3.5 23.2998
+c-0.199219 5.2002 -2.5 9 -7.59961 10.3994c-4.7002 1.30078 -9.59961 2.40039 -14.4004 2.7002c-11.3994 0.900391 -22.8994 0.200195 -34.2998 -0.899414c-7.7998 -0.800781 -15.5 -1.7002 -23.2998 -2.5c-0.700195 -0.100586 -1.5 -0.100586 -2.2002 -0.100586
+c-1.5 -0.0996094 -3.2002 0.299805 -3.59961 1.7998c-0.400391 1.2002 -0.200195 2.90039 0.5 4c0.899414 1.40039 2.2998 2.5 3.7002 3.5c12.0996 8.30078 25.6992 12.9004 40 15.6006c13 2.39941 26.0996 3 39.1992 1.89941
+c7.10059 -0.599609 14.2002 -1.59961 21 -3.89941c4.30078 -1.40039 8.10059 -3.2998 9.10059 -8.2998zM479.1 249.1c0.300781 -0.699219 0.5 -1.2998 0.900391 -2.39941c2.59961 7.7002 5.2002 15 7.7002 22.2002c11.5996 33.3994 23.2002 66.6992 34.7998 100
+c0.5 1.39941 1.09961 2.69922 1.59961 4.09961c1.40039 3.59961 4 5.2002 7.7002 5.2002c6.60059 0 13.2998 0.0996094 19.9004 0c2.7998 0 4.09961 -1.60059 3.7002 -4.40039c-0.300781 -1.89941 -0.900391 -3.7002 -1.60059 -5.5
+c-23.5 -59.8994 -46.8994 -119.8 -70.5996 -179.6c-2.5 -6.2998 -5.7002 -12.5 -9.2002 -18.4004c-8.7998 -14.8994 -22.4004 -21.7998 -39.5 -21.3994c-5.59961 0.0996094 -11.2998 1 -16.9004 2c-5.39941 0.899414 -7.2998 3.39941 -7.39941 8.89941
+c-0.100586 3.2998 -0.100586 6.60059 0 9.90039c0.0996094 3.5 1.7998 5 5.2002 4.7998c2.5 -0.200195 5 -0.799805 7.5 -1c5.19922 -0.5 10.2998 -0.299805 15.3994 1.09961c7.2002 1.90039 12.2002 6.80078 15.2002 13.3008c3.40039 7.2998 6 15 9.2998 22.2998
+c1.90039 4.2002 1.5 7.7002 -0.200195 11.7998c-19.7998 48.4004 -39.5 97 -59.0996 145.5c-0.799805 2 -1.40039 4 -1.90039 6.09961c-0.5 2.5 0.700195 4.5 3.2002 4.5c7.7002 0.100586 15.2998 0 22.9004 -0.0996094c3.2002 0 5.2998 -1.90039 6.39941 -4.7998
+c2.10059 -5.60059 4.30078 -11.2002 6.30078 -16.9004c12.8994 -35.7002 25.7998 -71.5 38.6992 -107.2z" />
+ <glyph glyph-name="cc-amazon-pay" unicode="&#xf42d;" horiz-adv-x="576"
+d="M124.7 246.2c0.0996094 11.7998 0 23.5 0 35.2998v35.2998c0 1.2998 0.399414 2 1.39941 2.7002c11.5 8 24.1006 12.0996 38.2002 11.0996c12.5 -0.899414 22.7002 -7 28.1006 -21.6992c3.2998 -8.90039 4.09961 -18.2002 4.09961 -27.7002
+c0 -8.7002 -0.700195 -17.2998 -3.40039 -25.6006c-5.69922 -17.7998 -18.6992 -24.6992 -35.6992 -23.8994c-11.7002 0.5 -21.9004 5 -31.4004 11.7002c-0.900391 0.799805 -1.40039 1.59961 -1.2998 2.7998zM279.6 231.6c-5.19922 2 -8.7998 5.7002 -10.3994 11.2002
+c-1.7002 5.40039 -1.7002 10.7998 -0.100586 16.2002c2 6.90039 7 10.9004 13.7002 13.0996c6.7998 2.2002 13.7998 2.5 20.7998 1.90039c7 -0.700195 13.9004 -2 20.9004 -2.90039c1.40039 -0.199219 1.7998 -0.799805 1.7998 -2.19922c-0.0996094 -4 0 -8 0 -12
+c0 -3.90039 -0.0996094 -7.90039 0 -11.8008c0 -1.19922 -0.399414 -1.89941 -1.2998 -2.5c-9.40039 -6.7998 -19.7002 -11.2998 -31.2998 -12.5c-4.7998 -0.5 -9.5 -0.299805 -14.1006 1.5zM576 368v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352
+c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48zM368.5 344.1c0.400391 -1.69922 0.900391 -3.39941 1.59961 -5.09961c16.5 -40.5996 32.9004 -81.2998 49.5 -121.9c1.40039 -3.5 1.7002 -6.39941 0.200195 -9.89941
+c-2.7998 -6.2002 -4.89941 -12.6006 -7.7998 -18.7002c-2.59961 -5.5 -6.7002 -9.5 -12.7002 -11.2002c-4.2002 -1.09961 -8.5 -1.2998 -12.8994 -0.899414c-2.10059 0.199219 -4.2002 0.699219 -6.30078 0.799805c-2.7998 0.200195 -4.19922 -1.10059 -4.2998 -4
+c-0.0996094 -2.7998 -0.0996094 -5.60059 0 -8.2998c0.100586 -4.60059 1.60059 -6.7002 6.2002 -7.5c4.7002 -0.800781 9.40039 -1.60059 14.2002 -1.7002c14.2998 -0.299805 25.7002 5.39941 33.0996 17.8994c2.90039 4.90039 5.60059 10.1006 7.7002 15.4004
+c19.7998 50.0996 39.5 100.3 59.2002 150.5c0.599609 1.5 1.09961 3 1.2998 4.59961c0.400391 2.40039 -0.700195 3.60059 -3.09961 3.7002c-5.60059 0.100586 -11.1006 0 -16.7002 0c-3.10059 0 -5.2998 -1.39941 -6.40039 -4.2998
+c-0.399414 -1.09961 -0.899414 -2.2998 -1.2998 -3.40039l-29.0996 -83.6992c-2.10059 -6.10059 -4.2002 -12.1006 -6.5 -18.6006c-0.400391 0.900391 -0.600586 1.40039 -0.800781 1.90039c-10.7998 29.8994 -21.5996 59.8994 -32.3994 89.7998
+c-1.7002 4.7002 -3.5 9.5 -5.2998 14.2002c-0.900391 2.5 -2.7002 4 -5.40039 4c-6.40039 0.0996094 -12.7998 0.200195 -19.2002 0.0996094c-2.2002 0 -3.2998 -1.59961 -2.7998 -3.7002zM242.4 242c1.69922 -11.7002 7.59961 -20.7998 18 -26.5996
+c9.89941 -5.5 20.6992 -6.2002 31.6992 -4.60059c12.7002 1.90039 23.9004 7.2998 33.8008 15.5c0.399414 0.299805 0.799805 0.600586 1.39941 1c0.5 -3.2002 0.900391 -6.2002 1.5 -9.2002c0.5 -2.59961 2.10059 -4.2998 4.5 -4.39941
+c4.60059 -0.100586 9.10059 -0.100586 13.7002 0c2.2998 0.0996094 3.7998 1.59961 4 3.89941c0.0996094 0.800781 0.0996094 1.60059 0.0996094 2.30078v88.7998c0 3.59961 -0.199219 7.2002 -0.699219 10.7998c-1.60059 10.7998 -6.2002 19.7002 -15.9004 25.4004
+c-5.59961 3.2998 -11.7998 5 -18.2002 5.89941c-3 0.400391 -6 0.700195 -9.09961 1.10059h-10c-0.799805 -0.100586 -1.60059 -0.300781 -2.5 -0.300781c-8.2002 -0.399414 -16.2998 -1.39941 -24.2002 -3.5c-5.09961 -1.2998 -10 -3.19922 -15 -4.89941
+c-3 -1 -4.5 -3.2002 -4.40039 -6.5c0.100586 -2.7998 -0.0996094 -5.60059 0 -8.2998c0.100586 -4.10059 1.80078 -5.2002 5.7002 -4.10059c6.5 1.7002 13.1006 3.5 19.7002 4.7998c10.2998 1.90039 20.7002 2.7002 31.0996 1.2002
+c5.40039 -0.799805 10.5 -2.39941 14.1006 -7c3.09961 -4 4.2002 -8.7998 4.39941 -13.7002c0.300781 -6.89941 0.200195 -13.8994 0.300781 -20.7998c0 -0.399414 -0.100586 -0.700195 -0.200195 -1.2002c-0.400391 0 -0.799805 0 -1.10059 0.100586
+c-8.7998 2.09961 -17.6992 3.59961 -26.7998 4.09961c-9.5 0.5 -18.8994 -0.0996094 -27.8994 -3.2002c-10.8008 -3.7998 -19.5 -10.2998 -24.6006 -20.7998c-4.09961 -8.2998 -4.59961 -17 -3.39941 -25.7998zM98.7002 341.1v-175.3c0 -0.799805 0 -1.7002 0.0996094 -2.5
+c0.200195 -2.5 1.7002 -4.09961 4.10059 -4.2002c5.89941 -0.0996094 11.7998 -0.0996094 17.6992 0c2.5 0 4 1.7002 4.10059 4.10059c0.0996094 0.799805 0.0996094 1.7002 0.0996094 2.5v60.7002c0.900391 -0.700195 1.40039 -1.2002 1.90039 -1.60059
+c15 -12.5 32.2002 -16.5996 51.0996 -12.8994c17.1006 3.39941 28.9004 13.8994 36.7002 29.1992c5.7998 11.6006 8.2998 24.1006 8.7002 37c0.5 14.3008 -1 28.4004 -6.7998 41.7002c-7.10059 16.4004 -18.9004 27.2998 -36.7002 30.9004
+c-2.7002 0.599609 -5.5 0.799805 -8.2002 1.2002h-7c-1.2002 -0.200195 -2.40039 -0.300781 -3.59961 -0.5c-11.7002 -1.40039 -22.3008 -5.80078 -31.8008 -12.7002c-2 -1.40039 -3.89941 -3 -5.89941 -4.5c-0.100586 0.5 -0.299805 0.799805 -0.400391 1.2002
+c-0.399414 2.2998 -0.700195 4.59961 -1.09961 6.89941c-0.600586 3.90039 -2.5 5.5 -6.40039 5.60059h-9.7002c-5.89941 0.0996094 -6.89941 -1 -6.89941 -6.80078zM493.6 109c-2.69922 0.700195 -5.09961 0 -7.59961 -1c-43.9004 -18.4004 -89.5 -30.2002 -136.8 -35.7998
+c-14.5 -1.7002 -29.1006 -2.7998 -43.7002 -3.2002c-26.5996 -0.700195 -53.2002 0.799805 -79.5996 4.2998c-17.8008 2.40039 -35.5 5.7002 -53 9.90039c-37 8.89941 -72.7002 21.7002 -106.7 38.7998c-8.7998 4.40039 -17.4004 9.2998 -26.1006 14
+c-3.7998 2.09961 -6.19922 1.5 -8.19922 -2.09961v-1.7002c1.19922 -1.60059 2.19922 -3.40039 3.69922 -4.7998c36 -32.2002 76.6006 -56.5 122 -72.9004c21.9004 -7.90039 44.4004 -13.7002 67.3008 -17.5c14 -2.2998 28 -3.7998 42.1992 -4.5
+c3 -0.0996094 6 -0.200195 9 -0.400391c0.700195 0 1.40039 -0.199219 2.10059 -0.299805h17.7002c0.699219 0.100586 1.39941 0.299805 2.09961 0.299805c14.9004 0.400391 29.7998 1.80078 44.5996 4c21.4004 3.2002 42.4004 8.10059 62.9004 14.7002
+c29.5996 9.60059 57.7002 22.4004 83.4004 40.1006c2.7998 1.89941 5.69922 3.7998 8 6.19922c4.2998 4.40039 2.2998 10.4004 -3.30078 11.9004zM544 136.7c-0.799805 4.2002 -4 5.7998 -7.59961 7c-5.7002 1.89941 -11.6006 2.7998 -17.6006 3.2998
+c-11 0.900391 -22 0.400391 -32.7998 -1.59961c-12 -2.2002 -23.4004 -6.10059 -33.5 -13.1006c-1.2002 -0.799805 -2.40039 -1.7998 -3.09961 -3c-0.600586 -0.899414 -0.700195 -2.2998 -0.5 -3.39941c0.299805 -1.30078 1.69922 -1.60059 3 -1.5
+c0.599609 0 1.19922 0 1.7998 0.0996094l19.5 2.09961c9.59961 0.900391 19.2002 1.5 28.7998 0.800781c4.09961 -0.300781 8.09961 -1.2002 12 -2.2002c4.2998 -1.10059 6.2002 -4.40039 6.40039 -8.7002c0.299805 -6.7002 -1.2002 -13.0996 -2.90039 -19.5
+c-3.5 -12.9004 -8.2998 -25.4004 -13.2998 -37.7998c-0.299805 -0.799805 -0.700195 -1.7002 -0.799805 -2.5c-0.400391 -2.5 1 -4 3.39941 -3.5c1.40039 0.299805 3 1.09961 4 2.09961c3.7002 3.60059 7.5 7.2002 10.6006 11.2002
+c10.6992 13.7998 17 29.5996 20.6992 46.5996c0.700195 3 1.2002 6.10059 1.7002 9.10059c0.200195 4.7002 0.200195 9.59961 0.200195 14.5z" />
+ <glyph glyph-name="ethereum" unicode="&#xf42e;" horiz-adv-x="320"
+d="M311.9 187.2l-151.9 -92.7998l-152 92.7998l152 260.8zM160 64.5996l152 92.8008l-152 -221.4l-152 221.4z" />
+ <glyph glyph-name="korvue" unicode="&#xf42f;" horiz-adv-x="446"
+d="M386.5 414c32.7002 0 59.5 -26.7998 59.5996 -59.5v-327c0 -32.7002 -26.5 -59.5 -59.5 -59.5h-327.1c-32.7002 0 -59.5 26.7998 -59.5 59.4004v327.1c0 32.7002 26.7998 59.5 59.5 59.5h327zM87.0996 327.2v-132h187.5l81.2002 132h-110.899l-61.8008 -116v116h-96z
+M248.9 55.0996h118.399l-88.5996 130.801h-191.5v-130.801h96v113.601z" />
+ <glyph glyph-name="elementor" unicode="&#xf430;"
+d="M425.6 416c12.4004 0 22.4004 -10 22.4004 -22.4004v-403.199c0 -12.4004 -10 -22.4004 -22.4004 -22.4004h-403.199c-12.4004 0 -22.4004 10 -22.4004 22.4004v403.199c0 12.4004 10 22.4004 22.4004 22.4004h403.199zM164.3 92.5v199h-39.7998v-199h39.7998z
+M323.6 92.5v39.7998h-119.5v-39.7998h119.5zM323.6 172.1v39.8008h-119.5v-39.8008h119.5zM323.6 251.8v39.7998h-119.5v-39.7998h119.5z" />
+ <glyph glyph-name="youtube-square" unicode="&#xf431;"
+d="M186.8 245.9l95.2002 -54.1006l-95.2002 -54.0996v108.2zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM406 191.7c0 0 0 59.5996 -7.59961 88.2002
+c-4.2002 15.7998 -16.5 28.1992 -32.2002 32.3994c-28.2998 7.7002 -142.2 7.7002 -142.2 7.7002s-113.9 0 -142.2 -7.7002c-15.7002 -4.2002 -28 -16.5996 -32.2002 -32.3994c-7.59961 -28.5 -7.59961 -88.2002 -7.59961 -88.2002s0 -59.6006 7.59961 -88.2002
+c4.2002 -15.7998 16.5 -27.7002 32.2002 -31.9004c28.2998 -7.59961 142.2 -7.59961 142.2 -7.59961s113.9 0 142.2 7.7002c15.7002 4.2002 28 16.0996 32.2002 31.8994c7.59961 28.5 7.59961 88.1006 7.59961 88.1006z" />
+ <glyph glyph-name="flipboard" unicode="&#xf44d;"
+d="M0 416h448v-448h-448v448zM358.4 236.8v89.6006h-268.801v-268.801h89.6006v89.6006h89.5996v89.5996h89.6006z" />
+ <glyph glyph-name="hips" unicode="&#xf452;" horiz-adv-x="640"
+d="M251.6 290.4v-201.801c0 -1.89941 -0.899414 -2.7998 -2.7998 -2.7998h-40.8994c-1.60059 0 -2.7002 1.40039 -2.7002 2.7998v201.801c0 1.39941 1.09961 2.7998 2.7002 2.7998h40.8994c1.90039 0 2.7998 -0.900391 2.7998 -2.7998zM156.5 280
+c18.7002 -13.5 28 -31.9004 28 -55.2998v-136.101c0 -1.89941 -0.900391 -2.7998 -2.7002 -2.7998h-27.2998c-9.09961 0 -16.4004 7.2998 -16.4004 16.2998v122.601c0 0.899414 2.7002 27 -45.7998 27c-48.5996 0 -45.7998 -26.2002 -45.7998 -27v-136.101
+c0 -1.89941 -0.900391 -2.7998 -2.7998 -2.7998h-41c-1.7998 0 -2.7002 0.900391 -2.7002 2.7998v279.2c0 1.7998 0.900391 2.7002 2.7002 2.7002h40.8994c1.90039 0 2.80078 -0.900391 2.80078 -2.7002v-81.2002c15.1992 7.7002 31.6992 11.5 49.7998 11.4004
+c24 -0.0996094 44.2002 -6.2002 60.2998 -18zM634.9 169.9c5.5 -12.6006 6.59961 -25.6006 3.09961 -39.1006c-9.59961 -36.8994 -44.9004 -45.5 -45.5996 -45.7998c-10.5 -3.09961 -23.6006 -4.2998 -36.3008 -4.2998c-16.5996 0 -32.5996 2.7002 -48.1992 8.2002
+c-9.7002 3.39941 -14.6006 10.2998 -14.6006 20.6992v34.4004c0 2.09961 2.2998 3.7002 4.40039 2.2998c13.7002 -10.2002 34.0996 -19.0996 58.3994 -19.0996c23.3008 0 32.8008 4.5 36.5 13.5996c3 7.90039 -0.599609 16.1006 -12.1992 21.2002l-53.6006 23.5
+c-21.3994 9.40039 -33.7998 24 -37.2002 43.5996c-5.69922 33.7002 22.2002 53.3008 22.7002 53.7002c13.2002 9.60059 32 15.4004 58.5 15.4004c19 0 37.4004 -3.2998 55.1006 -9.90039c1.2998 -0.5 1.89941 -1.2998 1.89941 -2.59961v-44.7002
+c0 -2.09961 -2.2998 -3.40039 -4 -2.40039c-39.7002 20.7002 -76.5996 12.3008 -84 6.80078c-6.59961 -4.90039 -6 -12.5 2.60059 -16.1006l57.5996 -25.2998c16.5 -7.09961 28.0996 -18.4004 34.9004 -34.0996zM376.2 298.2c60.3994 0 108.7 -48.2998 108.6 -108.601
+c0 -60.1992 -48.2002 -108.699 -108.7 -108.699c-21.8994 0 -41.1992 6.39941 -57.6992 19.0996v-88.7998c0 -1.7998 -0.900391 -2.7002 -2.80078 -2.7002h-40.8994c-2.10059 0 -2.7002 1.90039 -2.7002 2.7002v183.5c0 83.3994 72.5 103.5 104.2 103.5zM376.2 127.3
+c34.8994 0 62.2998 27.9004 62.2002 62.2002c0 34.5996 -27.7002 62.2002 -62.2002 62.2002c-34.6006 0 -62.2002 -27.7002 -62.2002 -62.2002c0 -17.2002 6 -31.7998 18.2002 -44c12.0996 -12.0996 26.7998 -18.2002 44 -18.2002zM228.3 375.5
+c15.9004 0 28.9004 -12.7002 28.9004 -28.9004c0 -15.7998 -12.7002 -28.8994 -28.9004 -28.8994s-28.8994 13.2998 -28.8994 28.8994c0.0996094 16 13 28.9004 28.8994 28.9004z" />
+ <glyph glyph-name="php" unicode="&#xf457;" horiz-adv-x="640"
+d="M320 343.5c-171.3 0 -303.2 -72.2002 -303.2 -151.5s131.8 -151.5 303.2 -151.5c171.3 0 303.2 72.2002 303.2 151.5s-131.8 151.5 -303.2 151.5zM320 360.3c176.7 0 320 -75.2998 320 -168.3s-143.3 -168.3 -320 -168.3s-320 75.2998 -320 168.3s143.3 168.3 320 168.3z
+M218.2 205.5c7.39941 38.4004 -18.4004 34.2998 -56.4004 34.2998l-13.7002 -70.5996c34.3008 0 62.2002 -4.2002 70.1006 36.2998zM97.4004 97.7002l32.6992 168.7h70.7002c21.2002 0 36.7998 -5.5 46.5 -16.7002c18.6006 -21.4004 11.7998 -64.1006 -14.2998 -88.1006
+c-23.5996 -22.0996 -49.0996 -19.0996 -90.2002 -19.0996l-8.7002 -44.7998h-36.6992zM283.1 311.3h36.5l-8.69922 -44.7998c31.5 0 60.6992 2.2998 74.7998 -10.7002c14.7998 -13.5996 7.7002 -31 -8.2998 -113.1h-37c15.3994 79.3994 18.2998 86 12.6992 92
+c-5.39941 5.7998 -17.6992 4.59961 -47.3994 4.59961l-18.7998 -96.5996h-36.5zM505 205.5c7.40039 38.4004 -18.2002 34.2998 -56.4004 34.2998l-13.6992 -70.5996c33.3994 0 62.0996 -4.7998 70.0996 36.2998zM384.2 97.7002l32.7998 168.7h70.7002
+c21.2002 0 36.7998 -5.5 46.5 -16.7002c18.5996 -21.4004 11.7998 -64.1006 -14.2998 -88.1006c-23.1006 -21.5996 -47 -19.0996 -90.2002 -19.0996l-8.7002 -44.7998h-36.7998z" />
+ <glyph glyph-name="quinscape" unicode="&#xf459;" horiz-adv-x="489"
+d="M301.6 -26.5996c4.40039 -4.40039 8.10059 -9 13.3008 -12.5c-22.6006 -6.90039 -45.6006 -10.1006 -70.4004 -10.1006c-135 0 -244.5 109.5 -244.5 244.601c0 135.1 109.5 244.6 244.5 244.6c135.1 0 244.6 -109.5 244.6 -244.6
+c0 -35.3008 -6.89941 -67.4004 -20.2998 -97.7002c-3 5.7002 -7.2002 10.2002 -11.2002 15.2998c11.2002 93.5 -62.0996 176.6 -157 176.6c-87.2998 0 -158.1 -70.7998 -158.1 -158.1s70.7998 -158.1 158.1 -158.1h1zM301.5 -26.5c0 0 0.0996094 -0.0996094 0 0
+l0.400391 -0.0996094zM379.9 142.4c54.7998 0 99.1992 -44.4004 99.1992 -99.2002s-44.3994 -99.2002 -99.1992 -99.2002c-54.8008 0 -99.2002 44.4004 -99.2002 99.2002s44.3994 99.2002 99.2002 99.2002z" />
+ <glyph glyph-name="readme" unicode="&#xf4d5;" horiz-adv-x="576"
+d="M528.3 401.5c26.4004 -0.200195 47.7002 -21.7002 47.7002 -48.0996v-245.7c0 -26.5 -21.5 -48 -48 -48h-89.7002c-102.1 0 -132.6 -24.4004 -147.3 -75c-0.799805 -2.7998 -5.2998 -2.7998 -6 0c-14.5996 50.5996 -45.0996 75 -147.3 75h-89.7002
+c-26.5 0 -48 21.5 -48 48v245.8c0 26.5 21.5 48 48 48h139.7c48.0996 0 89.7998 -33.2998 100.399 -80.2998c10.5 47 52.3008 80.2998 100.4 80.2998h139.8zM242 136.1h0.0996094v22.9004c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.9004
+c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.60059 3.5 3.5zM242 197h0.0996094v22.9004c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.60059 -3.5 -3.5v-22.9004c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM242 257.9h0.0996094v22.8994
+c0 2 -1.59961 3.5 -3.5 3.5h-160.399c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.8994c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM501.3 136.2h0.100586v22.8994c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.8994
+c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5zM501.3 197.1h0.100586v22.9004c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.9004c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.60059 3.5 3.5zM501.3 258h0.100586v22.7998
+c0 2 -1.60059 3.5 -3.5 3.5h-160.4c-2 0 -3.5 -1.59961 -3.5 -3.5v-22.7998c0 -2 1.59961 -3.5 3.5 -3.5h160.3c2 0 3.5 1.59961 3.5 3.5z" />
+ <glyph glyph-name="java" unicode="&#xf4e4;" horiz-adv-x="377"
+d="M274.9 135.1c-94.5 -24.8994 -277 -13.2998 -224.5 12.1006c44.5 21.3994 80.5996 19 80.5996 19s-93.0996 -22.1006 -33 -30.1006c25.4004 -3.39941 76 -2.59961 123.1 1.30078c38.5 3.19922 77.2002 10.1992 77.2002 10.1992s-13.5996 -5.7998 -23.3994 -12.5z
+M189.5 167.2c-48.5 43.7998 -84.0996 82.2998 -60.2002 118.2c35.1006 52.5 132.2 78.0996 110.7 162.6c0 0 53.2002 -53.2002 -50.5 -135c-83.0996 -65.5996 -19 -103.1 0 -145.8zM304.1 343.4c-111.6 -64.7002 -91 -83.5 -64.0996 -121.301
+c28.7998 -40.5 -33.9004 -72.8994 -33.9004 -72.8994s31.2002 25.5996 6.5 54c-83.6992 96.3994 91.6006 140.2 91.5 140.2zM298 72.9004c96.0996 49.8994 51.5996 97.8994 20.5996 91.3994c-7.59961 -1.59961 -11 -3 -11 -3s2.80078 4.40039 8.2002 6.2998
+c61.2998 21.6006 108.5 -63.5996 -19.7998 -97.2998c0 0.100586 1.5 1.40039 2 2.60059zM345.2 10.5996c53 -23.8994 -115.2 -72 -319.4 -38.7998c-74.8994 12.1006 36.1006 54.5 56.4004 40.2002c0 0 -6.5 0.400391 -17.7002 -2
+c-10.7998 -2.2998 -45.0996 -13.4004 -26.7998 -21.2998c50.7998 -22.1006 233.7 -16.7998 291.6 0.700195c30.4004 9.2998 15.9004 21.1992 15.9004 21.1992zM121.6 52c0 0 -19.5996 -11.4004 13.9004 -15.2002c40.5996 -4.59961 61.2998 -4 106 4.5
+c0 0 11.7998 -7.39941 28.2002 -13.7998c-100.2 -42.9004 -226.8 2.5 -148.101 24.5zM301.4 -45.2002c69.7998 13.2002 76.1992 29.7002 76.1992 29.7002c-3.2998 -43.5996 -144.899 -52.7998 -237.1 -46.9004c-60.5996 3.90039 -72.4004 13.7002 -72.4004 13.6006
+c57.5 -9.5 154.601 -11.2002 233.301 3.59961zM257.8 95c0 0 8.2002 -8.2998 21.1006 -12.7998c-121.301 -35.5 -256.301 -2.90039 -169.5 25.8994c0 0 -21.9004 -16.1992 11.5996 -19.6992c43.2998 -4.5 77.5996 -4.80078 136.8 6.59961z" />
+ <glyph glyph-name="pied-piper-hat" unicode="&#xf4e5;" horiz-adv-x="640"
+d="M640 423.1c-80.7998 -53.5996 -89.4004 -92.5 -96.4004 -104.399c-6.69922 -12.2002 -11.6992 -60.2998 -23.2998 -83.6006c-11.7002 -23.5996 -54.2002 -42.1992 -66.0996 -50c-11.7002 -7.7998 -28.2998 -38.0996 -41.9004 -64.1992
+c-108.1 4.39941 -167.399 -38.8008 -259.2 -93.6006c29.4004 9.7002 43.3008 16.7002 43.3008 16.7002c94.1992 36 139.3 68.2998 281.1 49.2002c1.09961 0 1.90039 -0.600586 2.7998 -0.799805c3.90039 -2.2002 5.2998 -6.90039 3.10059 -10.8008l-53.9004 -95.7998
+c-2.5 -4.7002 -7.7998 -7.2002 -13.0996 -6.09961c-126.801 23.7998 -226.9 -17.2998 -318.9 -18.6006c-73.4004 -1.09961 -97.5 33.5 -97.5 35.1006c0 1.09961 0.599609 1.7002 1.7002 1.7002c0 0 38.2998 0 103.1 15.2998c73.6006 140.3 139.2 189.399 210.601 189.399
+c0 0 71.6992 0 90.5996 -61.8994c22.7998 39.7002 28.2998 49.2002 28.2998 49.2002c5.2998 9.39941 35 77.1992 86.4004 141.399c51.5 64 90.3994 79.9004 119.3 91.7998z" />
+ <glyph glyph-name="creative-commons-by" unicode="&#xf4e7;" horiz-adv-x="496"
+d="M314.9 253.6v-101.399h-28.3008v-120.5h-77.0996v120.399h-28.2998v101.5c0 4.40039 1.59961 8.2002 4.59961 11.3008c3.10059 3.09961 6.90039 4.69922 11.2998 4.69922h101.9c4.09961 0 7.7998 -1.59961 11.0996 -4.69922
+c3.10059 -3.2002 4.80078 -6.90039 4.80078 -11.3008zM213.4 317.3c0 23.2998 11.5 35 34.5 35s34.5 -11.7002 34.5 -35c0 -23 -11.5 -34.5 -34.5 -34.5s-34.5 11.5 -34.5 34.5zM247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248
+c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3z" />
+ <glyph glyph-name="creative-commons-nc" unicode="&#xf4e8;" horiz-adv-x="496"
+d="M247.6 440c139.801 0 248.4 -107.9 248.4 -248c0 -147.2 -118.5 -248 -248.4 -248c-134.5 0 -247.6 110.8 -247.6 248c0 132.9 104.7 248 247.6 248zM55.7998 258.9c-7.39941 -20.4004 -11.0996 -42.7002 -11.0996 -66.9004c0 -110.9 92.0996 -202.4 203.7 -202.4
+c122.399 0 177.199 101.801 178.5 104.101l-93.4004 41.5996c-7.7002 -37.0996 -41.2002 -53 -68.2002 -55.3994v-38.1006h-28.7998v38.2002c-27.5 0.299805 -52.5996 10.2002 -75.2998 29.7002l34.0996 34.5c31.7002 -29.4004 86.4004 -31.7998 86.4004 2.2002
+c0 6.19922 -2.2002 11.1992 -6.60059 15.0996c-14.1992 6 -1.7998 0.0996094 -219.3 97.4004zM248.4 395.7c-38.4004 0 -112.4 -8.7002 -170.5 -93l94.7998 -42.5c10 31.2998 40.3994 42.8994 63.7998 44.2998v38.0996h28.7998v-38.0996
+c22.7002 -1.2002 43.4004 -8.90039 62 -23l-32.2998 -33.2002c-42.7002 29.9004 -83.5 8 -70 -11.0996c53.4004 -24.1006 43.7998 -19.7998 93 -41.6006l127.1 -56.6992c4.10059 17.3994 6.2002 35.0996 6.2002 53.0996c0 57 -19.7998 105 -59.2998 143.9
+c-39.2998 39.8994 -87.2002 59.7998 -143.6 59.7998z" />
+ <glyph glyph-name="creative-commons-nc-eu" unicode="&#xf4e9;" horiz-adv-x="496"
+d="M247.7 440c140.7 0 248.3 -109 248.3 -248c0 -147.1 -118.1 -248 -248.3 -248c-136 0 -247.7 111.7 -247.7 248c0 131.2 103.6 248 247.7 248zM248.3 -10.7002c122.601 0 177.3 102.2 178.8 104.3l-128.3 56.8008h-90.2998
+c9.2002 -39.3008 39.0996 -50.2002 67.2998 -50.2002c19.1006 0 38.6006 6.2002 47.2998 10.7998l10 -46.0996c-14.1992 -7.90039 -38.1992 -15.8008 -64.7998 -15.8008c-57.3994 0 -113.2 34.3008 -124.6 101.301h-27v29.5h22.7998
+c0 16.2998 0.400391 13.2998 0.400391 19.5h-23.3008v29.5h4.7002l-65.7002 29.0996c-7.19922 -20.7998 -10.8994 -42.7998 -10.8994 -66c0 -110.2 91.5996 -202.7 203.6 -202.7zM231.6 179.9l-0.5 0.399414l0.900391 -0.399414h-0.400391zM308.8 199.4l136.101 -60.5
+c4.19922 16.5996 6.2998 34.1992 6.2998 52.8994c0 113.2 -90 203.4 -203 203.4c-13 0 -106.101 3.2002 -170.7 -93.6006l81.5996 -36.0996c4.10059 7.2002 8.60059 14 13.9004 20.0996c23.7002 26.5 56.9004 42.3008 95.9004 42.3008
+c25.2998 0 47.2998 -5.80078 62.2998 -12.4004l-11.6006 -47.2998c-10.7998 4.59961 -27.7998 10 -46.0996 10c-20 0 -38.2002 -6.60059 -51.0996 -22.4004c-3.40039 -3.7998 -6.30078 -8.7998 -8.80078 -14.2998l28.6006 -12.5996h70.2998v-29.5h-3.7002z" />
+ <glyph glyph-name="creative-commons-nc-jp" unicode="&#xf4ea;" horiz-adv-x="496"
+d="M247.7 440c140.8 0 248.3 -109.2 248.3 -248c0 -147.2 -118.1 -248 -248.3 -248c-135.9 0 -247.7 111.6 -247.7 248c0 131.2 103.6 248 247.7 248zM248.3 -10.7002c118.101 0 173.7 96.1006 175.2 98.2998l-81 36.1006v-35.7002h-64.2002v-56h-61.7002v56h-63.7998
+v38.7002h63.7998v18.7002l-5.69922 11.7998h-58.1006v38.5996h27.9004l-127 56.5c-6 -19.0996 -9 -39.2002 -9 -60.2998c0 -110.2 91.5996 -202.7 203.6 -202.7zM335.9 126.6l-54.7002 24.3008l-2.90039 -5.60059v-18.7002h57.6006zM342.4 178l101 -45.0996
+c5.19922 18.3994 7.89941 38 7.89941 59c0 113.399 -90.2002 203.399 -203 203.399c-91.0996 0 -145.899 -54 -173.7 -98.0996l81.9004 -36.5l-27.2998 51h65.7998l39.5996 -85.7002l23 -10.2002l43.4004 96h65.7998l-63 -116h38.6006v-17.7998z" />
+ <glyph glyph-name="creative-commons-nd" unicode="&#xf4eb;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM342.4 251v-42.5h-180.301v42.5h180.301zM342.4 171.2v-42.5h-180.301v42.5h180.301z" />
+ <glyph glyph-name="creative-commons-pd" unicode="&#xf4ec;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111.1 248 -248c0 -137 -111 -248 -248 -248s-248 111 -248 248c0 136.9 111 248 248 248zM248 -9.5c76.0996 0 142.4 42.4004 176.7 104.8c-1.40039 0.299805 12.5 -5.7998 -217.9 96.7998c0.200195 -32 16.1006 -71.8994 53.9004 -71.8994
+c18.7002 0 30.7998 10.3994 36.2998 16.7002l36.0996 -43.9004c-25.8994 -22.7998 -56.5 -29.5 -79.3994 -29.5c-46.5 0 -120.4 27.9004 -120.4 126.9c0 11.3994 1.2002 22.3994 3.2998 32.8994l-78.7998 35.1006c-45.5996 -129.9 51 -267.9 190.2 -267.9zM442.2 140.5
+c0.200195 -0.200195 0.299805 -0.299805 0.599609 -0.400391c4.40039 16.6006 6.7998 34 6.7998 52c0 111.101 -90.3994 201.5 -201.5 201.5c-70.3994 0 -132.399 -36.2998 -168.5 -91.1992l74.9004 -33.4004c19.7998 31.0996 53.2998 51.5996 100.7 51.5996
+c20.0996 0 51 -4.19922 78.0996 -27.5l-40.3994 -41.5996c-19.8008 19.7002 -55.9004 23 -74.7002 -11z" />
+ <glyph glyph-name="creative-commons-pd-alt" unicode="&#xf4ed;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 -10.7998c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3
+c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8zM316.7 262c21.3994 0 70 -5.2002 70 -68.5996c0 -63.5 -48.6006 -68.6006 -70 -68.6006h-53.2002v137.2h53.2002zM317.5 153.5c24 0 34.5 15.2998 34.5 39.9004
+c0 42 -31.2002 39.8994 -35 39.8994l-19.4004 -0.0996094v-79.7002h19.9004zM203.7 262c33.7002 0 50.5 -15.5 50.5 -46.5c0 -9 -3 -46.5 -57.1006 -46.5h-27v-44.2998h-34.5996v137.3h68.2002zM198.8 194.7c27.9004 0 30 41.5996 -0.899414 41.5996h-28.3008v-41.5996
+h29.2002z" />
+ <glyph glyph-name="creative-commons-remix" unicode="&#xf4ee;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM410.1 187.6l4.90039 -2.19922v-70c-7.2002 -3.60059 -63.4004 -27.5 -67.2998 -28.8008c-6.5 1.80078 -113.7 46.8008 -137.3 56.2002l-64.2002 -26.5996l-63.2998 27.5v63.7998
+l59.2998 24.7998c-0.700195 0.700195 -0.400391 -5 -0.400391 70.4004l67.2998 29.7002l151.9 -62.9004v-61.5996zM339.7 106.1v43.8008h-0.400391v1.7998l-113.8 46.5v-45.2002l113.8 -46.9004v0.400391zM347.2 163.7l39.8994 16.3994l-36.7998 15.5l-39 -16.3994z
+M399.5 125.6v43l-44.2998 -18.5996v-43.4004z" />
+ <glyph glyph-name="creative-commons-sa" unicode="&#xf4ef;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM137.7 227c13 83.9004 80.5 95.7002 108.899 95.7002c99.8008 0 127.5 -82.5 127.5 -134.2c0 -63.5996 -41 -132.9 -128.899 -132.9c-38.9004 0 -99.1006 20 -109.4 97h62.5
+c1.5 -30.0996 19.6006 -45.1992 54.5 -45.1992c23.2998 0 58 18.1992 58 82.7998c0 82.5 -49.0996 80.5996 -56.7002 80.5996c-33.0996 0 -51.6992 -14.5996 -55.7998 -43.7998h18.2002l-49.2002 -49.2002l-49 49.2002h19.4004z" />
+ <glyph glyph-name="creative-commons-sampling" unicode="&#xf4f0;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM252 342.1c2.7998 0.300781 11.5 -1 11.5 -11.5l6.59961 -107.199l4.90039 59.2998c0 6 4.7002 10.5996 10.5996 10.5996c5.90039 0 10.6006 -4.7002 10.6006 -10.5996
+c0 -2.5 -0.5 5.7002 5.7002 -81.5l5.7998 64.2002c0.299805 2.89941 2.89941 9.2998 10.2002 9.2998c3.7998 0 9.89941 -2.2998 10.5996 -8.90039l11.5 -96.5l5.2998 12.7998c1.7998 4.40039 5.2002 6.60059 10.2002 6.60059h58v-21.2998h-50.9004l-18.1992 -44.3008
+c-3.90039 -9.89941 -19.5 -9.09961 -20.8008 3.10059l-4 31.8994l-7.5 -92.5996c-0.299805 -3 -3 -9.2998 -10.1992 -9.2998c-3 0 -9.80078 2.09961 -10.6006 9.2998c0 1.90039 0.600586 -5.7998 -6.2002 77.9004l-5.2998 -72.2002
+c-1.09961 -4.7998 -4.7998 -9.2998 -10.5996 -9.2998c-2.90039 0 -9.7998 2 -10.6006 9.2998c0 1.89941 0.5 -6.7002 -5.7998 87.7002l-5.7998 -94.8008c0 -6.2998 -3.59961 -12.3994 -10.5996 -12.3994c-5.2002 0 -10.6006 4.09961 -10.6006 12l-5.7998 87.7002
+c-5.7998 -92.5 -5.2998 -84 -5.2998 -85.9004c-1.10059 -4.7998 -4.7998 -9.2998 -10.6006 -9.2998c-3 0 -9.7998 2.09961 -10.5996 9.2998c0 0.700195 -0.400391 1.09961 -0.400391 2.59961l-6.19922 88.6006l-4.90039 -56.7002
+c-0.700195 -6.5 -6.7002 -9.2998 -10.5996 -9.2998c-5.80078 0 -9.60059 4.09961 -10.6006 8.89941l-11.0996 76.4004c-2 -4 -3.5 -8.40039 -11.1006 -8.40039h-51.3994v21.3008h44.7998l13.7002 27.8994c4.39941 9.90039 18.2002 7.2002 19.8994 -2.7002l3.10059 -20.3994
+l8.39941 97.8994c0 6 4.80078 10.6006 10.6006 10.6006c0.5 0 10.5996 0.200195 10.5996 -12.4004l4.90039 -69.0996l6.59961 92.5996c0 10.1006 9.5 10.6006 10.2002 10.6006c0.599609 0 10.5996 -0.700195 10.5996 -10.6006l5.30078 -80.5996l6.19922 97.8994
+c0.100586 1.10059 -0.599609 10.3008 9.90039 11.5z" />
+ <glyph glyph-name="creative-commons-sampling-plus" unicode="&#xf4f1;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM355.4 189.7l58.3994 0.299805v-23.2002h-50.5l-18 -43.3994c-4.59961 -11 -20.8994 -8.7002 -22.2998 3.09961l-2.7002 22.2998l-6.7998 -83
+c-1.09961 -14.0996 -22 -14.2002 -23.0996 0.100586l-4.90039 64.3994l-4.59961 -58.5996c-1.10059 -14.2998 -22.3008 -14.1006 -23.2002 0.200195l-4.5 71.7998l-4.90039 -80.5c-0.899414 -14.5 -22.2998 -14.5 -23.2002 -0.100586l-4.7998 73.3008l-4.59961 -70.4004
+c-0.900391 -14.2998 -22.1006 -14.5 -23.2002 -0.0996094l-5.7002 78.2998l-3.7998 -43.6006c-1.2002 -13.6992 -21.0996 -14.1992 -23.0996 -0.699219l-10.7002 73.0996c-2 -3.90039 -6 -6.40039 -10.4004 -6.40039h-51.2998v23.2002h43.9004l13.1992 27.7002
+c4.90039 10.2998 20.3008 8.09961 22 -3.2998l1.80078 -12.2002l7.69922 89.7998c1.2002 14.1006 22.1006 14.1006 23.2002 -0.200195l4.10059 -57l5.2998 80.2002c1 14.4004 22.2998 14.4004 23.2002 0l4.2998 -66.2998l5.09961 83.7002
+c0.900391 14.3994 22.2998 14.5 23.2002 0l5.90039 -94.2998l3.5 44.8994c1.09961 14.2002 22.0996 14.2998 23.1992 0l5.2002 -68.7998l4.2998 51.4004c1.10059 13.7998 21.4004 14.2998 23.1006 0.399414l11 -92.7998l4 9.5c1.7002 4.40039 6 7.2002 10.7002 7.2002z
+M277.4 184.5c4.09961 0 7.5 3.40039 7.5 7.5c0 4.2002 -3.40039 7.5 -7.5 7.5h-21.9004v21.9004c0 4.19922 -3.40039 7.5 -7.5 7.5s-7.5 -3.40039 -7.5 -7.5v-21.9004h-21.9004c-4.09961 0 -7.5 -3.40039 -7.5 -7.5c0 -4.2002 3.40039 -7.5 7.5 -7.5h21.9004v-21.9004
+c0 -4.19922 3.40039 -7.5 7.5 -7.5c4.2002 0 7.5 3.40039 7.5 7.5v21.9004h21.9004z" />
+ <glyph glyph-name="creative-commons-share" unicode="&#xf4f2;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM349.4 262.9c7.7998 0 13.6992 -6.10059 13.6992 -13.7002v-182.5c0 -7.7002 -6.09961 -13.7002 -13.6992 -13.7002h-135.101c-7.7002 0 -13.7002 6 -13.7002 13.7002v54h-54
+c-7.7998 0 -13.6992 6 -13.6992 13.7002v182.5c0 8.19922 6.59961 12.6992 12.3994 13.6992h136.4c7.7002 0 13.7002 -6 13.7002 -13.6992v-54h54zM159.9 147.7h40.6992v101.399c0 7.40039 5.80078 12.6006 12 13.7002h55.8008v40.2998h-108.5v-155.399zM336.1 235.8h-108.5
+v-155.399h108.5v155.399z" />
+ <glyph glyph-name="creative-commons-zero" unicode="&#xf4f3;" horiz-adv-x="496"
+d="M247.6 440c141.801 0 248.4 -110.1 248.4 -248c0 -147.1 -118.5 -248 -248.4 -248c-134 0 -247.6 109.5 -247.6 248c0 132.9 104.7 248 247.6 248zM248.4 395.3c-118.2 0 -203.7 -97.8994 -203.7 -203.3c0 -109.8 91.2002 -202.8 203.7 -202.8
+c103.199 0 202.8 81.0996 202.8 202.8c0.0996094 113.8 -90.2002 203.3 -202.8 203.3zM248 334.8c81.9004 0 102.5 -77.2998 102.5 -142.8s-20.5996 -142.8 -102.5 -142.8s-102.5 77.2998 -102.5 142.8s20.5996 142.8 102.5 142.8zM248 280.9
+c-42.0996 0 -44.0996 -60.1006 -44.0996 -88.9004c0 -9.2998 0.199219 -21.7002 1.89941 -34.4004l54.5 100.2c5.7002 9.7998 2.7998 16.7998 -3.09961 21.9004c-2.7998 0.700195 -5.90039 1.2002 -9.2002 1.2002zM288.8 234.7l-60.8994 -105.2
+c-12.5 -18.7002 6.59961 -26.4004 20.0996 -26.4004c42.0996 0 44.0996 60 44.0996 88.9004c0 11.2998 -0.399414 27.2998 -3.2998 42.7002z" />
+ <glyph glyph-name="ebay" unicode="&#xf4f4;" horiz-adv-x="640"
+d="M606 258.5h34l-99.2002 -194.8h-35.8994l28.5 54.0996l-61.5 116.101c3.09961 -6.60059 4.7998 -14.5 4.7998 -23.8008v-65.5996c0 -9.2998 0.299805 -18.5996 1 -26.7998h-29.7998c-0.800781 6.89941 -1.10059 13.5996 -1.10059 20.2002
+c-16.0996 -19.8008 -35.2998 -25.5 -61.8994 -25.5c-39.5 0 -60.6006 20.8994 -60.6006 45c0 3.19922 0.200195 6.19922 0.700195 9c-8.40039 -32.3008 -36.4004 -54.2002 -73.2998 -54.2002c-23.2998 0 -45.1006 8.2998 -58.7002 24.8994
+c0 -6.59961 -0.400391 -13.1992 -1.09961 -19.5h-31.5c0.5 10.2002 1.09961 22.8008 1.09961 33.1006v169.5h32.0996v-80.6006c15.7002 18.7002 37.4004 24.2002 58.7002 24.2002c35.7002 0 75.4004 -24.0996 75.4004 -76.2002c0 -5.59961 -0.5 -11 -1.5 -16.1992
+c7.09961 24.3994 34.2998 33.5 76.7002 34.3994c13.6992 0.299805 29 0.400391 41.6992 0.400391v3.39941c0 23.4004 -15 33 -41 33c-19.2998 0 -33.5996 -8 -35 -21.7998h-33.6992c3.59961 34.4004 39.6992 43.1006 71.5 43.1006c27.3994 0 51.7998 -7 63.2998 -26
+l-10.9004 20.5996h37.5l54.9004 -109.9zM243.7 134.2c29.7998 0 50.2002 21.5 50.2002 53.7998c0 32.4004 -20.4004 53.7998 -50.2002 53.7998c-29.6006 0 -50.2002 -21.3994 -50.2002 -53.7998c0 -32.2998 20.5996 -53.7998 50.2002 -53.7998zM444.6 181.5v3.2998
+c-11.7998 0 -26.2998 -0.0996094 -39.3994 -0.599609c-29.1006 -0.900391 -47.2002 -6.2002 -47.2002 -25.2998c0 -12.4004 9.90039 -25.8008 35 -25.8008c33.7002 0 51.5996 18.4004 51.5996 48.4004zM32.7002 179.9c3.5 -58.3008 79.2002 -57.4004 91.2002 -21.6006
+h33.0996c-6.40039 -34.3994 -43 -46.0996 -74.4004 -46.0996c-57.1992 0 -82.5 31.5 -82.5 74c0 46.7998 26.2002 77.5996 83 77.5996c45.3008 0 78.4004 -23.7002 78.4004 -75.3994v-8.5h-128.8zM127.7 201.3c-2.2998 54.7002 -87.5 56.6006 -94.4004 0h94.4004z" />
+ <glyph glyph-name="keybase" unicode="&#xf4f5;" horiz-adv-x="412"
+d="M177.2 17.0996c0 -9.7998 -8 -17.7998 -17.7998 -17.7998c-9.80078 0 -17.8008 8 -17.8008 17.7998c0 9.80078 8 17.8008 17.8008 17.8008c9.7998 0.0996094 17.7998 -7.90039 17.7998 -17.8008zM270 35c9.7998 0 17.7998 -8 17.7998 -17.7998
+s-8 -17.7998 -17.7998 -17.7998s-17.7998 8 -17.7998 17.7998s8 17.7998 17.7998 17.7998zM412.3 71c0 -38.9004 -7.59961 -73.9004 -22.2002 -103h-27.2998c23.5 38.7002 30.5 94.7998 22.4004 134.3c-16.1006 -29.5 -52.1006 -38.5996 -85.9004 -28.7998
+c-127.8 37.5 -192.5 -19.7002 -234.6 -50.2998l18.8994 59.2998l-39.8994 -42.2998c4.7998 -26.7002 15.7002 -51.2998 31.2002 -72.2998h-28.8008c-9.69922 15.7998 -17.1992 33 -22.1992 51.2998l-23.8008 -25.2002c0 74.9004 -5.5 147.6 61.5 215.2
+c20.2002 20.3994 43.7002 36.2002 69.1006 46.7002c-6.7998 13.5 -9.5 29.1992 -7.7998 46l-19.9004 1.19922c-17.9004 1.10059 -31.5996 16.5 -30.5996 34.4004v0.0996094l1.59961 26.2002c1.09961 17.1006 15.4004 30.6006 32.5 30.6006
+c1.2998 0 -0.299805 0.0996094 28.2002 -1.7002c13.8994 -0.799805 21.5 -9.7998 22.7998 -11.4004c7.09961 10.4004 14.5 20.5 24.5996 34.5l20.6006 -12.0996c-13.6006 -29 -9.10059 -36.2002 -9 -36.2998c3.89941 0 13.8994 0.5 32.3994 -5.7002
+c19.9004 -6.60059 35.9004 -20.7002 44.9004 -39.7002c0.400391 -0.900391 15.5 -29 1.2002 -62.5996c19 -6.10059 51.2998 -19.9004 82.3994 -51.8008c36.6006 -37.5996 57.7002 -87.3994 57.7002 -136.6zM128 325.7c3.2002 10 7.7002 19.7002 13.0996 29.3994
+c0.100586 2 2.2002 13.1006 -7.7998 13.8008c-28.5 1.7998 -26.2998 1.59961 -26.7002 1.59961c-4.59961 0 -8.2998 -3.5 -8.59961 -8.09961l-1.59961 -26.2002c-0.300781 -4.7002 3.39941 -8.7998 8.09961 -9.10059zM153.8 263.9
+c5.60059 -9.40039 14.1006 -16.1006 22.2998 -20c0 21.1992 28.5 41.8994 52.8008 17.5l8.39941 -10.3008c20.7998 18.8008 19.4004 45.3008 12.1006 60.9004c-13.8008 29.0996 -46.9004 32 -54.3008 31.7002c-10.2998 -0.400391 -19.6992 5.39941 -23.6992 15.2998
+c-13.7002 -21.2002 -37.2002 -62.5 -17.6006 -95.0996zM236.7 195.5l-19.7002 -16.0996c-1.90039 -1.60059 -2.2002 -4.40039 -0.599609 -6.30078l8.89941 -10.8994c1 -1.2002 3.7998 -2.7002 6.2998 -0.600586l19.6006 16l5.5 -6.7998c4.89941 -6 13.7998 1.40039 9 7.2998
+c-63.6006 78.3008 -41.5 51.1006 -55.2998 68.1006c-4.7002 6 -13.9004 -1.40039 -9 -7.2998c1.89941 -2.30078 18.3994 -22.6006 19.7998 -24.3008l-9.60059 -7.89941c-4.59961 -3.7998 2.60059 -13.2998 7.40039 -9.40039l9.7002 8zM355.1 169.8
+c-16.8994 23.7002 -42.5996 46.7002 -73.3994 60.4004c-7.90039 3.5 -15 6.09961 -22.9004 8.59961c-2 -2.2002 -4.09961 -4.2998 -6.39941 -6.2002l31.8994 -39.1992c10.4004 -12.7002 8.5 -31.5 -4.2002 -41.9004c-1.2998 -1.09961 -13.0996 -10.7002 -29 -4.90039
+c-2.89941 -2.2998 -10.0996 -9.89941 -22.1992 -9.89941c-8.60059 0 -16.6006 3.7998 -22.1006 10.5l-8.89941 10.8994c-6.30078 7.80078 -7.90039 17.9004 -5 26.8008c-8.2002 9.89941 -8.30078 21.2998 -4.60059 30c-7.2002 1.2998 -26.7002 6.19922 -42.7002 21.3994
+c-55.7998 -20.7002 -88 -64.3994 -101.3 -91.2002c-14.8994 -30.1992 -18.7998 -60.8994 -19.8994 -90.1992c8.19922 8.69922 -3.90039 -4.10059 114 120.899l-29.9004 -93.5996c57.7998 31.0996 124 36 197.4 14.3994c23.5996 -6.89941 45.0996 -1.59961 56 13.9004
+c11.0996 15.5996 8.5 37.7002 -6.80078 59.2998zM110.6 340.7l1 15.5996l15.6006 -1l-1 -15.5996z" />
+ <glyph glyph-name="mastodon" unicode="&#xf4f6;" horiz-adv-x="417"
+d="M417.8 268.9c0 0 0.799805 -71.7002 -9 -121.5c-6.2002 -31.6006 -55.0996 -66.2002 -111.2 -72.9004c-20.0996 -2.40039 -93.0996 -14.2002 -178.699 6.7002c0 -4.90039 0.299805 -9.5 0.899414 -13.9004c6.60059 -49.5996 49.2002 -52.5996 89.6006 -54
+c40.7998 -1.2998 77.0996 10.1006 77.0996 10.1006l1.7002 -36.9004s-28.5 -15.2998 -79.2998 -18.0996c-28 -1.60059 -62.8008 0.699219 -103.301 11.3994c-112.199 29.7002 -105.6 173.4 -105.6 289.101c0 97.1992 63.7002 125.699 63.7002 125.699
+c61.8994 28.4004 227.899 28.7002 290.399 0c0 0 63.7002 -28.5 63.7002 -125.699zM342.7 143.7c0 122 5.2998 147.7 -18.4004 175c-25.7002 28.7002 -79.7002 31 -103.8 -6.10059l-11.5996 -19.5l-11.6006 19.5c-24 36.9004 -77.8994 35 -103.8 6.10059
+c-23.5996 -27.1006 -18.4004 -52.9004 -18.4004 -175h46.7002v114.2c0 49.6992 64 51.5996 64 -6.90039v-62.5h46.2998v62.5c0 58.5 64 56.5996 64 6.90039v-114.2h46.6006z" />
+ <glyph glyph-name="r-project" unicode="&#xf4f7;" horiz-adv-x="581"
+d="M581 221.4c0 -54.8008 -33.9004 -104.301 -88.4004 -139.7l67.4004 -113.7h-112l-40.0996 75.4004c-21.8008 -6.5 -45.1006 -11.2002 -69.4004 -13.9004v-61.5h-99.0996v61.9004c-136.101 16.0996 -239.4 95.6992 -239.4 191.5c0 107.5 130.1 194.6 290.5 194.6
+s290.5 -87.0996 290.5 -194.6zM114.2 206.9c0 -52.8008 51.0996 -98.4004 125.2 -119.9v208.3h199s90.5996 -1.59961 90.5996 -87.8994c0 -86.3008 -86.5996 -92.7002 -86.5996 -92.7002s17.5996 -5.2998 27.7998 -10.5c1.7002 -0.799805 4 -2.10059 6.39941 -3.7002
+c43.8008 21.4004 70.3008 56.2998 70.3008 106.4c0 92.2998 -90 133 -211.9 133s-220.8 -59.5 -220.8 -133zM339.3 168.6c49.6006 0 87.7998 -8.19922 87.7998 28.3008c0 34.0996 -30 27.2998 -87.7998 27.2998v-55.6006zM338.4 96.0996v-22.0996
+c17.5996 0.0996094 34.5 1 50.5996 2.90039c-5.09961 7.5 -13.2002 19.1992 -24 19.1992h-26.5996z" />
+ <glyph glyph-name="researchgate" unicode="&#xf4f8;"
+d="M0 416h448v-448h-448v448zM262.2 81.5996v7.30078c-10 0 -20 6.89941 -27.2002 14.6992c-12.2002 13.3008 -28.5996 34.7002 -42.2002 58.9004c22.5 5.2998 39.2002 26.4004 39.2002 47.5c0 31.2002 -24.2002 45.5996 -55.9004 45.5996
+c-17.7998 0 -45.0996 -1.59961 -70.8994 -0.599609v-8.09961c15.5996 -2.90039 22 -1.30078 22 -23.9004v-109.4c0 -22.5996 -6.5 -21 -22 -23.8994v-8.10059c7.5 0.200195 20.5 0.800781 33.5996 0.800781c12.5 0 28.7002 -0.5 35.6006 -0.800781v8.10059
+c-19.8008 2.7002 -25.8008 0.399414 -25.8008 23.8994v46.4004c6.7002 -0.599609 12.5 -0.599609 21.4004 -0.599609c16.9004 -30.3008 33 -53 42.2002 -63.6006c16.7998 -20.2002 43.3994 -17.2002 50 -14.2002zM285.1 216.6c38.7002 0 34 29.4004 34 49.9004h-30.3994
+v-10.7002h17.8994c0 -15.8994 -7.39941 -26.7998 -21.5 -26.7998c-11.2998 0 -17.8994 9.90039 -17.8994 23.2998v26.7998c0 12.4004 11.7998 19.7002 19.7002 19.7002c14.1992 0 19.6992 -12.5 19.6992 -12.5l10.7002 7.2002s-5.2002 17.9004 -30.3994 17.9004
+c-25.2002 0 -34 -18.2002 -34 -30.4004v-32.2002c0 -16.5 8.89941 -32.2002 32.1992 -32.2002zM168.6 171.9c-9.39941 0 -13.5996 0.299805 -20 0.799805v69.7002c6.40039 0.599609 15 0.599609 22.5 0.599609c23.3008 0 37.2002 -12.2002 37.2002 -34.5
+c0 -21.9004 -15 -36.5996 -39.7002 -36.5996z" />
+ <glyph glyph-name="teamspeak" unicode="&#xf4f9;" horiz-adv-x="511"
+d="M244.2 101.2c-2.40039 -12.5 -10.6006 -20 -22.5 -24.2998c-9.2002 -3.2002 -50.1006 -1.60059 -61.7002 -1c-18 1.2998 -33.2002 8.5 -43.4004 24c-14.5 22.5 -19.5 47.6992 -14.5 73.8994c4.60059 24.5 24.6006 34.7002 46.3008 22.7002
+c15.1992 -7.5 42.5 -27.4004 63.3994 -46.5996c20.4004 -18.7002 34.7998 -36.4004 32.4004 -48.7002zM449.2 80.4004c6.7002 -5.40039 11.2002 -22 11.5996 -32.1006c1 -50.3994 -23.8994 -68 -46.5996 -85.3994c-65.1006 -50 -295.101 -16.9004 -145.4 -6.40039
+c127.4 9 164.101 96.0996 172.101 121.5c1.09961 3.40039 5.2998 4.7998 8.2998 2.40039zM511.2 202.8c0 -17.2002 1.89941 -34.5996 -1 -51.7002c-4 -24.6992 -29.1006 -41.6992 -53.2002 -36.6992c-7.2002 1.69922 -9.40039 7.19922 -9.40039 14.1992
+c0 28.1006 0.800781 56.4004 0 84.6006c-1.89941 75.7998 -36.1992 132.8 -102.3 169.399c-111 60.4004 -253.2 -7 -277.8 -131.5c-6.09961 -30.3994 -1.7002 -48.2998 -3.7002 -125.8c-0.299805 -7.2002 -4.2998 -11.2002 -12 -11.5
+c-30.7998 -1.39941 -51.7998 18.2002 -51.7998 49v20.9004l0.799805 26.5c2.40039 15.5 10.7002 27 24.9004 34c3.5 1.7998 5.7002 3.5 6.39941 7.7998c6.10059 33.4004 19.5 64 39.3008 91.7002c2.2998 3.09961 4 5.2998 1 9.2998c-3.7002 5.40039 -1 10.2002 3 14.5
+c28.0996 31.7998 61.8994 55.0996 102 67.4004c95.7998 29.3994 180.1 9.2998 252.3 -60.5c6.7002 -6.40039 15.5 -12.9004 7 -24.4004c-1.2998 -1.7998 1.09961 -3.5 2.2002 -5c20.6992 -28 34.1992 -59.4004 40.3994 -93.5996
+c0.900391 -3.7002 3 -5.10059 5.90039 -6.40039c17.3994 -8.7998 25.7002 -23.2998 26 -42.2002zM351.6 71.2998l-51.5996 7.7002c-22.7998 5.90039 -51 32.7002 22.2002 60.7998c21.5996 8.5 85.7002 37.2002 87.7998 -8c0.900391 -32 -21.9004 -63.2998 -58.4004 -60.5z
+" />
+ <glyph glyph-name="first-order-alt" unicode="&#xf50a;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -48.21c132.66 0 240.21 107.55 240.21 240.21s-107.55 240.21 -240.21 240.21s-240.21 -107.55 -240.21 -240.21s107.55 -240.21 240.21 -240.21z
+M248 411.71c121.34 0 219.71 -98.3701 219.71 -219.71s-98.3701 -219.71 -219.71 -219.71s-219.71 98.3701 -219.71 219.71s98.3701 219.71 219.71 219.71zM248 -19.5098c116.81 0 211.51 94.7002 211.51 211.51s-94.7002 211.51 -211.51 211.51
+s-211.51 -94.6895 -211.51 -211.51s94.7002 -211.51 211.51 -211.51zM434.23 143.47c-3.69141 -14.209 -12.709 -36.0225 -20.1309 -48.6895l-74.1299 35.8799l61.4805 -54.8203c-8.85352 -11.7021 -25.5195 -28.4082 -37.2002 -37.29l-54.7998 61.5703l35.8799 -74.2705
+c-12.6445 -7.45215 -34.4307 -16.5156 -48.6299 -20.2295l-27.29 78.4697l4.79004 -82.9297c-8.61035 -1.17969 -17.4004 -1.7998 -26.3301 -1.7998s-17.7197 0.620117 -26.3301 1.7998l4.75977 82.46l-27.1494 -78.0303c-14.2021 3.70996 -35.998 12.7588 -48.6504 20.2002
+l35.9297 74.3398l-54.8701 -61.6396c-11.6836 8.87988 -28.3584 25.582 -37.2197 37.2793l61.5898 54.9004l-74.2598 -35.9297c-7.42383 12.667 -16.4463 34.4795 -20.1396 48.6895l77.8398 27.1104l-82.2305 -4.75977c-1.15918 8.56934 -1.7793 17.3193 -1.7793 26.21
+c0 9 0.629883 17.8398 1.81934 26.5098l82.3799 -4.76953l-77.9395 27.1592c3.71973 14.208 12.7822 36.0127 20.2295 48.6699l74.2207 -35.9199l-61.5205 54.8604c8.88086 11.6836 25.582 28.3584 37.2803 37.2197l54.7598 -61.5293l-35.8301 74.1699
+c12.6562 7.41895 34.4521 16.4375 48.6504 20.1299l26.8701 -77.25l-4.70996 81.6094c8.60938 1.18066 17.3896 1.80078 26.3193 1.80078c8.93066 0 17.71 -0.620117 26.3203 -1.80078l-4.74023 -82.1592l27.0498 77.7598c17.2705 -4.5 33.6006 -11.3506 48.6309 -20.1699
+l-35.8203 -74.1201l54.7197 61.4697c11.6924 -8.86133 28.376 -25.54 37.2402 -37.2295l-61.4502 -54.7705l74.1201 35.8604c7.43945 -12.6533 16.4893 -34.4492 20.2002 -48.6504l-77.8105 -27.0996l82.2402 4.75c1.19043 -8.66016 1.82031 -17.5 1.82031 -26.4902
+c0 -8.87988 -0.610352 -17.6299 -1.78027 -26.1904l-82.1201 4.75z" />
+ <glyph glyph-name="fulcrum" unicode="&#xf50b;" horiz-adv-x="269"
+d="M70.75 283.86l-35.3799 -43.5508l-35.3701 43.5508l35.3799 43.5498zM119.23 448v-211.11l-41.0801 -44.8896l41.0801 -44.8896v-211.11l-20.5303 198.18l-50.9805 57.8203l50.9707 57.8203zM198.9 283.86l35.3799 43.5498l35.3799 -43.5498l-35.3799 -43.5508z
+M150.42 236.89v211.11l20.54 -198.18l50.9805 -57.8203l-50.9805 -57.8203l-20.54 -198.18v211.11l41.0801 44.8896z" />
+ <glyph glyph-name="galactic-republic" unicode="&#xf50c;" horiz-adv-x="496"
+d="M248 -56c-136.75 0 -248 111.25 -248 248s111.25 248 248 248s248 -111.25 248 -248s-111.25 -248 -248 -248zM248 423.47c-127.63 0 -231.47 -103.84 -231.47 -231.47s103.84 -231.47 231.47 -231.47s231.47 103.84 231.47 231.47s-103.84 231.47 -231.47 231.47z
+M275.62 401.66c37.6602 -4.91016 72.21 -19.7402 100.96 -41.7998l-17.3896 -17.3604c-20.6758 15.3154 -58.1152 30.7891 -83.5703 34.54v24.6201zM220.25 401.59v-24.54c-30.9697 -4.60938 -59.4502 -16.8301 -83.5195 -34.6699h-0.0800781l-17.2803 17.3604
+c28.7197 22.0498 63.2402 36.9102 100.88 41.8496zM232.5 351.42h31v-82.8604c10.0498 -2.0293 19.3701 -6.00977 27.6201 -11.5l58.6699 58.6709l21.9297 -21.9307l-58.6699 -58.6699c5.46973 -8.24023 9.48047 -17.5996 11.5 -27.6201h82.8701v-31h-82.8701
+c-2.03027 -10.0195 -6.04004 -19.3096 -11.5 -27.54l58.6699 -58.6895l-21.9297 -21.9307l-58.6699 58.6904c-8.25 -5.49023 -17.5703 -9.52051 -27.6201 -11.5498v-82.9004h-31v82.9004c-8.25781 1.66895 -20.6533 6.80762 -27.6699 11.4697l-58.6201 -58.6201
+l-21.9297 21.9297l58.6699 58.6904c-5.45996 8.23047 -9.4502 17.5205 -11.4697 27.54h-82.9004v31h82.9004c2.01953 10.0303 6 19.3896 11.4697 27.6201l-58.6699 58.6699l21.9297 21.9297l58.6201 -58.5898c8.25 5.48047 17.6299 9.38965 27.6699 11.4199v82.8701z
+M415.74 320.7c22.0996 -28.7402 36.9795 -63.3398 41.9297 -101.03h-24.6201c-3.7832 25.4902 -19.3154 62.9746 -34.6699 83.6699zM80.1904 320.57l17.3896 -17.3906c-17.8301 -24.0693 -29.9902 -52.5596 -34.5898 -83.5195h-24.6504
+c4.94043 37.6494 19.79 72.1895 41.8506 100.91zM38.3398 164.33l24.6504 0.00976562c4.58984 -30.9502 16.7002 -59.4502 34.5098 -83.5195l-17.3604 -17.3906c-22.0498 28.7207 -36.8799 63.2607 -41.7998 100.9zM433.04 164.33h24.6201
+c-4.9502 -37.6699 -19.8506 -72.2197 -41.9297 -100.96l-17.3604 17.3604c17.8701 24.0996 30.0596 52.6094 34.6699 83.5996zM136.66 41.6201c24.0703 -17.8604 52.6094 -30.0205 83.5996 -34.6504v-24.6396c-37.6602 4.9502 -72.2295 19.8398 -100.96 41.9297z
+M359.19 41.5703h0.0791016l17.3105 -17.3906c-28.75 -22.0596 -63.29 -36.9297 -100.96 -41.8496v24.5703c30.9902 4.58984 59.4795 16.8301 83.5703 34.6699z" />
+ <glyph glyph-name="galactic-senate" unicode="&#xf50d;" horiz-adv-x="512"
+d="M249.86 414.52h12.2793v-26.0693c13.5801 -20.6201 23.8604 -108.59 24.4902 -215.351c-11.7402 15.6201 -19.1299 33.3301 -19.1299 48.2402v16.8799c0.0302734 5.32031 -0.75 10.5303 -2.19043 15.6504c-0.649414 2.13965 -1.38965 4.07031 -2.61914 5.82031
+c-1.23047 1.73926 -3.44043 3.79004 -6.68066 3.79004c-3.25 0 -5.4502 -2.04004 -6.67969 -3.79004c-1.23047 -1.74023 -1.96973 -3.68066 -2.62012 -5.82031c-1.44043 -5.12012 -2.21973 -10.3301 -2.19043 -15.6504v-16.8799
+c0 -14.9102 -7.38965 -32.6201 -19.1299 -48.2402c0.610352 106.761 10.8906 194.73 24.4707 215.351v26.0693zM223.52 266.75c-1.59961 -22.4004 -2.75 -46.5195 -3.47949 -72.0703c-23.2998 -11.2793 -40.7705 -33.1602 -46.3203 -59.5098
+c-7.71973 -2.25977 -22.71 -3.91992 -40.4893 -4.21973c-7.51074 3.66016 -16.5 5.85938 -26.1807 6.04004c1.90039 14.9102 5.87012 29.1699 11.6504 42.4199c15.4395 -8.10059 30.9297 -8.66016 35.4697 -0.959961c4.57031 7.74023 -3.58984 21.04 -18.3203 30.6602
+c8.68066 11.7695 18.9805 22.2998 30.5605 31.0898c9.50977 -15.5898 23.3594 -24.4404 31.3594 -19.8203c8.05078 4.65039 7.19043 21.1699 -1.70996 37.29c8.76074 3.88965 17.9404 6.92969 27.46 9.08008zM288.48 266.75
+c7.82227 -1.75977 20.1201 -5.82812 27.4492 -9.08008c-8.89941 -16.1299 -9.75977 -32.6396 -1.70996 -37.29c8 -4.62012 21.8506 4.23047 31.3604 19.8203c11.5801 -8.79004 21.8799 -19.3203 30.5596 -31.0898c-14.7197 -9.61035 -22.8896 -22.9199 -18.3193 -30.6602
+c4.54004 -7.7002 20.0293 -7.14062 35.4697 0.959961c5.79004 -13.25 9.75 -27.5098 11.6504 -42.4199c-9.68066 -0.19043 -18.6709 -2.37988 -26.1807 -6.04004c-17.7793 0.299805 -32.7695 1.95996 -40.4902 4.21973c-5.5498 26.3496 -23.0293 48.2305 -46.3193 59.5098
+c-0.719727 25.5508 -1.87988 49.6699 -3.46973 72.0703zM256 258.15c3.23047 0 5.86035 -8.81055 6.08984 -19.9307h0.0498047v-16.8799c0 -41.4199 49.0107 -95.04 93.4902 -95.04c52 0 122.76 1.4502 156.37 -29.1699v-2.50977
+c-9.41992 -17.1104 -20.5801 -33.1699 -33.1797 -47.9697c-12.5303 21.0898 -51.5898 40.96 -108.021 41.3496c-45.6797 -1.01953 -79.0195 -20.3301 -90.7598 -40.8701c-0.00976562 -0.00976562 0.00976562 -0.0400391 0 -0.0498047
+c-7.66992 -2.13965 -15.8496 -3.23047 -24.04 -3.20996c-8.19043 -0.0205078 -16.3701 1.07031 -24.04 3.20996c-0.00976562 0.00976562 0.00976562 0.0400391 0 0.0498047c-11.7295 20.54 -45.0801 39.8506 -90.7598 40.8701
+c-56.4307 -0.400391 -95.5 -20.2598 -108.021 -41.3496c-12.5996 14.7998 -23.7598 30.8496 -33.1797 47.9697v2.50977c33.6201 30.6201 104.37 29.1699 156.37 29.1699c44.4795 0 93.4902 53.6201 93.4902 95.04v16.8799h0.0498047
+c0.229492 11.1201 2.85938 19.9307 6.08984 19.9307zM256 161.56c-22.4199 0 -40.5996 -18.1797 -40.5996 -40.5996s18.1797 -40.6504 40.5996 -40.6504s40.5996 18.2305 40.5996 40.6504s-18.1797 40.5996 -40.5996 40.5996zM256 153.92
+c18.1904 0 32.96 -14.7695 32.96 -32.96s-14.7695 -32.96 -32.96 -32.96s-32.96 14.7695 -32.96 32.96s14.7695 32.96 32.96 32.96zM256 147.78c-14.8096 0 -26.8203 -12.0107 -26.8203 -26.8203s12.0107 -26.8203 26.8203 -26.8203s26.8203 12.0107 26.8203 26.8203
+s-12.0107 26.8203 -26.8203 26.8203zM141.2 81.1104c18.75 -0.419922 35.1895 -4.18066 48.6094 -9.66992c12.5508 -16.0303 29.1602 -30.04 49.5801 -33.0703c0.100586 -0.00976562 0.169922 -0.0302734 0.270508 -0.0498047
+c0.0498047 -0.0107422 0.109375 -0.0400391 0.160156 -0.0507812c5.23926 -1.06934 10.6396 -1.59961 16.1895 -1.59961c5.56055 0 10.9502 0.530273 16.1904 1.59961c0.0498047 0.0107422 0.109375 0.0400391 0.160156 0.0507812
+c0.0996094 0.00976562 0.179688 0.0292969 0.269531 0.0498047c20.4199 3.04004 37.04 17.04 49.5801 33.0703c13.4199 5.5 29.8496 9.25 48.6104 9.66992c10.1797 -0.0800781 21.5996 -0.360352 30.5 -1.66016c-0.430664 -4.41992 -1.51074 -18.6299 -7.11035 -29.7598
+c-9.11035 2.55957 -18.3604 3.89941 -27.6201 3.89941c-41.2803 -0.939453 -71.4795 -34.3496 -78.2598 -74.4697l-0.110352 -4.7002c-10.3994 -1.91992 -21.1797 -2.93945 -32.21 -2.93945c-11.0195 0 -21.8096 1.0293 -32.21 2.93945l-0.109375 4.7002
+c-6.78027 40.1201 -36.9805 73.5303 -78.2607 74.4697c-9.25977 0 -18.5098 -1.33984 -27.6201 -3.89941c-5.59961 11.1299 -6.67969 25.3398 -7.10938 29.7598c8.89941 1.2998 20.3096 1.58984 30.5 1.66016z" />
+ <glyph glyph-name="jedi-order" unicode="&#xf50e;"
+d="M398.5 74.4004c0 0 26.2998 16.1992 49.9004 77.6992c0 0 -17 -183.3 -222 -185.699h-4.10059c-205.1 2.39941 -222 185.699 -222 185.699c23.2002 -61.5996 49.4004 -77.6992 49.4004 -77.6992c-95.9004 122.1 -17.2002 233.1 -17.2002 233.1
+c-45.4004 -85.7002 41.4004 -170.5 41.4004 -170.5c-105 171.6 60.5 271.5 60.5 271.5c-96.9004 -72.5996 10.0996 -190.7 10.0996 -190.7c-85.7998 -158.399 68.5996 -230.1 68.5996 -230.1s0.400391 16.8994 2.2002 85.7002l-34.5 -36.2002l24.2002 47.3994
+l-62.5996 9.10059l62.5996 9.09961l-20.2002 55.5l31.4004 -45.8994c2.2998 87.8994 7.89941 305.899 7.89941 306.899v2.40039v-1v1v-2.40039c0.100586 -1.7998 5.7002 -219.2 7.90039 -306.899l31.4004 45.8994l-20.2002 -55.5l62.5996 -9.09961l-62.5996 -9.10059
+l24.2002 -47.3994s-30.2002 31.7002 -34.5 36.2002c1.7998 -68.8008 2.19922 -85.7002 2.19922 -85.7002s154.4 71.7002 68.6006 230.1c0 0 107 118 10.0996 190.7c0 0 165.5 -100 60.5 -271.5c0 0 86.7998 84.7002 41.4004 170.5c0 0 78.7002 -111 -17.2002 -233.1z" />
+ <glyph glyph-name="mandalorian" unicode="&#xf50f;" horiz-adv-x="390"
+d="M203.28 -63.8896c-0.980469 3.25977 -1.69043 15.8301 -1.39062 24.5801c0.550781 15.8896 0.980469 24.7197 1.40039 28.7598c0.639648 6.2002 2.87012 20.7197 3.28027 21.3799c0.599609 0.959961 0.399414 27.8701 -0.240234 33.1299
+c-0.310547 2.58008 -0.629883 11.9004 -0.69043 20.7305c-0.129883 16.4697 -0.529297 20.1191 -2.72949 24.7598c-1.10059 2.31934 -1.23047 3.83984 -0.990234 11.4297c0.160156 4.81055 0 10.5303 -0.339844 12.71c-2.0498 12.9697 -3.45996 27.7002 -3.25 33.9004
+c0.209961 6.12012 0.429688 7.14941 2.05957 9.66992c3.05078 4.70996 6.51074 14.04 8.62012 23.2695c2.25977 9.86035 3.87988 17.1807 4.58984 20.7402c0.890625 4.41992 2.43066 9.71973 4.36035 15.0498c2.27051 6.25 2.49023 15.3906 0.370117 15.3906
+c-0.299805 0 -1.37988 -1.2207 -2.41016 -2.70996c-1.03027 -1.49023 -4.75977 -4.80078 -8.29004 -7.36035c-8.37012 -6.08008 -11.7002 -9.38965 -12.6602 -12.5801c-0.929688 -3.11035 -1.01953 -7.22949 -0.160156 -7.75977
+c0.34082 -0.209961 1.29004 -2.40039 2.11035 -4.87988c1.62012 -4.87988 1.87012 -10.1201 0.719727 -15.3604c-0.389648 -1.76953 -1.0498 -5.46973 -1.45996 -8.22949c-0.410156 -2.76074 -0.979492 -6.46094 -1.25 -8.2207
+c-0.279297 -1.75977 -0.969727 -3.67969 -1.5498 -4.25977c-0.959961 -0.959961 -1.13965 -0.910156 -2.0498 0.530273c-0.549805 0.870117 -1.2002 3.00977 -1.44043 4.75c-0.25 1.73926 -1.62988 7.10938 -3.08008 11.9297
+c-3.2793 10.9004 -3.51953 16.1504 -0.959961 20.96c0.919922 1.73047 1.66992 3.81055 1.66992 4.61035c0 2.38965 -2.19922 5.31934 -7.40918 9.88965c-7.05078 6.17969 -8.62988 7.91992 -10.2305 11.2998c-1.70996 3.60059 -3.05957 4.06055 -4.54004 1.54004
+c-1.78027 -3.00977 -2.59961 -9.10938 -2.96973 -22.0195l-0.350586 -12.1299l1.9502 -2.25c3.20996 -3.7002 12.0703 -16.4502 13.7803 -19.8301c3.41016 -6.74023 4.33984 -11.6904 4.41016 -23.5605c0.0703125 -11.8398 0.950195 -22.75 2 -24.71
+c0.359375 -0.660156 0.509766 -1.34961 0.339844 -1.51953s0.410156 -2.08984 1.29004 -4.27051c0.879883 -2.17969 1.80957 -6.21973 2.05957 -8.97949s1.02051 -7.43066 1.70996 -10.3701c2.23047 -9.56055 2.77051 -14.0801 2.39062 -20.1396
+c-0.200195 -3.27051 -0.530273 -11.0703 -0.730469 -17.3203c-1.30957 -41.7598 -1.84961 -57.9805 -2.04004 -61.21c-0.120117 -2.02051 -0.389648 -11.5098 -0.599609 -21.0703c-0.360352 -16.2998 -1.2998 -27.3701 -2.41992 -28.6494
+c-0.640625 -0.730469 -8.07031 4.90918 -12.5205 9.48926c-3.75 3.87012 -4.01953 4.79004 -2.83008 9.9502c0.700195 3.00977 2.26074 18.29 3.33008 32.6201c0.360352 4.78027 0.810547 10.5 1.01074 12.71c0.830078 9.37012 1.65918 20.3496 2.60938 34.7803
+c0.560547 8.45996 1.33008 16.4395 1.7207 17.7295c0.379883 1.29004 0.889648 9.89062 1.12988 19.1104l0.429688 16.7695l-2.25977 4.30078c-1.7207 3.2793 -4.87012 6.93945 -13.2207 15.3398c-6.0293 6.06934 -11.8398 12.2998 -12.9092 13.8496l-1.9502 2.81055
+l0.75 10.8994c1.08984 15.71 1.09961 48.5703 0.0195312 59.0605l-0.889648 8.69922l-3.28027 4.52051c-5.85938 8.08008 -5.7998 7.75 -6.21973 33.2695c-0.0996094 6.07031 -0.379883 11.5 -0.629883 12.0605c-0.830078 1.87012 -3.0498 2.66016 -8.54004 3.0498
+c-8.86035 0.620117 -10.96 1.90039 -23.8506 14.5498c-6.14941 6.04004 -12.3398 11.9697 -13.75 13.1904c-2.80957 2.41992 -2.79004 1.99023 -0.55957 9.62988l1.34961 4.64941l-1.68945 3.04004c-0.929688 1.6709 -2.08984 3.51074 -2.58984 4.07031
+c-1.33008 1.50977 -5.5 10.8896 -5.99023 13.4902c-0.310547 1.66016 -0.0898438 2.66992 0.870117 3.89941c2.22949 2.86035 3.39941 5.68066 4.4502 10.7305c2.33008 11.1904 7.73926 26.0898 10.5996 29.2197c3.17969 3.4707 7.7002 1.0498 9.41016 -5.0293
+c1.33984 -4.79004 1.37012 -9.79004 0.0996094 -18.5508c-0.529297 -3.67969 -0.979492 -8.67969 -0.990234 -11.1094c-0.0195312 -4.01074 0.19043 -4.69043 2.25 -7.39062c3.33008 -4.37012 7.73047 -7.40918 15.2002 -10.5195
+c1.7002 -0.709961 3.82031 -1.99023 4.7207 -2.85059c11.1699 -10.7197 18.6191 -16.1797 22.9492 -16.8496c5.18066 -0.799805 7.98047 -4.54004 10.04 -13.3896c1.31055 -5.65039 4 -11.1406 5.45996 -11.1406c0.59082 0 2.09082 0.629883 3.33008 1.39062
+c1.98047 1.21973 2.25 1.72949 2.25 4.17969c-0.00976562 3.70996 -1.16992 14.0801 -2 17.8398c-0.370117 1.66016 -0.779297 4.06055 -0.929688 5.35059c-0.139648 1.29004 -0.610352 3.84961 -1.03027 5.68945c-2.5498 11.1602 -3.64941 15.46 -4.09961 16.0498
+c-1.5498 2.02051 -4.08008 10.2002 -4.92969 15.9199c-1.64062 11.1104 -3.96094 14.2305 -12.9102 17.3906c-4.64062 1.63965 -8.89062 4.12012 -13.3203 7.78027c-1.15039 0.949219 -4.00977 3.21973 -6.34961 5.05957
+c-2.35059 1.83008 -4.41016 3.53027 -4.60059 3.75977c-0.179688 0.230469 -1.38965 1.14062 -2.68945 2.02051c-6.24023 4.21973 -8.84082 6.97949 -11.2607 11.96l-2.43945 5.01953l-0.219727 12.9805l-0.220703 12.9795l6.91016 6.5498
+c3.9502 3.75 8.48047 7.35059 10.5898 8.43066c3.31055 1.68945 4.4502 1.88965 11.3701 2.0498c8.53027 0.19043 10.1201 -0.0205078 11.6602 -1.55957c1.53027 -1.53027 1.36035 -6.40039 -0.290039 -8.5c-0.740234 -0.94043 -1.33984 -1.98047 -1.33984 -2.32031
+c0 -0.580078 -2.61035 -4.91016 -5.41992 -8.99023c-0.680664 -0.990234 -2.12988 -5.34961 -2.37012 -6.82031c20.4395 -13.3896 21.5498 -3.76953 14.0703 -28.9795l11.3994 -2.54004c3.11035 8.66016 6.46973 17.2598 8.61035 26.2197
+c0.290039 7.62988 -11.9805 4.19043 -15.4004 8.68066c-2.33008 5.92969 3.12988 14.1797 6.06055 19.1992c1.59961 2.33984 6.62012 4.7002 8.81934 4.15039c0.879883 -0.219727 4.16016 0.349609 7.37012 1.28027c3.18066 0.919922 6.58008 1.67969 7.5498 1.67969
+c0.970703 0 3.66016 0.580078 5.98047 1.29004c3.65039 1.11035 4.5 1.16992 6.34961 0.400391c1.16992 -0.480469 3.79004 -1.09082 5.82031 -1.36035c2.02051 -0.259766 4.71973 -1.12012 6 -1.91016s3.53027 -1.76953 5.02051 -2.16992
+c2.50977 -0.679688 3 -0.570312 7.0498 1.66992l4.34961 2.40039l10.7002 0.40918c10.4395 0.400391 10.8096 0.470703 15.2598 2.68066l4.58008 2.2998l2.45996 -1.42969c1.75977 -1.02051 3.13965 -2.73047 4.85059 -5.98047
+c2.35938 -4.50977 2.37988 -4.58008 1.36914 -7.37012c-0.879883 -2.43945 -0.889648 -3.2998 -0.0996094 -6.38965c0.5 -1.95996 1.4502 -4.62012 2.09961 -5.91016c0.650391 -1.29004 1.24023 -3.08984 1.31055 -4.00977
+c0.30957 -4.33008 -0.0302734 -5.2998 -2.41016 -6.91992c-2.16992 -1.4707 -6.98047 -7.91016 -6.98047 -9.33984c0 -0.320312 -0.479492 -1.69043 -1.06934 -3.03027c-5.04004 -11.5098 -6.75977 -13.5605 -14.2598 -16.9805
+c-9.2002 -4.19922 -12.3008 -5.18945 -16.21 -5.18945c-3.10059 0 -4 -0.25 -4.54004 -1.25977c-0.370117 -0.69043 -2.20996 -2.37012 -4.09082 -3.70996c-2.04004 -1.4707 -3.7998 -3.38086 -4.37988 -4.78027c-0.540039 -1.28027 -1.66016 -2.58984 -2.48926 -2.91016
+c-0.830078 -0.320312 -1.94043 -1.08008 -2.4502 -1.70996c-0.520508 -0.620117 -3.66016 -3.04004 -7 -5.37988c-3.33008 -2.33984 -6.87012 -5.02051 -7.87012 -5.95996c-1 -0.94043 -2.07031 -1.70996 -2.39062 -1.70996
+c-0.319336 0 -1.2793 -0.740234 -2.12988 -1.65039c-1.30957 -1.38965 -1.48926 -2.11035 -1.13965 -4.59961c0.219727 -1.62988 0.860352 -4.27051 1.41992 -5.87988c1.32031 -3.80078 1.31055 -7.86035 -0.0498047 -10.5703
+c-1.42969 -2.86035 -0.889648 -6.65039 1.34961 -9.58984c2.01074 -2.62988 2.16016 -4.56055 0.709961 -8.83984c-0.609375 -1.80078 -1.0498 -5.4502 -1.05957 -8.91016c-0.0205078 -4.87988 0.219727 -6.28027 1.45996 -8.37988
+c1.2002 -2.04004 1.82031 -2.48047 3.24023 -2.32031c1.97949 0.229492 2.2998 1.0498 4.70996 12.1201c2.17969 10.0303 3.70996 11.9199 13.7598 17.0801c2.94043 1.50977 7.45996 3.95996 10.0303 5.43945c2.58008 1.48047 6.79004 3.69043 9.37012 4.91016
+c6.66992 3.16016 11.0498 6.52051 15.2197 11.6699c7.10938 8.79004 9.97949 16.2207 12.8496 33.2998c0.549805 3.28027 1.43066 5.65039 2.86035 7.73047c1.29004 1.87012 2.37012 4.62012 2.88965 7.30957c1.02051 5.30078 2.85059 9.08008 5.58008 11.5107
+c4.7002 4.17969 6 1.08984 4.58984 -10.8701c-0.459961 -3.86035 -1.09961 -10.3301 -1.43945 -14.3799l-0.610352 -7.36035l4.4502 -4.08984l4.4502 -4.08984l0.109375 -8.41992c0.0605469 -4.63086 0.470703 -9.53027 0.919922 -10.8906l0.820312 -2.46973
+l-6.42969 -6.28027c-8.54004 -8.33008 -12.8799 -13.9297 -16.7598 -21.6094c-1.77051 -3.49023 -3.74023 -7.11035 -4.38086 -8.03027c-2.17969 -3.11035 -6.45996 -13.0098 -8.75977 -20.2598l-2.29004 -7.2207l-6.96973 -6.48926
+c-3.83008 -3.57031 -7.95996 -7.25 -9.16992 -8.16992c-3.0498 -2.32031 -4.25977 -5.15039 -4.25977 -9.99023c0 -2.98047 0.429688 -4.95996 1.58984 -7.25977c0.870117 -1.74023 1.80957 -3.91016 2.08984 -4.83008s0.979492 -2.2207 1.57031 -2.89062
+c1.39941 -1.58984 1.91992 -16.1201 0.830078 -23.2197c-0.680664 -4.48047 -3.63086 -12.0205 -4.7002 -12.0205c-1.79004 0 -4.06055 -9.26953 -5.07031 -20.7393c-0.179688 -2.02051 -0.620117 -5.94043 -0.979492 -8.7002
+c-0.360352 -2.75977 -0.959961 -9.98047 -1.35059 -16.0498c-0.769531 -12.2207 -0.189453 -18.7705 2.0498 -23.1504c3.41016 -6.68945 0.520508 -12.6895 -11.0293 -22.8398l-3.9707 -3.49023l0.0703125 -5.18945c0.0400391 -2.86035 0.549805 -6.85059 1.13965 -8.87012
+c4.61035 -15.9805 4.73047 -16.9199 4.38086 -37.1299c-0.460938 -26.4004 -0.260742 -40.2705 0.629883 -44.1504c0.419922 -1.83984 0.90918 -5 1.08008 -7.01953c0.169922 -2.02051 0.65918 -5.33008 1.0791 -7.36035
+c0.470703 -2.25977 0.780273 -11.0205 0.790039 -22.7402l0.0205078 -19.0596l-1.81055 -2.62988c-2.70996 -3.91016 -15.1094 -13.54 -15.4893 -12.29zM232.81 -18.7803c-0.179688 0.299805 -0.329102 6.87012 -0.329102 14.5898
+c0 14.0605 -0.890625 27.54 -2.26074 34.4502c-0.399414 2.02051 -0.80957 9.7002 -0.899414 17.0605c-0.150391 11.9297 -1.40039 24.3701 -2.64062 26.3799c-0.660156 1.06934 -3.01953 17.6602 -3.0293 21.2998c-0.0107422 4.23047 1.01953 6 5.2793 9.12988
+c4.14062 3.04004 4.86035 3.13965 5.48047 0.719727c0.280273 -1.09961 1.4502 -5.61914 2.59961 -10.0293c3.93066 -15.1201 4.14062 -16.2705 4.0498 -21.7402c-0.0996094 -5.78027 -0.129883 -6.12988 -1.73926 -17.7305
+c-0.980469 -7.06934 -1.16992 -12.3896 -1.04004 -28.4297c0.169922 -19.4004 -0.640625 -35.7295 -2.04004 -41.2695c-0.709961 -2.78027 -2.7998 -5.48047 -3.43066 -4.43066zM161.82 18.7998c-0.240234 0.379883 -1.01074 5.24023 -1.73047 10.79
+c-0.719727 5.56055 -1.49023 10.4102 -1.72949 10.79c-0.230469 0.379883 -0.680664 3.2998 -0.990234 6.49023c-0.310547 3.18945 -0.910156 7.45996 -1.33008 9.47949c-0.990234 4.79004 -3.34961 19.3506 -3.41992 21.0703
+c-0.0302734 0.740234 -0.339844 4.0498 -0.700195 7.36035c-0.669922 6.20996 -0.839844 27.6699 -0.219727 28.29c0.959961 0.959961 6.62988 -2.76074 11.3301 -7.43066l5.2793 -5.25l-0.449219 -6.46973c-0.25 -3.55957 -0.600586 -10.2295 -0.780273 -14.8301
+c-0.179688 -4.59961 -0.490234 -9.87012 -0.669922 -11.71s-0.610352 -9.36035 -0.94043 -16.7197c-0.790039 -17.4102 -1.93945 -31.29 -2.64941 -32c-0.320312 -0.299805 -0.760742 -0.240234 -1 0.139648zM74.6299 285.39
+c21.0703 -12.79 17.8398 -14.1494 28.4902 -17.6592c13.0098 -4.29004 18.8701 -7.13086 23.1494 -16.8701c-43.6592 -36.1406 -69.0098 -57.9004 -76.71 -70.8203c-31.0195 -52.0098 -5.98926 -101.59 62.75 -87.21c-14.1797 -29.2305 -77.9697 -28.6299 -98.6797 4.90039
+c-24.6797 39.9492 -22.0898 118.3 61 187.659zM285.42 106.37c56.6602 -6.87988 82.3203 37.7402 46.54 89.2295c0 0 -26.8701 29.3408 -64.2803 67.96c2.98047 15.4502 9.49023 32.1201 30.5703 53.8203c89.2002 -63.5098 92 -141.61 92.46 -149.36
+c4.27051 -70.5791 -78.6602 -91.1191 -105.29 -61.6494z" />
+ <glyph glyph-name="old-republic" unicode="&#xf510;" horiz-adv-x="496"
+d="M235.76 437.77c7.5 0.310547 15 0.280273 22.5 0.0908203c3.61035 -0.140625 7.2002 -0.400391 10.79 -0.730469c4.91992 -0.269531 9.79004 -1.03027 14.6699 -1.62012c2.93066 -0.429688 5.83008 -0.979492 8.75 -1.45996
+c7.90039 -1.33008 15.6699 -3.28027 23.3906 -5.39941c12.2393 -3.4707 24.1895 -7.91992 35.7598 -13.21c26.5596 -12.2402 50.9395 -29.21 71.6299 -49.8809c20.0303 -20.0898 36.7197 -43.5498 48.8896 -69.1895c1.12988 -2.58984 2.44043 -5.10059 3.4707 -7.74023
+c2.80957 -6.42969 5.38965 -12.9697 7.58008 -19.6299c4.13965 -12.3301 7.33984 -24.9902 9.41992 -37.8301c0.569336 -3.13965 1.04004 -6.2998 1.39941 -9.46973c0.549805 -3.83008 0.94043 -7.69043 1.18066 -11.5605
+c0.829102 -8.33984 0.839844 -16.7295 0.769531 -25.0996c-0.0703125 -4.96973 -0.259766 -9.94043 -0.75 -14.8896c-0.240234 -3.38086 -0.509766 -6.76074 -0.979492 -10.1201c-0.390625 -2.7207 -0.630859 -5.45996 -1.11035 -8.16992
+c-0.900391 -5.15039 -1.7002 -10.3105 -2.87012 -15.4102c-4.09961 -18.5 -10.2998 -36.5498 -18.5098 -53.6299c-15.7705 -32.8301 -38.8301 -62.1699 -67.1201 -85.1201c-14.3926 -11.7676 -39.8887 -27.3848 -56.9102 -34.8604
+c-6.20996 -2.67969 -12.46 -5.25 -18.8701 -7.41016c-3.50977 -1.16016 -7.00977 -2.37988 -10.5703 -3.38965c-6.61914 -1.87988 -13.2891 -3.63965 -20.0391 -5c-4.66016 -0.910156 -9.34082 -1.73047 -14.0303 -2.48047c-5.25 -0.65918 -10.5 -1.43945 -15.79 -1.73926
+c-6.69043 -0.660156 -13.4102 -0.839844 -20.1201 -0.810547c-6.82031 -0.0292969 -13.6504 0.120117 -20.4502 0.790039c-3.29004 0.230469 -6.57031 0.5 -9.83008 0.950195c-2.71973 0.389648 -5.45996 0.629883 -8.16992 1.11035
+c-4.12012 0.719727 -8.25 1.37012 -12.3496 2.21973c-4.25 0.939453 -8.49023 1.88965 -12.6904 3.01953c-8.62988 2.16992 -17.0801 5.01074 -25.4102 8.13086c-10.4893 4.11914 -20.79 8.75 -30.6396 14.25c-2.13965 1.14941 -4.28027 2.28906 -6.34961 3.56934
+c-11.2207 6.58008 -21.8604 14.1006 -31.9199 22.3398c-34.6807 28.4102 -61.4102 66.4307 -76.3506 108.7c-3.08984 8.74023 -5.70996 17.6504 -7.7998 26.6797c-1.48047 6.16016 -2.52051 12.4209 -3.58008 18.6602
+c-0.400391 2.35059 -0.610352 4.73047 -0.950195 7.08984c-0.599609 3.96094 -0.75 7.96094 -1.16992 11.9404c-0.799805 9.46973 -0.709961 18.9902 -0.509766 28.4902c0.139648 3.50977 0.339844 7.00977 0.700195 10.5098
+c0.30957 3.16992 0.459961 6.37012 0.919922 9.52051c0.410156 2.80957 0.649414 5.64941 1.16016 8.43945c0.699219 3.94043 1.2998 7.90039 2.11914 11.8203c3.43066 16.5195 8.4707 32.7295 15.2607 48.1797c1.14941 2.91992 2.58984 5.71973 3.85938 8.58984
+c8.05078 16.71 17.9004 32.5605 29.4902 47.0605c20 25.3799 45.1006 46.6797 73.2705 62.4697c7.5 4.15039 15.1592 8.0498 23.0693 11.3701c15.8203 6.87988 32.4102 11.9502 49.3105 15.3799c3.50977 0.669922 7.04004 1.24023 10.5596 1.84961
+c2.62012 0.470703 5.28027 0.700195 7.91016 1.08008c3.53027 0.530273 7.09961 0.680664 10.6504 1.04004c2.45996 0.240234 4.90918 0.360352 7.35938 0.509766zM244.4 413.36c-9.23047 -0.100586 -18.4307 -0.990234 -27.5703 -2.23047
+c-7.2998 -1.08008 -14.5303 -2.59961 -21.71 -4.2998c-13.9102 -3.5 -27.4805 -8.33984 -40.46 -14.4199c-10.46 -4.99023 -20.5898 -10.7002 -30.1797 -17.2197c-4.18066 -2.9209 -8.40039 -5.80078 -12.3408 -9.03027
+c-5.08008 -3.96973 -9.97949 -8.16992 -14.6797 -12.5898c-2.50977 -2.24023 -4.80957 -4.7002 -7.21973 -7.06055c-28.2207 -28.79 -48.4404 -65.3896 -57.5 -104.689c-2.04004 -8.44043 -3.54004 -17.0205 -4.44043 -25.6504
+c-1.09961 -8.88965 -1.43945 -17.8496 -1.41016 -26.7998c0.110352 -7.13965 0.379883 -14.2803 1.2207 -21.3701c0.620117 -7.12012 1.87012 -14.1602 3.19922 -21.1797c1.07031 -4.65039 2.03027 -9.32031 3.33008 -13.9102
+c6.29004 -23.3799 16.5 -45.7002 30.0703 -65.75c8.63965 -12.9805 18.7803 -24.9297 29.9805 -35.7705c16.2793 -15.8193 35.0498 -29.04 55.3398 -39.2197c7.2793 -3.51953 14.6602 -6.87012 22.2695 -9.62988c5.04004 -1.75977 10.0605 -3.57031 15.2197 -4.98047
+c11.2607 -3.22949 22.7705 -5.59961 34.3906 -7.05957c2.91016 -0.290039 5.80957 -0.610352 8.71973 -0.900391c13.8203 -1.08008 27.7402 -1 41.54 0.430664c4.4502 0.599609 8.91992 0.989258 13.3496 1.7793c3.63086 0.670898 7.28027 1.25 10.8701 2.10059
+c4.12988 0.979492 8.28027 1.91016 12.3604 3.07031c26.5 7.33984 51.5801 19.71 73.5801 36.1992c15.7803 11.8203 29.96 25.7607 42.1201 41.2803c3.25977 4.02051 6.16992 8.30957 9.12988 12.5498c3.38965 5.06055 6.58008 10.25 9.59961 15.54
+c2.40039 4.44043 4.74023 8.91016 6.9502 13.4502c5.69043 12.0498 10.2803 24.6201 13.75 37.4902c2.58984 10.0098 4.75 20.1602 5.90039 30.4502c1.76953 13.4697 1.93945 27.0996 1.29004 40.6494c-0.290039 3.89062 -0.669922 7.77051 -1 11.6602
+c-2.23047 19.0801 -6.79004 37.9102 -13.8203 55.7998c-5.9502 15.1299 -13.5303 29.6299 -22.6104 43.1299c-12.6895 18.8008 -28.2393 35.6807 -45.9697 49.8301c-25.0498 20 -54.4697 34.5498 -85.6504 42.0801c-7.7793 1.92969 -15.6895 3.33984 -23.6299 4.4502
+c-3.90918 0.589844 -7.84961 0.820312 -11.7695 1.24023c-7.38965 0.569336 -14.8105 0.719727 -22.2197 0.580078zM139.26 364.47c13.2998 8.89062 28.0801 15.3799 43.2998 20.1807c-3.16992 -1.77051 -6.43945 -3.38086 -9.5293 -5.29004
+c-11.21 -6.68066 -21.5205 -14.9004 -30.3799 -24.4902c-6.80078 -7.42969 -12.7607 -15.7305 -17.0107 -24.8896c-3.29004 -6.86035 -5.63965 -14.1904 -6.85938 -21.7109c-0.930664 -4.84961 -1.2998 -9.80957 -1.16992 -14.75
+c0.129883 -13.6592 4.43945 -27.0791 11.29 -38.8193c5.91992 -10.2197 13.6299 -19.3301 22.3594 -27.2598c4.85059 -4.36035 10.2402 -8.09082 14.9502 -12.6006c2.25977 -2.18945 4.49023 -4.41992 6.42969 -6.91016c2.62012 -3.30957 4.89062 -6.98926 5.99023 -11.0996
+c0.900391 -3.02051 0.660156 -6.2002 0.69043 -9.31055c0.0195312 -4.09961 -0.0400391 -8.19922 0.0292969 -12.2998c0.140625 -3.54004 -0.0195312 -7.08984 0.110352 -10.6299c0.0800781 -2.37988 0.0205078 -4.75977 0.0498047 -7.13965
+c0.160156 -5.77051 0.0605469 -11.5303 0.150391 -17.2998c0.109375 -2.91016 0.0195312 -5.82031 0.129883 -8.74023c0.0302734 -1.62988 0.129883 -3.28027 -0.0302734 -4.91016c-0.910156 -0.120117 -1.81934 -0.179688 -2.72949 -0.160156
+c-10.9902 0 -21.8799 2.62988 -31.9502 6.92969c-6 2.7002 -11.8105 5.89062 -17.0898 9.83008c-5.75 4.19043 -11.0898 8.95996 -15.79 14.3105c-6.53027 7.24023 -11.9805 15.3896 -16.6201 23.9502c-1.07031 2.0293 -2.24023 4.01953 -3.17969 6.12012
+c-1.16016 2.63965 -2.62012 5.13965 -3.66992 7.81934c-4.05078 9.68066 -6.57031 19.9404 -8.08008 30.3105c-0.490234 4.43945 -1.09082 8.87988 -1.2002 13.3496c-0.700195 15.7305 0.839844 31.5498 4.66992 46.8203c2.12012 8.14941 4.76953 16.1797 8.30957 23.8301
+c6.32031 14.1992 15.3398 27.1797 26.3008 38.1895c6.2793 6.2002 13.1299 11.8398 20.5293 16.6699zM314.63 384.59c2.74023 -0.740234 5.41016 -1.74023 8.08984 -2.67969c6.36035 -2.33008 12.6807 -4.83984 18.71 -7.95996
+c13.1104 -6.44043 25.3105 -14.8105 35.8203 -24.9697c10.2002 -9.9502 18.7402 -21.6006 25.1396 -34.3408c1.28027 -2.75 2.64062 -5.45996 3.81055 -8.25977c6.30957 -15.0996 10 -31.2598 11.2295 -47.5703c0.410156 -4.54004 0.44043 -9.08984 0.450195 -13.6396
+c0.0703125 -11.6396 -1.49023 -23.25 -4.2998 -34.5303c-1.96973 -7.26953 -4.34961 -14.4893 -7.86035 -21.1797c-3.17969 -6.63965 -6.67969 -13.1602 -10.8398 -19.2402c-6.93945 -10.4697 -15.5996 -19.8701 -25.8203 -27.2197
+c-10.4795 -7.63965 -22.6396 -13.0195 -35.3994 -15.3799c-3.50977 -0.69043 -7.08008 -1.08008 -10.6602 -1.20996c-1.84961 -0.0605469 -3.71973 -0.160156 -5.55957 0.0996094c-0.280273 2.15039 0 4.31055 -0.0107422 6.45996
+c-0.0292969 3.73047 0.140625 7.4502 0.100586 11.1699c0.189453 7.02051 0.0195312 14.0508 0.209961 21.0703c0.0292969 2.37988 -0.0302734 4.75977 0.0292969 7.13965c0.170898 5.07031 -0.0390625 10.1406 0.140625 15.21
+c0.0996094 2.99023 -0.240234 6.04004 0.509766 8.95996c0.660156 2.5 1.78027 4.86035 3.08984 7.08008c4.45996 7.31055 11.0605 12.96 17.6807 18.2607c5.37988 4.17969 10.4697 8.76953 15.0195 13.8398c7.67969 8.37012 14.1699 17.8799 18.7803 28.2695
+c2.5 5.93066 4.51953 12.1006 5.5498 18.46c0.860352 4.37012 1.05957 8.83008 1.00977 13.2705c-0.0195312 7.84961 -1.39941 15.6494 -3.63965 23.1699c-1.75 5.72949 -4.27051 11.1797 -7.08984 16.4502c-3.87012 6.92969 -8.65039 13.3096 -13.96 19.1992
+c-9.94043 10.8506 -21.75 19.9404 -34.6006 27.1006c-1.84961 1.01953 -3.83984 1.82031 -5.62988 2.96973zM213.83 326.14c0.979492 1.18066 1.99023 2.33008 3.12012 3.37988c-0.610352 -0.929688 -1.27051 -1.80957 -1.9502 -2.67969
+c-3.09961 -3.87988 -5.54004 -8.30957 -7.03027 -13.0596c-0.870117 -3.27051 -1.67969 -6.60059 -1.72949 -10c-0.0703125 -2.52051 -0.0800781 -5.07031 0.319336 -7.57031c1.13086 -7.62988 4.33008 -14.8496 8.77051 -21.1201c2 -2.7002 4.25 -5.26953 6.91992 -7.33008
+c1.62012 -1.26953 3.53027 -2.08984 5.33984 -3.0498c3.11035 -1.67969 6.32031 -3.22949 9.07031 -5.47949c2.66992 -2.09082 4.5498 -5.33008 4.39941 -8.79004c-0.00976562 -73.6709 0 -147.341 -0.00976562 -221.021c0 -1.34961 -0.0800781 -2.7002 0.0400391 -4.04004
+c0.129883 -1.47949 0.820312 -2.83008 1.46973 -4.14941c0.860352 -1.66016 1.78027 -3.34082 3.18066 -4.62012c0.849609 -0.770508 1.96973 -1.40039 3.14941 -1.24023c1.5 0.200195 2.66016 1.34961 3.4502 2.57031c0.959961 1.50977 1.67969 3.15918 2.28027 4.84961
+c0.759766 2.12988 0.439453 4.41992 0.540039 6.62988c0.139648 4.03027 -0.0205078 8.06055 0.139648 12.0898c0.0302734 5.89062 0.0302734 11.7705 0.0605469 17.6602c0.139648 3.62012 0.0292969 7.24023 0.109375 10.8604
+c0.150391 4.0293 -0.0195312 8.05957 0.140625 12.0898c0.0292969 5.99023 0.0292969 11.9795 0.0693359 17.9697c0.140625 3.62012 0.0205078 7.24023 0.110352 10.8604c0.139648 3.92969 -0.0205078 7.85938 0.139648 11.7803
+c0.0302734 5.98926 0.0302734 11.9795 0.0605469 17.9697c0.160156 3.93945 -0.00976562 7.87988 0.189453 11.8193c0.290039 -1.43945 0.129883 -2.91992 0.220703 -4.37988c0.189453 -3.60938 0.419922 -7.22949 0.759766 -10.8398
+c0.320312 -3.43945 0.439453 -6.88965 0.859375 -10.3193c0.370117 -3.10059 0.510742 -6.2207 0.950195 -9.31055c0.570312 -4.08984 0.870117 -8.20996 1.54004 -12.29c1.45996 -9.04004 2.83008 -18.1104 5.08984 -26.9902c1.13086 -4.81934 2.40039 -9.60938 4 -14.2998
+c2.54004 -7.89941 5.7207 -15.6699 10.3105 -22.6201c1.72949 -2.63965 3.87012 -4.97949 6.09961 -7.20996c0.270508 -0.25 0.549805 -0.509766 0.879883 -0.709961c0.600586 -0.25 1.31055 0.0703125 1.7002 0.570312c0.709961 0.879883 1.16992 1.93945 1.7002 2.92969
+c4.0498 7.7998 8.17969 15.5605 12.3398 23.3105c0.700195 1.30957 1.44043 2.62012 2.56055 3.60938c1.75 1.57031 3.83984 2.69043 5.97949 3.62988c2.87988 1.2207 5.90039 2.19043 9.03027 2.41992c6.58008 0.620117 13.1094 -0.75 19.5596 -1.84961
+c3.69043 -0.580078 7.40039 -1.16992 11.1299 -1.41016c3.74023 -0.0996094 7.48047 -0.0498047 11.21 0.280273c8.55078 0.919922 16.9902 2.95996 24.9404 6.25c5.2998 2.24023 10.46 4.83008 15.3096 7.92969c11.46 7.20996 21.46 16.5703 30.04 27.0107
+c1.16992 1.41992 2.25 2.89941 3.45996 4.2793c-1.19922 -3.24023 -2.66992 -6.37012 -4.15918 -9.47949c-1.25 -2.90039 -2.84082 -5.61035 -4.27051 -8.41992c-5.16016 -9.62988 -11.0195 -18.9102 -17.75 -27.5205
+c-4.03027 -5.20996 -8.53027 -10.0498 -13.3301 -14.5703c-6.63965 -6.0498 -14.0703 -11.3691 -22.4297 -14.7598c-8.20996 -3.37012 -17.3105 -4.62988 -26.0898 -3.29004c-3.56055 0.580078 -7.01074 1.69043 -10.4102 2.87988
+c-2.79004 0.970703 -5.39062 2.38086 -8.03027 3.69043c-3.42969 1.70996 -6.63965 3.80957 -9.70996 6.08008c2.70996 -3.06055 5.69043 -5.86035 8.7002 -8.61035c4.26953 -3.75977 8.74023 -7.30957 13.6299 -10.2295c3.98047 -2.4502 8.29004 -4.40039 12.8398 -5.51074
+c1.45996 -0.369141 2.95996 -0.459961 4.4502 -0.599609c-1.25 -1.09961 -2.62988 -2.04004 -3.99023 -2.97949c-9.60938 -6.54004 -20.0098 -11.8604 -30.6895 -16.4307c-20.8604 -8.7002 -43.1699 -13.9697 -65.7402 -15.3398
+c-4.66016 -0.240234 -9.32031 -0.360352 -13.9805 -0.360352c-4.97949 0.110352 -9.96973 0.130859 -14.9199 0.650391c-11.2002 0.759766 -22.29 2.73047 -33.1699 5.42969c-10.3496 2.70996 -20.5498 6.12012 -30.2998 10.5508
+c-8.70996 3.85938 -17.1201 8.41992 -24.9902 13.79c-1.83008 1.30957 -3.74023 2.5293 -5.37012 4.0791c6.60059 1.19043 13.0303 3.39062 18.9902 6.48047c5.74023 2.86035 10.9902 6.66016 15.6299 11.0703c2.24023 2.18945 4.29004 4.58984 6.19043 7.08984
+c-3.43066 -2.12988 -6.93066 -4.15039 -10.6201 -5.78027c-4.41016 -2.16016 -9.07031 -3.76953 -13.8105 -5.01953c-5.72949 -1.52051 -11.7393 -1.73047 -17.6094 -1.14062c-8.12988 0.950195 -15.8604 4.27051 -22.5098 8.98047
+c-4.32031 2.93945 -8.2207 6.42969 -11.96 10.0596c-9.93066 10.1602 -18.2002 21.8105 -25.6602 33.8604c-3.94043 6.26953 -7.53027 12.75 -11.1201 19.2197c-1.0498 2.04004 -2.15039 4.0498 -3.17969 6.10059c2.84961 -2.9209 5.56934 -5.9707 8.42969 -8.88086
+c8.99023 -8.96973 18.5596 -17.4395 29.1602 -24.4795c7.5498 -4.90039 15.6699 -9.23047 24.5596 -11.0303c3.11035 -0.729492 6.32031 -0.469727 9.46973 -0.80957c2.77051 -0.280273 5.56055 -0.200195 8.34082 -0.299805
+c5.0498 -0.0605469 10.1094 -0.0400391 15.1592 0.15918c3.65039 0.160156 7.27051 0.660156 10.8906 1.09082c2.06934 0.25 4.10938 0.709961 6.13965 1.19922c3.87988 0.950195 8.11035 0.959961 11.8301 -0.609375c4.75977 -1.85059 8.44043 -5.64062 11.3799 -9.70996
+c2.16016 -3.02051 4.06055 -6.2207 5.66016 -9.58008c1.16016 -2.43066 2.45996 -4.79004 3.5498 -7.26074c1 -2.23926 2.15039 -4.41992 3.41992 -6.51953c0.669922 -1.01953 1.40039 -2.15039 2.62012 -2.5498c1.06055 0.75 1.70996 1.91016 2.28027 3.03027
+c2.09961 4.15918 3.41992 8.64941 4.88965 13.0498c2.02051 6.58984 3.78027 13.2695 5.19043 20.0195c2.20996 9.25 3.25 18.7197 4.54004 28.1299c0.55957 3.98047 0.830078 7.99023 1.30957 11.9707c0.870117 10.6396 1.90039 21.2695 2.24023 31.9395
+c0.0800781 1.86035 0.240234 3.70996 0.25 5.57031c0.00976562 4.34961 0.25 8.68945 0.219727 13.0303c-0.00976562 2.37988 -0.00976562 4.75977 0 7.12988c0.0498047 5.06934 -0.200195 10.1396 -0.219727 15.21c-0.200195 6.60938 -0.709961 13.2002 -1.29004 19.7793
+c-0.730469 5.88086 -1.5498 11.7803 -3.12012 17.5107c-2.0498 7.75 -5.58984 15.0293 -9.7998 21.8193c-3.16016 5.07031 -6.79004 9.87988 -11.0898 14.0303c-3.87988 3.86035 -8.58008 7.08008 -13.9404 8.4502c-1.5 0.410156 -3.05957 0.450195 -4.58984 0.639648
+c0.0703125 2.99023 0.700195 5.93066 1.25977 8.85059c1.58984 7.70996 3.7998 15.2998 6.76074 22.5996c1.51953 4.03027 3.40918 7.90039 5.38965 11.7197c3.4502 6.56055 7.62012 12.79 12.46 18.46zM245.1 324.44
+c0.350586 0.0595703 0.709961 0.119141 1.07031 0.189453c0.19043 -1.79004 0.0898438 -3.58008 0.0996094 -5.37012v-38.1299c-0.00976562 -1.74023 0.130859 -3.49023 -0.149414 -5.21973c-0.360352 0.0302734 -0.709961 0.0498047 -1.06055 0.0498047
+c-0.949219 3.75 -1.71973 7.5498 -2.61914 11.3096c-0.380859 1.53027 -0.580078 3.09082 -1.07031 4.59082c-1.7002 0.239258 -3.42969 0.169922 -5.15039 0.199219c-5.05957 0.0107422 -10.1299 0 -15.1895 0.0107422
+c-1.66016 0.00976562 -3.32031 -0.0898438 -4.98047 0.0292969c-0.0302734 0.390625 -0.259766 0.910156 0.160156 1.18066c1.28027 0.649414 2.71973 0.879883 4.05957 1.34961c3.43066 1.13965 6.88086 2.16016 10.3105 3.31055
+c1.38965 0.479492 2.90039 0.719727 4.16016 1.54004c0.0400391 0.55957 0.0195312 1.12988 -0.0498047 1.67969c-1.23047 0.549805 -2.53027 0.870117 -3.81055 1.28027c-3.12988 1.0293 -6.29004 1.95996 -9.41016 3.01953c-1.79004 0.620117 -3.66992 1 -5.41016 1.79004
+c-0.0292969 0.370117 -0.0693359 0.730469 -0.109375 1.08984c5.08984 0.19043 10.2002 -0.0595703 15.2998 0.120117c3.36035 0.129883 6.73047 -0.0800781 10.0898 0.0703125c0.120117 0.389648 0.259766 0.769531 0.370117 1.16016
+c1.08008 4.93945 2.33008 9.8291 3.38965 14.75zM251.07 324.64c0.359375 -0.0498047 0.719727 -0.120117 1.08008 -0.199219c0.979492 -3.85059 1.72949 -7.76074 2.70996 -11.6104c0.359375 -1.41992 0.55957 -2.87988 1.0293 -4.27051
+c2.53027 -0.179688 5.07031 0.0107422 7.61035 -0.0498047c5.16016 -0.120117 10.3301 -0.120117 15.4902 -0.0693359c0.759766 0.00976562 1.51953 -0.0302734 2.2793 -0.0800781c-0.0390625 -0.360352 -0.0693359 -0.720703 -0.0996094 -1.08008
+c-1.82031 -0.830078 -3.78027 -1.25 -5.66992 -1.89062c-3.73047 -1.22949 -7.48047 -2.38965 -11.2197 -3.56934c-0.570312 -0.169922 -1.12012 -0.419922 -1.66992 -0.640625c-0.150391 -0.549805 -0.180664 -1.12012 -0.120117 -1.68945
+c0.870117 -0.480469 1.81934 -0.810547 2.76953 -1.08984c4.87988 -1.52051 9.73047 -3.14062 14.6299 -4.60059c0.379883 -0.129883 0.780273 -0.269531 1.12988 -0.490234c0.400391 -0.269531 0.230469 -0.790039 0.150391 -1.17969
+c-1.66016 -0.129883 -3.30957 -0.0302734 -4.96973 -0.0400391c-5.16992 -0.00976562 -10.3301 0.00976562 -15.5 -0.00976562c-1.61035 -0.0302734 -3.21973 0.0195312 -4.82031 -0.209961c-0.519531 -1.66992 -0.719727 -3.41992 -1.16992 -5.11035
+c-0.94043 -3.56934 -1.51953 -7.24023 -2.54004 -10.7793c-0.360352 -0.0107422 -0.709961 -0.0205078 -1.05957 -0.0605469c-0.290039 1.73047 -0.150391 3.48047 -0.150391 5.21973v38.1299c0.0205078 1.78027 -0.0800781 3.58008 0.110352 5.37012zM65.0498 279.67
+c1.12012 2.15039 2.08008 4.40039 3.37012 6.45996c-1.82031 -7.55957 -2.91016 -15.2695 -3.62012 -23c-0.799805 -7.70996 -0.849609 -15.4902 -0.540039 -23.2295c1.0498 -19.9404 5.54004 -39.8301 14.2305 -57.8809c2.99023 -5.98926 6.34961 -11.8291 10.5 -17.1094
+c6.12012 -7.46973 12.5293 -14.7598 19.8398 -21.0898c4.7998 -4.10059 9.99023 -7.78027 15.54 -10.8008c3.26953 -1.64941 6.50977 -3.38965 9.93945 -4.67969c5.01074 -2.03027 10.1904 -3.60938 15.4209 -4.93945c3.8291 -0.959961 7.7793 -1.41016 11.5195 -2.70996
+c5 -1.57031 9.46973 -4.61035 13.0303 -8.43066c4.92969 -5.22949 8.08984 -11.8701 10.2002 -18.6699c0.989258 -2.89941 1.58984 -5.91016 2.16992 -8.91992c0.149414 -0.75 0.219727 -1.51953 0.15918 -2.29004c-6.5 -2.78027 -13.2598 -5.05957 -20.2598 -6.17969
+c-4.10938 -0.780273 -8.29004 -0.990234 -12.46 -1.08008c-10.25 -0.240234 -20.4697 1.75977 -30.1201 5.12012c-3.73926 1.41992 -7.48926 2.84961 -11.0293 4.71973c-8.06055 3.83984 -15.6406 8.7002 -22.46 14.46c-2.9209 2.5498 -5.83008 5.12988 -8.40039 8.03027
+c-9.16016 9.83008 -16.2998 21.4102 -21.79 33.6494c-2.38965 5.55078 -4.61035 11.1807 -6.37012 16.96c-1.16992 3.94043 -2.36035 7.89062 -3.25977 11.9102c-0.75 2.94043 -1.21973 5.9502 -1.87012 8.91992c-0.459961 2.14062 -0.69043 4.32031 -1.03027 6.48047
+c-0.849609 5.42969 -1.2793 10.9297 -1.33008 16.4297c0.110352 6.18066 0.25 12.3701 1.07031 18.5c0.400391 2.86035 0.669922 5.74023 1.15039 8.60059c0.979492 5.69922 2.13965 11.3691 3.70996 16.9297c3.08984 11.6504 7.47949 22.9502 12.6895 33.8398z
+M428.78 286.11c1.09961 -1.66016 1.91016 -3.48047 2.7793 -5.26074c2.10059 -4.44922 4.24023 -8.89941 6.02051 -13.4893c7.61035 -18.7607 12.2998 -38.79 13.04 -59.0508c0.0195312 -1.75977 0.0703125 -3.51953 0.110352 -5.29004
+c0.129883 -9.56934 -1.27051 -19.0898 -3.18066 -28.4492c-0.729492 -3.58984 -1.54004 -7.16992 -2.58008 -10.6904c-4.04004 -14.7197 -10 -29 -18.4102 -41.7803c-8.20996 -12.5693 -19.0098 -23.5498 -31.8398 -31.4092
+c-5.72949 -3.59082 -11.79 -6.64062 -18.0498 -9.19043c-5.78027 -2.19043 -11.71 -4.03027 -17.7998 -5.11035c-6.40039 -1.0498 -12.9102 -1.51953 -19.4004 -1.22949c-7.91992 0.479492 -15.7793 2.07031 -23.21 4.84961
+c-1.93945 0.799805 -3.93945 1.45996 -5.83984 2.33008c-0.209961 1.50977 0.25 2.99023 0.530273 4.45996c1.16016 5.74023 3.03027 11.3604 5.7002 16.5801c2.36914 4.50977 5.51953 8.65039 9.45996 11.9004c2.42969 2.0498 5.23926 3.60938 8.15918 4.83008
+c3.58008 1.5 7.4707 1.96973 11.2402 2.83008c7.23047 1.70996 14.3701 3.92969 21.1504 7c10.3496 4.64941 19.71 11.3799 27.6494 19.46c1.59082 1.60938 3.23047 3.17969 4.74023 4.86914c3.37012 3.76074 6.70996 7.57031 9.85059 11.5303
+c7.47949 10.0703 12.8193 21.5898 16.71 33.4805c1.58008 5.2998 3.20996 10.5996 4.20996 16.0498c0.629883 2.87012 1.04004 5.78027 1.51953 8.67969c0.870117 6.08984 1.58984 12.2207 1.67969 18.3799c0.120117 6.65039 0.140625 13.3203 -0.529297 19.9404
+c-0.730469 7.99023 -1.87012 15.96 -3.70996 23.7803z" />
+ <glyph glyph-name="phoenix-squadron" unicode="&#xf511;" horiz-adv-x="513"
+d="M96.2402 385.19c46.6699 36.2393 105.91 56.2393 165.04 54.7295c29.6699 0.379883 59.29 -5.37988 87.1699 -15.3701c-24.2002 4.64062 -49.1807 6.35059 -73.6006 2.4502c-43 -5.34961 -83.2598 -27.2305 -112.159 -59.3496
+c5.68945 0.989258 10.8096 3.67969 16.0693 5.87988c18.1904 7.88965 37.6006 13.29 57.4004 14.8701c19.7998 2.13965 39.75 0.429688 59.4502 -1.93066c-14.46 -2.79004 -29.2002 -4.58008 -43.1104 -9.60938c-34.5303 -11.1104 -65.46 -33.2607 -86.5498 -62.8203
+c-13.8398 -19.7705 -23.7002 -42.9902 -24.7402 -67.3301c-0.349609 -16.54 5.23047 -34.9102 19.8896 -44.1699c11.1309 -6.66016 24.8506 -9.38965 37.6309 -6.75977c15.4893 2.46973 30.1592 8.66992 43.7295 16.3799c11.5498 6.83984 22.7305 14.5898 32.0498 24.3203
+c3.7998 3.22949 2.54004 8.47949 2.62988 12.8291c-2.12988 0.34082 -4.39941 1.11035 -6.31934 -0.299805c-9.50684 -5.21094 -25.6035 -12.1191 -35.9307 -15.4199c-20.0693 -6.18945 -42.2793 -8.47949 -62.2793 -0.780273
+c12.8301 -1.72949 26.1396 -0.30957 37.8496 5.45996c20.29 9.75 36.9199 25.2705 54.5996 38.8809c27.8408 21.29 57.6406 40.1094 89.1709 55.4697c25.7793 12.0098 53.0898 22.8496 81.8096 24.2002c-15.6797 -13.7607 -32.25 -26.6006 -46.9199 -41.5107
+c-14.5498 -14.04 -27.54 -29.5791 -40.2305 -45.3096c-3.5293 -4.61035 -8.97949 -6.95996 -13.6201 -10.1904c-22.2393 -15.0293 -40.5996 -35.96 -52.0391 -60.2793c-9.36035 -19.7402 -14.5508 -41.9707 -11.8105 -63.8398
+c1.9502 -13.7305 8.74023 -27.6709 20.96 -35.0107c12.9404 -7.98926 29.1396 -8.08984 43.6104 -5.10938c32.8994 7.46973 61.6094 28.9697 81.2793 56c20.5 27.5996 30.6104 62.3799 29.25 96.6396c-0.519531 7.52051 -1.5791 15 -1.66992 22.5498
+c8.02051 -19.54 14.8701 -39.8301 16.7002 -61.0098c2.00977 -14.3203 0.75 -28.8398 -1.62012 -43.0195c-1.91992 -11.0205 -5.68945 -21.5801 -7.80957 -32.5303c20.3604 22.7295 34.1699 51.2402 39.46 81.3096c5.71973 35.3701 0.580078 72.3604 -14.25 104.95
+c20.8398 -32.1201 32.4297 -69.79 35.8096 -107.8c0.5 -12.7705 0.5 -25.5801 0 -38.3398c-2.90918 -34.2607 -12.9697 -67.9502 -29.7598 -98c-26.2002 -47.4805 -68.2002 -85.8906 -117.54 -108.32c-78.5195 -36.3398 -175.2 -31.4102 -248.72 14.7197
+c-38.8398 23.7803 -71.0605 58.3203 -91.6797 98.96c-14.7207 28.8906 -23.4004 60.8203 -25.4404 93.1904v31.4297c3.94043 69.9697 40.9902 136.32 96.2402 178.891zM318.89 304.62c5.51074 0.799805 10.8203 2.57031 16.0205 4.5
+c4.99023 1.76953 9.26953 5.9502 10.3496 11.25c-8.91016 -5 -17.9502 -9.9502 -26.3701 -15.75z" />
+ <glyph glyph-name="sith" unicode="&#xf512;"
+d="M0 416l118.75 -69.71l-11.5195 58.9004l91.0596 -69.8701c8.5 1.50977 17.0996 2.29004 25.71 2.29004s17.21 -0.770508 25.71 -2.29004l91.0596 69.8701l-11.5195 -58.9004l118.75 69.71l-69.71 -118.75l58.8604 11.5195l-69.8408 -91.0293
+c3.04004 -17.0098 3.03027 -34.4404 0 -51.4502l69.8408 -91.0303l-58.8604 11.5205l69.71 -118.78l-118.75 69.71l11.5195 -58.8604l-91.0293 69.8408c-17.0098 -3.04004 -34.46 -3.04004 -51.4805 0l-91.0293 -69.8408l11.5195 58.8604l-118.75 -69.71l69.71 118.78
+l-58.8604 -11.5205l69.8408 91.0303c-1.25488 7.04492 -2.27246 18.5693 -2.27246 25.7246c0 7.15625 1.01758 18.6807 2.27246 25.7256l-69.8408 91.0293l58.8604 -11.5195zM224 316.22c-31.7998 0 -63.6104 -12.0898 -87.8496 -36.3398
+c-48.4902 -48.4902 -48.5 -127.2 0 -175.7c48.5 -48.4893 127.21 -48.5195 175.699 -0.0292969c48.4902 48.4893 48.5 127.199 0 175.699c-24.25 24.25 -56.0498 36.3701 -87.8496 36.3701zM224 279.56c22.4199 0 44.8301 -8.51953 61.9199 -25.6094
+c34.1904 -34.1904 34.1797 -89.6904 0 -123.87c-34.1895 -34.1797 -89.6504 -34.1904 -123.84 0c-34.1904 34.1895 -34.1797 89.6895 0 123.87c17.0898 17.0898 39.5 25.6094 61.9199 25.6094z" />
+ <glyph glyph-name="trade-federation" unicode="&#xf513;" horiz-adv-x="496"
+d="M248 439.2c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -43.5996c129.7 0 234.8 105.1 234.8 234.8s-105.1 234.8 -234.8 234.8s-234.8 -105.1 -234.8 -234.8s105.1 -234.8 234.8 -234.8zM403.1 284.9v-0.100586h-145.699
+v-34.7998h83.2998v-47h-83.2998v-195.8h-48.8008v196.8h-117.699l-36.7002 46h155.1v81.7002h193.8v-46.7998zM329.8 239.8h-82.8994v56.2002h145v24.4004h-171.801v-80.6006h-143.899l20.0996 -23.8994h123.8v-197.4h26.8008v197.4h82.8994v23.8994zM168.5 308.8l22 9.2998
+l-15.7998 -18.0996l15.7002 -18.0996l-22.2002 9.5l-12.2998 -20.5l2.09961 24l-23.2998 5.39941l23.5 5.40039l-2.10059 23.7998zM138.9 328.5l9.5 -10.2002l-13.8008 5.2998l-6.7998 -12.1992l0.799805 14.6992l-13.6992 2.7002l14.2998 3.7998l-1.7002 13.9004
+l8 -12.4004l12.7002 5.90039zM304.3 183.3l-9.2998 -10.7998l9.40039 -10.7002l-13.1006 5.5l-7.2998 -12.2002l1.2002 14.2002l-13.9004 3.2002l13.9004 3.2002l-1.2998 14.2002l7.2998 -12.2002zM411.2 260.5l-15 -17.5996l15.0996 -17l-21.2002 8.7998l-11.5 -19.6006
+l1.80078 22.9004l-22.2002 4.90039l22.2998 5.39941l-2.2002 22.7002l12 -19.5996zM248 418.1c125.3 0 226.9 -101.6 226.9 -226.899s-101.601 -226.9 -226.9 -226.9s-226.9 101.601 -226.9 226.9s101.601 226.899 226.9 226.899zM342.6 252h-83.1992v30.9004h145.699
+v50.6992h-197.8v-81.5996h-157.399l40 -49.9004h116.699v-196.8h52.7002v195.7h83.2998v51zM248 404.8c-94.5996 0 -174.9 -61.5996 -202.9 -146.8h157.4v81.5996h199.1c-38.7998 40.2002 -93.2998 65.2002 -153.6 65.2002zM248 -22.2998c117.9 0 213.5 95.5996 213.4 213.5
+c0 51.8994 -18.5 99.5 -49.3008 136.5v-50.7998h-145.6v-19.2002h83.2002v-62.7002h-83.2998v-195.8h-64.6006v196.8h-114.7l-43.7998 56.2998c-5.7998 -19.2998 -8.89941 -39.8994 -8.89941 -61.0996c0 -117.9 95.6992 -213.5 213.6 -213.5zM178.8 173l22.7002 9.2998
+l-16.9004 -17.0996l15.8008 -18.7998l-21.5 10.7998l-13 -20.9004l3.69922 23.7998l-23.7998 5.90039l23.7002 3.90039l-1.7002 24.5z" />
+ <glyph glyph-name="wolf-pack-battalion" unicode="&#xf514;" horiz-adv-x="456"
+d="M239.73 -23.5303l-11.4307 -21.0996l-11.4395 21.1104l-10.5605 -15.8408l-5.28027 12.3203l-5.2793 -7.04004v-29.9102c-21.0605 7.91992 -21.1104 66.8604 -25.5098 97.21c-4.62012 31.8799 0.879883 92.8105 -81.3701 149.11
+c8.87988 23.5996 12 49.4297 2.63965 80.0498c-27.8701 -3.33008 -53.9404 -10.5801 -63.3398 -54.0996l30.3496 -8.36035c-11.1494 -23.04 -17.0195 -46.7598 -13.2002 -72.1396l27.2705 7.04004l6.16016 -33.4307l18.4697 7.04004l8.7998 -33.4297l19.3398 7.0498
+l-26.3896 -21.1094l-8.7998 28.1494l-24.6299 -5.28027l-7.04004 35.6309l-26.3906 -14.5205c-0.25 20.0205 -6.95996 58.0605 8.80078 84.4502l-26.3906 -5.28027c-3.99023 22.0703 2.37988 39.21 7.91992 56.7402l-22.4297 -9.67969
+c0.44043 25.0693 29.9404 56.79 61.5898 58.5098c20.2197 1.08984 56.7305 25.1602 54.1006 51.8994c-1.95996 19.8701 -17.4502 42.6201 -43.1104 49.7002c43.9795 -36.5098 9.67969 -67.2998 -5.28027 -73.46c-4.39941 11.4404 -17.54 69.0801 0 130.2
+c40.4697 -22.8701 89.7305 -65.0996 93.25 -147.81l58.0605 -38.71l3.51953 -93.25l-107.33 59.8193l-7.04004 -7.04004l17.5898 -3.51953l43.9902 -38.71l15.8398 5.2793l28.1504 -49.2598l3.51953 -119.64l-21.1094 -15.8398l32.5498 -15.8398l32.5498 15.8398
+l-21.1094 15.8398l3.51953 119.64l28.1504 49.2598l15.8398 -5.2793l43.9902 38.71l17.5898 3.51953l-7.04004 7.04004l-107.33 -59.8193l3.51953 93.25l58.0605 38.71c3.51953 82.6895 52.7793 124.92 93.25 147.79c17.54 -61.1201 4.39941 -118.761 0 -130.2
+c-14.96 6.16016 -49.2705 36.9502 -5.28027 73.46c-25.6602 -7.08008 -41.1504 -29.8301 -43.1104 -49.7002c-2.63965 -26.7305 33.8799 -50.8096 54.1006 -51.9004c31.6396 -1.70996 61.1396 -33.4297 61.5801 -58.5l-22.4307 9.68066
+c5.54004 -17.5303 11.9102 -34.6699 7.91992 -56.7402l-26.3896 5.28027c15.7705 -26.3906 9.0498 -64.4307 8.7998 -84.4502l-26.3896 14.5195l-7.04004 -35.6299l-24.6299 5.28027l-8.7998 -28.1504l-26.3906 21.1104l19.3506 -7.04004l8.7998 33.4297l18.4697 -7.04004
+l6.16016 33.4307l27.2803 -7.05078c3.80957 25.3809 -2.0498 49.1006 -13.2002 72.1406l30.3496 8.35938c-9.39941 43.5205 -35.4697 50.7607 -63.3398 54.1006c-9.35938 -30.6201 -6.24023 -56.4404 2.64062 -80.0498c-82.25 -56.3008 -76.75 -117.221 -81.3701 -149.11
+c-4.40039 -30.3496 -4.4502 -89.29 -25.5107 -97.21v29.9102l-5.2793 7.04004l-5.28027 -12.3203zM318.9 71.4805l-15.8408 10.5596c7.4707 4.36035 13.7607 8.41992 19.3506 12.3203c-0.600586 -7.26074 -0.270508 -13.8799 -3.50977 -22.8799zM347.05 120.74
+c-0.399414 -10.9404 -0.899414 -21.6602 -1.75977 -31.6699c-7.84961 1.85938 -15.5703 3.7998 -21.1104 7.04004c8.24023 7.89941 15.5508 16.2695 22.8701 24.6299zM371.68 115.46l-23.75 6.16016c7.24023 9.08984 13.0898 18.1797 18.4707 27.2695
+c3.22949 -9.21973 5.25977 -20 5.2793 -33.4297zM375.2 196.4c19.4395 -12.8105 27.7998 -33.6602 29.9102 -56.3008c-12.3203 4.53027 -24.6299 9.31055 -36.9502 10.5605c5.05957 11.9902 6.64941 28.1396 7.04004 45.7402zM373.44 242.14
+c18.5293 -2.62988 35.1494 -9.19922 45.75 -28.1494c-14.21 -4.36035 -24.7705 -5.9707 -43.9902 -14.0801c0.0800781 13.4102 -0.950195 27.9297 -1.75977 42.2295zM137.68 71.4805c-3.23926 9 -2.91016 15.6191 -3.50977 22.8799
+c5.58984 -3.90039 11.8799 -7.95996 19.3496 -12.3203zM109.53 120.74c7.31934 -8.36035 14.6299 -16.7305 22.8701 -24.6299c-5.54004 -3.24023 -13.2607 -5.18066 -21.1104 -7.04004c-0.860352 10.0098 -1.36035 20.7295 -1.75977 31.6699zM84.8896 115.46
+c0.0205078 13.4297 2.05078 24.21 5.28027 33.4297c5.37988 -9.08984 11.2305 -18.1797 18.4697 -27.2695zM81.3701 196.4c0.389648 -17.6006 1.99023 -33.75 7.04004 -45.7402c-12.3203 -1.25 -24.6299 -6.03027 -36.9502 -10.5605
+c2.11035 22.6406 10.4697 43.4902 29.9102 56.3008zM83.1299 242.14c-0.80957 -14.2998 -1.83984 -28.8193 -1.75977 -42.2295c-19.2197 8.10938 -29.7803 9.71973 -43.9902 14.0801c10.6104 18.9502 27.2197 25.5195 45.75 28.1494z" />
+ <glyph glyph-name="hornbill" unicode="&#xf592;" horiz-adv-x="509"
+d="M75.3701 77.7002c2.13965 -15.8301 -5.77051 -31.9805 -20.9404 -39.29c-18.8496 -9.10059 -41.5498 -1.16992 -50.6797 17.6797c-9.08008 18.8301 -1.12988 41.5801 17.7002 50.6504c7.0498 3.39941 14.6299 4.41992 21.8496 3.37988
+c-78.2803 111.35 52 190.53 52 190.53c-5.85938 -43.04 -8.24023 -91.1602 -8.24023 -91.1602c-67.3096 -41.4502 0.920898 -64.0605 39.8105 -72.8701c19.7695 -53.6201 71.1797 -91.9404 131.66 -91.9404c1.91992 0 3.76953 0.209961 5.66992 0.280273l0.109375 -18.8604
+c-99.2197 -1.38965 -158.699 29.1406 -188.939 51.6006zM183.38 405.4c109.75 73.9697 187.59 -54.0508 187.59 -54.0605c-43.04 5.86035 -91.1797 8.24023 -91.1797 8.24023c-43.0996 70.0098 -65.8301 -6.54004 -73.8398 -44.29
+c-51.4805 -20.8301 -87.8506 -71.21 -87.8506 -130.16c0 -0.910156 0.120117 -1.78027 0.140625 -2.67969l-21.8398 -0.150391c-1.41016 100.46 29.8691 160.12 52.4199 190.03c-15.1602 -1.19043 -30.2002 6.75977 -37.1807 21.2295
+c-9.10938 18.8506 -1.16992 41.5801 17.6904 50.6807c18.8398 9.08984 41.5596 1.14941 50.6602 -17.6904c3.29004 -6.81934 4.2793 -14.1494 3.38965 -21.1494zM487.56 271.23c-6.23926 -3.01074 -12.8799 -4 -19.3096 -3.5c84.4902 -113.45 -48.96 -194.61 -48.96 -194.61
+c5.87012 43.0303 8.20996 91.1602 8.20996 91.1602c66.5996 40.96 0.639648 63.5195 -38.46 72.54c-20.5898 51.96 -71.1904 88.7598 -130.49 88.7598c-2.75 0 -5.43945 -0.259766 -8.13965 -0.410156l-0.140625 22.5c93.6104 1.31055 151.74 -25.7998 183.45 -47.7402
+c-2.31934 15.9502 5.60059 32.2705 20.8701 39.6406c18.8398 9.08008 41.5703 1.16016 50.6699 -17.6904c9.11035 -18.8398 1.14062 -41.5596 -17.7002 -50.6494zM373.05 11.7598c14.1904 0.0800781 27.8906 -7.72949 34.4502 -21.3496
+c9.08984 -18.8203 1.16016 -41.5498 -17.7002 -50.6504c-18.8398 -9.06934 -41.5801 -1.17969 -50.6396 17.71c-2.19043 4.52051 -3.33008 9.25 -3.64062 13.9707c-111.979 -80.3701 -191.899 50.9697 -191.899 50.9697c43.0703 -5.87988 91.1895 -8.21973 91.1895 -8.21973
+c41.3301 -67.1709 63.9209 0.540039 72.7705 39.4893c53.3398 19.9004 91.3896 71.1807 91.3896 131.45c0 2.08008 -0.219727 4.08984 -0.299805 6.15039l19.5205 0.139648c1.2793 -89.9697 -23.71 -147.2 -45.1406 -179.66z" />
+ <glyph glyph-name="mailchimp" unicode="&#xf59e;" horiz-adv-x="428"
+d="M222.7 374.8c-2.2002 -1.39941 -4.40039 -2.7998 -6.40039 -4.2002l-3.59961 12.6006zM100.9 133.6c3.5 -2.69922 12.7998 -4.69922 14.6992 -14.1992c1.90039 -10.8008 -6 -20.5 -15.5 -20.7002c-6.69922 -0.200195 -10.3994 4 -9.69922 4.89941
+c0.299805 0.400391 1.2998 0.200195 2.89941 0c8.5 -1.2998 13.7002 3.90039 14.9004 9.30078c0 0 0.299805 1.5 0.299805 2.5c0 0.899414 -0.0996094 1.7998 -0.200195 2.59961c-1 5.7002 -7.39941 6.7002 -11.5996 11.2002c-3.7998 4 -3 9.2002 -0.700195 11.7002
+c2.7998 2.7998 6.7998 1.7998 6.7998 0.799805c0 -0.5 -1 -0.900391 -2.2002 -1.7002c-1.59961 -1.09961 -1.7998 -2.2002 -1.39941 -4c0.299805 -1 0.700195 -1.59961 1.7002 -2.40039zM105.4 144c-3.2002 4.5 -10.4004 8.7998 -20.2002 6.59961
+c-1.7998 -0.399414 -0.799805 -0.199219 -2.60059 -0.699219c-0.299805 0 -0.5 -0.100586 -0.799805 -0.200195c-0.599609 -0.200195 -1.09961 -0.400391 -1.59961 -0.700195c-0.400391 -0.299805 -4 -1.90039 -7 -5.5c-4 -5 -5.40039 -11.5 -5.2002 -17.7002
+c0.200195 -6 2 -9.39941 2.2998 -10.2002c1.40039 -3 -1.89941 -3.59961 -4.7998 -0.399414c-2.40039 2.5 -3.90039 6.2998 -4.59961 9.7002c-3 14 3.19922 28 17.5996 33.5996c0.799805 0.299805 1.7002 0.5 2.5 0.700195c1.5 0.5 6.7002 1.5 12.0996 0.700195
+c5.80078 -0.900391 11 -3.90039 14.3008 -7.7002c2.5 -2.7998 4.39941 -6.90039 4.09961 -10.5c-0.0996094 -1.5 -0.799805 -3.60059 -2.09961 -4.2002c-0.5 -0.299805 -1.10059 -0.200195 -1.40039 0.200195c-1 1 -0.200195 2.89941 -2.59961 6.2998zM201.7 379.4
+l-6.10059 2l-1.69922 6.89941l2.89941 8.7998zM212.4 367.8c-2.7002 -1.7998 -5 -3.59961 -7 -5.09961l-13.6006 11.3994zM303.8 182.5c-3.5 1.90039 -5.2002 5.59961 -3.89941 8.2002c1.39941 2.59961 5.5 3.2002 9 1.2002
+c3.59961 -1.90039 5.2998 -5.60059 3.89941 -8.2002c-1.39941 -2.60059 -5.5 -3.2002 -9 -1.2002zM266.1 184.2c-5.19922 0.399414 -10.6992 0.299805 -18.3994 -2.90039c-2.2998 -1 -3.7998 -1.7002 -4.40039 -1.2002c-0.700195 0.5 -0.0996094 2.40039 2.10059 4.5
+c1.89941 1.80078 3.89941 2.90039 6.09961 3.80078c0.299805 0.199219 0.700195 0.299805 1.09961 0.399414c1 0.299805 2.10059 0.600586 3.2002 0.799805c9.10059 1.5 15.7998 -3.5 14.9004 -5c-0.400391 -0.699219 -2.10059 -0.599609 -4.60059 -0.399414zM426.6 124.3
+c5.30078 -12.8994 -5.19922 -28.3994 -5.19922 -28.3994c-0.400391 -1.2002 -33.3008 -127.9 -162.9 -127.9c-112 0 -165.1 97.4004 -165.1 97.4004c-8.2002 -0.5 -16 0.799805 -23.3008 3.5c-32.8994 12.0996 -48.5996 49.6992 -37.2998 81.1992l-18.0996 13.8008
+c-69.9004 53.2998 128.3 297.199 198.5 242c0.299805 -0.300781 16.7002 -13.5 16.7002 -13.5c25.0996 15.1992 50 23.5 70.2998 23.5c14.3994 0 26.3994 -4.10059 34.5 -12.9004c18.2002 -19.7002 11.5996 -57.2998 -13.2002 -95.4004
+c5.2998 -5.09961 9.7002 -12 12.9004 -18.7998c7.89941 -6 13.0996 -15.2998 15.5996 -28.0996c2.7998 -14.2002 3.40039 -34.5 5.2002 -43.2002c6.7002 -3 3.89941 -1.59961 11 -5.2002c7.39941 -3.7002 16.5 -8.2998 26.5 -17.8994
+c17.7998 -4.40039 24.5996 -23.4004 14.2002 -36.3008c-0.200195 -0.299805 -1.5 -1.7998 -2.80078 -3.2998c0.300781 -0.799805 3.7002 -6.2998 6.2002 -17.5996c7.2998 -1.7998 13.2002 -6.2998 16.2998 -12.9004zM20.0996 180.1
+c2.40039 -4.09961 19.3008 -16.5 19.4004 -16.5c6.59961 9.10059 14.0996 15.8008 21.7002 20h-0.700195c15.2998 53.3008 56.2998 108 98.0996 143.7c10.4004 8.90039 31.4004 23 31.4004 23l-23.9004 20.7998l-1.69922 12.1006l32.5996 -26.9004
+c-1.40039 -1.2002 -2.90039 -2.39941 -4.40039 -3.7002c-3.2998 -2.69922 -6.5 -5.59961 -9.69922 -8.59961c-4.60059 -4.2998 -9.30078 -8.90039 -13.9004 -13.7002c-9.90039 -10.2002 -19.5996 -21.3994 -28.7002 -32.7998
+c-16 -20.2002 -22.7002 -29.7002 -32.8994 -48.9004c-0.100586 -0.0996094 55.5996 66.6006 69.3994 80.3008c25.4004 25.1992 67 53.2998 67.4004 53.5c17.7998 10.7998 32.7998 17.1992 45.0996 20c-20.2002 -2 -41.7998 -12.4004 -58.7998 -22.6006
+c0 0.100586 -24.7002 20.9004 -24.7002 20.9004l-9 -3.5c-32.7998 7.7002 -105.1 -46.7998 -148.6 -115.9c-17.6006 -28 -42.2998 -77.2002 -28.1006 -101.2zM89.2002 80c28.2002 0 49.5996 26.7998 44.3994 56.2002c0 0 -2.7998 -6.7002 -5.5 -10.2998
+c0.700195 10.5 -1 20.8994 -4.19922 30.7998c0 0 -1.40039 -5.90039 -4.2002 -13.1006c-2.7002 22.9004 -12.2998 27.8008 -12.2998 27.8008c-5.5 2.59961 -11.7002 4 -18.2002 4c-25 0 -45.2998 -21.3008 -45.2998 -47.7002c0 -26.2998 20.2998 -47.7002 45.2998 -47.7002z
+M145 248.5c12.7002 16.5 29 32.2998 51.4004 46.9004c48.7998 31.5996 97.5 35.1992 114.199 22.3994c0 0.100586 -0.299805 0.799805 -0.399414 1c-4.2998 9 -14.2002 15.2998 -23 17.7998c1.59961 -1.59961 3.7998 -4.5 4.7002 -6.2998
+c-6.60059 4.60059 -15.5 8.60059 -24.7002 10.5c0 0 1.09961 -0.799805 1.2998 -1c1.7998 -1.7002 4.2998 -4.39941 5.2998 -6.7002c-8.7998 3.60059 -20 5.5 -29.5 3.7002l-1.2002 -0.299805s1.2002 -0.299805 1.5 -0.400391c3.2002 -0.899414 7.7002 -2.89941 9.7002 -5.5
+c-15.8994 2.80078 -33.2998 -0.299805 -42.7002 -5.5h2.2002c3.40039 -0.0996094 10.4004 -0.5 13.2998 -2.39941c-10 -2 -24.3994 -6.5 -32.1992 -13.2002c1.39941 0.0996094 9.19922 1.09961 12.3994 0.599609c-42.7998 -24.5 -62.2998 -61.5996 -62.2998 -61.5996z
+M408.4 102.2c8.59961 10.2998 6.19922 20.5 -5.10059 20.5c-3.7002 0 -6.39941 -1 -6.39941 -1s0 15.0996 -7 26.8994c-5.40039 -6.09961 -20.4004 -18.0996 -40 -27.3994c-18.4004 -8.7002 -43 -16.4004 -73.5 -17.4004
+c-8.60059 -0.299805 -13.8008 1.10059 -16.8008 -8.89941c-0.299805 -0.900391 -0.399414 -1.90039 -0.5 -2.90039c33.4004 -10.5 86.3008 10 91.4004 11.2002c0.200195 0.0996094 0.400391 0.0996094 0.5 0.0996094c3.2998 -0.200195 -28.2998 -20.2002 -72.2998 -20.2002
+c-7.40039 0 -13.9004 0.700195 -18.9004 1.7002c2.5 -8.2002 8.7002 -11.8994 17 -13.7998c6.2002 -1.5 12.9004 -1.59961 12.9004 -1.59961c60.8994 -1.7002 111 45.5 113.1 47.8994c0 0 -0.5 -1.2002 -0.599609 -1.39941c-9 -20 -60.6006 -56.4004 -112.101 -55.4004
+l-0.199219 -0.0996094c-12 0.0996094 -26.5 3.09961 -34 12.5c-11.9004 14.7998 -5.7002 39.3994 13.2998 40c0 0 4.39941 0.0996094 6.2998 0.0996094c47 1.40039 89.2998 18.7002 119.5 54.7998c4.09961 5.2002 -0.5 12.2998 -9.5 12.5h-0.0996094l-0.100586 0.100586
+c-10.7002 11.3994 -20 15.5 -28.3994 19.6992c-17.5 8.90039 -15.8008 1.2002 -19.9004 44.5c-1.09961 11.7002 -3.40039 27.6006 -13.5996 33.7002c-2.7002 1.60059 -5.7002 2.2998 -8.7002 2.2998s-4.5 -0.699219 -5.10059 -0.799805
+c-5.59961 -1.2002 -8.7998 -4.39941 -12.7998 -8.09961c-18.8994 -17.4004 -34.0996 -12.7002 -56.5996 -12.5c-21.1006 0.0996094 -39.7998 -14.6006 -43.4004 -37.2998c-1.7998 -11.9004 -0.700195 -24 1.2002 -29.4004c0 0 -5.7998 3.7998 -8.5 7.2002
+c3.2998 -20.7998 22.2002 -34.2998 22.2002 -34.2998c-3 -0.700195 -7.2998 -0.400391 -7.2998 -0.400391s10.6992 -8.5 20.0996 -11.5c-2.40039 -1.5 -14.7002 -13.7002 -21.0996 -30.4004c-5.90039 -15.6992 -3.5 -34.5 -3.5 -34.5l5.19922 7.7002
+s-3.2998 -17.2002 3.2002 -33.7998c2.2002 5 6.90039 13.7998 6.90039 13.7998s-0.799805 -18.3994 8.09961 -33.5c0.299805 3.40039 1.60059 12.2998 1.60059 12.2998s5.09961 -15.6992 16.8994 -26.6992c22 -19.5 80.2998 -23.1006 124.7 11.7998
+c35.2002 27.5996 41.2998 60.7998 41.9004 62zM259 89v2v-2zM259.7 84.9004c0 0.0996094 -0.100586 0.0996094 -0.100586 0.199219c0 -0.0996094 0 -0.0996094 0.100586 -0.199219c0 0.0996094 -0.100586 0.199219 -0.100586 0.399414
+c0 -0.200195 0 -0.299805 0.100586 -0.399414zM322.6 195.3c0.600586 3.5 3.10059 6.10059 5.7002 5.7002c2.60059 -0.400391 4.2002 -3.59961 3.7002 -7.09961c-0.599609 -3.60059 -3.09961 -6.10059 -5.7002 -5.7002c-2.59961 0.399414 -4.2002 3.59961 -3.7002 7.09961z
+M264.6 196.5c-10.3994 3.7998 -18 4.40039 -31.5 -0.700195c-3.39941 -1.2998 -5.7998 -2.2998 -7 -2.09961c-1.89941 0.299805 0 3.7002 4.10059 7.09961c8.2998 6.7002 19.7002 8.7002 29.5 5.10059c4.2998 -1.60059 9.09961 -4.7002 11.5996 -8.40039
+c0.900391 -1.40039 1.2002 -2.5 0.799805 -2.90039c-0.699219 -0.899414 -3.5 0.300781 -7.5 1.90039zM311.3 225.7c-0.0996094 3.39941 0.5 8.89941 3.7002 10c5.40039 1.89941 12.5996 -12 12.9004 -24.2998c-4.30078 2.09961 -9.30078 3.09961 -14.5 2.59961
+c-1.30078 3.90039 -1.90039 7.7002 -2.10059 11.7002z" />
+ <glyph glyph-name="megaport" unicode="&#xf5a3;" horiz-adv-x="496"
+d="M214.5 238.4l33.4004 33.3994l33.3994 -33.3994v-66.4004l-33.2998 -33.2998l-33.5 33.5v66.2002zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM393.1 25.5996h0.100586v87.1006l-59.7002 59.7002v87.5996l-59.5 59.5
+v75.5996l-26.0996 19.2002l-26.1006 -19.2002v-75.5996l-59.5 -59.5v-87.9004l-59.5 -59.5v-87l26.1006 -19.1992l26.0996 19.1992v65.5l33.5 33.4004l33.4004 -33.4004v-65.5l26.0996 -19.1992l26.2002 19.1992v65.5l33.3994 33.4004l33.4004 -33.4004v-65.5l26 -19.1992z
+" />
+ <glyph glyph-name="nimblr" unicode="&#xf5a8;" horiz-adv-x="355"
+d="M232.6 148.71c15.5703 0 27.1504 -11.46 27.1504 -26.96c0 -15.5498 -11.6201 -26.96 -27.1504 -26.96c-15.6992 0 -27.1494 11.5703 -27.1494 26.96c0 15.5098 11.5801 26.96 27.1494 26.96zM99.0098 121.75c0 15.6104 11.6807 26.96 27.1504 26.96
+c15.5703 0 27.1494 -11.46 27.1494 -26.96c0 -15.4102 -11.4697 -26.96 -27.1494 -26.96c-15.4404 0 -27.1504 11.3096 -27.1504 26.96zM177.76 289.05c98.3701 0 177.76 -79.0693 177.76 -176.53c0 -97.5693 -79.5195 -176.52 -177.76 -176.52
+c-98.1494 0 -177.76 78.8701 -177.76 176.52v335.48l45.25 -227c30.2002 48.2305 97.75 68.0498 132.51 68.0498zM177.76 -19.0703c73.2598 0 132.51 58.9102 132.51 131.59c0 72.6807 -59.2393 131.591 -132.51 131.591c-73.2695 0 -132.51 -58.9102 -132.51 -131.591
+c0 -72.6895 59.2402 -131.59 132.51 -131.59z" />
+ <glyph glyph-name="rev" unicode="&#xf5b2;" horiz-adv-x="410"
+d="M270.67 173.11c0 -36.1602 -29.4102 -65.5703 -65.5596 -65.5703c-36.1504 0 -65.5703 29.4102 -65.5703 65.5703c0 36.1592 29.4102 65.5596 65.5703 65.5596c36.1592 0 65.5596 -29.4004 65.5596 -65.5596zM410.22 178.16v-210.16h-210.16v0.129883
+c-110.939 2.69043 -200.06 93.3896 -200.06 204.98c0 108.529 84.3096 197.319 191.01 204.569v38.3203l108.76 -62.7803l-108.76 -62.79v39.1201c-80.0293 -7.16016 -142.99 -74.5693 -142.99 -156.43c0 -86.6201 70.4707 -157.09 157.091 -157.09
+s157.09 70.4697 157.09 157.09c0 55.1895 -28.6406 103.79 -71.8105 131.82l45.3799 26.1992c44.2207 -36.6299 72.8301 -91.4297 74.3203 -152.979h0.129883z" />
+ <glyph glyph-name="shopware" unicode="&#xf5b5;" horiz-adv-x="495"
+d="M395.5 -7.26953c-42.9502 -31.79 -93.9502 -48.5908 -147.48 -48.5908c-137.21 0 -248.02 111 -248.02 248c0 137.19 111.04 248 248.02 248c61.3008 0 120.141 -22.5498 165.681 -63.5c2.62012 -2.35938 0.580078 -6.63965 -2.86035 -6.17969
+c-17.6699 2.42969 -36.75 3.66016 -56.71 3.66016c-129.36 0 -222.399 -53.4697 -222.399 -155.351c0 -109.039 92.1299 -145.88 176.829 -178.729c33.6406 -13.04 65.4004 -25.3604 86.96 -41.5898c1.90039 -1.44043 1.89062 -4.31055 -0.0195312 -5.71973zM494.96 215.05
+c2.00977 -23.0801 2.95996 -64.9199 -15.9297 -113.31c-0.790039 -2.00977 -3.16992 -2.87012 -5.0498 -1.82031c-29.4902 16.3604 -61.6104 28.3398 -92.6807 39.9297c-60.2803 22.4805 -112.34 41.8906 -112.34 84.4902c0 1.45996 -3.87988 53.6299 80.25 53.6299
+c50.8604 0 92.7197 -17.5195 144.48 -60.4795c0.719727 -0.610352 1.18945 -1.5 1.26953 -2.44043z" />
+ <glyph glyph-name="squarespace" unicode="&#xf5be;" horiz-adv-x="512"
+d="M186.12 104.66l157.22 157.2c38.5703 38.5898 101.13 38.5898 139.72 0c38.5908 -38.5801 38.5908 -101.13 0 -139.721l-119.25 -119.239l-0.0400391 -0.0400391c-19.2891 -19.2705 -50.5498 -19.25 -69.8193 0.0400391l154.149 154.14
+c19.29 19.29 19.29 50.5703 0 69.8604s-50.5693 19.29 -69.8594 0l-157.181 -157.181c-9.64941 -9.64941 -25.29 -9.64941 -34.9395 0c-9.65039 9.65039 -9.65039 25.29 0 34.9404zM430.65 209.46c9.63965 -9.63965 9.63965 -25.2803 -0.0107422 -34.9297l-157.199 -157.2
+c-38.5801 -38.5703 -101.141 -38.5703 -139.721 0l-0.0195312 0.0195312c-9.64062 9.65039 -9.62988 25.29 0.0195312 34.9307l0.0107422 0.00976562c9.64941 9.63965 25.2793 9.62988 34.9199 -0.00976562l0.0498047 -0.0498047
+c19.29 -19.2607 50.5498 -19.2402 69.8193 0.0498047l157.2 157.18c9.64062 9.65039 25.2803 9.65039 34.9307 0zM168.66 122.13c-38.6006 -38.5801 -101.13 -38.5801 -139.73 0.00976562c-38.5801 38.5801 -38.5801 101.13 0 139.721l119.23 119.25l0.0195312 0.0195312
+c19.3008 19.2803 50.5703 19.2705 69.8506 -0.0195312l-154.17 -154.17l-0.0302734 -0.0302734c-19.2803 -19.2998 -19.2598 -50.5605 0.0302734 -69.8398l0.00976562 -0.0107422c19.29 -19.29 50.5703 -19.2793 69.8496 0.0107422l157.21 157.18
+c9.64062 9.63965 25.2705 9.63965 34.9102 0c9.64062 -9.65039 9.64062 -25.29 0 -34.9404zM81.3301 174.53c-9.64062 9.64941 -9.65039 25.29 0 34.9297l157.189 157.19c38.5908 38.5898 101.131 38.5898 139.721 0c9.64941 -9.64062 9.64941 -25.2803 0 -34.9307
+c-9.64062 -9.64941 -25.2803 -9.64941 -34.9307 0l-0.0195312 0.0205078c-19.29 19.2793 -50.5596 19.2695 -69.8398 -0.0205078l-157.21 -157.189c-9.64062 -9.64062 -25.2705 -9.64062 -34.9102 0z" />
+ <glyph glyph-name="themeco" unicode="&#xf5c6;" horiz-adv-x="441"
+d="M199.74 435.71c9.74023 5.63965 25.5898 5.73047 35.3896 0.209961l188.13 -105.95c9.81055 -5.51953 17.7598 -19.1396 17.7598 -30.3799v-213.87c0 -11.2598 -7.92969 -24.8896 -17.71 -30.46l-188.22 -107.14c-9.78027 -5.57031 -25.5801 -5.48047 -35.29 0.209961
+l-182.22 106.72c-9.70996 5.69043 -17.5801 19.4307 -17.5801 30.6807v213.859c0 11.2598 7.90039 24.96 17.6299 30.5898zM123.54 239c-15.6904 0 -31.3896 -0.139648 -47.0801 -0.139648v-99.8701h18.8301v29.3896h28.25c48.9404 0 48.79 70.6201 0 70.6201zM261.5 140.27
+l-30.25 34.1006c36.4004 7.38965 34.2598 64.21 -10.7002 64.4902c-15.8398 0 -31.6699 0.139648 -47.5098 0.139648v-100.01h18.8301v33.3799h18.1299l29.0996 -33.3799h22.4004v1.2793zM220.56 221.31c22.9805 0 22.9004 -31.96 0 -31.96h-28.6797v31.96h28.6797z
+M126.49 222.88c20.8496 0 20.7793 -38.2402 0 -38.2402h-31.8105v38.2305zM316.14 240.85c-67.3994 0 -69.8594 -104.149 0 -104.149c68.3906 0.00976562 68.3301 104.149 0 104.149zM316.14 223.73c43.4307 0 44.1006 -69.7607 0 -69.7607
+c-44.1201 0 -43.7393 69.7607 0 69.7607z" />
+ <glyph glyph-name="weebly" unicode="&#xf5cc;" horiz-adv-x="512"
+d="M425.09 382.17c50.9102 0 87.5498 -35.1504 86.9199 -83.4697c0 -21.6201 -0.950195 -18.5498 -77.5 -227.2c-22.3799 -60.5703 -67.7695 -69.6699 -92.7402 -69.6699c-39.2393 0 -70.0391 19.46 -85.9297 54.29c-15.8896 -34.5205 -46.7002 -53.9805 -85.9297 -53.9805
+c-24.9697 0 -70.3701 8.78027 -92.7402 69.3506c-72.9902 200.21 -77.1699 204.52 -77.1699 233.479c0 43.3105 38.5898 77.2002 87.54 77.2002c40.21 0 73.2803 -25.7295 83.6602 -64.3301c18.4795 58.0498 65.5 64.3301 85.2803 64.3301
+c19.4492 0 66.7891 -6.26953 84.9492 -64.3301c10.3799 38.6006 43.7803 64.3301 83.6602 64.3301zM451.43 267.36c3.49023 11.1992 7.29004 19.3701 7.61035 27.2393c0 22.3906 -16.1602 35.71 -38.3301 35.71c-18.6904 0 -31.9902 -11.7998 -36.1104 -29.0498
+l-44.0293 -139.819h-0.950195l-44.6602 136.79c-6.01953 19.9697 -16.4697 32.0791 -38.96 32.0791s-32.9404 -12.4092 -38.96 -32.0791l-44.6602 -136.79h-0.950195l-44.0293 139.819c-4.12012 17.25 -17.4199 29.0498 -36.1104 29.0498
+c-22.4902 0 -38.3301 -13.0195 -38.3301 -29.3594c0 -10.5898 2.54004 -19.6699 7.91992 -34.5l64.9404 -175.23c7.91016 -21.4795 21.2197 -37.2197 46.2393 -37.2197c23.1201 0 37.0605 12.0996 44.0205 33.5996l39.2803 117.42h0.949219l39.2803 -117.42
+c6.65039 -21.4893 20.5898 -33.8994 44.0303 -33.8994c25.0195 0 38.3203 15.7295 46.2402 37.2197z" />
+ <glyph glyph-name="wix" unicode="&#xf5cf;" horiz-adv-x="640"
+d="M393.38 316.31c0 -13.0293 2.08008 -32.6895 -28.6797 -43.8291c-9.52051 -3.4502 -15.9502 -9.66016 -15.9502 -9.66016c0 31 4.71973 42.2197 17.4004 48.8594c9.75 5.11035 27.2295 4.62988 27.2295 4.62988zM277.58 280.77
+c5.47949 26.3408 30.8799 38.3408 55.2998 35.2705l-65.5703 -247.93s-21.6396 -1.56055 -32.46 3.95996c-14.2197 7.25 -20.9893 12.8398 -29.5898 46.5693c-7.66992 30.0703 -29.1494 118.4 -31.1201 124.7c-4.30957 13.8105 -10.6396 14.9404 -15.3994 0
+c-2.00977 -6.29004 -23.4502 -94.6299 -31.1201 -124.7c-8.61035 -33.7295 -15.3701 -39.3193 -29.5898 -46.5693c-10.8301 -5.52051 -32.46 -3.95996 -32.46 -3.95996l-65.5703 247.93c23.8604 3 49.7305 -8.5498 55.2803 -35.2705l34.2393 -132.659l28.4805 108.569
+c7.76953 32.3506 21.0596 48.5303 48.4297 48.5303c27.6201 0 40.7402 -16.54 48.4307 -48.5303l28.4795 -108.569zM393.36 275.56v-8.97949l0.0195312 0.00976562v-150.27c-0.129883 -30.8301 -3.33008 -37.6807 -17.2598 -44.7803
+c-10.8203 -5.52051 -27.3701 -3.42969 -27.3701 -3.42969v152.069c0 21.25 -1.95996 27.9404 13.1797 35.2002c6.19043 2.96973 11.96 5.25 17.9707 8.61035c9.35938 5.22949 13.46 11.5693 13.46 11.5693zM556.8 191.48l82.9902 -123.36s-35.9297 -4.62012 -53.3203 11.21
+c-13.9102 12.6602 -23.7393 28.3398 -53.1396 70.7197c-0.5 0.770508 -6.25977 10.5205 -13.0703 0c-34.9297 -50.3496 -41.0195 -60.2598 -52.5098 -70.7197c-17.3799 -15.8301 -53.9502 -11.21 -53.9502 -11.21l82.9697 123.36l-83.1992 123.739
+s35.1094 5.98047 52.5 -9.84961c13.3799 -12.1797 24.8896 -30.2402 54.1797 -72.4697c6.82031 -10.54 12.5996 -0.730469 13.0703 0c29.7695 42.9199 40.8799 60.3691 54.1797 72.4697c17.3896 15.8301 52.5 9.84961 52.5 9.84961z" />
+ <glyph glyph-name="ello" unicode="&#xf5f1;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM391.84 154.8c2.48047 7.44043 -2.47949 15.71 -9.91992 17.3604c-7.43945 2.47949 -15.71 -2.48047 -17.3604 -9.91992
+c-14.0498 -52.9102 -62 -90.1104 -116.56 -90.1104s-102.51 37.2002 -116.56 90.1104c-1.65039 7.43945 -9.9209 11.5693 -17.3604 9.91992c-7.44043 -1.65039 -11.5703 -9.91992 -9.91992 -17.3604c16.5303 -65.3096 76.0498 -111.6 143.84 -111.6
+s127.31 46.29 143.84 111.6z" />
+ <glyph glyph-name="hackerrank" unicode="&#xf5f7;" horiz-adv-x="464"
+d="M453.5 320c14.4805 -24.9502 14.4697 -230.92 -0.00976562 -256c-14.4805 -25.0801 -192.391 -128 -221.33 -128c-28.9404 0 -206.83 102.79 -221.32 127.99c-14.4902 25.21 -14.4102 230.8 0 256.01s192.36 128 221.32 128c28.9697 0 206.85 -103.05 221.34 -128z
+M292.13 33.7803c3.95996 0 40.46 35.7793 37.5801 38.6895c-0.870117 0.879883 -8.82031 1.49023 -17.6904 1.83984c0 32.4004 -2.98926 19.0508 0.660156 210.341c0.0703125 3.65918 -1.04004 5.35938 -4.5 5.37988
+c-11.0801 0.0693359 -22.1602 0.0195312 -33.2295 -0.0605469c-3.25977 -0.0292969 -4.31055 -1.80957 -4.20996 -5.2002c1.58984 -48.8994 1.2002 -79.0898 1.2002 -83.6396h-80.2607c0.600586 25.7998 0.209961 79.6396 2.62988 105.39v3.16016
+c8.87012 0.350586 15.9004 0.970703 16.7705 1.83984c2.90039 2.91016 -34.3105 38.6904 -38.2705 38.6904c-3.94922 0 -41.4092 -35.7695 -38.4893 -38.6904c0.879883 -0.879883 7.58984 -1.48926 17.2598 -1.83984v-3.16992
+c3.11035 -128.649 1.07031 -179.229 0.150391 -212.67c-0.130859 -4.58008 1.63965 -6.12012 5.73926 -6.10938c10.1406 0.0292969 20.2803 -0.0507812 30.4102 -0.0800781c4.16016 -0.0205078 5.96973 1.39941 5.74023 5.93945
+c-1.83008 36.6797 -1.37012 65.7803 -1.37012 72.8799h79.9297c0 -2.41992 0.480469 -3.83008 0.44043 -5.84961c-0.350586 -17.7305 -0.94043 -60.0898 -0.94043 -86.3203c-11.29 -0.349609 -16.6797 -0.959961 -17.5498 -1.83008
+c-2.91016 -2.91992 34.04 -38.6895 38 -38.6895z" />
+ <glyph glyph-name="kaggle" unicode="&#xf5fa;" horiz-adv-x="291"
+d="M290.2 -53.5l1.39941 -7.59961c-0.5 -2 -2.5 -3 -6 -3h-66.8994c-4 0 -7.5 1.7998 -10.5 5.2998l-110.5 140.6l-30.7998 -29.2998v-109c0 -5 -2.5 -7.5 -7.5 -7.5h-51.9004c-5 0 -7.5 2.5 -7.5 7.5v497c0 5 2.5 7.5 7.5 7.5h51.9004c5 0 7.5 -2.5 7.5 -7.5v-306
+l132.3 133.7c3.5 3.5 7 5.2998 10.5 5.2998h69.2002c7 0 7.89941 -7.7998 5.2998 -10.5l-139.8 -135.3z" />
+ <glyph glyph-name="markdown" unicode="&#xf60f;" horiz-adv-x="640"
+d="M593.8 388.9c25.5 0 46.2002 -20.7002 46.2002 -46.1006v-301.6c0.0996094 -25.4004 -20.5996 -46.1006 -46.0996 -46.1006h-547.7c-25.5 0 -46.2002 20.7002 -46.2002 46.2002v301.5c0 25.4004 20.7002 46.1006 46.2002 46.1006h547.6zM338.5 87.4004h-0.200195v209.199
+h-61.5l-61.5 -76.8994l-61.5 76.8994h-61.5v-209.199h61.7002v120l61.5 -76.9004l61.5 76.9004v-120h61.5zM473.8 84.2998l92.2002 107.7h-61.5v104.6h-61.5v-104.6h-61.5z" />
+ <glyph glyph-name="neos" unicode="&#xf612;" horiz-adv-x="456"
+d="M387.44 -64h-95.1104l-108.21 154.54v-91.0996l-86.4297 -63.4404h-97.6904v482.18l40.4697 29.8203h108.05l123.74 -176.13v112.68l86.4307 63.4502h97.6895v-461.5zM10.7695 412.73v-460.721l72.0107 52.8799v249.16l215.489 -307.689h84.79l52.3506 38.1699h-78.2705
+l-316.18 450.489zM93.3096 -53.8799l80.04 58.7803v101.04l-79.7998 114.359v-220.939l-72.5801 -53.25h72.3398v0.00976562zM52.6299 437.23l310.601 -442.57h82.3691v442.57h-79.75v-317.561l-222.939 317.561h-90.2803zM283.03 256.35l72.0098 -102.81v278.53
+l-72.0098 -52.96v-122.761z" />
+ <glyph glyph-name="zhihu" unicode="&#xf63f;" horiz-adv-x="640"
+d="M170.54 299.87h122.68v-217.55h-49.5293l-42.0107 -26.3701l-7.70996 26.3701l-23.4297 0.00976562v217.54zM268.29 105.94v170.31h-72.8203v-170.31l11.9004 -0.0400391l5.08008 -17.4707l27.8994 17.5107h27.9404zM149.83 200.33
+c7.5 0 7.58984 -23.6104 7.58984 -23.6104h-61.6504c-0.879883 -13.1201 -3.50977 -26.6895 -7.86914 -40.6699l14.6191 11.6201c8.73047 -8.75 29.2109 -32.8896 36.79 -41.8096c9.15039 -13.1006 1.24023 -39.9902 1.24023 -39.9902l-53.96 64.9395
+c-12.6094 -48.3496 -35.5898 -69.25 -35.5898 -69.25c-10.0898 -8.96973 -30.5098 -15.75 -51 -9.89941c42.8301 33.2197 66.4502 75.2402 70.8496 125.1h-65.5801s3.82031 23.6201 15.5605 23.6201h52.2695c0.480469 6.56055 1.68066 62.9404 1.68066 73.4404h-28.8701
+c-2.62988 -7.87012 -3.03027 -8.64062 -5.14062 -14.5303c-11.4697 -21.0303 -30.9492 -21.5703 -36.8398 -22.21c17.4902 34.9795 27.3105 69.2197 30.7002 78.1201c8.2002 21.5693 32.2705 21.5693 32.2705 21.5693c-5.25 -14.0098 -9.63086 -27.5498 -13.1201 -40.6699
+h88.5c10.5498 0.25 8.58008 -22.3096 8.58008 -22.3096h-51.1602c0 -21.8701 -0.459961 -46.3604 -2.2002 -73.46h52.3301zM561.85 201.93l-19.2295 14.4307s30.8301 40.0498 36.8301 48.1992c8.72949 10.7402 27.3799 -4.05957 27.3799 -4.05957
+s-24.1504 -32.9297 -44.9805 -58.5703zM411.76 261.02l0.00976562 0.0107422c8.99023 -8.25 34.6602 -45.8604 34.6602 -45.8604l-19.46 -13.7295c-1.59961 2.40918 -41.1201 57.4492 -41.1201 57.4492s16.9004 10.3799 25.9102 2.12988zM640 189.65
+c0 0 0.950195 -23.79 -8.73047 -23.79h-122.359v-73.3203c0.780273 -28.0303 -15.3301 -45.3096 -44.8906 -45.3096c-9.84961 0 -16.1396 1.75977 -26.0195 6.56934c-12.9805 7.4502 -17.3203 17.8701 -19.3096 21.8398c15.6094 -0.65918 27.6094 -1.91992 41.6895 -1.80957
+c13.29 -0.870117 24.4805 7.15039 24.4805 21.1201v70.9199h-107.94c-22.6895 0.540039 -25.5098 22.8496 -25.5098 22.8496h133.47v99.8105c-12.8301 0 -31.6797 -0.830078 -56.5098 -2.43066c-26.46 -0.80957 -35.8398 -2.58984 -49.1504 0.890625
+c-8.16016 2.46973 -14.1797 10.7295 -15.7793 19.5498c67.1396 1.55957 232.359 18.0498 232.359 18.0498s20.1006 5.75977 23.1699 4.58008c12.8105 -6.25 0.589844 -33.4395 0.589844 -33.4395c-17.6396 -0.810547 -46.8896 -2.40039 -87.7695 -4.81055
+c-10.4297 -0.799805 -18.04 -1.2002 -22.8496 -1.2002v-101c0.149414 0 111.279 0.930664 131.06 0.930664z" />
+ <glyph glyph-name="alipay" unicode="&#xf642;"
+d="M377.74 416c38.6895 0 70.0898 -31.5703 69.9297 -70.2598v-234.41c-48.6104 16.7002 -99.6895 36.04 -148.62 52.7402c23.1406 44.2998 38.3506 90.9199 38.3506 90.9199h-88.7705v31.2402h109.45v19.0098h-109.44v50.4199h-50.9199v-50.4199h-109.439v-19.0098h109.439
+v-31.2402h-92.0801v-16.7002h178.2s-9.91992 -30.25 -26.4502 -60.3398c-47.7793 14.71 -91.75 24.96 -127.13 24.96c-84.6396 0 -103.49 -42.4902 -99.5195 -81.5c3.30957 -31.0703 26.4502 -76.3701 97.04 -76.3701c64.4795 0 116.55 37.0303 148.62 81
+c61.0098 -28.0996 125.64 -62.8203 171.6 -88.4404c-0.5 -38.5195 -31.7402 -69.5996 -70.2598 -69.5996h-307.48c-38.8496 0 -70.2598 31.4102 -70.2598 70.2598v307.48c0 38.8496 31.4102 70.2598 70.2598 70.2598h307.48zM47.2803 125.05
+c-0.990234 17.5205 10.9102 50.5801 78.3594 50.5801c24.96 0 64.8105 -12.7295 109.44 -31.4102c-25.29 -33.2197 -65.7998 -72.8994 -117.87 -72.8994c-59.6797 0 -68.9404 33.5596 -69.9297 53.7295z" />
+ <glyph glyph-name="the-red-yeti" unicode="&#xf69d;" horiz-adv-x="505"
+d="M484.4 206.3c2.19922 -3 4.69922 -6.89941 6.7998 -13.2998c4.2002 -11.7998 7.2002 -22.9004 8.89941 -34.2002l-2.5 -0.5l-13 14.2998c-17.8994 -28.0996 -9.89941 -15.3994 -16.6992 -25.0996c0 -124.2 -101.301 -211.5 -223 -211.5
+c-61.5 0 -113.9 20.2002 -157.5 60.2002c-64.5 60.8994 -64.9004 125 -64.9004 150.5c-0.5 1.7998 -0.700195 3.5 -1.2002 5.2002l-20.2002 -22.4004c-6.7998 43 25.7002 74.2998 33 80.7002c0.5 1 0.700195 2.2002 1.2002 3.2002l-28.7998 1l-3 3.39941
+c8.5 3.5 25.2998 13.2998 40.2998 14.2998c7.40039 14.2002 16.5 27.5 27.7998 40.3008c1.30078 6.39941 3.30078 14.1992 6.60059 25.7998l-7.60059 -4.7002l-1.69922 1.7002l1.69922 8.39941c10.8008 25.6006 26 48 46.7002 67.4004l-33 14.2998h3.7002
+c20.9004 4.90039 33.2002 3.2998 49.2002 0c-2.5 4.10059 -5.40039 10.5 -8.40039 18.9004c-2.89941 8.09961 -2.89941 16.5 0.5 25.2998c8.90039 -7.40039 14.2998 -24.5996 15.2002 -27c0.700195 3.59961 2.09961 21.2998 33.7002 45.5l1.7998 -0.5l-12 -44.2002
+c30 17.7002 63 21.9004 97.9004 11.7998c-12.7002 -12.1992 -24.3008 -28.8994 -42.5 -33c7.39941 -2.2998 28.6992 -9.69922 34.1992 -15.1992l-24.7998 7.09961c6.5 -6 19.6006 -16.4004 25.1006 -25.0996c24.3994 -1.30078 47.1992 -5.7002 68.3994 -13.3008l-0.5 0.5
+c29.4004 14.7002 37.7002 27.3008 74.7998 3c0 -30.1992 -2.2998 -23.3994 3 -29.7998c7.60059 6.40039 16.5 12.2998 25.3008 16.5c13 6.40039 23.0996 4.7002 30.6992 -5.89941c11.8008 0 17.8008 -15.7002 18.4004 -27c14.7998 -2.90039 2.7002 -30.7002 2.5 -30.7002
+l-7.09961 -18.2002c7.7998 -7.7998 22.0996 -20.9004 31.6992 -44.7998zM394.2 336.8c-13.1006 8.90039 -22.7002 11.9004 -28.2998 8.5c8.09961 -7.2002 13 -14.2998 13.5 -20.7002c1.19922 -7.59961 -2.2002 -14.7998 -10.6006 -21.8994l-4.2002 -3.40039
+c4.2002 -7.09961 7.2002 -14.7002 8.40039 -23.0996h2.5c-2.09961 13.8994 -2.5 11 0.700195 14.7998c11 -6.40039 14.8994 -14.5 16 -19.9004c21.7998 10.1006 29.5 12.7002 54.7998 20.9004l-18.2002 -16c11.4004 0 25.6006 0.299805 46.5 -8.40039
+c7 24.3008 7.10059 20.7002 2.5 20.7002l-4.7002 -11.2998c-1.69922 10.5 -2.89941 18.9004 -3.39941 25.2998c-0.5 6.7002 -3.90039 9.60059 -9.2998 10.1006c0 -5.90039 0.5 -11 1.69922 -15.2002l-1.69922 -5.90039c-2.90039 10.6006 -5.90039 20.2002 -9.30078 27.7998
+c-9.69922 17.7002 -30.1992 -9.19922 -43 -11.2998c8.10059 -0.5 16.9004 -0.5 27 0l-22.3994 -5.39941l3.39941 -4.7002c-5.5 0 -16.8994 -0.900391 -22.3994 17.2002zM354.6 346.9l-20.2998 -11.8008c11.2998 -7.59961 20.2002 -18.1992 27.7998 -31.1992
+c6.40039 2.89941 10.1006 5.09961 11.8008 7.59961c2.5 2.7998 2.5 4.7002 3 7.09961c0.599609 1.30078 0.799805 2.7002 -3.40039 11.1006c-7.5 11.7998 -16.2002 15.2998 -18.9004 17.2002zM87.2002 304.9c-7.7998 -24.1006 -11.7002 -49.4004 -13.2002 -74.6006
+l13.2002 -5l1.2002 27c9.5 -16.3994 11.1992 -23.2998 12.2998 -28.7998c2.7998 2.09961 7.7002 7 22.5996 11.2998l1.2002 -1.7002l-7.59961 -10.5996c10.0996 3.5 19.5 3.5 28.2998 0.5l-10.6006 -8.40039c22.8008 -8.39941 26.6006 -7.59961 38.4004 -26.0996
+l-11.7998 1.2002c34.8994 -20.5 66 -47.9004 141.2 -63.2002c15.5996 24.0996 14 21.0996 14 22.9004l0.199219 0.199219l-0.199219 0.200195c-0.700195 1.90039 -14.1006 16.6006 -18.2002 20.7002c7.2998 -1.7998 6 -0.900391 10.7998 -3.7002
+c1.7002 -0.899414 -5.40039 5.40039 -21.9004 20.2002c16.5 -6.7002 27.6006 -15.5 33 -27.7998l1.7002 30.7002l-22.3994 17.6992l6.39941 5.90039c-7.2998 0 -31 3.7002 -49.2002 -16l-2.5 0.5c8.2002 16.4004 13.7002 35.2002 16 46c1.80078 8.90039 3 18.2002 3 28.2998
+c0 19.5 -4.69922 38.4004 -13.5 56.6006c-6.39941 13.5 -16.5 25.2998 -30 35.3994c-6.39941 4.7002 -13.0996 9.2998 -20.6992 13.5c3 0.700195 1 1.2002 -5.40039 1.2002c-6.40039 0.200195 -13 0.700195 -19.4004 1.2002v-3
+c-10.0996 -1.7002 -18.8994 -6.7998 -25.2998 -15.2002h-1.2002l-5.39941 -3.40039c-1.2002 2.90039 0 6.30078 4.2002 9.30078l10.5996 11.2998l-3.40039 -0.5l2 3.39941c-2.2998 0.200195 -4.19922 0.5 -6.19922 0.700195l-0.5 1.2002l2.5 1.7002
+c2.19922 -0.200195 4.59961 -0.5 7.09961 -0.700195c4.2002 2.2002 8.7998 3 14 2l2.5 -1.2002l0.200195 -0.5c7.2002 0.400391 14.7998 1.40039 23.3994 2.90039c20.7002 2.89941 36.7002 11.2998 48.5 24.7998l-21.0996 0.5
+c-25.7998 0.5 -49.4004 -5.40039 -71.2998 -18.9004l-2.5 2.5l0.5 4.7002l1.7002 7.10059c1.69922 8.09961 3.5 16.3994 6.39941 25.2998c-1.7002 -0.700195 -4.59961 -4.90039 -9.2998 -11.2998c-4.7002 -6.40039 -8.40039 -13 -10.0996 -19.4004
+c-1.7002 -7.2002 -4.2002 -11.7998 -5.90039 -14.2998l-13.5 29l8.40039 -35.7998l-0.5 -1.7002c-5.40039 0 -10.6006 0.799805 -16 2.5c-3.40039 0.700195 -10.6006 1.2002 -20.9004 1.2002c0.5 0 -0.700195 0 -3.2002 -0.5
+c5.40039 -1.30078 13.5 -4.2002 24.7998 -8.40039l6.40039 1.2002c-4.2002 -3.40039 -10.9004 -10.1006 -20.2002 -19.4004c-9.39941 -8.89941 -20.2002 -26.0996 -32.5 -50.2002l4.2002 1.2002l10.0996 9.2998l-5.39941 -4.69922l13 12.2998l-2.5 -3.40039
+c-5.10059 -7.59961 -8.10059 -12.2998 -9.2998 -15.2002zM363.7 -25.0996c8.2998 40.2998 3.59961 55.1992 -0.700195 89.5c-35.5 -11.8008 -20.2998 -6 -32 -10.8008l10.5 -14.1992l-1.2002 -1.2002c-20.2002 6 -23.2002 10.7998 -27.7998 15
+c6 -22.2002 13.9004 -26.4004 29.5 -31.7002c-9.5 -9.59961 -25.4004 4 -34.4004 13l2.5 -23.5996l-4.19922 -3c-5 22.0996 -22 39.0996 -25.3008 39.0996c-44 -13 -79.0996 -5.7998 -113.899 10.5996c-1.60059 -0.399414 -70.6006 -18 -120.5 37.1006
+c13.7002 -35 32.2998 -63.7002 71.2998 -82.6006c-4.7002 10.1006 -11.9004 19 -20.7002 26.6006c0 0 0.700195 3.7002 1.2002 10.0996c19.4004 -19.3994 50.7002 -39.5 93.2002 -60.2002c-59.6006 24.5 -59.9004 24.8008 -69.1006 29l16 -20.6992
+c-3 -1.30078 -6.69922 -0.5 -10.0996 1.19922c-12.2998 7.10059 -24.0996 15.5 -35.4004 24.8008c1.90039 -2.2002 80.1006 -98.5 200.9 -74.3008c-43.0996 21.8008 -52.4004 52.4004 -66.5996 73.5l17.6992 -7.59961l-11.7998 23.0996
+c20.1006 -27.7998 28.6006 -35 38.4004 -44.2998l-30 16.5c12.5996 -27.0996 33.7002 -47 63.5 -58.7998c2.89941 1.5 9.09961 -1.09961 59 23.9004zM479 189.3l8.90039 -12.7998l-12.3008 32.5c10.9004 0 10 -0.0996094 21.2002 -3.40039
+c-8.09961 11.3008 -16.8994 21.9004 -27 32l-26.5996 23.1006l1.2002 3l23.5996 2.5c-11.0996 2.5 -21.7002 3.7002 -33 4.2002l-17.7002 -0.5l-0.5 2.89941l14.7998 13l-41.7998 -20.2002l-12.2998 18.9004l3.40039 -16l-2.5 -1.2002l-5.90039 4.2002h-10.0996
+l5.39941 -4.2002v-2l-13.5 -27.7998c-10.0996 -31.2002 -21.8994 -67.9004 -35.3994 -109.7l1.19922 16l-1.19922 -3v-0.5c-6.40039 -16 -13.6006 -29.5 -21.2002 -39.5996l9.2998 21.8994l-46.7002 -20.1992c11.7998 13.5 23.6006 19.3994 34.9004 18.8994
+c-71.2002 11.4004 -106.2 41 -110.4 46c3.60059 -6.2002 13.2002 -17.7998 16 -40.0996l-1.7002 -1.2002c-4.2998 15.5996 -16.3994 46.5996 -55.7998 69.5996l23.6006 -2.5c-10.5 12.6006 -36.3008 17.8008 -40.8008 16l-2.5 2.5l8.40039 8.40039l-22.2998 -5.7998
+l5.39941 13.5c-8.09961 -4.40039 -4.2998 -2.40039 -17 -8.90039l-1.69922 0.5c0.599609 0.600586 0.899414 -0.700195 -3 9.2998c-0.600586 -11 -0.400391 -8.59961 -1 -11.7998c-1.60059 -0.599609 -0.800781 -0.200195 -3.7002 -1.7002
+c-40 20.6006 -57.2002 11 -73 5.2002c36.7998 -6 29.2998 -4 38.3994 -9.2998c-25.7998 -12.2002 -31.8994 -12.5996 -51.3994 -70.0996l22.2998 22.2998l2.5 -16.4004c13.4004 -58 68.7002 -92.5 126.4 -83.3994l-26.1006 22.3994l44.7998 -22.3994l-1.19922 -3
+c4.59961 -1.7002 9.2998 -3 13.5 -4.2002c30 -8.90039 61.1992 -11.1006 93.1992 -6.40039l-32.5 21.2002c35.8008 -7 50.7002 -31.4004 56.8008 -39.5996l-7.60059 29l1.2002 2.5l19 -27.9004l-9.2998 26.5996l21.8994 -13.5h1.2002l-3.39941 4.2002l7.09961 -4.7002
+l-14.2998 16l1.2002 3l7.59961 -7.09961c4.2998 1.2002 41.4004 10.5 80.9004 40.2998c47.8994 35.4004 68.0996 73.7998 71.5996 79.7002l-3 9.2998zM472.9 260.6l-18.2002 -1.19922l14.2998 -11.8008zM218.1 253.5c2.7002 -5.09961 5.7002 -12.4004 18.4004 -18.7998
+c-7.5 -10.9004 -8.2998 -10.5 -20.2002 -16c-7.59961 -7.7002 -13.5 -13.1006 -17.7002 -14.7998l7.10059 13c-8.2998 -3 -16.4004 -3.7002 -24.7998 -2.5l-0.5 1.19922c19 2.10059 37.1992 9.40039 46.5 16c-4.10059 4.2002 -7.10059 11.3008 -8.80078 21.9004z
+M221.8 355.8c6.40039 -3.7002 11 -8.39941 14.2998 -13.7998c14.7002 -24.0996 19.2002 -40.0996 11.3008 -47.7002c-7.90039 -7.59961 -16.8008 -7.09961 -26.1006 3c-9.2998 10.1006 -13.5 23.6006 -11.7998 39.6006c1.7002 15.8994 5.90039 22.2998 12.2998 18.8994z
+M217.1 309.5c7.10059 -21.2998 33.4004 -23.0996 26.9004 4.90039c-3.90039 16.5 -8.7998 27.0996 -15.2002 32.5c-6.59961 5.39941 -10.0996 6.69922 -11.2998 4.19922c-2.5 -2.89941 -3.5 -11.2998 -3 -24.7998c7.5 12.7998 11.5996 5.90039 12.5 4.7002l-0.5 -0.5
+c-0.799805 -1.7002 -2.59961 -3.09961 1.7002 -6.2002l1.2002 0.5v-4.7002c-1.80078 -12.5 -6.90039 -12.7998 -12.3008 -10.5996zM172.1 315c-2.19922 0.5 -4.19922 1.7002 -5.39941 4.2002c-3.5 8.5 0 21.2002 8.09961 21.2002c2 -0.5 3.7002 -1.7002 5.40039 -4.7002
+c-1.5 -0.400391 -4.7002 -4.7998 0.700195 -5.90039h0.5c0 -13.7002 -7.7002 -15.0996 -9.30078 -14.7998zM212.2 365.1l-3.7002 2.40039l-0.5 2.5c18.2998 0 25.7998 -8.7998 28.2998 -14.2998c-8.89941 4.7002 -17.7002 6.39941 -26.0996 5.89941l-0.5 3zM140.4 315.7
+c1.59961 -1.60059 0.599609 -0.299805 4.89941 -6.60059c-25.3994 -4.69922 -23.2002 -12.2998 -30 -12.2998c0.299805 0.600586 7.10059 16 23.6006 16l-7.10059 7.60059c9.40039 0.5 15.2002 2.09961 19.9004 -5.90039c0 8.7998 1.2002 16.5 2.89941 23.5996
+c2 7.60059 3.7002 11.8008 5.40039 13.5c1 1.5 16.2998 15.7002 29 22.4004c4.2002 2.90039 8.7998 3.40039 13.5 1.7002c0.5 -0.5 0.5 -1.2002 0.5 -1.7002l-13 -7.59961c7.59961 -11.8008 10.5 -25.3008 8.7998 -41.3008c-1.2998 -11.0996 -6 -20.6992 -14.7998 -28.2998
+l2.90039 -4.7002c-30 2.2002 -24.8008 6.80078 -46.5 23.6006zM159.1 334.4c-1.7998 -7.2002 -2.2998 -16 -3.09961 -26l5.40039 -6.40039l7.09961 -3.40039c2.90039 -0.5 6.59961 -1 11.2998 -0.5c1 1.7002 3.5 4.2002 6.40039 7.60059
+c5 5.89941 7.89941 13.7998 8.39941 23.0996c0.400391 8.7998 -0.5 17.7002 -3 25.2998c-3 8.10059 -5.89941 11 -10.0996 9.30078c-5.40039 -1.7002 -10.5996 -5.40039 -16 -11.8008c-3 -4.19922 -5.2002 -9.59961 -6.40039 -17.1992zM201.1 278.3l-3.09961 -6.5
+c7.09961 4.2002 13.5 7.2002 19.4004 8.40039l7.09961 0.5l11.7998 -7.60059h-2.5c-8.7998 3.7002 -19.3994 1.2002 -30.7002 -7.59961c-0.5 -4.7002 1.7002 -14.7002 5.90039 -29.5l9.2002 0.5c-21.9004 -6.59961 -37.6006 -8.40039 -48.9004 -5.40039
+c-24.8994 6.7002 -27.3994 23.6006 -27.5 24.1006c-2.89941 11.2998 -3.39941 22.3994 -1.7002 33.7002c-6.39941 -0.5 -11 -4.2002 -15.1992 -10.6006c-2.90039 5.90039 -5.40039 8.7998 -5.90039 9.2998c1.5 0.700195 12.2998 7.5 32.5 4.90039l0.5 -2.5l-5.90039 -1.2002
+c-0.0996094 -0.399414 -1.89941 -29.5 18.9004 -24.7998c1.40039 0.299805 1.2998 -0.0996094 36.0996 14.2998z" />
+ <glyph glyph-name="acquisitions-incorporated" unicode="&#xf6af;" horiz-adv-x="345"
+d="M338.5 -20.2002c2.2002 -14.2998 4.09961 -28.7002 6.59961 -43.7002h-337.1c-4 0 -6.09961 0.700195 -5.2998 5.7002c2.09961 12.9004 3.5 25.9004 5 38.7998c0.5 4.80078 2.2998 6.80078 7.59961 6.80078c118.101 -1 114.9 -0.300781 121.4 2.39941
+c9.39941 4 14.8994 12.9004 14.8994 23.1006c-0.0996094 42.8994 -0.299805 85.8994 -0.199219 128.8c0 3.7998 -1.2002 5.89941 -4.60059 6.7998c-15.7002 3.90039 -31.2998 7.7002 -47.5996 11.7002c-5.2998 -12.2998 -10.4004 -24.4004 -15.7002 -36.7002
+c1.7998 -3.2998 28.4004 -2.90039 35.2998 -2.90039v-27.5996h-114.3c1 8.59961 1.7002 16.7998 3.2002 24.9004c0.299805 1.39941 3.59961 3.09961 5.5 3.19922c8.39941 0.400391 16.8994 0.300781 25.3994 0.100586c4 0 5.90039 1.09961 7.60059 5.2002
+c16.5996 40.6992 13.5 31.1992 67.2998 161c31.5 76.0996 33 76 32.5996 87.3994c-0.699219 18.6006 -25.3994 22.2998 -37.6992 22.1006c-30 -0.400391 -38.4004 0.5 -101.801 0.5c-7.19922 44.5 -4.19922 32.0996 -6.39941 45.2998
+c-0.700195 4.2002 1 5.2998 4.59961 5.2998l339.101 -0.200195c-0.800781 -5.39941 -1.60059 -10.7998 -2.40039 -16.0996c-1.2998 -9.7002 -2.7998 -19.4004 -4 -29.2002c-0.299805 -2.90039 -1.2002 -4.2998 -4.2998 -4.2998
+c-20.6006 -0.100586 -41.2002 -0.100586 -61.7998 -0.5c-18.7002 -0.400391 -37.6006 -0.299805 -56.2002 -2c-13.4004 -1.2002 -23.2998 -12.6006 -18.9004 -26.6006c8.60059 -27.0996 27.7002 -69.0996 36.5 -89.1992c65.7002 -154.2 61.4004 -157 84 -158.601
+c6.60059 -0.5 13.4004 -0.0996094 20.4004 -0.0996094c1.2998 -9.40039 2.59961 -18 4 -27.5h-116v27c10.3994 0 20.3994 0.0996094 30.3994 -0.100586c3.5 0 5 0.700195 3.40039 4.40039c-4.40039 10.2998 -8.7002 20.5996 -13.2002 30.9004
+c-1.59961 3.69922 -4.09961 4.7998 -8.39941 3.5c-12.4004 -3.60059 -24.8008 -6.7002 -37.3008 -9.7002c-4.2998 -1.10059 -6 -2.7998 -5.89941 -7.5c0.799805 -57.5 0.899414 -127.5 1 -129.101c0.399414 -12.5996 8.7002 -21.3994 21 -23.0996
+c0.899414 -0.200195 12.8994 -2.7998 112.7 -2.59961c8.2998 0 8.39941 0.0996094 9.59961 -7.60059zM163.6 185.5c6.2002 -2 12 -2.2002 18.4004 0c13 4.2002 26.2998 7.7998 39.4004 11.7002c1.39941 0.5 2.69922 1.5 3.89941 2.09961
+c-6.7002 17.4004 -13.0996 34.2002 -19.7002 50.9004c-8.89941 22.7002 -17.6992 60.2998 -27 82.7998c-1.5 0.799805 -1.89941 -2.40039 -9.39941 0c-17.1006 -44 -34.1006 -87.7998 -51.2998 -132.1c2.2998 -1.2002 4 -2.30078 5.7998 -2.90039
+c13.2998 -4.2998 26.5996 -8.2998 39.8994 -12.5z" />
+ <glyph glyph-name="critical-role" unicode="&#xf6c9;" horiz-adv-x="445"
+d="M224.82 448c0.259766 -0.150391 216.569 -124.51 217.12 -124.72c3.04004 -1.18066 3.69922 -3.45996 3.69922 -6.56055c-0.0693359 -83.4502 -0.0595703 -166.899 -0.00976562 -250.359c0 -2.77051 -0.979492 -4.43066 -3.37988 -5.78027
+c-21.3701 -11.9902 -207.86 -118.29 -218.93 -124.58h-3c-79.3203 45.6602 -218.24 125.44 -218.391 125.52c-1.29004 0.740234 -1.95996 1.75 -1.87988 3.24023c0.0400391 0.870117 -0.0302734 225.94 -0.0498047 253.101c0 2.43945 0.889648 3.79004 2.92969 4.92969
+c23.2607 13.0996 209.271 119.229 220.141 125.21h1.75zM214.4 427.58l-0.220703 0.160156c-64.75 -36.8604 -129.489 -73.7402 -194.229 -110.61c0.0400391 -0.120117 0.0800781 -0.229492 0.129883 -0.349609c10.1895 -3.83984 20.3896 -7.69043 30.8604 -11.6406
+c-7.70996 -5.98926 -8.32031 -6.0293 -10.6504 -5.12988c-0.0996094 0.0400391 -24.1699 9.28027 -26.7998 9.99023v-230.42c0.879883 1.41016 64.0693 110.91 64.1299 111.01c1.62012 2.82031 3.03027 1.91992 9.12012 1.52051
+c1.39941 -0.0908203 1.47949 -0.220703 0.779297 -1.41992c-41.1895 -71.3301 -36.3994 -62.9902 -67.4795 -116.94c-0.80957 -1.40039 -0.610352 -1.12988 1.25 -1.12988c227.729 0 176.4 0 186.5 -0.0302734c1.44043 0 1.69043 0.230469 1.7002 1.64062
+c0.00976562 2.95996 0.00976562 5.91992 0 8.87988c0 1.33984 2.35938 0.80957 -18.3701 1.00977c-7.45996 0.0703125 -14.1396 3.21973 -21.3799 12.7002c-7.37988 9.66016 -14.6201 19.4297 -21.8506 29.21c-2.2793 3.08008 -3.44922 2.37988 -16.7598 2.37988
+c-1.75 0 -1.78027 0 -1.75977 -1.82031c0.290039 -26.21 0.149414 -25.2695 1.04004 -32.6602c0.519531 -4.37012 2.16016 -4.19922 9.68945 -4.80957c3.14062 -0.259766 3.88086 -4.08008 0.520508 -4.91992c-1.57031 -0.390625 -31.6006 -0.509766 -33.6699 0.0996094
+c-2.27051 0.660156 -2.5498 4.08008 0.299805 4.73047c3.29004 0.759766 6.16016 -0.810547 6.66016 4.43945c1.2998 13.6602 1.16992 9.04004 1.09961 79.4199c-0.00976562 10.8203 -0.349609 12.5801 -5.35938 13.5508
+c-1.2207 0.239258 -3.54004 0.15918 -4.69043 0.549805c-2.87988 0.969727 -2 4.83984 1.77051 4.84961c33.6699 0.0302734 46.0791 1.07031 56.0596 -4.85938c7.74023 -4.61035 11.9795 -11.4805 12.5098 -20.4004c0.879883 -14.5898 -6.50977 -22.3496 -14.9902 -32.5898
+c-0.679688 -0.820312 -0.719727 -1.37988 -0.0400391 -2.2207c2.60059 -3.25 5.05078 -6.62988 7.71094 -9.8291c27.5596 -33.2305 24.1094 -30.54 41.2793 -33.0605c0.890625 -0.129883 1.02051 0.419922 1.00977 1.15039
+c-0.0195312 3.66992 0.0107422 7.33008 -0.0195312 11c-0.00976562 1.01953 0.320312 1.42969 1.41016 1.25977c12.54 -1.91016 21.8496 0.0703125 23.5801 0.299805c1.08008 0.150391 1.5 -0.200195 1.47949 -1.33008c0 -0.109375 0.879883 -26.6895 0.870117 -26.7998
+c-0.0498047 -1.51953 0.669922 -1.62012 1.89062 -1.62012c62.3799 0.0205078 125.149 0.0205078 186.71 0.0205078c-27.1201 47.0293 -54.1104 93.8496 -81.1807 140.81c2.25977 0.660156 -0.399414 0.0302734 6.69043 1.38965
+c2.03027 0.390625 2.0498 0.410156 3.10938 -1.43945c7.31055 -12.6396 77.3105 -133.96 77.3701 -134.061v230.46c-1.71973 -0.5 -103.3 -38.7197 -105.76 -39.6797c-1.08008 -0.419922 -1.5498 -0.200195 -1.91016 0.879883
+c-0.629883 1.90039 -1.33984 3.76074 -2.08984 5.62012c-0.320312 0.790039 -0.0898438 1.12988 0.650391 1.39062c0.0996094 0.0390625 95.5293 35.8496 103.04 38.7695c-65.4199 37.5703 -130.561 75 -196.011 112.6c29.0703 -50.3594 57.9502 -100.369 86.8203 -150.39
+c-0.0898438 -0.110352 -0.179688 -0.219727 -0.280273 -0.330078c-9.56934 0.900391 -10.46 1.60059 -11.7998 3.94043c-0.959961 1.68945 -73.5 127.71 -82 142.16c-9.09961 -14.6709 -83.5596 -146.211 -85.3701 -146.32
+c-2.92969 -0.169922 -5.87988 -0.0800781 -9.25 -0.0800781c28.8301 49.8301 57.5 99.4199 86.1807 149zM266.33 297.66c1.84961 0.0498047 3.7002 0.519531 5.54004 0.849609c1.68945 0.299805 2.53027 -0.200195 2.59961 -1.91992
+c0 -0.109375 0.0703125 -19.0596 -0.859375 -20.4502c-0.870117 -1.2998 -1.87988 -1.21973 -2.60059 0.19043c-4.95996 9.68945 6.2207 9.66016 -39.1201 12.0498c-0.699219 0.0400391 -1 -0.229492 -0.969727 -0.929688c0 -0.129883 3.71973 -121.98 3.73047 -122.11
+c0.0195312 -0.889648 0.519531 -1.2002 1.20996 -1.50977c2.91992 -1.31055 5.95996 -2.41992 8.69922 -4.0498c7.31055 -4.33008 11.3809 -10.8398 12.4102 -19.3105c1.44043 -11.7998 -2.76953 -35.7695 -32.21 -37.1396
+c-2.75 -0.129883 -28.2598 -1.08008 -34.1396 23.25c-4.66016 19.2598 8.25977 32.7002 19.8896 36.4004c1.49023 0.469727 1.9502 1.25977 1.98047 2.65918c0.0996094 5.62988 3 107.101 3.70996 121.351c0.0498047 1.08008 -0.620117 1.16016 -1.35059 1.14941
+c-32.3496 -0.519531 -36.75 0.34082 -40.2197 -8.51953c-2.41992 -6.17969 -4.13965 -1.32031 -3.9502 -0.230469c0.879883 4.98242 2.36328 13.0605 3.31055 18.0303c0.399414 2.11035 1.42969 2.61035 3.42969 1.86035c5.58984 -2.11035 6.71973 -1.7002 37.25 -1.91992
+c1.73047 -0.0107422 1.78027 0.0800781 1.82031 1.84961c0.679688 27.4902 0.580078 22.5898 0.969727 29.5498c0.0703125 1.29004 -0.410156 2.16992 -1.62988 2.7998c-5.59961 2.91016 -8.75 7.55078 -8.90039 13.8701c-0.349609 14.8105 17.7207 21.6699 27.3799 11.5107
+c6.84082 -7.19043 5.80078 -18.9102 -2.44922 -24.1504c-1.66016 -1.05957 -2.31055 -2.33008 -2.2207 -4.33984c0.0302734 -0.589844 -0.109375 4.30957 0.980469 -30.0498c0.0302734 -0.900391 0.429688 -1.12012 1.24023 -1.11035
+c0.0996094 0 23.0098 0.0898438 34.4697 0.370117zM67.2695 306.3c19.8408 4.50977 32.6807 0.560547 52.4902 -1.68945c2.75977 -0.310547 3.74023 -1.2207 3.62012 -3.99023c-0.209961 -4.99023 -1.16016 -22.3301 -1.24023 -23.1504
+c-0.0996094 -1.04004 -0.599609 -1.91016 -1.62988 -2.33984c-4.05957 -1.7002 -3.60938 4.4502 -4.00977 7.29004c-3.12988 22.4297 -73.8701 32.7002 -74.6299 -25.4004c-0.310547 -23.9199 17.0098 -53.6299 54.0801 -50.8799
+c27.2402 2.01074 19.0498 20.1904 24.8398 20.4707c1.97949 0.0996094 3.33008 -1.33008 2.97949 -3.36035c-1.8291 -10.8496 -3.41992 -18.9502 -3.44922 -19.1504c-1.51074 -9.17969 -86.6699 -22.0801 -93.3506 42.0508
+c-2.67969 25.8691 10.4707 53.3691 40.2998 60.1494zM147.26 218.63c-6.5 0.0302734 -12.9902 0 -19.4902 0.0400391c-1.95996 0.00976562 -2.7793 1.61035 -2.65918 1.79004c2.37988 3.75 5.88965 -0.919922 5.85938 6.13965
+c-0.0800781 25.75 0.209961 37.9902 0.230469 40.1006c0.0302734 3.41992 -0.530273 4.64941 -3.32031 4.93945c-7 0.720703 -3.11035 3.37012 -1.11035 3.37988c11.8408 0.100586 22.6201 0.180664 30.0508 -0.719727c8.76953 -1.06934 16.71 -12.6299 7.92969 -22.6201
+c-1.98047 -2.25 -4.03027 -4.41992 -6.13965 -6.72949c0.949219 -1.15039 6.89941 -8.82031 17.2793 -19.6807c2.66016 -2.7793 6.15039 -3.50977 9.87988 -3.12988c1.2207 0.120117 2.11035 0.75 2.23047 2.12012c0.299805 3.41992 0.259766 -4.72949 0.450195 40.5801
+c0.0195312 5.65039 -0.339844 6.58008 -3.23047 6.83008c-3.9502 0.349609 -4.0293 2.25977 -0.689453 3.37012c0.120117 0.0400391 18.9795 0.0898438 19.0898 0.0898438c0.320312 0 4.49023 -0.530273 1.0498 -3.37988
+c-0.0498047 -0.0498047 -0.160156 -0.0302734 -0.240234 -0.0400391c-3.60938 -0.259766 -3.93945 -0.979492 -3.95996 -4.62012c-0.269531 -43.9297 0.0703125 -40.2295 0.410156 -42.8203c0.110352 -0.839844 0.270508 -2.22949 5.10059 -2.13965
+c2.48926 0.0400391 3.85938 -3.37012 -0.0205078 -3.39941c-10.3701 -0.0800781 -20.7402 -0.0302734 -31.1104 -0.0703125c-10.6699 -0.0400391 -13.4697 6.2002 -24.21 20.8203c-1.59961 2.17969 -8.30957 2.35938 -8.19922 0.369141
+c0.879883 -16.4697 0 -17.7793 3.98926 -17.6699c4.75 0.100586 4.73047 -3.56934 0.830078 -3.5498zM422.23 228.78c-1.21094 -7.12988 0.169922 -10.3799 -5.30078 -10.3398c-61.5498 0.419922 -47.8193 0.219727 -50.7197 0.30957
+c-1.21973 0.0400391 -2.42969 0.44043 -3.62988 0.730469c-2.53027 0.599609 1.47949 1.22949 -0.379883 5.59961c-1.43066 3.37012 -2.78027 6.78027 -4.11035 10.1895c-0.379883 0.980469 -0.939453 1.44043 -2.04004 1.44043
+c-3.12012 0 -7.26953 0.44043 -14.5801 -0.0703125c-0.580078 -0.0400391 -1.39941 -0.549805 -1.62012 -1.05957c-1.58008 -3.62012 -3.06934 -7.29004 -4.50977 -10.96c-1.26953 -3.23047 7.86035 -1.32031 12.1904 -2.16016
+c2.96973 -0.570312 4.5293 -3.71973 0.660156 -3.72949c-8.79004 -0.0302734 -17.5801 -0.0605469 -26.3701 -0.0507812c-2.91992 0 -3.08984 3.15039 -0.740234 3.20996c2.66992 0.0703125 4.74023 1.12988 5.91992 3.4707c1.5 2.96973 2.7998 6.04004 4.11035 9.08984
+c18.1797 42.1396 17.0596 40.1699 18.4199 41.6094c1 1.06055 2.06934 1.05078 3.0293 -0.0400391c2.93066 -3.33984 18.4004 -44.71 23.6201 -51.9199c1.95996 -2.69922 5.74023 -1.97949 6.36035 -2.00977c3.61035 -0.129883 3.96973 1.11035 4.12988 4.29004
+c0.0898438 1.87012 0.0800781 -1.16992 0.0703125 41.2402c0 4.45996 -2.36035 3.74023 -5.5498 4.26953c-0.260742 0.0400391 -2.56055 0.629883 -0.0800781 3.06055c0.209961 0.200195 -0.890625 0.240234 21.6992 0.149414
+c2.32031 -0.00976562 5.32031 -2.75 -1.20996 -3.44922c-1.80957 -0.19043 -2.58008 -1 -2.65918 -2.83008c-0.0703125 -1.62988 -0.19043 -38.8906 0.290039 -41.21c0.349609 -1.73047 1.72949 -2.37988 3.22949 -2.43066c13.25 -0.429688 14.9199 -0.439453 16.04 3.41016
+c1.66992 5.78027 4.12988 2.52051 3.73047 0.19043zM317.55 164.41c-4.24023 0 -4.41992 3.38965 -0.609375 3.41016c35.9092 0.160156 28.1094 -0.379883 37.1895 0.649414c1.67969 0.19043 2.37988 -0.239258 2.25 -1.88965
+c-0.259766 -3.38965 -0.639648 -6.78027 -1.03027 -10.1602c-0.25 -2.16016 -3.19922 -2.61035 -3.39941 0.150391c-0.379883 5.30957 -2.15039 4.44922 -15.6299 5.08008c-1.58008 0.0693359 -1.64062 0.0195312 -1.64062 -1.52051v-16.1201
+c0 -1.64941 0 -1.59961 1.62012 -1.46973c3.12012 0.25 10.3105 -0.339844 15.6904 1.51953c0.469727 0.160156 3.2998 1.79004 3.06934 -1.75977c-0.00976562 -0.209961 -0.759766 -10.3496 -1.17969 -11.3896c-0.530273 -1.29004 -1.87988 -1.50977 -2.58008 -0.320312
+c-1.16992 1.9502 0 5.08008 -3.70996 5.2998c-15.4199 0.900391 -12.9102 2.55078 -12.9102 -5.98926c0 -12.25 -0.759766 -16.1104 3.89062 -16.2402c16.6396 -0.480469 14.3994 0 16.4297 5.70996c0.839844 2.37012 3.5 1.76953 3.17969 -0.580078
+c-0.439453 -3.20996 -0.849609 -6.42969 -1.22949 -9.63965c-0.0400391 -0.360352 -0.160156 -2.40039 -4.66016 -2.39062c-37.1602 0.0800781 -34.54 0.19043 -35.21 0.310547c-2.71973 0.509766 -2.2002 3.04004 0.219727 3.44922
+c1.10059 0.19043 4.03027 -0.539062 4.16016 2.56055c2.44043 56.2197 -0.0703125 51.3398 -3.91016 51.3301zM317.14 273.93c2.45996 -0.609375 3.12988 -1.75977 2.9502 -4.64941c-0.330078 -5.2998 -0.339844 -8.98047 -0.549805 -9.69043
+c-0.660156 -2.22949 -3.15039 -2.12012 -3.33984 0.270508c-0.379883 4.80957 -3.0498 7.81934 -7.57031 9.14941c-26.2803 7.73047 -32.8096 -15.46 -27.1699 -30.2197c5.87988 -15.4102 21.9902 -15.9199 28.8604 -13.7803c5.91992 1.85059 5.87988 6.5 6.91016 7.58008
+c1.22949 1.2998 2.25 1.83984 3.11914 -1.09961c0.0302734 -0.100586 0.570312 -11.8906 -5.96973 -12.75c-1.59961 -0.209961 -19.3799 -3.69043 -32.6797 3.38965c-21.0098 11.1904 -16.7402 35.4697 -6.87988 45.3301c14.0293 14.0596 39.9102 7.05957 42.3193 6.46973z
+M288.8 167.86c3.28027 0 3.66016 -3 0.160156 -3.43066c-2.61035 -0.319336 -4.96973 0.419922 -5 -5.45996c-0.00976562 -1.97949 -0.19043 -29.0498 0.400391 -41.4502c0.109375 -2.28906 1.14941 -3.51953 3.43945 -3.64941
+c22.0303 -1.20996 14.9502 1.64941 18.79 6.33984c1.83008 2.24023 2.75977 -0.839844 2.75977 -1.08008c0.350586 -13.6201 -3.95996 -12.3896 -5.18945 -12.3994c-0.100586 0 -38.0801 0.179688 -38.1797 0.189453c-1.93066 0.230469 -2.06055 2.99023 -0.420898 3.37988
+c1.99023 0.480469 4.94043 -0.399414 5.13086 2.7998c0.959961 15.8701 0.569336 44.6504 0.339844 47.8105c-0.270508 3.76953 -2.7998 3.26953 -5.68066 3.70996c-2.46973 0.379883 -1.98926 3.21973 0.34082 3.21973
+c1.46973 0.0205078 17.9893 0.0302734 23.1094 0.0205078zM257.17 225.65c0.0703125 -4.08008 2.86035 -3.45996 6.00977 -3.58008c2.61035 -0.100586 2.53027 -3.41016 -0.0693359 -3.43066c-6.48047 -0.0400391 -13.7002 0.0205078 -21.6104 0.0605469
+c-3.83984 0.0195312 -3.37988 3.34961 0.0400391 3.37012c4.49023 0.0292969 3.24023 -1.61035 3.41016 45.54c0.0195312 5.08008 -3.27051 3.54004 -4.71973 4.22949c-2.58008 1.23047 -1.36035 3.08984 0.40918 3.15039
+c1.29004 0.0498047 20.1904 0.410156 21.1699 -0.209961c1.13086 -0.720703 1.87012 -1.65039 -0.419922 -2.86035c-0.989258 -0.519531 -3.85938 0.280273 -4.14941 -2.46973c-0.0205078 -0.209961 -0.820312 -1.62988 -0.0703125 -43.7998zM220.26 -48.6201
+c1.14062 -0.660156 2.12012 -0.660156 3.25977 0c16.9902 9.79004 181.971 103.57 197.421 112.51c-0.140625 0.430664 11.2598 0.180664 -181.521 0.270508c-1.21973 0 -1.57031 -0.370117 -1.53027 -1.56055c0 -0.0996094 1.25 -44.5098 1.2207 -50.3799
+c-0.0205078 -2.58008 -0.620117 -5.21973 -1.36035 -7.70996c-0.549805 -1.83008 0.379883 0.5 -13.5 -32.2295c-0.730469 -1.7207 -1.04004 -2.20996 -1.96973 0.0800781c-4.19043 10.3398 -8.28027 20.7197 -12.5703 31.0098c-1.45996 3.5 -2.24023 7 -2 10.79
+c0.160156 2.45996 0.799805 16.1201 1.50977 48.0195c0.0400391 1.9502 0.0107422 1.95996 -1.95996 1.95996h-183c2.58008 -1.62988 178.32 -102.569 196 -112.76zM129.36 140.13c0 -2.39941 0.359375 -2.79004 2.75977 -3.03027
+c11.54 -1.16992 21.04 -3.73926 25.6396 7.32031c6.00977 14.46 2.66016 34.4102 -12.4795 38.8398c-2.01074 0.589844 -15.96 2.75977 -15.9404 -1.50977c0.0498047 -8.00977 0.00976562 -11.5801 0.0205078 -41.6201zM235.11 155.18
+c0 -2.12988 1.06934 -38.6797 1.08984 -39.1299c0.339844 -9.93945 -25.5801 -5.76953 -25.2305 2.58984c0.0800781 2.02051 1.37012 37.4199 1.10059 39.4307c-14.1006 -7.44043 -14.4199 -40.21 6.43945 -48.8008c8.43066 -3.46973 17.54 -0.599609 22.3906 7.07031
+c4.90918 7.75977 6.83984 29.4697 -5.43066 38.96c-0.120117 -0.0498047 -0.239258 -0.0898438 -0.359375 -0.120117zM222.83 353.22c-9.83008 0.0302734 -9.73047 -14.75 -0.0703125 -14.8701c9.58984 -0.109375 10.1006 14.8408 0.0703125 14.8701zM142.68 249.35
+c0.0205078 -1.7998 0.410156 -2.39941 2.16992 -2.58008c13.6201 -1.38965 12.5107 10.9902 12.1602 13.3604c-1.68945 11.2197 -14.3799 10.2002 -14.3496 7.81055c0.0498047 -4.5 -0.0302734 -13.6807 0.0195312 -18.5908zM354.99 242.95
+c-2.03027 5.28027 -4 10.3896 -6.10059 15.8398c-2.15918 -5.48047 -4.15918 -10.5703 -6.22949 -15.8398h12.3301z" />
+ <glyph glyph-name="d-and-d-beyond" unicode="&#xf6ca;" horiz-adv-x="640"
+d="M313.8 206.5c-9.89941 0 -16 7 -15.7002 7.09961c-4.2998 5.7002 -3 -0.299805 -2.39941 -1.89941c-10.9004 10.2998 -5.2998 25.3994 -5.10059 26c0.700195 1.89941 0 2.2002 -0.599609 1.89941c-1 -0.299805 -2.09961 -1.89941 -2.09961 -1.89941
+c0.799805 9.09961 9.2998 14.7002 9.2998 14.7002l0.200195 -0.200195c1 -1.5 -0.400391 -3.2002 -0.600586 -9c1.60059 2.2998 7.90039 6.59961 11.4004 7.89941c-1.10059 -1.5 -2.10059 -3.59961 -2.10059 -6.59961c3.7002 4.2002 7.5 2.59961 8 2.40039
+c-12.1992 -11.9004 -7 -26.6006 3.2002 -26.6006c5.7002 0 11.5 6.40039 13.9004 10.7002c2.39941 -2.40039 6.39941 -5.5 7.39941 -6.59961c-3.7998 -7.80078 -11 -17.9004 -24.7998 -17.9004zM366.2 227.6c0 -2.89941 -2.90039 -4.09961 -5.40039 -4.5
+c0.700195 1.5 1.7998 5.10059 -0.200195 9c0.700195 -0.0996094 5.60059 -0.5 5.60059 -4.5zM376.5 222.4c-0.400391 -6.5 -6.90039 -11.6006 -14.5996 -10.6006c2 -1.7002 6.59961 -3 9 -1.89941c-3.90039 -6.90039 -23.1006 -7.5 -23.1006 6.39941
+c-2.89941 -2.89941 -2.09961 -7.39941 0 -9.2998c-2.2002 0.700195 -5.7998 3.09961 -6.39941 7.40039c-1.30078 10.0996 4.39941 6.5 -10.4004 18.0996c-4.7998 3.7002 -3 6.59961 -4 8.5c-1.09961 2.2002 -7 4.09961 -4.5 8.5
+c-0.0996094 -1.59961 1 -2.90039 2.59961 -3.5c1.80078 -0.700195 3.2002 -0.200195 4.80078 -1c1.69922 -1.2002 0.899414 -3.90039 2.19922 -5c1.10059 -0.799805 4.2002 0.299805 6.60059 -1.7998c2.59961 -2 8.2002 -6.7002 10.5996 -8.60059
+c4.40039 -3.59961 8.7998 0.400391 7.40039 4.60059c4.5 -2.60059 5 -9.90039 1.2998 -12.5c10.5996 -2.40039 13 10.0996 5 11.3994c7.2998 0.700195 13.5 -4.2998 13.5 -10.6992zM337.1 240.8c4.30078 6.10059 13.3008 15.2998 23.8008 15.7998
+c-5.90039 0.800781 -15.1006 -3.19922 -19.7002 -9c0.899414 3.90039 5.09961 10.1006 10.2002 13c0 0 -2.5 -3.19922 -1.40039 -3.69922c1.59961 -0.800781 5.7998 5.69922 11.2002 5.89941c0 0 -4 -2 -3.2002 -3.39941c0.599609 -0.900391 3.2998 1.2998 8 1.2998
+c5.7998 0 10.9004 -3.5 13.2998 -6.2002c-4 1.09961 -11.5996 -0.799805 -13.7998 -2.7002c-0.299805 0.200195 -11.7998 9 -22 -15.5c-4.7998 3.7998 -4.40039 3.7002 -6.40039 4.5zM579.6 188.9c37.2002 0 60.4004 -19.6006 60.4004 -48.9004
+c0 -28.2002 -17 -48.9004 -59.0996 -48.9004c-20.7002 0 -41.2002 1.30078 -51.6006 2.10059l7.40039 8.2002v77.1992l-7.40039 8.2002c10.2998 0.799805 29.6006 2.10059 50.2998 2.10059zM564.5 113.3c25.4004 -3.2002 46.7998 1.40039 46.7998 27
+c0 22.5 -16.7002 29.6006 -46.7998 26.2998v-53.2998zM301.6 267c0.100586 -0.299805 -2.7998 2.2998 -3.2998 7.5c-0.200195 2.2998 0 19.7998 20 18.9004c11.2002 -0.600586 16.7002 -8.30078 16.7002 -16.5c0 -4.30078 -2.2998 -10.1006 -5.5 -13.8008
+c-2.2002 2.2002 -5.59961 4.60059 -7.7002 7.80078c3.7998 5.59961 2.2002 14.3994 -4.7002 14.3994c-4.2998 0 -7.7998 -4.5 -6.39941 -9.89941c-0.700195 -2.40039 -1 -5.60059 -0.5 -8c-4.90039 2.59961 -6.5 6 -7.5 9c-1.2998 -2.5 -2.10059 -6 -1.10059 -9.40039z
+M301.2 261c0.299805 1.7002 -3.10059 4.59961 -4.7998 5.2002c4.7998 0.200195 7 -0.600586 7 -0.600586c-1.30078 1.7002 -1.60059 4.5 -1 6.7002c2.5 -6.09961 11.6992 -7.09961 13.8994 -12.2002c-0.299805 2.30078 -2.39941 4.7002 -4.7998 6.10059
+c-1.2998 3.2002 -0.299805 9.39941 1.2998 11c-0.5 -8.7998 12 -13.7998 14.6006 -20.2002c-1.40039 5.5 -7.40039 9 -10.1006 12.2002c-1 2.09961 -0.200195 5.7998 0.799805 7.09961c-0.5 -9.7002 15.8008 -14.2998 14.1006 -23.8994
+c0.899414 -0.400391 2.09961 -1.2002 1.89941 -2.60059c1.30078 0.299805 2.60059 1.7002 2.90039 2.7002c0.700195 -4.5 -1.90039 -9 -4.7998 -10.4004c1.59961 4 -2.7002 5.60059 -6.7002 5.10059c0 0 1.59961 2.2998 1 3.39941
+c-0.799805 1.5 -8 0.800781 -11.2002 -0.299805c1.10059 0.100586 3.60059 -0.200195 4.60059 -0.5c-2.10059 -2.89941 -1 -7.09961 1.2998 -4.2002c0 0 -1.10059 -3.5 -0.299805 -4.2998c0.799805 -0.799805 2.59961 -0.200195 2.59961 -0.200195
+c-1.2002 -2.69922 -5.2998 -4.59961 -8.2002 -4.59961c1.10059 0.400391 2.7002 2.2998 3 3.40039c-0.799805 -0.5 -2.7002 -0.700195 -3.5 -0.5c6.10059 3 0 13.1992 -7 8.19922c1 2.7002 3.7002 5.30078 5.7998 6.10059c-1.2998 0.5 -2.69922 0.799805 -4.2998 1.09961
+c1.7998 1.5 6.2998 2.7998 8.5 2.60059c-3.5 0.799805 -9.89941 -0.300781 -12.7998 -3.7002c0.900391 0 3.2998 -0.5 4.2998 -0.799805c-4 -0.700195 -9.39941 -4.40039 -11 -6.2002c0.299805 2.2002 1 4.2002 0.5 5.59961c-0.799805 2 -3 2.7998 -7.7998 1.7998
+c3.2002 3.2002 9.7002 5.10059 10.2002 6.90039zM327.1 253.6c0 0 -0.899414 3 -4.19922 4.30078c0.699219 -2.2002 1.5 -4.30078 4.19922 -4.30078zM366 249.9l0.700195 0.699219c0.5 0.400391 1.59961 0.900391 2.7002 1.40039v-18.4004
+c-1.7002 0.800781 -3.5 1.10059 -5.60059 1.10059c-2.39941 0 -5 -0.5 -5 -0.5c-0.5 0.5 -3.59961 2.89941 -5.09961 3.2002c4.09961 -4.30078 0.5 -9.80078 -3 -7.2002v15.7002c0.700195 0.799805 1.2998 1.7998 2.09961 2.59961
+c1.7002 2.09961 4.60059 3.40039 7.5 3.40039c1.7998 0 3.60059 -0.400391 4.7002 -1.40039zM79.9004 142.1c22 -6.39941 19.3994 -20.0996 19.3994 -25.1992c0 -7.80078 -3.2002 -13.6006 -9.89941 -17.6006c-12.6006 -7.39941 -24.7002 -5.89941 -86.4004 -5.89941
+l8.40039 8.59961v32.2998l-11.4004 14.6006h11.2998v29.5l-8.2998 8.59961h56.0996c12.9004 0 37 -4.40039 37 -25c0 -1.90039 1 -15.2998 -16.1992 -19.9004zM38.5996 169.6v-20.8994c10.6006 0 29.6006 -3.2998 29.6006 8.7998v3
+c0 9.90039 -9.60059 9.09961 -29.6006 9.09961zM38.5996 110.4c20.4004 0 32.9004 -1.90039 32.9004 9.2998h-0.200195v4.5c0 11.0996 -20.5 8.7998 -32.7002 8.7998v-22.5996zM139.8 129.7v-15.4004l60.1006 0.200195l-14.1006 -21.2002h-81.2002l7.40039 8.2002v77.0996
+l-7.40039 8.2002l73.5 0.200195v-0.200195l14.1006 -21h-52.4004v-14.8994h37.2002l-14.0996 -21.2002v-0.200195zM354.5 189.8c73.7998 0 77.5996 -99.2998 -0.299805 -99.2998c-77.2002 0 -73.6006 99.2998 0.299805 99.2998zM354.2 112.3
+c39 0 37 55.2002 0.200195 55.2998c-37.1006 0 -37.6006 -55.2998 -0.200195 -55.2998zM262.9 120.6l0.199219 -19l7.2002 -8.19922h-42.5996l7.7002 8.19922l-0.200195 19.4004l-44.1006 65.7998h44.9004l-6.40039 -7.2002l21 -37.1992h0.300781l20.5 37.1992
+l-6.10059 7.2002h41.7002zM234.5 271.9c-9.09961 6.69922 -9.5 14.0996 -9.59961 14.8994c7.2998 -4.2998 9 -4 39.8994 -4c-5.7998 0 24 3.10059 32.2002 -22.8994c-0.400391 0 -8.40039 -4.80078 -10.4004 -7.90039c5.30078 1.90039 8.90039 1.09961 9 1.09961
+c-8 -5.09961 -9.59961 -14.7998 -9.59961 -20.5c0.900391 2.10059 2.7002 3.7002 2.7002 3.5c-0.600586 -2.5 -1.40039 -7 -0.799805 -12c-8.60059 -7.09961 -16 -8.59961 -26 -8.59961h-35.1006c0.400391 0.0996094 7.7998 4.5 7.90039 4.59961
+c1.89941 1.10059 2.7002 2.2002 2.7002 6.40039v38.7998c0 4.2002 -1.30078 5.2998 -2.90039 6.60059zM256 266.4v-34.6006c4.7002 0 23.0996 -3.39941 23.0996 17.2998c0 20.6006 -18.5 17.3008 -23.0996 17.3008zM484.9 186.8l39.1992 -0.0996094l-7.39941 -8.2998
+v-85.2002h-21.2998c-4 12.7002 -44.8008 45 -48.5 55.5996h-0.300781v-47.3994l7.40039 -8.2002h-39l7.2002 8.2998v76.9004l-7.40039 8.5h31.6006c2.89941 -9.40039 39.7998 -36.5 45.1992 -50.9004h0.300781v42.5zM378.2 282.9
+c32.7002 -1.60059 33.7998 -29.8008 33.7998 -33.6006c0 -6.7002 -3.2998 -34 -36.7002 -34h-0.299805c3.59961 4.2998 3.5 11.9004 -2.2002 16.2998c1.2002 0 19.7002 -3.19922 19.7002 17.3008c0 20.6992 -18.4004 17.2998 -23.0996 17.2998v-4.2998
+c-5.40039 0.799805 -7.40039 -0.300781 -7.5 -0.300781c2.09961 1.80078 4.5 2.60059 6.09961 2.90039c-7.09961 1.59961 -13.5996 -2.40039 -14.5996 -3.5c0.799805 1.7998 2.39941 3.40039 3.5 4.5c-2.30078 -0.799805 -4.30078 -1.90039 -6.10059 -3
+c0 5.2002 0.200195 7.5 -2.89941 9.5c-9.10059 6.59961 -9.5 14.2002 -9.60059 14.9004c7.10059 -4.2002 7.7002 -4 39.9004 -4z" />
+ <glyph glyph-name="dev" unicode="&#xf6cc;"
+d="M120.12 239.71c3.87012 -2.90039 5.82031 -7.25977 5.83008 -13.0596v-69.6504c0 -5.80957 -1.94043 -10.1602 -5.82031 -13.0596c-3.87988 -2.90039 -7.76953 -4.35059 -11.6494 -4.35059h-17.4502v104.47h17.4395c3.87988 0 7.77051 -1.44922 11.6504 -4.34961z
+M404.1 416c24.2002 0 43.8408 -19.5898 43.9004 -43.7998v-360.4c-0.0595703 -24.21 -19.6904 -43.7998 -43.9004 -43.7998h-360.199c-24.2002 0 -43.8408 19.5898 -43.9004 43.7998v360.4c0.0595703 24.21 19.7002 43.7998 43.9004 43.7998h360.199zM154.2 156.81
+l-0.00976562 70.9307c-0.0107422 18.8193 -11.9307 47.2793 -47.3701 47.2793h-47.3799v-165.46h46.3994c36.75 -0.0595703 48.3604 28.4404 48.3604 47.25zM254.88 245.47l0.00976562 29.5205h-63.1895c-11.1504 -0.280273 -19.9805 -9.54004 -19.71 -20.6904v-125.109
+c0.279297 -11.1602 9.55957 -19.9805 20.7197 -19.6904h62.1797v29.5703h-53.29v38.4102h32.5703v29.5693h-32.5703v38.4199h53.2803zM358.52 130.18l38.4609 144.801h-32.5801l-29.5703 -113.721l-29.71 113.721h-32.5703l38.5303 -144.801
+c10.5898 -24.6299 34.2402 -30.75 47.4395 0z" />
+ <glyph glyph-name="fantasy-flight-games" unicode="&#xf6dc;" horiz-adv-x="512"
+d="M256 415.14l223.14 -223.14l-223.14 -223.14l-223.14 223.14zM88.3398 192.17c11.3447 -11.2461 29.7705 -29.4893 41.1299 -40.7197c20.1602 19.8799 40.46 39.8994 61.8506 60.9902c12.0596 -12.5801 24.5195 -25.5703 36.54 -38.1104
+c12.0293 11.6895 23.7393 23.0596 35.6895 34.6602c-6.99023 7.4502 -32.1494 32.8301 -35.0898 35.7793c-1.91016 1.9209 -2.29004 3.2207 -0.120117 5.35059c15.5801 15.2295 39.21 17.79 56.9805 5.09961c7.98926 -5.70996 14.2998 -11.6396 48.5098 -43.9502
+c10.8203 11.1504 22.2295 22.8506 33.5 34.6904c0.490234 0.520508 0.0996094 2.63965 -0.580078 3.37988c-0.0898438 0.100586 -37.5195 40.6006 -62.1504 59c-33.5801 25.0801 -78.3193 23.0605 -119.77 -18.6895c-84.5703 -85.1807 -94.5303 -95.4805 -96.4902 -97.4805z
+M323.16 90.5703c18.8203 18.79 80.3301 80.6396 100.5 101.5c-13.7305 13.4492 -27.1797 26.6299 -40.8604 40.0293c-20.0098 -19.7393 -40.2402 -39.6895 -61.25 -60.4199c-12.3301 12.8301 -24.8799 25.8799 -37.25 38.75
+c-1.25977 -0.689453 -1.64941 -0.80957 -1.91016 -1.06934c-10.7295 -10.7705 -21.4199 -21.5801 -32.21 -32.29c-2.22949 -2.20996 -0.519531 -3.35059 0.800781 -4.69043c10.5791 -10.7402 21.1797 -21.4502 31.7695 -32.1797
+c3.5498 -3.60059 3.54004 -3.85059 -0.139648 -7.24023c-16.8008 -15.4697 -40.8408 -16.54 -59.3203 -1.7998c-7.62012 6.08008 -11.6602 10.1797 -44.6797 42.0898c-11.5801 -11.8896 -23.3203 -23.9404 -35.3701 -36.3096
+c33.5498 -34.7607 50.8496 -53.3408 72.9297 -66.8408c28.9004 -17.6699 71.5 -14.96 106.99 20.4707zM256 448l256 -256l-256 -256l-256 256zM16 192l240 -240l240 240l-240 240z" />
+ <glyph glyph-name="penny-arcade" unicode="&#xf704;" horiz-adv-x="639"
+d="M421.91 283.73c7.33984 -16.2705 2.29004 -5.07031 24.6299 -54.6807l-39.7305 -10.6094c13.7002 59.2295 10.6104 45.8398 15.1006 65.29zM215.82 232.62c32.5 8.99023 41.9492 -37.6396 -0.350586 -47.4297c-14.2002 -3.77051 -6.64941 -1.75 -34.8193 -9.34082
+l-4.45996 46.1904c28.3193 7.5498 19.4395 5.17969 39.6299 10.5801zM541.98 258.81c75.7998 -37.9092 98 -76.3193 97.9893 -104.47c2.10059 -78.8496 -183.3 -130.33 -399.89 -84.8301c0.540039 -13 -8.00977 -24.6494 -20.5801 -28.0195
+c-125.54 -33.54 -117.35 -31.75 -122.53 -31.7598c-14.3701 -0.0107422 -26.4102 10.8896 -27.7998 25.1992l-4.2998 44.4805c-0.0683594 0.724609 -0.125 1.90332 -0.125 2.63184c0 10.5811 8.01758 22.2461 17.8945 26.0381l-1.73926 17.8799
+c-50.2305 28.2598 -80.9004 61.8701 -80.9004 95.3701c0 72.9199 144.26 113.4 309.41 98.3701c2.68945 7.54395 11.1514 15.3438 18.8896 17.4102c96.8701 25.9092 65.3203 17.4795 135.59 36.2295c13.1602 3.50977 26.9307 -2.95996 32.6201 -15.3301zM255.14 149.7
+c17.5 4.0498 40.2363 19.1562 50.75 33.7197c21.6006 32.5898 14.1104 105.561 -42.5498 104.43c-16.04 -0.229492 -8.07031 0.890625 -186.22 -46.6494l4.34961 -44.5l20.1201 5.38965l11.1104 -114.64l-20.0205 -5.35059l4.30078 -44.5195l115.31 30.7803
+l-4.50977 44.5098l-20.5303 -5.50977l-2.45996 23.5498l48.4404 12.9102zM454.32 133.08l108.55 28.96l-4.2998 44.4795l-20.79 -5.55957l-66.6699 145.47c-70.5801 -18.8301 -42.2305 -11.25 -135.591 -36.2393l4.2002 -44.4805l17.1504 4.55957l-33.0801 -126.47
+l-20.9902 -5.58984l4.45996 -44.4297l112.851 30.0693l-4.05078 39.54l-19.1992 -5.12012l4.09961 17.54l57.7598 15.4209l6.61035 -14.6807l-14.9004 -3.97949z" />
+ <glyph glyph-name="wizards-of-the-coast" unicode="&#xf730;" horiz-adv-x="640"
+d="M219.19 102.31c7.44922 5.80078 16.2598 0.680664 21.7295 -7.0791c7.08984 -10.1201 6.24023 -18.1602 -0.259766 -23.04c-7.62012 -6.24023 -17.0898 0.129883 -21.7305 6.5498c-10.8096 15.1299 -1.63965 22.1895 0.260742 23.5693zM555.94 26.3701
+c1.30957 4.4502 3.92969 10.21 3.93945 20.1699c0 34.04 -41.6299 64.4102 -100.03 68.0801c-53.1592 3.39941 -120.46 -15.4502 -184.35 -73.8506l-0.790039 0.260742c1.58008 10.4697 -0.780273 16.2295 -3.40039 21.21l0.260742 1.56934
+c64.4199 51.3203 134.069 66.5107 188.8 60.4902c61.0098 -6.54004 104.479 -39.54 101.34 -78.0303c-0.790039 -9.68945 -2.88965 -15.71 -4.97949 -19.8994c-1.34082 -1.66992 -1.13086 -1.7002 -0.790039 0zM392.28 207.58
+c-0.530273 7.07031 3.13965 11.7803 6.7998 15.46c3.66992 3.91992 14.9297 10.4697 14.9297 10.4697s-1.2998 -26.4502 -2.08984 -29.8496c-1.04004 -3.92969 -4.96973 -6.81055 -10.4697 -6.5498c-4.98047 0.259766 -8.37988 3.39941 -9.16992 10.4697zM342.26 358.68
+c147.17 0 275.48 -86.6797 291.21 -196.939c0 0 -3.66992 -1.31055 -9.68945 -4.4502c0 -0.259766 1.0498 -10.7402 0.259766 -16.5c-0.259766 -1.83008 -1.0498 -1.0498 -1.0498 0c-0.270508 5.24023 -1.57031 11.5303 -2.36035 14.9297
+c-4.70996 -2.60938 -10.21 -6.54004 -15.9697 -11.7793c0 0 4.70996 -10.21 4.70996 -25.9209c0 -21.21 -8.37988 -32.9893 -16.5 -37.9697l-0.259766 0.520508c9.16992 9.16992 12.5693 21.4795 12.5693 31.9492c0 13.8701 -6.80957 33.25 -14.3994 41.3701
+c0 0 4.4502 -8.12012 6.80957 -17.8096c0 0 -21.21 -21.4697 -26.9697 -62.3203c0 0 -3.66992 9.16992 -10.7402 16.2402c0 0 12.0498 -15.4502 12.0498 -38.2305c0 -19.3799 -12.8398 -37.4395 -27.5 -48.1797c-0.989258 0 -0.790039 -0.169922 -0.790039 0.790039
+c15.71 12.8301 22.2607 28.0205 22.2607 46.3506c0 38.2295 -49.2305 80.3896 -130.15 80.3896c-96.1104 0 -181.74 -58.1299 -236.99 -128.05l-1.0498 0.259766c-40.3203 120.979 -135.64 185.66 -196.13 202.16c-2.09961 0.519531 -1.83984 0.790039 -0.790039 1.30957
+c12.3096 14.4004 136.96 151.88 341.47 151.88zM243.02 69.0596c16.8408 14.5908 4.99023 30.7705 4.71094 31.1602c-4.08008 5.99023 -16.3105 16.8506 -31.1602 5.5c-10.9502 -8.37988 -11.6406 -22.8896 -4.19043 -32.4697
+c6.44043 -8.26953 19.5801 -13.1797 30.6396 -4.19043zM245.11 205.49l1.83008 -8.11035l-3.6709 4.4502l-14.1396 -26.71l24.6201 -28.7998l12.5703 6.01953l-11.7803 70.96zM263.7 87.9102c3.41016 2.35938 7.33984 4.97949 9.67969 6.57031l-0.259766 0.259766
+c-1.56055 -0.780273 -3.11035 -1.0498 -12.5703 15.9697v0.259766c6.87012 5.16016 8.45996 4.89062 11.5205 5.5l0.259766 0.260742c-1.31055 3.66992 -1.31055 3.66992 -1.83008 5.5h-0.259766c-3.95996 -3.31055 -1.4707 -1.58008 -11.5205 -7.86035h-0.259766
+c-1.83008 3.13965 -4.19043 7.33008 -5.75977 9.68945v1.31055c4.4502 3.91992 10.2197 6.7998 12.3096 7.58984c2.87988 1.0498 4.19043 0.520508 5.24023 0.259766l0.259766 0.520508c-1.30957 1.83008 -2.08984 2.87988 -3.39941 4.70996l-0.520508 0.259766
+c-9.9502 -5.5 -17.54 -9.9502 -25.3994 -15.71l0.259766 -0.519531c1.30957 0.259766 3.13965 -0.260742 4.4502 -2.62012c15.04 -25.0801 19.5898 -27.5908 17.54 -31.6904zM318.96 120.38v0.25c-1.99023 0 -2.34961 -1.37012 -14.6602 30.6396v0.260742
+c4.95996 1.85938 8.78027 4.37988 12.3105 2.62012l0.259766 0.519531l-3.13965 4.98047l-0.520508 0.259766c-2.22949 -0.929688 -20.4697 -8.00977 -27.7598 -12.5703l-0.259766 -0.519531l1.0498 -5.76074h0.519531c1.0498 3.68066 9.7998 7.33008 9.9502 7.33008
+l0.259766 -0.259766c12.9404 -29.7598 13.0703 -29.8799 11.7803 -32.4697l0.259766 -0.259766c3.93066 2.09961 6.81055 3.40918 9.9502 4.97949zM363.73 136.88c-0.780273 0.520508 -2.09082 1.31055 -2.63086 3.92969c-1.56934 6.02051 -4.70996 20.1709 -6.2793 26.4502
+c-0.530273 1.57031 -0.530273 3.14062 0.519531 4.4502l-0.259766 0.259766c-3.41016 -0.529297 -6.29004 -1.30957 -10.7402 -2.35938v-0.260742c1.57031 -0.529297 2.10059 -2.09961 2.62012 -3.92969l2.62012 -9.42969l-0.259766 -0.259766
+c-3.40039 -1.05078 -8.90039 -2.62012 -12.8301 -3.93066h-0.259766c-0.780273 2.10059 -1.83008 5.75977 -3.14062 9.69043l0.259766 4.70996l-0.259766 0.259766c-4.71973 -1.30957 -7.59961 -2.34961 -10.7402 -3.40039v-0.519531
+c1.05078 0 2.10059 -1.30957 2.62012 -3.13965c1.0498 -3.40039 8.12012 -24.0908 9.16992 -27.2305c0.790039 -2.09961 0.790039 -3.66992 -0.259766 -4.97949l0.259766 -0.260742c3.14062 1.31055 6.54004 2.87988 10.21 3.93066v0.519531
+c-1.0498 0.259766 -2.08984 0.780273 -2.87988 3.13965c-1.0498 3.93066 -3.39941 11.2607 -4.18945 13.8809l0.259766 0.259766c3.92969 1.30957 9.42969 3.13965 12.8301 3.92969l0.259766 -0.259766c0.530273 -2.09961 2.62012 -10.2197 3.66992 -13.6201
+l-0.519531 -4.4502l0.259766 -0.259766c4.4502 1.57031 5.5 1.83008 9.69043 2.87988zM395.94 143.69c0.529297 1.8291 1.0498 3.65918 1.5791 6.04004h-0.259766c-2.0293 -4.06055 -15.0898 -5.09082 -16.2402 -4.71094l-0.259766 0.260742
+c-0.519531 3.13965 -1.83008 10.4795 -2.08984 12.5693l0.259766 0.260742c8.06055 0.899414 5.40039 1.0293 10.21 0h0.260742c0 3.40918 0.259766 3.66992 0.259766 5.23926h-0.259766c-5.98047 -2.2998 -1.2207 -0.679688 -10.7402 -2.35938l-0.259766 0.259766
+c-0.520508 3.40039 -1.31055 8.37988 -1.57031 9.9502l0.259766 0.259766c12.9004 2.41016 15.1006 0.349609 16.2402 -0.790039l0.259766 0.259766c-0.780273 2.36035 -1.0498 3.14062 -1.57031 5.5l-0.259766 0.260742
+c-4.71973 -0.260742 -15.71 -1.05078 -24.8799 -2.62012l-0.790039 -0.520508c1.83008 -0.790039 2.36035 -1.83984 2.62012 -3.66992c1.58008 -7.59961 3.41016 -18.3301 4.98047 -26.1895l-0.790039 -4.19043l0.259766 -0.259766
+c8.37988 1.83008 17.8096 3.66992 22.5195 4.18945zM406.68 188.2c3.14062 1.56934 7.33008 5.5 7.33008 5.50977c1.95996 -4.58008 0.970703 -2.70996 4.19043 -7.86035c10.1494 -0.459961 8.60938 0.0205078 20.4297 -1.0498l0.790039 4.70996
+s-4.18945 0 -5.75977 1.83008c-1.0498 1.31055 -1.31055 3.14062 -1.57031 5.5c0 2.36035 0.270508 16.5 0.790039 20.6904c0.259766 4.18945 2.08984 20.4199 2.08984 23.04c0.260742 2.62012 1.0498 8.91016 0.260742 12.0498
+c-4.82031 19.2803 -24.4307 17.8096 -50.0205 16.2402l-5.24023 -16.2402l2.62012 -2.87988c16.5498 16.5498 37.6201 4.56934 29.5898 -5.75977c-5.18945 -6.9209 -19.7393 -8.90039 -28.54 -17.0205c-6.47949 -6.49023 -12.2393 -20.9004 -5.5 -31.6904
+c6.12988 -11.0391 17.29 -9.96973 17.54 -9.94922c2.87988 0 6.55078 0.519531 11 2.87988zM443.86 166.99c0 1.83984 0.269531 4.18945 0.269531 5.25l-0.259766 0.519531c-14.3604 8.98047 -26.8604 0.919922 -28.7998 -9.9502
+c-2.83984 -16.0898 15.3594 -25.46 25.6602 -18.5898l0.519531 0.520508c0 0.259766 1.30957 4.4502 1.83008 6.2793l-0.259766 0.260742c-6.39062 -9.58008 -23.3203 -6.87012 -20.6904 10.21c1.91016 12.6602 15.3799 16.0801 21.7305 5.5zM449.63 254.72
+c0 0 4.96973 -0.790039 4.99023 -3.66016c0 -2.08984 -4.98047 -55.25 -4.98047 -55.25c-0.109375 -1.48926 -0.339844 -6.80957 -7.58984 -6.80957l-0.790039 -4.70996c18.3906 -2.83008 19.3701 -3.04004 36.9199 -7.33008l0.520508 4.70996
+c-13.0498 3.91992 -9.74023 7.37012 -4.4502 46.0898c1.09961 0.870117 8.62012 7.14062 20.6904 0.790039l11.2598 11.2598s-9.69043 8.90039 -14.9307 7.33008c-5.23926 -1.30957 -15.4492 -10.7393 -15.4492 -10.7393l1.56934 17.54
+c-8.10938 4.0498 -27.0693 7.3291 -27.7598 7.3291v-6.5498zM460.62 140.28c9.42969 -2.35059 16.2402 2.62012 18.8496 11.5195c2.08984 7.60059 -1.56934 16.7598 -10.7393 19.3799c-6.54004 2.10059 -15.7109 -0.779297 -18.8506 -10.21
+c-3.39941 -9.68945 2.62012 -18.5996 10.7402 -20.6895zM502.78 130.59c-0.780273 1.31055 -1.04004 2.10059 -0.799805 3.91016c1.22949 27.0098 1.5293 24.6602 1.0498 25.1396c-2.08984 0.790039 -5.5 2.09082 -7.58984 2.87988l-0.520508 -0.259766v-2.08984
+c-3.92969 -6.01953 -10.4795 -15.4502 -13.8799 -20.1602l-2.62012 -1.83008v-0.259766c2.08984 -0.259766 4.70996 -1.30957 6.02051 -1.57031v0.260742l0.790039 3.39941c0.789062 1.0498 2.35938 3.66992 3.66992 5.5c0.40918 0 2.25 -0.549805 7.06934 -2.35938
+c0.330078 -0.320312 0.330078 0.649414 -0.259766 -7.59082l-1.57031 -1.8291v-0.260742c1.57031 -0.519531 6.28027 -2.35938 8.64062 -2.87988zM498.07 220.41c-13.2207 -21.1504 -9.39062 -51.6006 9.66992 -52.9004c5.75977 -0.259766 9.42969 3.93066 9.68945 3.66992
+l-2.08984 -6.80957c8.91016 -4.21973 11.4404 -5.29004 17.8105 -8.63965l1.83008 4.44922c-6.14062 3.51074 -1.29004 11.25 24.6191 84.3203c-6.13965 6.45996 -10.2998 10.0596 -22.5195 20.4297l-1.83008 -3.66992c1.62988 -1.35938 6.79004 -5.00977 4.4502 -11.2598
+l-7.58984 -26.1904c-3.28027 12.79 -22.79 14.8701 -34.04 -3.39941zM527.4 141.07l2.35938 3.39941v0.520508c-3.41016 6.83008 -11.9395 7.41992 -14.6602 2.35938c-1.83984 -3.40918 0.260742 -7.06934 1.83008 -9.68945
+c1.57031 -2.87988 3.14062 -6.29004 2.08984 -8.37988c-2.31934 -4.62988 -8.94922 -0.680664 -8.37988 4.97949l-0.790039 -0.259766c-2.09961 -4.7998 -1.83008 -4.00977 -1.83008 -4.70996c3.05078 -6.09961 12.8105 -7.12988 15.4502 -0.790039
+c1.57031 3.15039 0.520508 6.80957 -1.0498 9.42969c-1.83008 3.40039 -4.18945 6.29004 -2.87988 8.37988c1.51953 2.65039 7.86035 0.470703 7.86035 -5.23926zM548.61 127.71l1.30957 3.91016l-0.259766 0.259766c-2.36035 2.08984 -8.64062 6.54004 -12.3105 8.90039
+h-0.259766l-3.13965 -3.40039v-0.259766c4.7998 -0.320312 3.37988 0.149414 6.01953 -1.83008v-0.259766c-2.62012 -4.9707 -6.0293 -11.2607 -9.16992 -17.0205l-2.08984 -1.30957l-0.259766 -0.259766l5.75977 -4.4502l0.259766 0.259766
+c-0.259766 0.530273 -0.519531 1.57031 0.790039 3.92969c2.87988 5.77051 6.28027 12.0508 8.64062 16.2402h0.259766c3.54004 -2.57031 2.49023 -1.43945 4.4502 -4.70996zM575.84 171.97l7.85059 10.46s-9.4209 18.8604 -23.04 16.5
+c-20.8408 -4.0293 -3.15039 -34.21 -2.09082 -38.2295c4.33008 -15.1299 -16.3193 -12.5605 -13.3496 5.24023l-2.87988 2.08984l-4.98047 -14.4004s11.7803 -11.2598 20.1602 -10.4697c8.12012 0.790039 13.8799 6.29004 13.8799 16.5
+c0 8.37988 -7.85938 22.7803 -7.85938 27.7598c0 6.86035 12.2695 4.75977 11.5195 -4.97949c-0.259766 -2.61035 -1.2998 -5.23047 -2.08984 -7.59082zM611.46 182.18c0.780273 -2.35938 1.57031 -1.83008 0.790039 0.270508
+c-32.4697 98.9795 -132.76 138.78 -199.8 139.83c-50.54 0.779297 -89.5605 -11.79 -131.98 -35.8799l20.6904 61.0098l-33.7803 -65.7305l-8.89941 20.9502c3.13965 1.04004 6.2793 2.08984 6.2793 2.08984l-2.62012 8.64062s-3.13965 -0.780273 -7.33008 -2.09082
+l-12.0498 28.2803l13.6201 -61.0098c-5.12012 2.55957 -19.0996 6.83008 -6.5498 19.3799l-2.62012 11c-6.97949 -2.21973 -13.2295 -3.62012 -32.21 -9.68945l-23.0801 11.5l59.1797 -42.6807l-4.70996 -2.08984l-17.2793 13.8799
+c2.23926 -5.13965 3.2998 -12.1699 4.70996 -19.6396l-28.54 -13.0898l-30.1104 36.1396l-17.2803 -9.16992l13.6201 -42.4199l-11.2598 -4.98047l94.2695 29.3301l-3.66992 -10.4697l-0.519531 3.13965l-13.0898 -3.39941l4.97949 -24.6201l-4.4502 -12.3105
+l-25.6592 30.6406l-39.8008 -10.21l18.8506 -58.9199c-60.1299 62.3994 -67.7002 66.3994 -61.7998 75.6797c2.09961 2.87988 7.85938 7.07031 7.85938 7.07031l-4.18945 7.06934c-26.7803 -18.3496 -27.8398 -19.1494 -58.4004 -42.6797l4.98047 -6.01953
+s8.12012 5.75977 13.6201 5.5c7.81934 -0.350586 1.76953 2.93945 113.659 -98.7305l11.7803 8.37988l-27.7598 93.4805l35.8799 -42.1602l-4.70996 -13.8799l41.9004 88.5098c34.6699 -80.5098 29.1494 -66.9502 32.9893 -78.8203l-33.5195 67.2998l-2.36035 -4.44922
+c1.2998 -1.30078 -0.919922 3.05957 22.7803 -59.4404c3.22949 -8.88965 -1.10059 -9.88965 -5.5 -12.8301l2.36035 -4.70996c15.3594 6.79004 22.9395 9.54004 39.0195 14.4004l-1.0498 4.97949c-8.89062 -1.33008 -10.1006 0.169922 -12.0498 4.4502
+c-1.05078 2.09961 -14.1504 40.0703 -20.4307 58.6602l-10.21 4.97949l-2.35938 8.12012l61.54 -36.6602l-13.0908 -43.21c12.1904 3.26074 27.0303 6.74023 49.4902 9.9502l-0.259766 26.71l-4.98047 -1.0498c-0.669922 -13.7998 -6.0293 -22.0801 -19.6396 -22.7803
+l22.2598 80.3906c-27.6201 -0.450195 -59.2695 -7.19043 -66.7695 -8.90039l3.92969 -16.5l-25.1396 19.6396l91.3896 20.6904l-85.6299 -9.16992c38.4902 22.5195 79.3398 39.0195 132.76 37.9697c131.46 -2.08984 180.95 -99.2402 191.95 -129.62zM203.48 295.57
+l2.35938 -8.64062c7.82031 2.61035 10.8604 2.36035 11.2598 2.36035l-9.42969 7.58984c-2.36035 -0.790039 -4.18945 -1.30957 -4.18945 -1.30957zM347.24 257.07l-11.5303 -37.71l-21.7295 17.0195c6.7998 25.5 31.6895 21.29 33.2598 20.6904zM318.43 380.93
+c224.94 0 321.83 -143.76 321.57 -227.55c0 -11 -0.269531 -17.5498 -0.790039 -19.6396c-0.259766 -2.10059 -1.0498 -0.790039 -1.0498 0.519531v9.9502c0 106.58 -121.51 223.37 -301.67 223.37c-61.2705 0 -103.69 -12.0498 -110.24 -13.8799l-1.57031 0.259766
+c-6.80957 7.58984 -12.8301 9.69043 -21.21 11.7803v0.790039c8.91016 2.34961 56.5605 14.3994 114.96 14.3994zM529.49 211.25c-8.61035 -34.4502 -13.6504 -35.3496 -18.3301 -35.3604c-7.33008 0 -6.81055 9.43066 -6.02051 14.9307
+c0.879883 9.72949 7.40039 34.6494 17.0205 33.5195c7.33008 -0.780273 8.63965 -7.33008 7.33008 -13.0898zM467.96 168.3c3.40039 -0.780273 7.84961 -4.4502 5.23047 -14.3896c-2.88086 -11.2598 -8.11035 -11.79 -11.7803 -10.7402
+c-5.5 1.31055 -7.85059 7.84961 -6.02051 14.6602c3.14062 11.2598 9.9502 11.2598 12.5703 10.4697zM491 147.35v0.270508c1.0498 1.83008 5.5 8.63965 6.5498 9.9502c-0.269531 -3.66992 -0.790039 -10.2207 -0.790039 -12.0508
+c-2.62012 0.780273 -3.92969 1.31055 -5.75977 1.83008z" />
+ <glyph glyph-name="think-peaks" unicode="&#xf731;" horiz-adv-x="529"
+d="M442.4 38.5996l-206.2 353.801l-204.2 -352.101l-32 0.299805l236.2 407.4l206.2 -353.9l55.0996 95l32 -0.299805zM87.0996 82.7002l149.601 257.899l235.8 -404.6l-32.5 0.0996094l-203.4 349.101l-117.399 -202.5h-32.1006z" />
+ <glyph glyph-name="reacteurope" unicode="&#xf75d;" horiz-adv-x="570"
+d="M247.6 236.2l2 6.7998l-5.69922 4.2998l7.19922 0.100586l2.30078 6.7998l2.2998 -6.7998l7.09961 -0.100586l-5.7002 -4.2998l2.10059 -6.7998l-5.7998 4.09961zM311.3 236.2l1.90039 6.7998l-5.7002 4.2998l7.2002 0.100586l2.2998 6.7998l2.2998 -6.7998
+l7.2002 -0.100586l-5.7002 -4.2998l2.10059 -6.7998l-5.80078 4.09961zM220 185.7c4.90039 0 3.7998 -3.90039 3.7998 -13.7998c0 -10.3008 -6.7002 -14.1006 -16.7998 -14.1006h-0.200195c-10.0996 0 -16.7998 3.7002 -16.7998 14.1006v40.0996
+c0 9.90039 6.7002 14.0996 16.7998 14.0996h0.200195c10.0996 0 16.7998 -4.19922 16.7998 -14.0996c0 -8.40039 0.900391 -12.2002 -3.7998 -12.2998h-3.40039c-4.5 0 -3.7998 3.2998 -3.7998 10.5c0 4.7002 -2.2998 6.09961 -5.7998 6.09961
+s-5.7998 -1.39941 -5.7998 -6.09961v-36.6006c0 -4.69922 2.2998 -6.09961 5.7998 -6.09961s5.7998 1.40039 5.7998 6.09961c0 8.10059 -1 12.1006 3.7998 12.1006h3.40039zM139.3 168.3c2.5 0 3.7998 -1.2998 3.7998 -3.7998v-2.09961
+c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-21.8994c-2.5 0 -3.80078 1.30078 -3.80078 3.80078v59.0996c0 2.5 1.30078 3.90039 3.7002 3.7998h21.7002c2.5 0 3.7998 -1.2998 3.7998 -3.7998v-2.09961c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-14.4004v-18.2998
+h11.4004c2.5 0 3.7998 -1.2998 3.7998 -3.7998v-2.09961c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-11.4004v-19.2998h14.7002zM97.2998 186.8l8.10059 -23.8994c0.799805 -2.60059 -0.400391 -4.40039 -3.2002 -4.40039h-3.2998c-2.2002 0 -3.60059 1 -4.30078 3.2002
+l-7.39941 23.5h-5.60059v-22.9004c0 -2.5 -1.2998 -3.7998 -3.7998 -3.7998h-3.39941c-2.5 0 -3.80078 1.2998 -3.80078 3.7998v59.1006c0 2.5 1.30078 3.7998 3.80078 3.7998h13.3994c10.1006 0 16.7998 -4 16.7998 -14.1006v-11.8994
+c0 -6.40039 -2.69922 -10.4004 -7.2998 -12.4004zM93.5 200.8v8.7002c0 4.7998 -2.5 6.09961 -6.09961 6.09961h-5.80078v-20.8994h5.80078c3.59961 0 6.09961 1.2998 6.09961 6.09961zM173 221.9l11.2002 -59.2002c0.5 -2.7002 -0.799805 -4.10059 -3.40039 -4.10059h-3.5
+c-2.2998 0 -3.7002 1.10059 -4.09961 3.5l-1.7998 11.3008h-12.2002l-1.7998 -11.3008c-0.400391 -2.39941 -1.80078 -3.5 -4.10059 -3.5h-3c-2.5 0 -3.89941 1.40039 -3.39941 4.10059l11 59.2002c0.399414 2.2998 1.89941 3.5 4 3.39941h6.89941
+c2.2998 0 3.7998 -1.09961 4.2002 -3.39941zM160.7 182.6h9.39941l-4.69922 29.7002zM250 162.4c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-3.40039c-2.5 0 -3.7998 1.30078 -3.7998 3.80078v53.1992h-7.2998c-2.5 0 -3.7998 1.30078 -3.7998 3.80078v2.09961
+c0 2.5 1.2998 3.7998 3.7998 3.7998h25.7998c2.5 0 3.7998 -1.2998 3.7998 -3.7998v-2.09961c0 -2.5 -1.2998 -3.80078 -3.7998 -3.80078h-7.5v-53.1992zM498 163.2c1.2002 0 2 -0.700195 2 -2v-0.799805c0 -1.2002 -0.799805 -1.90039 -2 -1.90039h-22.5
+c-1.2002 0 -2 0.700195 -2 1.90039v63c0 1.2998 0.799805 2 2 1.7998h22.2002c1.2002 0 2 -0.600586 2 -1.90039v-0.799805c0 -1.2002 -0.799805 -2 -2 -2h-19.1006v-25.7998h16.1006c1.2002 0 2 -0.799805 2 -2v-0.799805c0 -1.2002 -0.799805 -2 -2 -2h-16.1006v-26.7002
+h19.4004zM404.9 226.1c10.0996 0 15.2998 -4.69922 15.2998 -14.0996v-40.0996c0 -9.30078 -5.2002 -14.1006 -15.2998 -14.1006h-0.800781c-10.0996 0 -15.2998 4.7998 -15.2998 14.1006v40.0996c0 9.40039 5.2002 14.0996 15.2998 14.0996h0.800781zM415.1 173.7v36.5996
+c0 7.90039 -3 11.1006 -10.5 11.1006s-10.5 -3.2002 -10.5 -11.1006v-36.5996c0 -8 3 -11.1006 10.5 -11.1006s10.4004 3.10059 10.5 11.1006zM368.6 188.2l10.6006 -27.2998c0.5 -1.30078 -0.100586 -2.30078 -1.5 -2.30078h-1.5c-1 0 -1.7998 0.400391 -2.2998 1.5
+l-10.4004 27.2002h-11.5996v-26.8994c0 -1.2002 -0.700195 -1.90039 -1.90039 -1.90039h-1.2002c-1.2002 0 -2 0.700195 -2 1.90039v63c0 1.19922 0.799805 1.89941 2 1.89941h13.7002c10.0996 0 15.2998 -4.7002 15.2998 -14.0996v-9.7002
+c0 -7.2002 -3.09961 -11.7002 -9.2002 -13.2998zM362.2 192.1c7.5 0 10.5 3.2002 10.5 11v6.40039c0 8 -3 11.0996 -10.5 11.0996h-10.2002v-28.5h10.2002zM448.1 225.2c10.1006 0 15.3008 -4.7002 15.3008 -14.1006v-10.5c0 -9.2998 -5.2002 -14.0996 -15.3008 -14.0996
+h-10.5996v-26.0996c0 -1.2002 -0.700195 -1.90039 -1.90039 -1.90039h-1.19922c-1.2002 0 -2 0.700195 -2 1.90039v63c0 1.2998 0.799805 2 2 1.7998h13.6992zM458.3 202.4v7.09961c0 7.90039 -3 11.0996 -10.5 11h-10.2002v-29.2002h10.2002
+c7.5 0 10.5 3.2002 10.5 11.1006zM256.5 139.9l7.09961 -0.100586l-5.69922 -4.2998l2.09961 -6.7998l-5.7998 4.09961l-5.7998 -4.09961l2.09961 6.7998l-5.7002 4.2998l7.10059 0.100586l2.2998 6.7998zM484.1 276c122.301 -46.0996 118.4 -132.5 -33.8994 -176.3
+c13.3994 -49.7002 18.0996 -101.9 0.0996094 -133.8c-3.7998 -6.7002 -16.7998 -27.7002 -47.5996 -27.7002c-41.5 0 -110.2 41.5996 -182.101 142c-42.7998 3.5 -72.1992 10.0996 -84.5996 13c-20.5 -82.2998 -6.7998 -125.3 15.5 -137.9
+c1.2002 -0.700195 38.4004 -27.2002 120.9 52.7998c3.39941 -3.5 6.7998 -6.89941 10.1992 -10.1992c-63.0996 -61.2002 -110.199 -71 -138.199 -55.2002c-32.4004 18.2998 -42.8008 72 -22.3008 153.899c-18.8994 5 -121.6 33.2002 -122.1 92.8008
+c-0.400391 40.8994 49.7998 74.6992 120.3 95c-13.3994 49.5996 -18.2002 101.8 -0.0996094 133.8c3.7998 6.7002 16.7998 27.7002 47.5996 27.7002c41.6006 0 110.3 -41.6006 182.2 -142.101c21.2998 -1.7998 51.2998 -5.2002 84.5996 -13
+c20.5 82 6.90039 125.101 -15.5 137.8c-1.2998 0.700195 -38.3994 27.2002 -120.899 -52.7998c-3.40039 3.5 -6.7998 6.90039 -10.2002 10.2002c52.2998 50.9004 103.7 74.5996 138.2 55.2002c33.8994 -19.2002 41.8994 -75.9004 22.2998 -153.9
+c1.90039 -0.5 17.9004 -4.59961 35.5996 -11.2998zM132.9 411.1c-23.1006 -40.7998 1 -121.6 1.19922 -123c12.4004 3.10059 41.6006 10.3008 84.4004 14.6006c16.2002 23.5 33.2998 45.2002 50.7002 64.2002c3.39941 -3.30078 6.7998 -6.7002 10.2002 -10.2002
+c-14.4004 -15.7002 -28.6006 -33.2998 -42.2002 -52.4004c42.7002 3.2002 75.0996 1.90039 93.8994 0.900391c-64.5 86.5996 -126.5 126.2 -163.3 126.2c-23 0 -32 -15.2002 -34.8994 -20.3008zM437.7 -27.2002c3.2998 6 21.5 38.6006 -1.2002 123
+c-4.09961 -1.09961 -37.0996 -9.89941 -84.4004 -14.5996c-16.1992 -23.6006 -33.2998 -45.2002 -50.6992 -64.2002c-3.40039 3.2998 -6.80078 6.7002 -10.2002 10.2002c14.3994 15.7002 28.5996 33.2998 42.2002 52.3994
+c-9.80078 -0.799805 -46.8008 -3.59961 -93.9004 -0.899414c64.5996 -86.7998 126.6 -126.2 163.3 -126.2c23.1006 0 32 15.2002 34.9004 20.2998zM446.8 111.4c25.6006 7.2998 85.9004 27.3994 105.7 62.5c1.40039 2.5 33.5 50.5 -72.5996 90.3994
+c-15.3008 5.7998 -29.2002 9.60059 -34.5 11c-3.60059 -12.8994 -7.90039 -26.0996 -12.8008 -39.5c-2 -0.299805 -6.19922 -1.39941 -8.89941 -5.59961l-0.100586 0.0996094c-1.89941 1.7998 -4.19922 3.2998 -6.7998 4.2998c5.7002 15 10.6006 29.8008 14.6006 44.2002
+c-7.2002 1.7002 -31.8008 7.60059 -72.2002 11.7002c16.7002 -24.5 27.8994 -44.0996 34.2998 -55.5c-6.09961 -2.09961 -9.2002 -5.7998 -10.4004 -7.40039c-13.5996 16.4004 -11 19.9004 -42.5 64.5c-44.8994 3.10059 -84.5 1.60059 -112.399 -1
+c-16.9004 -25 -28.2998 -45.1992 -34.7998 -56.8994c-1.30078 -0.600586 -6.5 -2.7998 -10.2002 -8.40039c-1.10059 3.5 -3.40039 6.2002 -6.40039 8c6.10059 11.4004 16.9004 31 32.7998 55.2998c-39.5996 -4.59961 -65 -11.1992 -72 -13
+c4.30078 -14.0996 9.40039 -28.5996 15.2002 -43.2998c-0.899414 -0.599609 -1.59961 -1.39941 -2.2998 -2.2002c-1.5 1.90039 -4 5.30078 -14.4004 5.30078c-4.69922 12.2998 -8.7998 24.5 -12.3994 36.3994c-138.8 -40.3994 -158.4 -121.399 1.5 -164
+c3.59961 12.9004 7.7998 26 12.7002 39.4004c1 0 3.69922 -0.200195 6.89941 1c3 -1.2002 5.2002 -1 8.40039 -1c-5.5 -14.6006 -10.2002 -28.9004 -14.1006 -42.9004c3.60059 -0.799805 32 -7.7998 72.2002 -11.7002c-16.2998 23.9004 -27.5 43.4004 -33.7998 54.6006
+c8.7002 0 10.7002 1.59961 12.5996 3.2002c1 -0.600586 2 -1.10059 3 -1.5c15.3008 -26.7002 28.9004 -46.6006 36.8008 -57.8008c28.0996 -2.09961 67.2998 -2.89941 112.399 1c16.5 24.3008 27.7002 44 33.9004 55.2002c7.2998 0 9.7998 3 10.8994 4.2002
+c1.80078 -1.2998 3.80078 -2.40039 6 -3.2002c-15 -28 -28.6992 -48.8994 -32.1992 -54.2002c40.1992 4.5 71.2998 12.8008 72 13c-4.10059 13.8008 -9 27.9004 -14.7002 42.2002c2 0.900391 3.7998 2.10059 5.39941 3.60059l0.100586 0.0996094
+c2 -3.09961 5.7998 -5.7002 10.7002 -5.7002c4.69922 -12.2998 8.7998 -24.5 12.3994 -36.3994zM332.4 225.4c1.2998 0 2 -0.700195 2.19922 -1.90039v-51.5c0 -9.5 -5 -14.0996 -15.0996 -14.0996h-0.400391c-10.0996 0 -15.0996 4.5 -15.0996 14.0996v51.5
+c0 1.2002 0.799805 1.90039 2 1.90039h1.2002c1.2002 0 1.89941 -0.600586 1.89941 -1.90039v-49.7998c0 -8 2.60059 -11.1006 10.1006 -11.1006s10.0996 3.2002 10.0996 11.1006v49.7998c0 1.2002 0.700195 1.90039 1.90039 1.90039h1.2002zM318.7 139.9l7.09961 -0.100586
+l-5.7002 -4.2998l2.10059 -6.7998l-5.7998 4.09961l-5.80078 -4.09961l2.10059 6.7998l-5.7002 4.2998l7.09961 0.100586l2.30078 6.7998zM287.6 132.5l7.10059 -0.0996094l-5.7002 -4.30078l2.09961 -6.7998l-5.7998 4.10059l-5.7998 -4.10059l2.09961 6.7998
+l-5.69922 4.30078l7.09961 0.0996094l2.2998 6.7998zM292.7 163.3c1.2998 0 2 -0.700195 2 -2.09961v-0.799805c0 -1.2002 -0.700195 -1.90039 -2 -1.90039h-22.5c-1.2002 0 -2 0.700195 -2 1.90039v63c0 1.19922 0.799805 1.89941 2 1.89941h22.2002
+c1.19922 0 2 -0.599609 2 -1.89941v-0.800781c0 -1.19922 -0.800781 -2 -2 -2h-19.1006v-25.7998h16.1006c1.19922 0 2 -0.799805 2 -2v-0.799805c0 -1.2002 -0.800781 -2 -2 -2h-16.1006v-26.7002h19.4004zM285.3 262.7l2.2998 -6.7998l7.10059 -0.100586l-5.7002 -4.2998
+l2.09961 -6.7998l-5.7998 4.09961l-5.7998 -4.09961l2.09961 6.7998l-5.69922 4.2998l7.09961 0.100586z" />
+ <glyph glyph-name="adobe" unicode="&#xf778;" horiz-adv-x="460"
+d="M289.9 383.7h170.899v-384zM170.9 383.7l-170.9 -384v384h170.9zM230.4 241.6l107.5 -241.899h-73l-30.7002 76.7998h-78.7002z" />
+ <glyph glyph-name="artstation" unicode="&#xf77a;" horiz-adv-x="508"
+d="M0 70.5996h315.1l59.2002 -102.6h-285.399c-20.1006 0 -37.4004 11.5 -45.9004 28.2998zM499.8 98c19 -29.4004 -0.0996094 -55.9004 -2 -59.0996l-40.7002 -70.5l-257.3 447.6h88.4004c19.7002 0 36.7998 -11.0996 45.3994 -27.2998zM273 143.5h-231l115.5 200z" />
+ <glyph glyph-name="atlassian" unicode="&#xf77b;" horiz-adv-x="512"
+d="M152.2 211.6c66.2998 -70.7998 89.0996 -189.3 51.2002 -267.1c-2.40039 -5.2002 -7.60059 -8.5 -13.4004 -8.40039h-175c-11 0 -18.4004 11.7002 -13.4004 21.7002l125.801 251c5.09961 10.5 17.0996 11 24.7998 2.7998zM244.4 439.9
+c6.7998 10.8994 20.2998 10.6992 25.5996 0.0996094c5.90039 -11.7002 240.4 -482.3 240.4 -482.3c5 -9.90039 -2.2002 -21.7002 -13.4004 -21.7002h-174.2c-5.7002 0 -10.8994 3.2998 -13.3994 8.40039c-73.5 146.899 -187.301 302.1 -65 495.5z" />
+ <glyph glyph-name="canadian-maple-leaf" unicode="&#xf785;" horiz-adv-x="466"
+d="M360.8 96.2998c-5 -5 -10 -7.5 -5 -22.5s10 -35.0996 10 -35.0996s-95.2002 20.0996 -105.2 22.5996c-8.89941 0.900391 -18.3994 -2.5 -18.3994 -12.5c0 -10.0996 5.7998 -112.8 5.7998 -112.8h-30s5.7998 102.7 5.7998 112.8c0 10 -9.59961 13.4004 -18.2998 12.5
+c-10.0996 -2.5 -105.3 -22.5996 -105.3 -22.5996s5 20.0996 10.0996 35.0996c4.90039 15 0 17.5 -5.09961 22.5c-2.60059 2.5 -105.2 92.4004 -105.2 92.4004l17.5 7.59961c10 4.90039 7.40039 11.4004 5 17.4004c-2.5 7.59961 -20.0996 67.2998 -20.0996 67.2998
+s47.5996 -10 57.6992 -12.5c7.5 -2.40039 10 2.5 12.5 7.5s15 32.2998 15 32.2998s52.6006 -59.7998 55.1006 -62.2998c10.0996 -7.5 20.0996 0 17.5996 10c0 10 -27.5996 129.6 -27.5996 129.6s30.0996 -17.3994 40.0996 -22.3994c7.60059 -5 12.6006 -5 17.6006 5
+c5 7.5 42.5 79.7998 42.5 79.7998s37.5996 -72.2998 42.6992 -79.7998c5 -10 10.1006 -10 17.6006 -5c10 5 40.0996 22.3994 40.0996 22.3994s-27.5996 -119.6 -27.5996 -129.6c-2.5 -10 7.59961 -17.5 17.5996 -10c2.5 2.40039 55.1006 62.2998 55.1006 62.2998
+s12.5 -27.3994 15 -32.3994s5 -9.90039 12.5 -7.5c10 2.5 57.6992 12.5 57.6992 12.5s-17.6992 -59.7002 -20.0996 -67.3008c-2.40039 -5.89941 -5 -12.5 5 -17.3994l17.5 -7.5s-102.7 -89.9004 -105.2 -92.4004z" />
+ <glyph glyph-name="centos" unicode="&#xf789;" horiz-adv-x="447"
+d="M289.6 350.2l31.6006 -31.7002l-76.2998 -76.5v108.2h44.6992zM127.2 318.5l31.5996 31.7002h44.7002v-108.2zM168.7 360.1l55.5 55.6006l55.5 -55.6006h-44.7002v-127.899l-10.7998 -10.7998l-10.7998 10.7998v127.899h-44.7002zM194.9 192l-10.8008 -10.7998h-128.6
+v-44.7998l-55.5 55.5996l55.5 55.5996v-44.7998h128.6zM274.2 212.7l76.2998 76.5l31.5996 -31.7002v-44.7998h-107.899zM447.5 192l-55.5 -55.5996v44.7998h-127.7l-10.7998 10.7998l10.7998 10.7998h127.7v44.7998zM65.4004 271.5v78.7002h79.3994l-31.5996 -31.7002
+l90.2998 -90.5v-15.2998h-15.2998l-90.2998 90.5zM382.1 350.2v-78.7002l-31.5996 31.7002l-90.2998 -90.5h-15.2998v15.2998l90.2998 90.5l-31.6006 31.7002h78.5zM203.5 33.7998v-0.0996094h-44.7002l-31.5996 31.7002l76.2998 76.5v-108.101zM65.4004 212.7v44.7998
+l32.5 31.7002l76.2998 -76.5h-108.8zM382.1 112.5v-78.7002h-78.5l31.6006 31.7002l-90.2998 90.5v15.2998h15.2998l90.2998 -90.5zM382.1 171.3v-44.7998l-31.5996 -31.7002l-76.2998 76.5h107.899zM321.2 65.5l-31.6006 -31.5996h-44.6992v108.1zM97.9004 94.7998
+l-32.5 31.7002v44.7998h108.8zM279.7 23.9004l-55.5 -55.6006l-55.5 55.6006h44.7002v127.899l10.7998 10.7998l10.7998 -10.7998v-127.899h44.7002zM113.2 65.5l31.5996 -31.7002h-79.3994v78.7002l32.5 -31.7002l90.2998 90.5h15.2998v-15.2998z" />
+ <glyph glyph-name="confluence" unicode="&#xf78d;" horiz-adv-x="512"
+d="M2.2998 35.7998c42.2998 66.9004 125.2 233.2 373.101 112.601c39.6992 -19.1006 83.6992 -39.9004 105.899 -50.3008c8 -3.69922 11.7002 -13.1992 8.10059 -21.2998l-50.4004 -114.1c-0.0996094 -0.100586 -0.0996094 -0.299805 -0.200195 -0.400391
+c-3.89941 -8.09961 -13.5996 -11.5996 -21.7002 -7.7002c-200.399 95.2002 -213.8 111.5 -280.899 -0.699219c0 0 -0.100586 -0.100586 -0.100586 -0.200195c-4.69922 -7.7002 -14.6992 -10 -22.3994 -5.2998l-105.9 65.1992c-7.59961 4.7002 -10 14.6006 -5.5 22.2002z
+M509.7 347.9c-42.6006 -67.5 -125.4 -232.9 -373.4 -112.9c-39.7002 19.2002 -83.7998 40 -106 50.4004c-8 3.69922 -11.7002 13.1992 -8.09961 21.2998l50.5 114.1c0.0996094 0.100586 0.0996094 0.299805 0.200195 0.400391
+c3.89941 8.09961 13.5996 11.5996 21.6992 7.7002c199.5 -94.7002 213.301 -111.7 280.601 0.899414c0.200195 0.400391 0.399414 0.700195 0.599609 1c5 7.5 15.1006 9.40039 22.6006 4.40039l105.8 -65.1006c7.59961 -4.69922 10 -14.5996 5.5 -22.1992z" />
+ <glyph glyph-name="dhl" unicode="&#xf790;" horiz-adv-x="640"
+d="M238 146.8l22.2998 30.2002h58.7002l-22.2998 -30.2002h-58.7002zM0 165.1h86.5l-4.7002 -6.39941h-81.7998v6.39941zM172.9 177h68.1992c-5.69922 -7.7998 -24.0996 -30.2998 -57.1992 -30.2998h-100.101l41.1006 55.7998h51c5.59961 0 5.59961 -2.2002 2.7998 -5.90039
+c-2.7998 -3.69922 -7.60059 -10.2998 -10.4004 -14.0996c-1.39941 -1.90039 -4.09961 -5.5 4.60059 -5.5zM490.4 183.9h-62.2002l39.2998 53.3994h62.2002zM95.2998 177l-4.7002 -6.40039h-90.5996v6.40039h95.2998zM206.3 203.6
+c2.7998 3.7002 2.90039 5.90039 -2.7002 5.90039h-111.399l20.3994 27.7998h117.9c29.9004 0 37.5996 -23.5996 29.2002 -35c-6.2002 -8.39941 -13.5 -18.3994 -13.5 -18.3994h-45.6006c-8.69922 0 -6 3.5 -4.59961 5.5c2.7998 3.7998 7.5 10.3994 10.2998 14.1992zM0 146.8
+v6.40039h77.7998l-4.7002 -6.40039h-73.0996zM323 146.8c0 0 22.2002 30.2002 22.2998 30.2002h58.7002l-22.2998 -30.2002h-58.7002zM545 146.7l4.7002 6.39941h90.2998v-6.39941h-95zM567.3 177h72.7002v-6.40039h-77.4004zM553.8 158.7l4.7002 6.39941h81.5v-6.39941
+h-86.2002zM389.6 237.3h58.7002l-39.2998 -53.3994h-143.6l39.2998 53.3994h58.7002l-22.5 -30.5996h26.1992zM423.1 177h133.4l-22.2998 -30.2998h-94.2998c-24.1006 0 -30.6006 11.5996 -23.2002 21.5996c2.09961 2.7998 6.39941 8.7002 6.39941 8.7002z" />
+ <glyph glyph-name="diaspora" unicode="&#xf791;" horiz-adv-x="461"
+d="M226.6 93.2998c-1.39941 0 -88 -119.899 -88.6992 -119.899c-0.700195 0 -86.6006 60.5 -86.9004 61.1992c-0.299805 0.800781 86.5996 125.7 86.5996 127.4c0 2.2002 -129.6 44 -137.6 47.0996c-1.2998 0.5 31.4004 101.801 31.7002 102.101
+c0.599609 0.700195 144.399 -47 145.5 -47c0.399414 0 0.899414 0.599609 1 1.2998c0.399414 2 1 148.6 1.7002 149.6c0.799805 1.2002 104.5 0.700195 105.1 0.300781c1.5 -1 3.5 -156.101 6.09961 -156.101c1.40039 0 138.7 47 139.301 46.2998
+c0.799805 -0.899414 31.8994 -102.199 31.5 -102.6c-0.900391 -0.900391 -140.2 -47.0996 -140.601 -48.7998c-0.299805 -1.40039 82.7998 -122.101 82.5 -122.9c-0.200195 -0.700195 -85.5 -63.5 -86.2998 -63.5c-1 0.200195 -89 125.5 -90.9004 125.5z" />
+ <glyph glyph-name="fedex" unicode="&#xf797;" horiz-adv-x="640"
+d="M586 163.5l54 -60.5h-64.4004l-22.2998 25l-22.0996 -25h-212.2v11.9004h-0.5c-7.90039 -11.7002 -20.7998 -18.6006 -34.9004 -18.6006c-32.6992 0 -56.3994 26.4004 -60.0996 56.9004h-85.5c0 -23.5 31.0996 -35.5 45.7998 -14.6006h42
+c-27.5996 -67.6992 -130.2 -49.3994 -130.2 23.7002c0 6.40039 0.800781 12.5 2.30078 18.2002h-48.9004v-77.5h-49v184.4h109v-41.1006h-60v-26.2002h54.7998v-24.1992c24.5 43.5996 103.9 45.3994 121.9 -14c7.5 25.5 28.8994 44.8994 57.2998 44.8994
+c13.9004 0 25.7998 -3.7998 35.4004 -14.7998h0.5v75.5h151.199v-48.0996h-56.0996v-16h118.7l22.5 -24.8008l21.7002 24.8008h62.3994zM139.3 180.1h46.5c-4.7998 25.6006 -40.3994 26.3008 -46.5 0zM292.7 131.2c34.5 0 32.5996 62.7998 0 62.7998
+c-34 0 -34.6006 -62.7998 0 -62.7998zM460.5 112.1v29.6006h-56.0996v44.7002h56.0996v28.0996h-55.5v33.9004h56.0996v30.1992h-95v-166.5h94.4004zM414.6 151.9h56.1006v-45.6006l50.7002 57l-50.7002 57v-44h-56.1006v-24.3994zM553.2 141.6l26.2998 -29.5h40.5
+l-46 51.4004l45.4004 51h-38.5l-25.6006 -29.2998l-26.5996 29.2998h-39.7002l45.5996 -51.2002l-45.5996 -51.2002h38.0996z" />
+ <glyph glyph-name="fedora" unicode="&#xf798;"
+d="M225 416c123.7 -0.299805 223.7 -100.9 223.4 -224.6c-0.300781 -123.7 -100.9 -223.7 -224.601 -223.4l-170.2 0.400391c-29.7998 0.0996094 -53.6992 24.0996 -53.5996 53.8994l0.400391 170.3c0.399414 123.7 100.899 223.7 224.6 223.4zM394.8 258.8
+c-0.200195 8 -1 15.2002 -2.7998 22.4004l-55.2002 56.0996v-1.59961c0 -5.10059 -1.5 -9.60059 -3.7998 -14.2998zM331 353.7c2 -2.90039 3.40039 -5.7998 4.2002 -9.2002l54.2998 -54.5996c-9.5 28.6992 -31 51.8994 -58.5 63.7998zM118.1 200.8
+c-5.59961 -0.399414 -11 -1.5 -16.1992 -2.89941l8.5 -8.5c2.09961 4.19922 4.59961 8 7.69922 11.3994zM97 196.6c-4.7002 -1.2998 -9.40039 -3.09961 -13.7002 -5.19922l27 -27.2002c-1.5 4 -2.39941 8 -2.39941 12.5l0.899414 8zM78.7998 189.2
+c-3.7998 -2.2002 -7.7998 -4.60059 -11.2002 -7.2002l35.3008 -35.9004c4.5 2.30078 9.39941 3.80078 14.0996 4.7002zM63.5996 179.4c-3.59961 -2.90039 -7.19922 -5.80078 -10.0996 -9.40039l34.9004 -34.5996c3.09961 3.09961 6.69922 6 10.5 8.5zM50.2998 167.1
+c-2.89941 -3.2998 -5.7998 -6.69922 -8.59961 -10.5l35.7998 -35.8994c2.2998 4.5 4.7998 8 7.7002 11.3994zM39.2998 152.8c-2.5 -3.7998 -4.7002 -7.7998 -6.7002 -12l39.5 -39.7998c0.400391 5.2998 1.60059 10.5 3.60059 15.2002zM30.5 136.5
+c-1.7998 -4.90039 -3.2998 -9.59961 -4.7002 -14.5l52.7002 -53.5c-3.7998 7.7998 -6.5 16.7998 -6.7002 26.2002zM22.5996 93.5c0 -7.59961 1.10059 -14.7998 2.90039 -21.9004l55.4004 -55.6992v1.09961c0 5.09961 1.39941 10.0996 3.59961 14.2998zM27.9004 62.7998
+c9.5 -28.7002 31 -51.7998 58.5 -63.7998c-2 2.90039 -3.30078 5.7998 -4.2002 9.2002zM22.5996 99.7998l64.4004 -64.2002c2.7002 3.30078 6.09961 6.5 9.90039 8.7002l-72.2002 72.5c-1.2002 -5.59961 -2.10059 -11.2002 -2.10059 -17zM275.9 151.6
+c32.5996 -0.0996094 32.6992 49.2002 0.199219 49.4004l-33.5996 0.0996094c-4.90039 0 -8.90039 4 -8.90039 9l0.100586 47c0.0996094 40.5 38.5996 60.8008 66 54.9004c15.3994 -3.90039 30.2998 8.40039 30.2998 23.9004c0 12.0996 -8.7002 22.1992 -19.9004 24
+c-6.7998 1.59961 -13.2998 2.2998 -20.1992 2.2998c-58.3008 0.200195 -105.4 -46.7998 -105.601 -105l-0.0996094 -56l-42.6006 0.0996094c-32.5996 0.100586 -32.6992 -49.2002 -0.0996094 -49.2998l33.5996 -0.0996094c4.40039 0 8.90039 -4.5 8.90039 -9l-0.0996094 -47
+c0 -31 -25.2002 -56 -56.1006 -55.9004c-9.39941 0 -9.39941 1.59961 -15.7002 1.59961c-13.1992 0 -24.5 -11.1992 -24.5 -24.5996c0 -15.5 14.2002 -24.2002 19.9004 -24.2002c61.2998 -12.8994 125.5 33.6006 125.7 102.9l0.0996094 56zM299.4 151.9
+c5.59961 0.5 11 1.59961 16.0996 2.89941l-8.5 8.5c-1.7998 -4.2002 -4.2002 -8 -7.59961 -11.3994zM320.4 156.1c4.7998 1.40039 9.5 3.10059 13.6992 5.30078l-27 27.1992c1.5 -4 2.40039 -8 2.40039 -12.5l-0.900391 -8.09961zM338.4 163.5
+c4 2.2002 8.09961 4.7002 11.8994 7.2002l-36.2002 35.8994c-4.09961 -2.2998 -8.7998 -3.59961 -13.6992 -4.69922zM353.9 173.3c3.59961 2.90039 6.89941 5.7998 10.0996 9l-34.9004 35c-3.19922 -3.2002 -6.69922 -6.09961 -10.5 -8.5zM367.1 185.6
+c2.90039 3.30078 5.90039 6.7002 8.60059 10.5l-35.7998 35.9004c-2.30078 -4.2002 -4.80078 -8.09961 -7.7002 -11.4004zM378.1 199.9c2.5 3.7998 4.80078 7.7998 6.7002 12l-39.5 39.7998c-0.399414 -5.2998 -1.59961 -10.5 -3.59961 -15.2002zM391.6 230.8
+l-53.0996 53.4004c4.2002 -7.7998 6.90039 -16.7998 7.09961 -26.2002l41.3008 -41.5c1.7998 4.7002 3.39941 9.40039 4.69922 14.2998zM392.6 236.4c1.30078 5.09961 2 11.1992 2.30078 16.5996l-64.3008 64.7002c-2.69922 -3.7998 -6.09961 -7 -9.89941 -9.2002z" />
+ <glyph glyph-name="figma" unicode="&#xf799;" horiz-adv-x="341"
+d="M256 277.3h-85.4004v-256c0 -47.0996 -38.1992 -85.2998 -85.2998 -85.2998c-47.0996 0 -85.2998 38.0996 -85.2998 85.2998s38.2002 85.4004 85.2998 85.4004c-47.0996 0 -85.2998 38.2002 -85.2998 85.2998s38.2002 85.2998 85.2998 85.4004
+c-47.0996 0 -85.2998 38.1992 -85.2998 85.2998c0 47.0996 38.2002 85.2998 85.2998 85.2998h170.7c47.0996 0 85.2998 -38.2998 85.2998 -85.4004c0 -47.0996 -38.2002 -85.2998 -85.2998 -85.2998zM256 277.3c47.0996 0 85.2998 -38.2002 85.2998 -85.2998
+s-38.2002 -85.2998 -85.2998 -85.2998s-85.2998 38.2002 -85.2998 85.2998s38.2002 85.2998 85.2998 85.2998z" />
+ <glyph glyph-name="intercom" unicode="&#xf7af;"
+d="M392 416c30.9004 0 56 -25.0996 56 -56v-336c0 -30.9004 -25.0996 -56 -56 -56h-336c-30.9004 0 -56 25.0996 -56 56v336c0 30.9004 25.0996 56 56 56h336zM283.7 333.9v-199.5c0 -19.8008 29.8994 -19.8008 29.8994 0v199.5c0 19.7998 -29.8994 19.7998 -29.8994 0z
+M209.1 341.4v-216.5c0 -19.8008 29.9004 -19.8008 29.9004 0v216.5c0 19.7998 -29.9004 19.7998 -29.9004 0zM134.4 333.9v-199.5c0 -19.8008 29.8994 -19.8008 29.8994 0v199.5c0 19.7998 -29.8994 19.7998 -29.8994 0zM59.7002 304v-134.3
+c0 -19.7998 29.8994 -19.7998 29.8994 0v134.3c0 19.7998 -29.8994 19.7998 -29.8994 0zM383.1 76.2002c14.9004 12.8994 -4.5 35.5996 -19.3994 22.7002c-63.2002 -53.9004 -213.4 -55.3008 -279.3 0c-15 12.7998 -34.4004 -9.90039 -19.4004 -22.7002
+c76.4004 -65.4004 245.3 -63 318.1 0zM388.3 169.7v134.3c0 19.7998 -29.8994 19.7998 -29.8994 0v-134.3c0 -19.7998 29.8994 -19.7998 29.8994 0z" />
+ <glyph glyph-name="invision" unicode="&#xf7b0;"
+d="M407.4 416c22.3994 0 40.5996 -18.2002 40.5996 -40.5996v-366.801c0 -22.3994 -18.2002 -40.5996 -40.5996 -40.5996h-366.801c-22.3994 0 -40.5996 18.2002 -40.5996 40.5996v366.801c0 22.3994 18.2002 40.5996 40.5996 40.5996h366.801zM176.1 302.4
+c-0.599609 35.0996 -53.5996 34.7998 -53.6992 -0.400391c0 -15 12.1992 -27 27.0996 -27c4.2002 0.0996094 27 4 26.5996 27.4004zM332.8 71c23.7998 0 42.7002 15.2998 53.2002 52l-17.9004 6.7002c-14.2998 -39.5 -31.7998 -32.4004 -31.7998 -16.9004
+c0.299805 8.10059 0.700195 7.7002 14.9004 58.7998c26.0996 85.8008 -61.2998 113.5 -101.8 38l8.89941 40.5h-68.7998l-9.7002 -35.5996h32.2998l-19.7998 -79.4004c-16.5 -36.6992 -57.3994 -44.0996 -57.3994 -23.1992c0.299805 11.2998 -0.700195 4.5 32.8994 138.199
+h-76.3994l-9.7002 -35.5996h31.7998c-22.0996 -90.0996 -22.9004 -89.7998 -23 -104.1c0 -48.7002 63.0996 -56.1006 94.5996 -4.30078l-8.09961 -32.5h45.0996l25.8008 103.301c14.6992 59.6992 74 47.0996 59.8994 0.699219c-9.09961 -32.5996 -40.5996 -106.6 25 -106.6z
+" />
+ <glyph glyph-name="jira" unicode="&#xf7b1;" horiz-adv-x="496"
+d="M490 206.3c8 -7.89941 8 -20.7002 0 -28.5996c-225.8 -225 137.9 136.3 -241.5 -241.7c-180.7 180.1 -109.7 109.3 -242.5 241.6c-7.90039 8 -7.90039 20.8008 0 28.7002c0 0 77 76.7998 242.5 241.7c72.0996 -71.7998 168.6 -169 241.5 -241.7zM248.5 116.3l76 75.7002
+l-76 75.7002l-76 -75.7002z" />
+ <glyph glyph-name="mendeley" unicode="&#xf7b3;" horiz-adv-x="640"
+d="M624.6 122.8c23.1006 -22.7002 17.8008 -73.5 0 -88.2998c-36.1992 -38.9004 -100 -18.2002 -104.899 35.2002c-1 11.7002 1.09961 23 5.7002 33c47.2998 103.7 -185.9 106.1 -146.5 8.2002c0.0996094 -0.100586 0.199219 -0.200195 0.299805 -0.400391
+c26.5996 -42.5996 -6.7002 -97.2998 -58.7998 -95.2002c-52 -2.2002 -85.6006 52.4004 -58.8008 95.2002c0.100586 0.200195 0.200195 0.299805 0.300781 0.400391c39.3994 97.8994 -193.801 95.5 -146.5 -8.2002c20.3994 -44.9004 -14.1006 -93.7002 -61.2002 -87.7998
+c-61.9004 7.7998 -62.5 82.8994 -42.6006 102.6c16 16 31.8008 24.7998 53 22.5c43.3008 1 49.7002 34.9004 37.5 98.7998c-22.6992 57.5 14.5 131.601 87.4004 130.8c76.9004 -0.699219 82.7998 -82 130.9 -82c49.1992 0 53.5 81.3008 130.899 82
+c72.5 0.700195 110.2 -73.2998 87.4004 -130.8c-12.2002 -63.8994 -5.7998 -97.7998 37.5 -98.7998c18.7002 2 36.0996 -4.7998 48.3994 -17.2002zM320.7 141.9c43.5996 0 62.7998 37.7998 62.7998 62.7998c0 34.7002 -28.0996 62.7998 -62.7998 62.7998h-0.600586
+c-34.5996 0 -62.7998 -28.0996 -62.7998 -62.7998c0 -25.2998 19.4004 -62.7998 62.7998 -62.7998h0.600586z" />
+ <glyph glyph-name="raspberry-pi" unicode="&#xf7bb;" horiz-adv-x="406"
+d="M372 215.5c28.7002 -17.2002 54.5996 -72.5996 14 -117.7c-2.59961 -14.0996 -7.09961 -24.2002 -11 -35.3994c-5.90039 -45.2002 -44.4004 -66.3008 -54.5996 -68.8008c-14.9004 -11.1992 -30.7002 -21.7998 -52.2002 -29.1992
+c-20.2002 -20.6006 -42.1006 -28.4004 -64.2002 -28.4004h-1c-22 0 -44 7.7998 -64.2998 28.4004c-21.4004 7.39941 -37.2998 18 -52.2002 29.1992c-10.0996 2.5 -48.7002 23.6006 -54.5996 68.8008c-3.90039 11.1992 -8.40039 21.2998 -11 35.3994
+c-40.5 45 -14.6006 100.5 14.1992 117.7l3.7002 6.5c-0.0996094 46.4004 21.4004 65.2998 46.5 79.7002c-7.59961 2 -15.3994 3.7002 -17.5996 13.2002c-13.1006 3.39941 -15.7998 9.39941 -17.1006 15.7998c-3.39941 2.2998 -14.7998 8.7002 -13.5996 19.7002
+c-6.2998 4.39941 -9.90039 10.0996 -8.09961 18.0996c-6.90039 7.5 -8.7002 13.7002 -5.80078 19.4004c-8.2998 10.1992 -4.59961 15.5 -1.09961 20.8994c-6.2002 11.2002 -0.799805 23.2002 16.5 21.2002c6.90039 10.0996 21.9004 7.7998 24.2002 7.7998
+c2.5 3.2998 6 6 16.5 4.7002c6.7998 6.09961 14.3994 5.09961 22.2998 2.09961c3.2002 2.5 6.09961 3.40039 8.7002 3.5c5 0.100586 9.2998 -2.89941 13.8994 -4.2998c11.3008 3.60059 13.8008 -1.39941 19.4004 -3.39941c12.2998 2.59961 16.0996 -3 22 -8.90039
+l6.90039 0.0996094c18.5996 -10.7998 27.7998 -32.7998 31.0996 -44.0996c3.2998 11.2998 12.5 33.2998 31.0996 44.0996l6.90039 -0.0996094c5.90039 5.90039 9.7002 11.5 22 8.90039c5.5 2.09961 8.09961 7 19.4004 3.39941
+c7.09961 2.2002 13.2998 8.10059 22.5996 0.799805c7.90039 2.90039 15.5 4 22.2998 -2.09961c10.5 1.2998 13.9004 -1.5 16.5 -4.7002c2.2998 0 17.2998 2.2998 24.2002 -7.7998c17.2998 2 22.7998 -10 16.5996 -21.2002c3.5 -5.2998 7.2002 -10.5996 -1.09961 -20.8994
+c2.90039 -5.7002 1.09961 -11.9004 -5.7998 -19.4004c1.89941 -8 -1.7002 -13.7002 -8.10059 -18.0996c1.2002 -11 -10.1992 -17.4004 -13.5996 -19.7002c-1.2998 -6.40039 -4 -12.5 -17.0996 -15.7998c-2.2002 -9.60059 -10 -11.2002 -17.6006 -13.2002
+c25.1006 -14.4004 46.6006 -33.2998 46.5 -79.7002zM349.8 223.5c1.5 48.7002 -36.3994 75.4004 -82.0996 67.9004c-16.7998 -2.80078 80.5996 -86.6006 82.0996 -67.9004zM306.8 130.4c24.5 15.7998 28.9004 51.5996 9.90039 80
+c-19 28.3994 -54.2998 38.5996 -78.7998 22.7998s-28.9004 -51.6006 -9.90039 -80c19 -28.4004 54.2998 -38.6006 78.7998 -22.7998zM238.9 418.7c-16.6006 -15.9004 -40.1006 -55.9004 -5.80078 -71.7998c29 23.5 63.6006 40.6992 102 53.5
+c-49.2998 -25.1006 -78 -45.3008 -93.6992 -62.6006c8.09961 -31.7002 50 -33.2002 65.3994 -32.2998c-3.09961 1.40039 -5.7998 3.09961 -6.7002 5.7998c3.80078 2.7002 17.5 0.299805 27 5.60059c-3.69922 0.699219 -5.39941 1.39941 -7.09961 4.09961
+c9 2.90039 18.7002 5.2998 24.4004 10c-3.10059 0 -6 -0.599609 -10 2.09961c8.09961 4.30078 16.6992 7.7002 23.3994 14.2002c-4.2002 0.100586 -8.7002 0.100586 -10 1.60059c7.40039 4.5 13.6006 9.5 18.7998 15c-5.7998 -0.700195 -8.2998 -0.100586 -9.69922 0.899414
+c5.59961 5.60059 12.5996 10.4004 16 17.2998c-4.40039 -1.5 -8.30078 -2.09961 -11.2002 0.100586c1.89941 4.2998 10 6.7002 14.7002 16.5996c-4.60059 -0.399414 -9.40039 -1 -10.4004 0c2.09961 8.5 5.7002 13.2002 9.2998 18.2002
+c-9.7998 0.200195 -24.5996 0 -23.8994 0.799805l6 6.10059c-9.5 2.5 -19.3008 -0.400391 -26.4004 -2.60059c-3.2002 2.5 0 5.60059 3.90039 8.7998c-8.10059 -1 -15.5 -2.89941 -22.1006 -5.39941c-3.59961 3.09961 2.2998 6.2998 5.10059 9.39941
+c-12.5 -2.2998 -17.8008 -5.59961 -23.1006 -8.89941c-3.7998 3.59961 -0.200195 6.7002 2.40039 9.7998c-9.40039 -3.5 -14.2998 -7.90039 -19.4004 -12.2998c-1.7998 2.2998 -4.39941 4 -1.2002 9.59961c-6.69922 -3.7998 -11.7998 -8.2998 -15.5 -13.2998
+c-4.19922 2.59961 -2.5 6.09961 -2.5 9.40039c-7 -5.60059 -11.3994 -11.5 -16.7998 -17.3008c-1.09961 0.800781 -2.09961 3.40039 -2.89941 7.60059zM204.5 304.1c-27.2002 0.700195 -53.4004 -19.8994 -53.4004 -31.7998
+c-0.0996094 -14.5996 21.5 -29.3994 53.6006 -29.7998c32.7998 -0.200195 53.7002 11.9004 53.7998 26.9004c0.0996094 16.8994 -29.7998 35 -54 34.6992zM81.5 316.9c9.59961 -5.2002 23.2002 -2.80078 27.2002 -5.60059
+c-0.900391 -2.59961 -3.60059 -4.39941 -6.7002 -5.7998c15.4004 -0.900391 57.4004 0.5 65.4004 32.2998c-15.7002 17.2998 -44.4004 37.6006 -93.7002 62.6006c38.3994 -12.8008 73 -30 102 -53.5c34.0996 15.8994 10.5996 55.8994 -6 71.7998
+c-0.900391 -4.2002 -1.7998 -6.7998 -2.90039 -7.60059c-5.39941 5.80078 -9.7998 11.7002 -16.7998 17.3008c0 -3.2002 1.59961 -6.80078 -2.5 -9.40039c-3.7002 5 -8.7998 9.5 -15.5 13.2998c3.2002 -5.59961 0.5 -7.2998 -1.2002 -9.59961
+c-5.09961 4.39941 -10 8.89941 -19.3994 12.2998c2.59961 -3.09961 6.19922 -6.2002 2.39941 -9.7998c-5.2998 3.2998 -10.5996 6.59961 -23.0996 8.89941c2.7998 -3.09961 8.59961 -6.2998 5.09961 -9.39941c-6.7002 2.5 -14 4.2998 -22.0996 5.39941
+c3.7998 -3.19922 7.09961 -6.2998 3.89941 -8.7998c-7.09961 2.2002 -16.8994 5.10059 -26.3994 2.60059l6 -6.10059c0.700195 -0.799805 -14.1006 -0.700195 -23.9004 -0.799805c3.5 -4.90039 7.2002 -9.7002 9.2998 -18.2002c-1 -1 -5.7998 -0.399414 -10.3994 0
+c4.7002 -9.89941 12.7998 -12.3994 14.7002 -16.5996c-2.90039 -2.10059 -6.90039 -1.60059 -11.2002 -0.100586c3.2998 -6.89941 10.3994 -11.6992 16 -17.2998c-1.40039 -1 -3.90039 -1.59961 -9.7002 -0.899414c5.2002 -5.5 11.4004 -10.5 18.7998 -15
+c-1.2998 -1.60059 -5.7998 -1.5 -10 -1.60059c6.7002 -6.5 15.2998 -9.89941 23.4004 -14.2002c-4 -2.7998 -6.90039 -2.09961 -10 -2.09961c5.7002 -4.7002 15.3994 -7.2002 24.3994 -10c-1.69922 -2.59961 -3.39941 -3.40039 -7.09961 -4.09961zM141.6 292.8
+c-45.5996 7.60059 -83.5996 -19.2002 -82.0996 -67.8994c1.5 -18.6006 98.9004 65.0996 82.0996 67.8994zM38.2002 106c21.5996 -9.5 39.0996 105.3 12.5996 98.2998c-43.8994 -24.5996 -36.2998 -79.5 -12.5996 -98.2998zM129.2 7.7998
+c14.0996 10.4004 6.39941 45.7002 -10.5 65.7002c-19.4004 22.2002 -44.6006 35.4004 -60.9004 25.5996c-10.8994 -8.19922 -12.8994 -36 2.60059 -63.3994c23 -32.6006 55.5 -35.7998 68.7998 -27.9004zM102.8 127.5c24.4004 -15.7998 59.7002 -5.59961 78.7998 22.7998
+c19 28.4004 14.6006 64.2002 -9.89941 80s-59.7998 5.60059 -78.7998 -22.7998s-14.6006 -64.2002 9.89941 -80zM205 -48c28.4004 -0.5 57.7002 24.4004 57.2002 35.4004c-0.100586 11.3994 -32 19.8994 -55.7002 18.8994c-23.5 0.600586 -59.7002 -9.2998 -59.2998 -22
+c-0.400391 -8.59961 28.3994 -33.5 57.7998 -32.2998zM263.9 76.9004v0.599609c-0.200195 29.5996 -26.8008 53.5996 -59.4004 53.4004c-32.5996 -0.200195 -59 -24.3008 -58.7998 -54v-0.600586c0.200195 -29.5996 26.7998 -53.5996 59.3994 -53.3994
+c32.6006 0.199219 59 24.2998 58.8008 54zM346.1 34.2002c18.4004 23.2002 12.2002 62 1.7002 72.2998c-15.5996 11.9004 -38 -3.2998 -58.8994 -26.5996c-18.3008 -21.1006 -28.4004 -59.6006 -15.1006 -72c12.7002 -9.60059 47 -8.30078 72.2998 26.2998zM369 107.4
+c23.7002 18.6992 31.2998 73.5996 -12.5996 98.2998c-26.4004 7 -8.90039 -107.7 12.5996 -98.2998z" />
+ <glyph glyph-name="redhat" unicode="&#xf7bc;" horiz-adv-x="512"
+d="M312.4 46.7998c1.2998 -1.2998 3.59961 -5.59961 0.799805 -11.0996c-1.60059 -2.90039 -3.2002 -4.90039 -6.2002 -7.2998c-3.59961 -2.90039 -10.5996 -6.2002 -20.2998 -0.100586c-5.2002 3.2998 -5.5 4.40039 -12.7002 3.40039
+c-5.09961 -0.700195 -7.09961 4.5 -5.2998 8.7998c1.89941 4.2998 9.39941 7.7002 18.7998 2.2002c4.2002 -2.5 10.7998 -7.7002 16.5996 -3.10059c2.40039 1.90039 3.80078 3.2002 7.2002 7c0.299805 0.5 0.799805 0.5 1.10059 0.200195zM256 418.3
+c141.4 0 256 -114.6 256.3 -255.899c0 -51.3008 -15.0996 -99 -41.0996 -139.101c-34.4004 7.90039 -63.2998 1.5 -77.7002 -4.5c-1.40039 -0.700195 -2.2998 -2.09961 -2.2998 -3.7002c0 -1.89941 1.09961 -2.09961 0.599609 -4.7998
+c-0.700195 -3.09961 -4.2002 -6.09961 -13 -8.09961c-17.3994 -3.7998 -28.3994 -21.9004 -34.7002 -27.7998c-6.5 -6.10059 -23.2998 -10.2002 -25.2998 -8.30078c-0.299805 0.300781 -0.299805 0.700195 0.100586 1.2002c2.5 3.2998 11.8994 13.5 17.5996 24.5
+c5.2002 9.90039 9.7002 12.7002 16 22.1006c1.90039 2.69922 9 12.5 11.0996 20.0996c2.30078 7.59961 1.5 16.9004 2.40039 20.7998c1.2002 5.60059 6.5 17.7002 6.90039 24.5c0.199219 3.90039 -16.1006 -5.5 -23.9004 -5.5s-15.4004 4.7002 -22.2998 5
+c-8.60059 0.400391 -14.1006 -6.59961 -21.9004 -5.39941c-4.39941 0.699219 -8.2002 4.59961 -15.8994 4.89941c-11.1006 0.400391 -24.6006 -6.09961 -49.9004 -5.2998c-24.9004 0.799805 -48 31.5 -51.0996 36.4004c-3.7002 5.69922 -8.2002 5.69922 -13.1006 1.19922
+c-4.89941 -4.39941 -11 -0.899414 -12.7002 2.10059c-2.39941 4.2998 -8 14.7998 -16.2998 21.2002c-8.7002 6.7998 -17.5 6.09961 -21.5 5c-10.5 -2.80078 -15.5996 -13.6006 -14.7002 -22.7002c0.900391 -9.2998 5.60059 -13.5 9.5 -17.7998
+c6.30078 -7.2002 6.10059 -14.1006 15.8008 -18.2002c5 -2.10059 6.69922 -5.10059 5.2998 -9.10059c-1.2998 -3.5 -6.40039 -4.2998 -9.7998 -4.5c-8.30078 -0.399414 -15.1006 3.5 -15.8008 3.90039c-12 7.59961 -11.1992 22.9004 -30.2998 22.9004
+c-3.7998 0 -7.2998 -1 -10.3994 -2.60059c-12.4004 -6.39941 -27 -10.2002 -42.8008 -10.2002h-17.7998c-8.59961 25.7002 -13.2998 53.2002 -13.2998 81.8008c0 141.3 114.6 255.899 256 255.899zM464.2 167.5c5.5 30.5996 -20.2002 53.2002 -63.9004 63.0996
+c-2.5 -8.5 -6.09961 -19.3994 -22.0996 -27.5996c-2.40039 -1.2002 -3.2998 0.799805 -2.2002 2.59961c6.09961 10.3008 7.09961 12.9004 8.90039 16.9004c2.5 6 3.7998 14.4004 -1.10059 32c-9.59961 34.5996 -29.7002 80.9004 -44.2998 95.9004
+c-14.0996 14.5 -39.5996 18.5996 -62.7002 12.6992c-8.39941 -2.19922 -25.0996 -10.7998 -55.8994 -3.89941c-53.3008 12 -61.2002 -14.7002 -64.3008 -26.2998c-3 -11.6006 -10.3994 -44.7002 -10.3994 -44.7002c-2.40039 -13.5 -5.7002 -36.9004 77.2002 -52.7002
+c62.6992 -12 30.8994 -31.7998 55.6992 -48.4004c5.5 -3.59961 0 -6.69922 -6.09961 -7.2998c-16.4004 -1.7002 -77.0996 15.7002 -113.1 36.1006c-29.4004 17.8994 -29.9004 34.0996 -23.2002 47.7998c-44.4004 4.7998 -77.7998 -4.2002 -83.7998 -25.2002
+c-10.3008 -36.0996 79.3994 -97.7002 181.6 -128.6c107.2 -32.4004 217.4 -9.80078 229.7 57.5996zM229.6 313c19.9004 0 34.4004 -14.5 6.5 -16.5996c-29.5996 -2.10059 -32.6992 -5.30078 -38.1992 -11.2002c-7.80078 -8.2998 -18.1006 10.7998 -18.1006 10.7998
+c-6.2002 1.2998 -13.5996 11.2002 -9.59961 20.5c4 9.2002 11.2998 6.5 13.5996 3.59961c11.4004 -14.0996 19.5 -7.09961 45.7998 -7.09961zM290.7 353.2c27 2.7998 39.5996 -7.7002 39.3994 -14.1006c-0.199219 -7.59961 -13.6992 -13.5 -30.0996 -13.1992
+c-5.2998 0.0996094 -10.2998 0.899414 -14.5996 2.09961c-1.2002 0.299805 -1.2002 1.90039 0 2.2002c30.5996 7 15.8994 20.5 -18.3008 15.0996c-1.19922 0 -1.19922 1.2002 -0.5 1.5c5.80078 3 14.3008 5.40039 24.1006 6.40039z" />
+ <glyph glyph-name="sketch" unicode="&#xf7c6;" horiz-adv-x="494"
+d="M18.5 285.8l78.9004 105.8l-6.90039 -130.699h-90.5zM387.3 402.3l7.10059 -133.5l-135.7 147.2zM103.2 229.7l122.6 -239.7l-224.899 261.7h91.0996zM105.2 260.9l142.1 154.1l60.4004 -65.5996l81.5 -88.5h-284zM402.5 251.8v-0.0996094h90.9004l-224.801 -261.7z
+M406.4 379l87.8994 -118.1h-90.2998l-6.09961 113.399l-0.900391 17.2998zM104.5 354.5l2.59961 47.7998l128.601 13.7002l-135.8 -147.1zM392.2 251.8l-144.9 -283.8l-102.7 200.9l-42.3994 82.8994h290z" />
+ <glyph glyph-name="sourcetree" unicode="&#xf7d3;" horiz-adv-x="406"
+d="M406.2 245c-0.100586 -88.0996 -57 -166.1 -140.7 -193.1v-101.601c0 -7.89941 -6.40039 -14.2998 -14.2998 -14.2998h-96.4004c-7.89941 0 -14.2998 6.40039 -14.2998 14.2998v101.7c-83.9004 27.0996 -140.6 105.2 -140.5 193.4
+c0.200195 112 91.0996 202.8 203.2 202.6c112.1 0 203 -90.9004 203 -203zM134.6 245c0 -91 137.2 -89.9004 137.301 0c0 90.7998 -137.301 90.7998 -137.301 0z" />
+ <glyph glyph-name="suse" unicode="&#xf7d6;" horiz-adv-x="631"
+d="M467.1 345.2c0 1 1 0.799805 0.900391 0.700195c4.2002 -0.600586 92.2002 -13.7002 129.2 -35.3008c12.0996 -6.89941 20.7002 -21.5 34.5 -69.5996c0.700195 -2.7998 -2.7998 -5.09961 -3.60059 -5.7002c-26.8994 -18.7998 -56.7998 -36.5996 -145.199 21.7002
+c11.0996 -26.7002 10.6992 -25.0996 11 -25.5c5.39941 -2.7998 56.2998 -28.7002 81.5996 -28.2002c20.4004 0.400391 42.2002 10.4004 50.9004 15.6006c0 0 4.5 2.69922 3.19922 -2.40039c-0.5 -1.90039 -3.2998 -14.5996 -7 -17.7002c-1 -1 -36.5996 -28.3994 -103.1 -28
+c-42.7002 1 -76.7998 16.4004 -82.4004 -17.3994c-2.7998 -17.1006 6.10059 -37.5 18.9004 -55.8008h-48.5996c-15.9004 28.4004 -23.1006 68.3008 -79.8008 68.3008c-51.5996 0 -48.3994 -50.7002 -42.6992 -68.3008h-45.9004
+c-18.7998 68.8008 -69.2002 98.6006 -102.4 104.301c-74.2998 12.7998 -113 -49.2002 -87 -98.4004c23.1006 -43.5996 81.4004 -44.0996 99.7002 -20.4004c19.2002 25 3.7998 62.9004 -28.5 65.7002c-12.2998 1.10059 -25.2998 -4.59961 -25.5 -16.8994v-0.100586
+c0 -10.8994 10 -13.7998 12 -14c7.2998 0.400391 8.90039 1.90039 11.7998 2.40039c5.2002 0.899414 16.8008 -1.7998 16.8008 -13.9004c0 -8.39941 -6.80078 -13.0996 -13.3008 -14.8994c-5.69922 -1.90039 -10.7998 -2.7002 -15.7998 -2.7002
+c-17.2002 0 -41.2002 14.7998 -41.5 42.5996c-0.200195 15.7002 7.7002 30 21.6006 39.2002c15.8994 10.5 43.5996 14.0996 69.1992 -1.59961c31.5 -19.3008 39.7002 -57.1006 31.5 -82.9004c-11.8994 -37.2998 -45.5996 -57.2002 -90 -53.2998
+c-31.5 2.7998 -60.6992 19.3994 -78.0996 44.3994c-7.7002 11.1006 -13.4004 23.4004 -16.5 35.7002c-7.09961 28.1006 0 58.1006 5.5 71.4004c25.7002 63.5996 80.2002 97.2998 99.5996 109.7c100.2 61.5996 171.101 59.0996 223 57.2998
+c61.3008 -2.2002 126.601 -23.2998 135.7 -26.2998c0 2 0.299805 20.2998 0.299805 20.2998zM527.5 272.4c-1.09961 -33.5 39.0996 -51.6006 63.2998 -28.9004c24.4004 22.9004 9 64 -24.3994 65.2002c-21.4004 0.700195 -38.3008 -16.1006 -38.9004 -36.2998zM566.1 297.7
+c14.5 -0.600586 25.9004 -12.7002 25.4004 -27.2002c-0.5 -14.2002 -12.4004 -25.7998 -27.2002 -25.2998c-14.5 0.5 -25.7998 12.7002 -25.2998 27.2002c0.400391 14.0996 12.2998 25.7998 27.0996 25.2998zM570.4 268.9c15.3994 0 15.3994 15.5996 0 15.5996
+c-15.4004 0 -15.4004 -15.5996 0 -15.5996z" />
+ <glyph glyph-name="ubuntu" unicode="&#xf7df;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM300.7 347c-8.7998 -15.2002 -3.60059 -34.7002 11.7002 -43.5996c15.1992 -8.80078 34.6992 -3.5 43.5 11.6992c8.7998 15.3008 3.59961 34.8008 -11.7002 43.6006
+c-15.2002 8.7998 -34.7002 3.5 -43.5 -11.7002zM87.4004 160.1c17.5996 0 31.8994 14.3008 31.8994 31.9004s-14.2998 31.9004 -31.8994 31.9004c-17.6006 0 -31.9004 -14.3008 -31.9004 -31.9004s14.2998 -31.9004 31.9004 -31.9004zM115.5 157
+c8.7002 -32.7002 29.0996 -60.7002 56.5 -79l23.7002 39.5996c-51.5 36.3008 -51.5 112.5 0 148.801l-23.7002 39.5996c-27.4004 -18.4004 -47.9004 -46.2998 -56.5 -79.0996c22.4004 -18 22.2998 -52 0 -69.9004zM344.2 25.2998
+c15.2998 8.7998 20.5 28.2998 11.7002 43.6006c-8.80078 15.2998 -28.3008 20.5 -43.5 11.6992c-15.3008 -8.7998 -20.5 -28.2998 -11.7002 -43.5996s28.2002 -20.5 43.5 -11.7002zM344.5 94.7998c23 22.9004 38 53.9004 40.2998 88.4004l-46.0996 0.700195
+c-5.5 -62.7002 -71.9004 -100.9 -128.9 -74.4004l-22.5 -40.2998c47.7998 -23.7002 91.5 -10.7998 96.7002 -9.40039c4.40039 28.4004 33.7998 45.2998 60.5 35zM338.6 200.1l46 0.600586c-2.19922 34.5996 -17.0996 65.5996 -40.1992 88.5
+c-26.7002 -10.2998 -56.1006 6.7002 -60.5 35c-5.2002 1.39941 -48.8008 14.2998 -96.7002 -9.40039l22.5 -40.2998c57.5996 26.7998 123.5 -12.4004 128.899 -74.4004z" />
+ <glyph glyph-name="ups" unicode="&#xf7e0;" horiz-adv-x="375"
+d="M99.2002 145.4v123h32.5996v-141.601c-17.7002 -12.0996 -97.8994 -35.8994 -97.8994 39v102.601h32.6992v-104c0 -32.1006 27.4004 -22.6006 32.6006 -19zM0 373.6c93.5996 49.6006 259.1 61.6006 375.4 0v-220.899c0 -103.9 -75.3008 -135.2 -187.7 -184.101
+c-112.8 48.9004 -187.7 80.4004 -187.7 184.101v220.899zM358.1 152.7v216.2c-109.3 10.1992 -238.6 4 -340.899 -89.8008v-126.399c0 -86.6006 53 -113.5 170.5 -165.3c117.2 51.6992 170.399 78.6992 170.399 165.3zM148.5 260.1
+c23.7002 15.3008 104.4 31.8008 104.4 -65.5996c0 -75.9004 -47.3008 -85.7998 -71.7002 -78.5v-68.7002h-32.7002v212.8zM181.2 142.8c2 -0.799805 38.3994 -16.8994 38.3994 51c0 62 -30 53.5 -38.3994 49.2998v-100.3zM260.3 229.2
+c-0.200195 41.0996 51.2002 53.8994 79.7002 31.8994v-28.3994c-17.9004 18.2998 -47.9004 18.0996 -48.5 -2.2002c-0.700195 -26.5996 55.0996 -21.7002 53.4004 -73.2002c-1.30078 -41.5996 -47 -55 -83.2002 -33.5v30.1006
+c20.3994 -18.1006 51.3994 -18.6006 50.7998 4.89941c-0.599609 27.9004 -52.0996 23.1006 -52.2002 70.4004z" />
+ <glyph glyph-name="usps" unicode="&#xf7e1;" horiz-adv-x="522"
+d="M433.3 206.2c-1.39941 -2.2002 -4.2998 -4.40039 -3.7998 0.0996094c2.90039 11.6006 13.9004 30.5 4.40039 32c-17.8008 3.10059 -88.1006 -4.5 -88.1006 0c0 2.40039 26.7002 3.10059 37.9004 8.7002c9.39941 9.40039 10.7998 8 10.8994 8h27
+c26.9004 0 37.5 -7.5 11.7002 -48.7998zM321.2 183.6c-62.2998 -21.1992 -124.8 -54.1992 -321.2 -151.5l52.4004 245.5c185 0 335.199 5.60059 337.899 -22.5996h-196.6l30.7002 -93.2998c35 16.7998 120.899 51.7002 172.6 53.8994
+c21.7998 0.800781 30.5996 -2.89941 26.2002 -5.7998c-4.7002 -2.2998 -38 -4.89941 -102 -26.2002zM67.7002 351.9h454.3l-67.7002 -319.7h-423.1s402 157.3 406.399 160.2c0 0 35.7002 48 14.6006 67.6992c-6.5 6.60059 -16 6.60059 -52.4004 6.60059
+c-2.09961 19.5 -78.7998 31.5 -332.1 85.2002z" />
+ <glyph glyph-name="yarn" unicode="&#xf7e3;" horiz-adv-x="496"
+d="M393.9 102.8c-39 -9.2998 -48.4004 -32.0996 -104 -47.3994c0 0 -2.7002 -4 -10.4004 -5.80078c-13.4004 -3.2998 -63.9004 -6 -68.5 -6.09961c-12.4004 -0.0996094 -19.9004 3.2002 -22 8.2002c-6.40039 15.2998 9.2002 22 9.2002 22
+c-8.10059 5 -9 9.89941 -9.7998 8.09961c-2.40039 -5.7998 -3.60059 -20.0996 -10.1006 -26.5c-8.7998 -8.89941 -25.5 -5.89941 -35.2998 -0.799805c-10.7998 5.7002 0.799805 19.2002 0.799805 19.2002s-5.7998 -3.40039 -10.5 3.59961
+c-6 9.2998 -17.0996 37.2998 11.5 62c-1.2998 10.1006 -4.59961 53.7002 40.6006 85.6006c0 0 -20.6006 22.7998 -12.9004 43.2998c5 13.3994 7 13.2998 8.59961 13.8994c5.7002 2.2002 11.3008 4.60059 15.4004 9.10059c20.5996 22.2002 46.7998 18 46.7998 18
+s12.4004 37.7998 23.9004 30.3994c3.5 -2.2998 16.2998 -30.5996 16.2998 -30.5996s13.5996 7.90039 15.0996 5c8.2002 -16 9.2002 -46.5 5.60059 -65.0996c-6.10059 -30.6006 -21.4004 -47.1006 -27.6006 -57.5c-1.39941 -2.40039 16.5 -10 27.8008 -41.3008
+c10.3994 -28.5996 1.09961 -52.6992 2.7998 -55.2998c0.799805 -1.39941 13.7002 -0.799805 36.3994 13.2002c12.8008 7.90039 28.1006 16.9004 45.4004 17c16.7002 0.5 17.5996 -19.2002 4.90039 -22.2002zM496 192c0 -136.9 -111.1 -248 -248 -248s-248 111.1 -248 248
+s111.1 248 248 248s248 -111.1 248 -248zM416.7 116.8c-1.7002 13.6006 -13.2002 23 -28 22.7998c-22 -0.299805 -40.5 -11.6992 -52.7998 -19.1992c-4.80078 -3 -8.90039 -5.2002 -12.4004 -6.80078c3.09961 44.5 -22.5 73.1006 -28.7002 79.4004
+c7.7998 11.2998 18.4004 27.7998 23.4004 53.2002c4.2998 21.7002 3 55.5 -6.90039 74.5c-1.59961 3.09961 -7.39941 11.2002 -21 7.39941c-9.7002 20 -13 22.1006 -15.5996 23.8008c-1.10059 0.699219 -23.6006 16.3994 -41.4004 -28
+c-12.2002 -0.900391 -31.2998 -5.30078 -47.5 -22.8008c-2 -2.19922 -5.89941 -3.7998 -10.0996 -5.39941h0.0996094c-8.39941 -3 -12.2998 -9.90039 -16.8994 -22.2998c-6.5 -17.4004 0.199219 -34.6006 6.7998 -45.7002c-17.7998 -15.9004 -37 -39.7998 -35.7002 -82.5
+c-34 -36 -11.7998 -73 -5.59961 -79.6006c-1.60059 -11.0996 3.69922 -19.3994 12 -23.7998c12.5996 -6.7002 30.2998 -9.59961 43.8994 -2.7998c4.90039 -5.2002 13.7998 -10.0996 30 -10.0996c6.7998 0 58 2.89941 72.6006 6.5c6.7998 1.59961 11.5 4.5 14.5996 7.09961
+c9.7998 3.09961 36.7998 12.2998 62.2002 28.7002c18 11.7002 24.2002 14.2002 37.5996 17.3994c12.9004 3.2002 21 15.1006 19.4004 28.2002z" />
+ </font>
+</defs></svg>
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.ttf b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.ttf
new file mode 100644
index 0000000000..5f72e9127f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.ttf
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff
new file mode 100644
index 0000000000..c64755a525
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff2 b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff2
new file mode 100644
index 0000000000..b5a956765b
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-brands-400.woff2
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.eot b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.eot
new file mode 100644
index 0000000000..55085ca95d
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.eot
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.svg b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.svg
new file mode 100644
index 0000000000..bba54466b9
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.svg
@@ -0,0 +1,799 @@
+<?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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
+<metadata>
+Created by FontForge 20190112 at Tue Feb 12 10:24:59 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+</metadata>
+<defs>
+<font id="FontAwesome5Free-Regular" horiz-adv-x="512" >
+ <font-face
+ font-family="Font Awesome 5 Free Regular"
+ font-weight="400"
+ font-stretch="normal"
+ units-per-em="512"
+ panose-1="2 0 5 3 0 0 0 0 0 0"
+ ascent="448"
+ descent="-64"
+ bbox="-0.0663408 -64.0662 640.01 448.1"
+ underline-thickness="25"
+ underline-position="-51"
+ unicode-range="U+0020-F5C8"
+ />
+ <missing-glyph />
+ <glyph glyph-name="heart" unicode="&#xf004;"
+d="M458.4 383.7c75.2998 -63.4004 64.0996 -166.601 10.5996 -221.3l-175.4 -178.7c-10 -10.2002 -23.2998 -15.7998 -37.5996 -15.7998c-14.2002 0 -27.5996 5.69922 -37.5996 15.8994l-175.4 178.7c-53.5996 54.7002 -64.5996 157.9 10.5996 221.2
+c57.8008 48.7002 147.101 41.2998 202.4 -15c55.2998 56.2998 144.6 63.5996 202.4 15zM434.8 196.2c36.2002 36.8994 43.7998 107.7 -7.2998 150.8c-38.7002 32.5996 -98.7002 27.9004 -136.5 -10.5996l-35 -35.7002l-35 35.7002
+c-37.5996 38.2998 -97.5996 43.1992 -136.5 10.5c-51.2002 -43.1006 -43.7998 -113.5 -7.2998 -150.7l175.399 -178.7c2.40039 -2.40039 4.40039 -2.40039 6.80078 0z" />
+ <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576"
+d="M528.1 276.5c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103
+c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998l65.2998 132.4c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4zM388.6 135.7l100.601 98l-139 20.2002l-62.2002 126l-62.2002 -126l-139 -20.2002l100.601 -98l-23.7002 -138.4l124.3 65.2998
+l124.3 -65.2998z" />
+ <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448"
+d="M313.6 144c74.2002 0 134.4 -60.2002 134.4 -134.4v-25.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v25.5996c0 74.2002 60.2002 134.4 134.4 134.4c28.7998 0 42.5 -16 89.5996 -16s60.9004 16 89.5996 16zM400 -16v25.5996
+c0 47.6006 -38.7998 86.4004 -86.4004 86.4004c-14.6992 0 -37.8994 -16 -89.5996 -16c-51.2998 0 -75 16 -89.5996 16c-47.6006 0 -86.4004 -38.7998 -86.4004 -86.4004v-25.5996h352zM224 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144
+s-64.5 -144 -144 -144zM224 400c-52.9004 0 -96 -43.0996 -96 -96s43.0996 -96 96 -96s96 43.0996 96 96s-43.0996 96 -96 96z" />
+ <glyph glyph-name="clock" unicode="&#xf017;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM317.8 96.4004l-84.8994 61.6992
+c-3.10059 2.30078 -4.90039 5.90039 -4.90039 9.7002v164.2c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12v-141.7l66.7998 -48.5996c5.40039 -3.90039 6.5 -11.4004 2.60059 -16.7998l-18.8008 -25.9004c-3.89941 -5.2998 -11.3994 -6.5 -16.7998 -2.59961z
+" />
+ <glyph glyph-name="list-alt" unicode="&#xf022;"
+d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM458 16c3.31152 0 6 2.68848 6 6v340c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-340
+c0 -3.31152 2.68848 -6 6 -6h404zM416 108v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 204v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12
+v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 300v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM164 288c0 -19.8818 -16.1182 -36 -36 -36
+s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 192c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 96c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36z" />
+ <glyph glyph-name="flag" unicode="&#xf024;"
+d="M336.174 368c35.4668 0 73.0195 12.6914 108.922 28.1797c31.6406 13.6514 66.9043 -9.65723 66.9043 -44.1162v-239.919c0 -16.1953 -8.1543 -31.3057 -21.7129 -40.1631c-26.5762 -17.3643 -70.0693 -39.9814 -128.548 -39.9814c-68.6084 0 -112.781 32 -161.913 32
+c-56.5674 0 -89.957 -11.2803 -127.826 -28.5566v-83.4434c0 -8.83691 -7.16309 -16 -16 -16h-16c-8.83691 0 -16 7.16309 -16 16v406.438c-14.3428 8.2998 -24 23.7979 -24 41.5615c0 27.5693 23.2422 49.71 51.2012 47.8965
+c22.9658 -1.49023 41.8662 -19.4717 44.4805 -42.3379c0.177734 -1.52441 0.321289 -4.00781 0.321289 -5.54199c0 -4.30176 -1.10352 -11.1035 -2.46289 -15.1846c22.418 8.68555 49.4199 15.168 80.7207 15.168c68.6084 0 112.781 -32 161.913 -32zM464 112v240
+c-31.5059 -14.6338 -84.5547 -32 -127.826 -32c-59.9111 0 -101.968 32 -161.913 32c-41.4365 0 -80.4766 -16.5879 -102.261 -32v-232c31.4473 14.5967 84.4648 24 127.826 24c59.9111 0 101.968 -32 161.913 -32c41.4365 0 80.4775 16.5879 102.261 32z" />
+ <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384"
+d="M336 448c26.5098 0 48 -21.4902 48 -48v-464l-192 112l-192 -112v464c0 26.5098 21.4902 48 48 48h288zM336 19.5703v374.434c0 3.31348 -2.68555 5.99609 -6 5.99609h-276c-3.31152 0 -6 -2.68848 -6 -6v-374.43l144 84z" />
+ <glyph glyph-name="image" unicode="&#xf03e;"
+d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM458 48c3.31152 0 6 2.68848 6 6v276c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-276
+c0 -3.31152 2.68848 -6 6 -6h404zM128 296c22.0908 0 40 -17.9092 40 -40s-17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40zM96 96v48l39.5137 39.5146c4.6875 4.68652 12.2852 4.68652 16.9717 0l39.5146 -39.5146l119.514 119.515
+c4.6875 4.68652 12.2852 4.68652 16.9717 0l87.5146 -87.5146v-80h-320z" />
+ <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="575"
+d="M402.3 103.1l32 32c5 5 13.7002 1.5 13.7002 -5.69922v-145.4c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h273.5c7.09961 0 10.7002 -8.59961 5.7002 -13.7002l-32 -32c-1.5 -1.5 -3.5 -2.2998 -5.7002 -2.2998h-241.5v-352h352
+v113.5c0 2.09961 0.799805 4.09961 2.2998 5.59961zM558.9 304.9l-262.601 -262.601l-90.3994 -10c-26.2002 -2.89941 -48.5 19.2002 -45.6006 45.6006l10 90.3994l262.601 262.601c22.8994 22.8994 59.8994 22.8994 82.6992 0l43.2002 -43.2002
+c22.9004 -22.9004 22.9004 -60 0.100586 -82.7998zM460.1 274l-58.0996 58.0996l-185.8 -185.899l-7.2998 -65.2998l65.2998 7.2998zM524.9 353.7l-43.2002 43.2002c-4.10059 4.09961 -10.7998 4.09961 -14.7998 0l-30.9004 -30.9004l58.0996 -58.0996l30.9004 30.8994
+c4 4.2002 4 10.7998 -0.0996094 14.9004z" />
+ <glyph glyph-name="times-circle" unicode="&#xf057;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM357.8 254.2l-62.2002 -62.2002l62.2002 -62.2002
+c4.7002 -4.7002 4.7002 -12.2998 0 -17l-22.5996 -22.5996c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-62.2002 62.2002l-62.2002 -62.2002c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-22.5996 22.5996c-4.7002 4.7002 -4.7002 12.2998 0 17l62.2002 62.2002l-62.2002 62.2002
+c-4.7002 4.7002 -4.7002 12.2998 0 17l22.5996 22.5996c4.7002 4.7002 12.2998 4.7002 17 0l62.2002 -62.2002l62.2002 62.2002c4.7002 4.7002 12.2998 4.7002 17 0l22.5996 -22.5996c4.7002 -4.7002 4.7002 -12.2998 0 -17z" />
+ <glyph glyph-name="check-circle" unicode="&#xf058;"
+d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200z
+M396.204 261.733c4.66699 -4.70508 4.63672 -12.3037 -0.0673828 -16.9717l-172.589 -171.204c-4.70508 -4.66797 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66797 4.70605 -4.63672 12.3047 0.0683594 16.9717l22.7188 22.5361
+c4.70508 4.66699 12.3027 4.63574 16.9697 -0.0693359l59.792 -60.2773l141.353 140.216c4.70508 4.66797 12.3027 4.6377 16.9697 -0.0673828z" />
+ <glyph glyph-name="question-circle" unicode="&#xf059;"
+d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 -8c110.569 0 200 89.4697 200 200c0 110.529 -89.5088 200 -200 200c-110.528 0 -200 -89.5049 -200 -200
+c0 -110.569 89.4678 -200 200 -200zM363.244 247.2c0 -67.0518 -72.4209 -68.084 -72.4209 -92.8633v-6.33691c0 -6.62695 -5.37305 -12 -12 -12h-45.6475c-6.62695 0 -12 5.37305 -12 12v8.65918c0 35.7451 27.1006 50.0342 47.5791 61.5156
+c17.5615 9.84473 28.3242 16.541 28.3242 29.5791c0 17.2461 -21.999 28.6934 -39.7842 28.6934c-23.1885 0 -33.8936 -10.9775 -48.9424 -29.9697c-4.05664 -5.11914 -11.46 -6.07031 -16.666 -2.12402l-27.8232 21.0986
+c-5.10742 3.87207 -6.25098 11.0654 -2.64453 16.3633c23.627 34.6934 53.7217 54.1846 100.575 54.1846c49.0713 0 101.45 -38.3037 101.45 -88.7998zM298 80c0 -23.1592 -18.8408 -42 -42 -42s-42 18.8408 -42 42s18.8408 42 42 42s42 -18.8408 42 -42z" />
+ <glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576"
+d="M288 304c0.0927734 0 0.244141 0.000976562 0.336914 0.000976562c61.6641 0 111.71 -50.0469 111.71 -111.711c0 -61.6631 -50.0459 -111.71 -111.71 -111.71s-111.71 50.0469 -111.71 111.71c0 8.71289 1.95898 22.5781 4.37305 30.9502
+c6.93066 -3.94141 19.0273 -7.18457 27 -7.24023c30.9121 0 56 25.0879 56 56c-0.0556641 7.97266 -3.29883 20.0693 -7.24023 27c8.42383 2.62207 22.4189 4.8623 31.2402 5zM572.52 206.6c1.9209 -3.79883 3.47949 -10.3379 3.47949 -14.5947
+s-1.55859 -10.7959 -3.47949 -14.5947c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947s1.55859 10.7959 3.47949 14.5947c54.1992 105.771 161.59 177.41 284.52 177.41
+s230.29 -71.5898 284.52 -177.4zM288 48c98.6602 0 189.1 55 237.93 144c-48.8398 89 -139.27 144 -237.93 144s-189.09 -55 -237.93 -144c48.8398 -89 139.279 -144 237.93 -144z" />
+ <glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640"
+d="M634 -23c3.31738 -2.65137 6.00977 -8.25098 6.00977 -12.498c0 -3.10449 -1.57715 -7.58984 -3.51953 -10.0117l-10 -12.4902c-2.65234 -3.31152 -8.24707 -6 -12.4902 -6c-3.09961 0 -7.58008 1.57227 -10 3.50977l-598 467.49
+c-3.31738 2.65137 -6.00977 8.25098 -6.00977 12.498c0 3.10449 1.57715 7.58984 3.51953 10.0117l10 12.4902c2.65234 3.31152 8.24707 6 12.4902 6c3.09961 0 7.58008 -1.57227 10 -3.50977zM296.79 301.53c6.33496 1.35059 16.7324 2.45801 23.21 2.46973
+c60.4805 0 109.36 -47.9102 111.58 -107.85zM343.21 82.46c-6.33496 -1.34375 -16.7334 -2.44629 -23.21 -2.45996c-60.4697 0 -109.35 47.9102 -111.58 107.84zM320 336c-19.8799 0 -39.2803 -2.7998 -58.2197 -7.09961l-46.4102 36.29
+c32.9199 11.8096 67.9297 18.8096 104.63 18.8096c122.93 0 230.29 -71.5898 284.57 -177.4c1.91992 -3.79883 3.47949 -10.3379 3.47949 -14.5947s-1.55957 -10.7959 -3.47949 -14.5947c-11.7197 -22.7598 -35.4189 -56.4092 -52.9004 -75.1104l-37.7402 29.5
+c14.333 15.0156 34.0449 41.9854 44 60.2002c-48.8398 89 -139.279 144 -237.93 144zM320 48c19.8896 0 39.2803 2.7998 58.2197 7.08984l46.4102 -36.2803c-32.9199 -11.7598 -67.9297 -18.8096 -104.63 -18.8096c-122.92 0 -230.28 71.5898 -284.51 177.4
+c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947s1.55859 10.7959 3.47949 14.5947c11.7168 22.7568 35.4111 56.4014 52.8896 75.1006l37.7402 -29.5c-14.3467 -15.0107 -34.0811 -41.9756 -44.0498 -60.1904c48.8496 -89 139.279 -144 237.93 -144z" />
+ <glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448"
+d="M148 160h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM256 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
+c6.59961 0 12 -5.40039 12 -12v-40zM352 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM256 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40
+c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM160 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM352 76c0 -6.59961 -5.40039 -12 -12 -12h-40
+c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40
+c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="comment" unicode="&#xf075;"
+d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5c-3.80078 8.7998 -2 19 4.59961 26
+c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004
+l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
+ <glyph glyph-name="folder" unicode="&#xf07b;"
+d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h146.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l54.6299 -54.6299h192zM464 48v224h-198.62
+c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-54.6299 54.6299h-140.12v-288h416z" />
+ <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="575"
+d="M527.9 224c37.6992 0 60.6992 -41.5 40.6992 -73.4004l-79.8994 -128c-8.7998 -14.0996 -24.2002 -22.5996 -40.7002 -22.5996h-400c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h160l64 -64h160c26.5 0 48 -21.5 48 -48v-48h47.9004zM48 330v-233.4l62.9004 104.2
+c8.69922 14.4004 24.2998 23.2002 41.0996 23.2002h280v42c0 3.2998 -2.7002 6 -6 6h-173.9l-64 64h-134.1c-3.2998 0 -6 -2.7002 -6 -6zM448 48l80 128h-378.8l-77.2002 -128h376z" />
+ <glyph glyph-name="chart-bar" unicode="&#xf080;"
+d="M396.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM204.8 96
+c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM300.8 96
+c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM496 48c8.83984 0 16 -7.16016 16 -16v-16
+c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-320h448zM108.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004
+c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004z" />
+ <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576"
+d="M532 61.7998c15.2998 -30.7002 37.4004 -54.5 37.7998 -54.7998c6.2998 -6.7002 8 -16.5 4.40039 -25c-3.7002 -8.5 -12 -14 -21.2002 -14c-53.5996 0 -96.7002 20.2998 -125.2 38.7998c-19 -4.39941 -39 -6.7998 -59.7998 -6.7998
+c-86.2002 0 -159.9 40.4004 -191.3 97.7998c-9.7002 1.2002 -19.2002 2.7998 -28.4004 4.90039c-28.5 -18.6006 -71.7002 -38.7998 -125.2 -38.7998c-9.19922 0 -17.5996 5.5 -21.1992 14c-3.7002 8.5 -1.90039 18.2998 4.39941 25
+c0.400391 0.399414 22.4004 24.1992 37.7002 54.8994c-27.5 27.2002 -44 61.2002 -44 98.2002c0 88.4004 93.0996 160 208 160c86.2998 0 160.3 -40.5 191.8 -98.0996c99.7002 -11.8008 176.2 -77.9004 176.2 -157.9c0 -37.0996 -16.5 -71.0996 -44 -98.2002zM139.2 154.1
+l19.7998 -4.5c16 -3.69922 32.5 -5.59961 49 -5.59961c86.7002 0 160 51.2998 160 112s-73.2998 112 -160 112s-160 -51.2998 -160 -112c0 -28.7002 16.2002 -50.5996 29.7002 -64l24.7998 -24.5l-15.5 -31.0996c-2.59961 -5.10059 -5.2998 -10.1006 -8 -14.8008
+c14.5996 5.10059 29 12.3008 43.0996 21.4004zM498.3 96c13.5 13.4004 29.7002 35.2998 29.7002 64c0 49.2002 -48.2998 91.5 -112.7 106c0.299805 -3.2998 0.700195 -6.59961 0.700195 -10c0 -80.9004 -78 -147.5 -179.3 -158.3
+c29.0996 -29.6006 77.2998 -49.7002 131.3 -49.7002c16.5 0 33 1.90039 49 5.59961l19.9004 4.60059l17.0996 -11.1006c14.0996 -9.09961 28.5 -16.2998 43.0996 -21.3994c-2.69922 4.7002 -5.39941 9.7002 -8 14.7998l-15.5 31.0996z" />
+ <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="308"
+d="M288 62.7002v-54.2998l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998v-68.0996l-62.2002 -126
+l-139 -20.2002l100.601 -98l-23.7002 -138.4z" />
+ <glyph glyph-name="lemon" unicode="&#xf094;"
+d="M484.112 420.111c28.1221 -28.123 35.9434 -68.0039 19.0215 -97.0547c-23.0576 -39.584 50.1436 -163.384 -82.3311 -295.86c-132.301 -132.298 -256.435 -59.3594 -295.857 -82.3291c-29.0459 -16.917 -68.9219 -9.11426 -97.0576 19.0205
+c-28.1221 28.1221 -35.9434 68.0029 -19.0215 97.0547c23.0566 39.5859 -50.1436 163.386 82.3301 295.86c132.308 132.309 256.407 59.3496 295.862 82.332c29.0498 16.9219 68.9307 9.09863 97.0537 -19.0234zM461.707 347.217
+c13.5166 23.2031 -27.7578 63.7314 -50.4883 50.4912c-66.6025 -38.7939 -165.646 45.5898 -286.081 -74.8457c-120.444 -120.445 -36.0449 -219.472 -74.8447 -286.08c-13.542 -23.2471 27.8145 -63.6953 50.4932 -50.4883
+c66.6006 38.7949 165.636 -45.5996 286.076 74.8428c120.444 120.445 36.0449 219.472 74.8447 286.08zM291.846 338.481c1.37012 -10.96 -6.40332 -20.957 -17.3643 -22.3271c-54.8467 -6.85547 -135.779 -87.7871 -142.636 -142.636
+c-1.37305 -10.9883 -11.3984 -18.7334 -22.3262 -17.3643c-10.9609 1.37012 -18.7344 11.3652 -17.3643 22.3262c9.16211 73.2852 104.167 168.215 177.364 177.364c10.9531 1.36816 20.9561 -6.40234 22.3262 -17.3633z" />
+ <glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576"
+d="M527.9 416c26.5996 0 48.0996 -21.5 48.0996 -48v-352c0 -26.5 -21.5 -48 -48.0996 -48h-479.801c-26.5996 0 -48.0996 21.5 -48.0996 48v352c0 26.5 21.5 48 48.0996 48h479.801zM54.0996 368c-3.2998 0 -6 -2.7002 -6 -6v-42h479.801v42c0 3.2998 -2.7002 6 -6 6
+h-467.801zM521.9 16c3.2998 0 6 2.7002 6 6v170h-479.801v-170c0 -3.2998 2.7002 -6 6 -6h467.801zM192 116v-40c0 -6.59961 -5.40039 -12 -12 -12h-72c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h72c6.59961 0 12 -5.40039 12 -12zM384 116v-40
+c0 -6.59961 -5.40039 -12 -12 -12h-136c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h136c6.59961 0 12 -5.40039 12 -12z" />
+ <glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576"
+d="M567.403 212.358c5.59668 -8.04688 8.59668 -17.6113 8.59668 -27.4121v-136.946c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v136.946c0 8.30957 3.85156 20.5898 8.59668 27.4121l105.08 151.053
+c7.90625 11.3652 25.5596 20.5889 39.4033 20.5889h0.000976562h269.838h0.000976562c13.8438 0 31.4971 -9.22363 39.4033 -20.5889zM153.081 336l-77.9131 -112h425.664l-77.9131 112h-269.838zM528 48v128h-480v-128h480zM496 112c0 -17.6729 -14.3271 -32 -32 -32
+s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32zM400 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" />
+ <glyph glyph-name="hand-point-right" unicode="&#xf0a4;"
+d="M428.8 310.4c45.0996 0 83.2002 -38.1016 83.2002 -83.2002c0 -45.6162 -37.7646 -83.2002 -83.2002 -83.2002h-35.6475c-1.41602 -6.36719 -4.96875 -16.252 -7.92969 -22.0645c2.50586 -22.0059 -3.50293 -44.9775 -15.9844 -62.791
+c-1.14062 -52.4863 -37.3984 -91.1445 -99.9404 -91.1445h-21.2988c-60.0635 0 -98.5117 40 -127.2 40h-2.67871c-5.74707 -4.95215 -13.5361 -8 -22.1201 -8h-64c-17.6729 0 -32 12.8936 -32 28.7998v230.4c0 15.9062 14.3271 28.7998 32 28.7998h64.001
+c8.58398 0 16.373 -3.04785 22.1201 -8h2.67871c6.96387 0 14.8623 6.19336 30.1816 23.6689l0.128906 0.148438l0.130859 0.145508c8.85645 9.93652 18.1162 20.8398 25.8506 33.2529c18.7051 30.2471 30.3936 78.7842 75.707 78.7842c56.9277 0 92 -35.2861 92 -83.2002
+v-0.0839844c0 -6.21777 -0.974609 -16.2148 -2.17578 -22.3154h86.1768zM428.8 192c18.9756 0 35.2002 16.2246 35.2002 35.2002c0 18.7002 -16.7754 35.2002 -35.2002 35.2002h-158.399c0 17.3242 26.3994 35.1992 26.3994 70.3994c0 26.4004 -20.625 35.2002 -44 35.2002
+c-8.79395 0 -20.4443 -32.7119 -34.9258 -56.0996c-9.07422 -14.5752 -19.5244 -27.2256 -30.7988 -39.875c-16.1094 -18.374 -33.8359 -36.6328 -59.0752 -39.5967v-176.753c42.79 -3.7627 74.5088 -39.6758 120 -39.6758h21.2988
+c40.5244 0 57.124 22.1973 50.6006 61.3252c14.6113 8.00098 24.1514 33.9785 12.9248 53.625c19.3652 18.2246 17.7871 46.3809 4.9502 61.0498h91.0254zM88 64c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
+ <glyph glyph-name="hand-point-left" unicode="&#xf0a5;" horiz-adv-x="511"
+d="M0 227.2c0 45.0986 38.1006 83.2002 83.2002 83.2002h86.1758c-1.3623 6.91016 -2.17578 14.374 -2.17578 22.3994c0 47.9141 35.0723 83.2002 92 83.2002c45.3135 0 57.002 -48.5371 75.7061 -78.7852c7.73438 -12.4121 16.9951 -23.3154 25.8506 -33.2529
+l0.130859 -0.145508l0.128906 -0.148438c15.3213 -17.4746 23.2197 -23.668 30.1836 -23.668h2.67871c5.74707 4.95215 13.5361 8 22.1201 8h64c17.6729 0 32 -12.8936 32 -28.7998v-230.4c0 -15.9062 -14.3271 -28.7998 -32 -28.7998h-64
+c-8.58398 0 -16.373 3.04785 -22.1201 8h-2.67871c-28.6885 0 -67.1367 -40 -127.2 -40h-21.2988c-62.542 0 -98.8008 38.6582 -99.9404 91.1445c-12.4814 17.8135 -18.4922 40.7852 -15.9844 62.791c-2.96094 5.8125 -6.51367 15.6973 -7.92969 22.0645h-35.6465
+c-45.4355 0 -83.2002 37.584 -83.2002 83.2002zM48 227.2c0 -18.9756 16.2246 -35.2002 35.2002 -35.2002h91.0244c-12.8369 -14.6689 -14.415 -42.8252 4.9502 -61.0498c-11.2256 -19.6465 -1.68652 -45.624 12.9248 -53.625
+c-6.52246 -39.1279 10.0771 -61.3252 50.6016 -61.3252h21.2988c45.4912 0 77.21 35.9131 120 39.6768v176.752c-25.2393 2.96289 -42.9658 21.2227 -59.0752 39.5967c-11.2744 12.6494 -21.7246 25.2998 -30.7988 39.875
+c-14.4814 23.3877 -26.1318 56.0996 -34.9258 56.0996c-23.375 0 -44 -8.7998 -44 -35.2002c0 -35.2002 26.3994 -53.0752 26.3994 -70.3994h-158.399c-18.4248 0 -35.2002 -16.5 -35.2002 -35.2002zM448 88c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
+s24 10.7451 24 24s-10.7451 24 -24 24z" />
+ <glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="448"
+d="M105.6 364.8c0 45.0996 38.1016 83.2002 83.2002 83.2002c45.6162 0 83.2002 -37.7646 83.2002 -83.2002v-35.6465c6.36719 -1.41602 16.252 -4.96875 22.0645 -7.92969c22.0059 2.50684 44.9775 -3.50293 62.791 -15.9844
+c52.4863 -1.14062 91.1445 -37.3984 91.1445 -99.9404v-21.2988c0 -60.0635 -40 -98.5117 -40 -127.2v-2.67871c4.95215 -5.74707 8 -13.5361 8 -22.1201v-64c0 -17.6729 -12.8936 -32 -28.7998 -32h-230.4c-15.9062 0 -28.7998 14.3271 -28.7998 32v64
+c0 8.58398 3.04785 16.373 8 22.1201v2.67871c0 6.96387 -6.19336 14.8623 -23.6689 30.1816l-0.148438 0.128906l-0.145508 0.130859c-9.93652 8.85645 -20.8398 18.1162 -33.2529 25.8506c-30.2471 18.7051 -78.7842 30.3936 -78.7842 75.707
+c0 56.9277 35.2861 92 83.2002 92h0.0839844c6.21777 0 16.2148 -0.974609 22.3154 -2.17578v86.1768zM224 364.8c0 18.9756 -16.2246 35.2002 -35.2002 35.2002c-18.7002 0 -35.2002 -16.7754 -35.2002 -35.2002v-158.399c-17.3242 0 -35.1992 26.3994 -70.3994 26.3994
+c-26.4004 0 -35.2002 -20.625 -35.2002 -44c0 -8.79395 32.7119 -20.4443 56.0996 -34.9258c14.5752 -9.07422 27.2256 -19.5244 39.875 -30.7988c18.374 -16.1094 36.6328 -33.8359 39.5967 -59.0752h176.753c3.7627 42.79 39.6758 74.5088 39.6758 120v21.2988
+c0 40.5244 -22.1973 57.124 -61.3252 50.6006c-8.00098 14.6113 -33.9785 24.1514 -53.625 12.9248c-18.2246 19.3652 -46.3809 17.7871 -61.0498 4.9502v91.0254zM352 24c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24z" />
+ <glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="448"
+d="M188.8 -64c-45.0986 0 -83.2002 38.1006 -83.2002 83.2002v86.1758c-6.91016 -1.3623 -14.374 -2.17578 -22.3994 -2.17578c-47.9141 0 -83.2002 35.0723 -83.2002 92c0 45.3135 48.5371 57.002 78.7852 75.707c12.4121 7.73438 23.3154 16.9951 33.2529 25.8506
+l0.145508 0.130859l0.148438 0.128906c17.4746 15.3213 23.668 23.2197 23.668 30.1836v2.67871c-4.95215 5.74707 -8 13.5361 -8 22.1201v64c0 17.6729 12.8936 32 28.7998 32h230.4c15.9062 0 28.7998 -14.3271 28.7998 -32v-64.001
+c0 -8.58398 -3.04785 -16.373 -8 -22.1201v-2.67871c0 -28.6885 40 -67.1367 40 -127.2v-21.2988c0 -62.542 -38.6582 -98.8008 -91.1445 -99.9404c-17.8135 -12.4814 -40.7852 -18.4922 -62.791 -15.9844c-5.8125 -2.96094 -15.6973 -6.51367 -22.0645 -7.92969v-35.6465
+c0 -45.4355 -37.584 -83.2002 -83.2002 -83.2002zM188.8 -16c18.9756 0 35.2002 16.2246 35.2002 35.2002v91.0244c14.6689 -12.8369 42.8252 -14.415 61.0498 4.9502c19.6465 -11.2256 45.624 -1.68652 53.625 12.9248c39.1279 -6.52246 61.3252 10.0771 61.3252 50.6016
+v21.2988c0 45.4912 -35.9131 77.21 -39.6768 120h-176.752c-2.96289 -25.2393 -21.2227 -42.9658 -39.5967 -59.0752c-12.6494 -11.2744 -25.2998 -21.7246 -39.875 -30.7988c-23.3877 -14.4814 -56.0996 -26.1318 -56.0996 -34.9258c0 -23.375 8.7998 -44 35.2002 -44
+c35.2002 0 53.0752 26.3994 70.3994 26.3994v-158.399c0 -18.4248 16.5 -35.2002 35.2002 -35.2002zM328 384c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24z" />
+ <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448"
+d="M433.941 382.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-80v-48c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h80v48c0 26.5098 21.4902 48 48 48
+h172.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM266 -16c3.31152 0 6 2.68848 6 6v42h-96c-26.5098 0 -48 21.4902 -48 48v224h-74c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM394 80c3.31152 0 6 2.68848 6 6v202h-88
+c-13.2549 0 -24 10.7451 -24 24v88h-106c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM400 336v9.63184v0.000976562c0 1.37207 -0.787109 3.27246 -1.75684 4.24219l-48.3682 48.3682c-1.12598 1.125 -2.65234 1.75684 -4.24316 1.75684h-9.63184
+v-64h64z" />
+ <glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448"
+d="M433.941 318.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM272 368h-128v-80h128v80
+zM394 16c3.31152 0 6 2.68848 6 6v259.632v0.000976562c0 1.37207 -0.787109 3.27246 -1.75684 4.24219l-78.2432 78.2432v-100.118c0 -13.2549 -10.7451 -24 -24 -24h-176c-13.2549 0 -24 10.7451 -24 24v104h-42c-3.31152 0 -6 -2.68848 -6 -6v-340
+c0 -3.31152 2.68848 -6 6 -6h340zM224 216c48.5234 0 88 -39.4766 88 -88s-39.4766 -88 -88 -88s-88 39.4766 -88 88s39.4766 88 88 88zM224 88c22.0557 0 40 17.9443 40 40s-17.9443 40 -40 40s-40 -17.9443 -40 -40s17.9443 -40 40 -40z" />
+ <glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM394 16c3.2998 0 6 2.7002 6 6v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340z" />
+ <glyph glyph-name="envelope" unicode="&#xf0e0;"
+d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM464 336h-416v-40.8047c22.4248 -18.2627 58.1797 -46.6602 134.587 -106.49
+c16.834 -13.2422 50.2051 -45.0762 73.4131 -44.7012c23.2119 -0.371094 56.5723 31.4541 73.4131 44.7012c76.4189 59.8389 112.165 88.2305 134.587 106.49v40.8047zM48 48h416v185.601c-22.915 -18.252 -55.4189 -43.8691 -104.947 -82.6523
+c-22.5439 -17.748 -60.3359 -55.1787 -103.053 -54.9473c-42.9277 -0.231445 -81.2051 37.75 -103.062 54.9551c-49.5293 38.7842 -82.0244 64.3945 -104.938 82.6455v-185.602z" />
+ <glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352"
+d="M176 368c8.83984 0 16 -7.16016 16 -16s-7.16016 -16 -16 -16c-35.2803 0 -64 -28.7002 -64 -64c0 -8.83984 -7.16016 -16 -16 -16s-16 7.16016 -16 16c0 52.9404 43.0596 96 96 96zM96.0596 -11.1699l-0.0400391 43.1797h159.961l-0.0507812 -43.1797
+c-0.00976562 -3.13965 -0.939453 -6.21973 -2.67969 -8.83984l-24.5098 -36.8398c-2.95996 -4.45996 -7.95996 -7.14062 -13.3203 -7.14062h-78.8496c-5.35059 0 -10.3506 2.68066 -13.3203 7.14062l-24.5098 36.8398c-1.75 2.62012 -2.68066 5.68945 -2.68066 8.83984z
+M176 448c97.2002 0 176 -78.7998 176 -176c0 -44.3701 -16.4502 -84.8496 -43.5498 -115.79c-16.6406 -18.9795 -42.7402 -58.79 -52.4199 -92.1602v-0.0498047h-48v0.0996094c0.00390625 4.04199 0.999023 10.4482 2.21973 14.3008
+c5.67969 17.9893 22.9902 64.8496 62.0996 109.46c20.4102 23.29 31.6504 53.1699 31.6504 84.1396c0 70.5801 -57.4199 128 -128 128c-68.2803 0 -128.15 -54.3604 -127.95 -128c0.0898438 -30.9902 11.0703 -60.71 31.6104 -84.1396
+c39.3496 -44.9004 56.5801 -91.8604 62.1699 -109.67c1.42969 -4.56055 2.13965 -9.30078 2.15039 -14.0703v-0.120117h-48v0.0595703c-9.68066 33.3604 -35.7803 73.1709 -52.4209 92.1602c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78
+c0 93.0303 73.7197 176 176 176z" />
+ <glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448"
+d="M439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29
+c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29zM67.5303 80h312.939
+c-21.2197 27.96 -44.4199 74.3203 -44.5293 159.42c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112s-112 -50.1396 -112 -112c0 -0.200195 0.0595703 -0.379883 0.0595703 -0.580078
+c-0.109375 -85.0898 -23.3096 -131.45 -44.5293 -159.42zM224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
+ <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448"
+d="M128 204v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12zM268 192c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40
+c0 -6.62695 -5.37305 -12 -12 -12h-40zM192 108c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM268 96c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
+c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.62695 5.37305 12 12 12h19.5v378.965c0 11.6172 10.7451 21.0352 24 21.0352h88.5v40c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-40h88.5
+c13.2549 0 24 -9.41797 24 -21.0352v-378.965h19.5c6.62695 0 12 -5.37305 12 -12zM79.5 -15h112.5v67c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-67h112.5v351h-64.5v-24c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v24
+h-64.5v-351zM266 384h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20
+c0 3.31152 -2.68848 6 -6 6z" />
+ <glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448"
+d="M352 208v-32c0 -6.59961 -5.40039 -12 -12 -12h-88v-88c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v88h-88c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h88v88c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12
+v-88h88c6.59961 0 12 -5.40039 12 -12zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340
+c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="circle" unicode="&#xf111;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200z" />
+ <glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
+s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM332 135.4c8.5 10.1992 23.7002 11.5 33.7998 3.09961c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998
+c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.0996 8.40039 25.2998 7.09961 33.7998 -3.09961c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004z" />
+ <glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
+s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 144c40.2002 0 78 -17.7002 103.8 -48.5996c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008
+c-10.7002 -8.7998 -25.7002 -6.59961 -33.7998 3.10059c-16.6006 20 -41 31.3994 -66.9004 31.3994s-50.2998 -11.5 -66.9004 -31.3994c-8.5 -10.2002 -23.5996 -11.5 -33.7998 -3.10059c-10.2002 8.5 -11.5996 23.6006 -3.09961 33.8008
+c25.7998 30.8994 63.5996 48.5996 103.8 48.5996z" />
+ <glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
+s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM336 128c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-176c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h176z
+" />
+ <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576"
+d="M528 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480zM536 48v288c0 4.41113 -3.58887 8 -8 8h-480c-4.41113 0 -8 -3.58887 -8 -8v-288c0 -4.41113 3.58887 -8 8 -8
+h480c4.41113 0 8 3.58887 8 8zM170 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM266 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
+c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM362 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM458 178c0 -6.62695 -5.37305 -12 -12 -12h-28
+c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 96c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 96
+c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28
+c6.62695 0 12 -5.37305 12 -12v-28zM218 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM314 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
+c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM410 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 260c0 -6.62695 -5.37305 -12 -12 -12h-28
+c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM408 102c0 -6.62695 -5.37305 -12 -12 -12h-216c-6.62695 0 -12 5.37305 -12 12v16c0 6.62695 5.37305 12 12 12h216c6.62695 0 12 -5.37305 12 -12v-16z" />
+ <glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448"
+d="M400 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12
+v-52h48zM394 -16c3.2998 0 6 2.7002 6 6v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340z" />
+ <glyph glyph-name="play-circle" unicode="&#xf144;"
+d="M371.7 210c16.3994 -9.2002 16.3994 -32.9004 0 -42l-176 -101c-15.9004 -8.7998 -35.7002 2.59961 -35.7002 21v208c0 18.5 19.9004 29.7998 35.7002 21zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192
+c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200z" />
+ <glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448"
+d="M108 164c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h232c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-232zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
+c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448"
+d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM400 16v352h-352v-352h352zM364.136 257.724l-172.589 -171.204
+c-4.70508 -4.66699 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66699 4.70508 -4.63672 12.3037 0.0693359 16.9717l22.7188 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l59.792 -60.2773l141.353 140.217
+c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0683594l22.5361 -22.7178c4.66699 -4.70605 4.63672 -12.3047 -0.0683594 -16.9717z" />
+ <glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576"
+d="M561.938 289.94c18.75 -18.7402 18.75 -49.1406 0 -67.8809l-143.998 -144c-29.9727 -29.9727 -81.9404 -9.05273 -81.9404 33.9404v53.7998c-101.266 -7.83691 -99.625 -31.6406 -84.1104 -78.7598c14.2285 -43.0889 -33.4736 -79.248 -71.0195 -55.7402
+c-51.6924 32.3057 -84.8701 83.0635 -84.8701 144.76c0 39.3408 12.2197 72.7402 36.3301 99.3008c19.8398 21.8398 47.7402 38.4697 82.9102 49.4199c36.7295 11.4395 78.3096 16.1094 120.76 17.9893v57.1982c0 42.9355 51.9258 63.9541 81.9404 33.9404zM384 112l144 144
+l-144 144v-104.09c-110.86 -0.90332 -240 -10.5166 -240 -119.851c0 -52.1396 32.79 -85.6094 62.3096 -104.06c-39.8174 120.65 48.999 141.918 177.69 143.84v-103.84zM408.74 27.5068c6.14844 1.75684 15.5449 5.92383 20.9736 9.30273
+c7.97656 4.95215 18.2861 -0.825195 18.2861 -10.2139v-42.5957c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h132c6.62695 0 12 -5.37305 12 -12v-4.48633c0 -4.91699 -2.9873 -9.36914 -7.56934 -11.1514
+c-13.7021 -5.33105 -26.3955 -11.5371 -38.0498 -18.585c-1.59668 -0.974609 -4.41016 -1.77051 -6.28027 -1.77734h-86.1006c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340c3.31152 0 6 2.68848 6 6v25.9658c0 5.37012 3.5791 10.0596 8.74023 11.541
+z" />
+ <glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496"
+d="M347.94 318.14c16.6592 7.61035 33.8096 -9.54004 26.1992 -26.1992l-65.9697 -144.341c-2.73047 -5.97363 -9.7959 -13.0391 -15.7695 -15.7695l-144.341 -65.9697c-16.6592 -7.61035 -33.8096 9.5498 -26.1992 26.1992l65.9697 144.341
+c2.73047 5.97363 9.7959 13.0391 15.7695 15.7695zM270.58 169.42c12.4697 12.4697 12.4697 32.6904 0 45.1602s-32.6904 12.4697 -45.1602 0s-12.4697 -32.6904 0 -45.1602s32.6904 -12.4697 45.1602 0zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248
+s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
+ <glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448"
+d="M125.1 240h197.801c10.6992 0 16.0996 -13 8.5 -20.5l-98.9004 -98.2998c-4.7002 -4.7002 -12.2002 -4.7002 -16.9004 0l-98.8994 98.2998c-7.7002 7.5 -2.2998 20.5 8.39941 20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
+c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448"
+d="M322.9 144h-197.801c-10.6992 0 -16.0996 13 -8.5 20.5l98.9004 98.2998c4.7002 4.7002 12.2002 4.7002 16.9004 0l98.8994 -98.2998c7.7002 -7.5 2.2998 -20.5 -8.39941 -20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
+c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448"
+d="M176 93.0996v197.801c0 10.6992 13 16.0996 20.5 8.5l98.2998 -98.9004c4.7002 -4.7002 4.7002 -12.2002 0 -16.9004l-98.2998 -98.8994c-7.5 -7.7002 -20.5 -2.2998 -20.5 8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
+c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384"
+d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
+h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416z" />
+ <glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384"
+d="M288 200v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v28c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM276 128c6.59961 0 12 -5.40039 12 -12v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12
+v28c0 6.59961 5.40039 12 12 12h168zM384 316.1v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l83.9004 -83.9004c9 -8.90039 14.0996 -21.2002 14.0996 -33.9004z
+M256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288z" />
+ <glyph glyph-name="thumbs-up" unicode="&#xf164;" horiz-adv-x="480"
+d="M466.27 161.31c4.6748 -22.6465 0.864258 -44.5371 -8.98926 -62.9893c2.95898 -23.8682 -4.02148 -48.5654 -17.3398 -66.9902c-0.954102 -55.9072 -35.8232 -95.3301 -112.94 -95.3301c-7 0 -15 0.00976562 -22.2197 0.00976562
+c-102.742 0 -133.293 38.9395 -177.803 39.9404c-3.56934 -13.7764 -16.085 -23.9502 -30.9775 -23.9502h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h98.7598c19.1455 16.9531 46.0137 60.6533 68.7598 83.4004
+c13.667 13.667 10.1533 108.6 71.7607 108.6c57.5801 0 95.2695 -31.9355 95.2695 -104.73c0 -18.4092 -3.92969 -33.7295 -8.84961 -46.5391h36.4795c48.6025 0 85.8203 -41.5654 85.8203 -85.5801c0 -19.1504 -4.95996 -34.9902 -13.7305 -49.8408zM404.52 107.48
+c21.5811 20.3838 18.6992 51.0645 5.21094 65.6191c9.44922 0 22.3594 18.9102 22.2695 37.8105c-0.0898438 18.9102 -16.71 37.8203 -37.8203 37.8203h-103.989c0 37.8193 28.3594 55.3691 28.3594 94.5391c0 23.75 0 56.7305 -47.2695 56.7305
+c-18.9102 -18.9102 -9.45996 -66.1797 -37.8203 -94.54c-26.5596 -26.5703 -66.1797 -97.46 -94.54 -97.46h-10.9199v-186.17c53.6113 0 100.001 -37.8203 171.64 -37.8203h37.8203c35.5117 0 60.8203 17.1201 53.1201 65.9004
+c15.2002 8.16016 26.5 36.4395 13.9395 57.5703zM88 16c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
+ <glyph glyph-name="thumbs-down" unicode="&#xf165;" horiz-adv-x="480"
+d="M466.27 222.69c8.77051 -14.8506 13.7305 -30.6904 13.7305 -49.8408c0 -44.0146 -37.2178 -85.5801 -85.8203 -85.5801h-36.4795c4.91992 -12.8096 8.84961 -28.1299 8.84961 -46.5391c0 -72.7949 -37.6895 -104.73 -95.2695 -104.73
+c-61.6074 0 -58.0938 94.9326 -71.7607 108.6c-22.7461 22.7471 -49.6133 66.4473 -68.7598 83.4004h-7.05176c-5.5332 -9.56152 -15.8662 -16 -27.708 -16h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h64c8.11328 0 15.5146 -3.02539 21.1553 -8
+h10.8447c40.9971 0 73.1953 39.9902 176.78 39.9902c7.21973 0 15.2197 0.00976562 22.2197 0.00976562c77.1172 0 111.986 -39.4229 112.94 -95.3301c13.3184 -18.4248 20.2979 -43.1221 17.3398 -66.9902c9.85352 -18.4521 13.6641 -40.3428 8.98926 -62.9893zM64 152
+c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM394.18 135.27c21.1104 0 37.7305 18.9102 37.8203 37.8203c0.0898438 18.9004 -12.8203 37.8105 -22.2695 37.8105c13.4883 14.5547 16.3701 45.2354 -5.21094 65.6191
+c12.5605 21.1309 1.26074 49.4102 -13.9395 57.5703c7.7002 48.7803 -17.6084 65.9004 -53.1201 65.9004h-37.8203c-71.6387 0 -118.028 -37.8203 -171.64 -37.8203v-186.17h10.9199c28.3604 0 67.9805 -70.8896 94.54 -97.46
+c28.3604 -28.3604 18.9102 -75.6299 37.8203 -94.54c47.2695 0 47.2695 32.9805 47.2695 56.7305c0 39.1699 -28.3594 56.7197 -28.3594 94.5391h103.989z" />
+ <glyph glyph-name="sun" unicode="&#xf185;"
+d="M494.2 226.1c11.2002 -7.59961 17.7998 -20.0996 17.8994 -33.6992c0 -13.4004 -6.69922 -26 -17.7998 -33.5l-59.7998 -40.5l13.7002 -71c2.5 -13.2002 -1.60059 -26.8008 -11.1006 -36.3008s-22.8994 -13.7998 -36.2998 -11.0996l-70.8994 13.7002l-40.4004 -59.9004
+c-7.5 -11.0996 -20.0996 -17.7998 -33.5 -17.7998s-26 6.7002 -33.5 17.9004l-40.4004 59.8994l-70.7998 -13.7002c-13.3994 -2.59961 -26.7998 1.60059 -36.2998 11.1006s-13.7002 23.0996 -11.0996 36.2998l13.6992 71l-59.7998 40.5
+c-11.0996 7.5 -17.7998 20 -17.7998 33.5s6.59961 26 17.7998 33.5996l59.7998 40.5l-13.6992 71c-2.60059 13.2002 1.59961 26.7002 11.0996 36.3008c9.5 9.59961 23 13.6992 36.2998 11.1992l70.7998 -13.6992l40.4004 59.8994c15.0996 22.2998 51.9004 22.2998 67 0
+l40.4004 -59.8994l70.8994 13.6992c13 2.60059 26.6006 -1.59961 36.2002 -11.0996c9.5 -9.59961 13.7002 -23.2002 11.0996 -36.4004l-13.6992 -71zM381.3 140.5l76.7998 52.0996l-76.7998 52l17.6006 91.1006l-91 -17.6006l-51.9004 76.9004l-51.7998 -76.7998
+l-91 17.5996l17.5996 -91.2002l-76.7998 -52l76.7998 -52l-17.5996 -91.1992l90.8994 17.5996l51.9004 -77l51.9004 76.9004l91 -17.6006zM256 296c57.2998 0 104 -46.7002 104 -104s-46.7002 -104 -104 -104s-104 46.7002 -104 104s46.7002 104 104 104zM256 136
+c30.9004 0 56 25.0996 56 56s-25.0996 56 -56 56s-56 -25.0996 -56 -56s25.0996 -56 56 -56z" />
+ <glyph glyph-name="moon" unicode="&#xf186;" horiz-adv-x="511"
+d="M279.135 -64c-141.424 0 -256 114.64 -256 256c0 141.425 114.641 256 256 256c13.0068 -0.00195312 33.9443 -1.91797 46.7354 -4.27734c44.0205 -8.13086 53.7666 -66.8691 15.0215 -88.9189c-41.374 -23.5439 -67.4336 -67.4121 -67.4336 -115.836
+c0 -83.5234 75.9238 -146.475 158.272 -130.792c43.6904 8.32129 74.5186 -42.5693 46.248 -77.4004c-47.8613 -58.9717 -120.088 -94.7754 -198.844 -94.7754zM279.135 400c-114.875 0 -208 -93.125 -208 -208s93.125 -208 208 -208
+c65.2314 0 123.439 30.0361 161.575 77.0244c-111.611 -21.2568 -215.252 64.0957 -215.252 177.943c0 67.5127 36.9326 126.392 91.6934 157.555c-12.3271 2.27637 -25.0312 3.47754 -38.0166 3.47754z" />
+ <glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448"
+d="M272 290.9v-197.801c0 -10.6992 -13 -16.0996 -20.5 -8.5l-98.2998 98.9004c-4.7002 4.7002 -4.7002 12.2002 0 16.9004l98.2998 98.8994c7.5 7.7002 20.5 2.2998 20.5 -8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
+c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="dot-circle" unicode="&#xf192;"
+d="M256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z
+M256 272c44.1826 0 80 -35.8174 80 -80s-35.8174 -80 -80 -80s-80 35.8174 -80 80s35.8174 80 80 80z" />
+ <glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448"
+d="M128 300v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM268 288c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40
+c0 -6.59961 -5.40039 -12 -12 -12h-40zM140 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM268 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
+c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM192 108c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM268 96c-6.59961 0 -12 5.40039 -12 12v40
+c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.59961 5.40039 12 12 12h19.5v440c0 13.2998 10.7002 24 24 24h337c13.2998 0 24 -10.7002 24 -24v-440h19.5
+c6.59961 0 12 -5.40039 12 -12zM79.5 -15h112.5v67c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-67h112.5v414l-288.5 1z" />
+ <glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384"
+d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
+h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM298.2 127.7c10.5 -10.5 8 -38.7002 -17.5 -38.7002c-14.7998 0 -36.9004 6.7998 -55.7998 17c-21.6006 -3.59961 -46 -12.7002 -68.4004 -20.0996c-50.0996 -86.4004 -79.4004 -47 -76.0996 -31.2002
+c4 20 31 35.8994 51 46.2002c10.5 18.3994 25.3994 50.5 35.3994 74.3994c-7.39941 28.6006 -11.3994 51 -7 67.1006c4.7998 17.6992 38.4004 20.2998 42.6006 -5.90039c4.69922 -15.4004 -1.5 -39.9004 -5.40039 -56c8.09961 -21.2998 19.5996 -35.7998 36.7998 -46.2998
+c17.4004 2.2002 52.2002 5.5 64.4004 -6.5zM100.1 49.9004c0 -0.700195 11.4004 4.69922 30.4004 35c-5.90039 -5.5 -25.2998 -21.3008 -30.4004 -35zM181.7 240.5c-2.5 0 -2.60059 -26.9004 1.7998 -40.7998c4.90039 8.7002 5.59961 40.7998 -1.7998 40.7998zM157.3 103.9
+c15.9004 6.09961 34 14.8994 54.7998 19.1992c-11.1992 8.30078 -21.7998 20.4004 -30.0996 35.5c-6.7002 -17.6992 -15 -37.7998 -24.7002 -54.6992zM288.9 108.9c3.59961 2.39941 -2.2002 10.3994 -37.3008 7.7998c32.3008 -13.7998 37.3008 -7.7998 37.3008 -7.7998z" />
+ <glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384"
+d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
+h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM268.1 192v0.200195h15.8008c7.7998 0 13.5 -7.2998 11.5996 -14.9004c-4.2998 -17 -13.7002 -54.0996 -34.5 -136c-1.2998 -5.39941 -6.09961 -9.09961 -11.5996 -9.09961h-24.7002
+c-5.5 0 -10.2998 3.7998 -11.6006 9.09961c-5.2998 20.9004 -17.7998 71 -17.8994 71.4004l-2.90039 17.2998c-0.5 -5.2998 -1.5 -11.0996 -3 -17.2998l-17.8994 -71.4004c-1.30078 -5.39941 -6.10059 -9.09961 -11.6006 -9.09961h-25.2002
+c-5.59961 0 -10.3994 3.7002 -11.6992 9.09961c-6.5 26.5 -25.2002 103.4 -33.2002 136c-1.7998 7.5 3.89941 14.7998 11.7002 14.7998h16.7998c5.7998 0 10.7002 -4.09961 11.7998 -9.69922c5 -25.7002 18.4004 -93.8008 19.0996 -99
+c0.300781 -1.7002 0.400391 -3.10059 0.5 -4.2002c0.800781 7.5 0.400391 4.7002 24.8008 103.7c1.39941 5.2998 6.19922 9.09961 11.6992 9.09961h13.3008c5.59961 0 10.3994 -3.7998 11.6992 -9.2002c23.9004 -99.7002 22.8008 -94.3994 23.6006 -99.5
+c0.299805 -1.7002 0.5 -3.09961 0.700195 -4.2998c0.599609 8.09961 0.399414 5.7998 21 103.5c1.09961 5.5 6 9.5 11.6992 9.5z" />
+ <glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384"
+d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
+h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM260 224c9.2002 0 15 -10 10.2998 -18c-16 -27.5 -45.5996 -76.9004 -46.2998 -78l46.4004 -78c4.59961 -8 -1.10059 -18 -10.4004 -18h-28.7998c-4.40039 0 -8.5 2.40039 -10.6006 6.2998
+c-22.6992 41.7998 -13.6992 27.5 -28.5996 57.7002c-5.59961 -12.7002 -6.90039 -17.7002 -28.5996 -57.7002c-2.10059 -3.89941 -6.10059 -6.2998 -10.5 -6.2998h-28.9004c-9.2998 0 -15.0996 10 -10.4004 18l46.3008 78l-46.3008 78c-4.59961 8 1.10059 18 10.4004 18
+h28.9004c4.39941 0 8.5 -2.40039 10.5996 -6.2998c21.7002 -40.4004 14.7002 -28.6006 28.5996 -57.7002c6.40039 15.2998 10.6006 24.5996 28.6006 57.7002c2.09961 3.89941 6.09961 6.2998 10.5 6.2998h28.7998z" />
+ <glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384"
+d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
+h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM120 44v168c0 6.59961 5.40039 12 12 12h69.2002c36.7002 0 62.7998 -27 62.7998 -66.2998c0 -74.2998 -68.7002 -66.5 -95.5 -66.5v-47.2002c0 -6.59961 -5.40039 -12 -12 -12h-24.5c-6.59961 0 -12 5.40039 -12 12z
+M168.5 131.4h23c7.90039 0 13.9004 2.39941 18.0996 7.19922c8.5 9.80078 8.40039 28.5 0.100586 37.8008c-4.10059 4.59961 -9.90039 7 -17.4004 7h-23.8994v-52h0.0996094z" />
+ <glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384"
+d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
+h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM80 32v64l39.5 39.5c4.7002 4.7002 12.2998 4.7002 17 0l39.5 -39.5l87.5 87.5c4.7002 4.7002 12.2998 4.7002 17 0l23.5 -23.5v-128h-224zM128 272c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48
+s21.5 48 48 48z" />
+ <glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384"
+d="M128.3 288h32v-32h-32v32zM192.3 384v-32h-32v32h32zM128.3 352h32v-32h-32v32zM192.3 320v-32h-32v32h32zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1
+c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-48.2998v-16h-32v16h-79.7002v-416h288zM194.2 182.3l17.2998 -87.7002c6.40039 -32.3994 -18.4004 -62.5996 -51.5 -62.5996
+c-33.2002 0 -58 30.4004 -51.4004 62.9004l19.7002 97.0996v32h32v-32h22.1006c5.7998 0 10.6992 -4.09961 11.7998 -9.7002zM160.3 57.9004c17.9004 0 32.4004 12.0996 32.4004 27c0 14.8994 -14.5 27 -32.4004 27c-17.8994 0 -32.3994 -12.1006 -32.3994 -27
+c0 -14.9004 14.5 -27 32.3994 -27zM192.3 256v-32h-32v32h32z" />
+ <glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384"
+d="M369.941 350.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM332.118 320
+l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM192 60.0244c0 -10.6914 -12.9258 -16.0459 -20.4854 -8.48535l-35.5146 35.9746h-28c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h28
+l35.5146 36.9473c7.56055 7.56055 20.4854 2.20605 20.4854 -8.48535v-135.951zM233.201 107.154c9.05078 9.29688 9.05957 24.1328 0.000976562 33.4385c-22.1494 22.752 12.2344 56.2461 34.3945 33.4814c27.1982 -27.9404 27.2119 -72.4443 0.000976562 -100.401
+c-21.793 -22.3857 -56.9463 10.3154 -34.3965 33.4814z" />
+ <glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384"
+d="M369.941 350.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM332.118 320
+l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM276.687 195.303c10.0049 10.0049 27.3135 2.99707 27.3135 -11.3135v-111.976c0 -14.2939 -17.2959 -21.332 -27.3135 -11.3135l-52.6865 52.6738v-37.374
+c0 -11.0459 -8.9541 -20 -20 -20h-104c-11.0459 0 -20 8.9541 -20 20v104c0 11.0459 8.9541 20 20 20h104c11.0459 0 20 -8.9541 20 -20v-37.374z" />
+ <glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384"
+d="M149.9 98.9004c3.5 -3.30078 3.69922 -8.90039 0.399414 -12.4004l-17.3994 -18.5996c-1.60059 -1.80078 -4 -2.80078 -6.40039 -2.80078c-2.2002 0 -4.40039 0.900391 -6 2.40039l-57.7002 54.0996c-3.7002 3.40039 -3.7002 9.30078 0 12.8008l57.7002 54.0996
+c3.40039 3.2998 9 3.2002 12.4004 -0.400391l17.3994 -18.5996l0.200195 -0.200195c3.2002 -3.59961 2.7998 -9.2002 -0.799805 -12.3994l-32.7998 -28.9004l32.7998 -28.9004zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288
+c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288zM209.6 234l24.4004 -7
+c4.7002 -1.2998 7.40039 -6.2002 6 -10.9004l-54.7002 -188.199c-1.2998 -4.60059 -6.2002 -7.40039 -10.8994 -6l-24.4004 7.09961c-4.7002 1.2998 -7.40039 6.2002 -6 10.9004l54.7002 188.1c1.39941 4.7002 6.2002 7.40039 10.8994 6zM234.1 157.1
+c-3.5 3.30078 -3.69922 8.90039 -0.399414 12.4004l17.3994 18.5996c3.30078 3.60059 8.90039 3.7002 12.4004 0.400391l57.7002 -54.0996c3.7002 -3.40039 3.7002 -9.30078 0 -12.8008l-57.7002 -54.0996c-3.5 -3.2998 -9.09961 -3.09961 -12.4004 0.400391
+l-17.3994 18.5996l-0.200195 0.200195c-3.2002 3.59961 -2.7998 9.2002 0.799805 12.3994l32.7998 28.9004l-32.7998 28.9004z" />
+ <glyph glyph-name="life-ring" unicode="&#xf1cd;"
+d="M256 -56c-136.967 0 -248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248s-111.033 -248 -248 -248zM152.602 20.7197c63.2178 -38.3184 143.579 -38.3184 206.797 0l-53.4111 53.4111c-31.8467 -13.5215 -68.168 -13.5059 -99.9746 0zM336 192
+c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80zM427.28 88.6016c38.3184 63.2178 38.3184 143.579 0 206.797l-53.4111 -53.4111c13.5215 -31.8467 13.5049 -68.168 0 -99.9746zM359.397 363.28
+c-63.2168 38.3184 -143.578 38.3184 -206.796 0l53.4111 -53.4111c31.8457 13.5215 68.167 13.5049 99.9736 0zM84.7197 295.398c-38.3184 -63.2178 -38.3184 -143.579 0 -206.797l53.4111 53.4111c-13.5215 31.8467 -13.5059 68.168 0 99.9746z" />
+ <glyph glyph-name="paper-plane" unicode="&#xf1d8;"
+d="M440 441.5c34.5996 19.9004 77.5996 -8.7998 71.5 -48.9004l-59.4004 -387.199c-2.2998 -14.5 -11.0996 -27.3008 -23.8994 -34.5c-7.2998 -4.10059 -15.4004 -6.2002 -23.6006 -6.2002c-6.19922 0 -12.3994 1.2002 -18.2998 3.59961l-111.899 46.2002l-43.8008 -59.0996
+c-27.3994 -36.9004 -86.5996 -17.8008 -86.5996 28.5996v84.4004l-114.3 47.2998c-36.7998 15.0996 -40.1006 66 -5.7002 85.8994zM192 -16l36.5996 49.5l-36.5996 15.0996v-64.5996zM404.6 12.7002l59.4004 387.3l-416 -240l107.8 -44.5996l211.5 184.3
+c14.2002 12.2998 34.4004 -5.7002 23.7002 -21.2002l-140.2 -202.3z" />
+ <glyph glyph-name="futbol" unicode="&#xf1e3;" horiz-adv-x="496"
+d="M483.8 268.6c42.2998 -130.199 -29 -270.1 -159.2 -312.399c-25.5 -8.2998 -51.2998 -12.2002 -76.6992 -12.2002c-104.5 0 -201.7 66.5996 -235.7 171.4c-42.2998 130.199 29 270.1 159.2 312.399c25.5 8.2998 51.2998 12.2002 76.6992 12.2002
+c104.5 0 201.7 -66.5996 235.7 -171.4zM409.3 74.9004c6.10059 8.39941 12.1006 16.8994 16.7998 26.1992c14.3008 28.1006 21.5 58.5 21.7002 89.2002l-38.8994 36.4004l-71.1006 -22.1006l-24.3994 -75.1992l43.6992 -60.9004zM409.3 310.3
+c-24.5 33.4004 -58.7002 58.4004 -97.8994 71.4004l-47.4004 -26.2002v-73.7998l64.2002 -46.5l70.7002 22zM184.9 381.6c-39.9004 -13.2998 -73.5 -38.5 -97.8008 -71.8994l10.1006 -52.5l70.5996 -22l64.2002 46.5v73.7998zM139 68.5l43.5 61.7002l-24.2998 74.2998
+l-71.1006 22.2002l-39 -36.4004c0.5 -55.7002 23.4004 -95.2002 37.8008 -115.3zM187.2 1.5c64.0996 -20.4004 115.5 -1.7998 121.7 0l22.3994 48.0996l-44.2998 61.7002h-78.5996l-43.6006 -61.7002z" />
+ <glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576"
+d="M552 384c13.2549 0 24 -10.7451 24 -24v-336c0 -13.2549 -10.7451 -24 -24 -24h-496c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h42.752c6.60547 18.623 24.3896 32 45.248 32h440zM48 56c0 -4.41113 3.58887 -8 8 -8s8 3.58887 8 8v248h-16v-248z
+M528 48v288h-416v-280c0 -2.7168 -0.204102 -5.38574 -0.578125 -8h416.578zM172 168c-6.62695 0 -12 5.37305 -12 12v96c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-96c0 -6.62695 -5.37305 -12 -12 -12h-136zM200 248v-40h80v40h-80zM160 108v24
+c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-136c-6.62695 0 -12 5.37305 -12 12zM352 108v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104
+c-6.62695 0 -12 5.37305 -12 12zM352 252v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12zM352 180v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24
+c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12z" />
+ <glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640"
+d="M633.99 -23.0195c6.91016 -5.52051 8.01953 -15.5908 2.5 -22.4902l-10 -12.4902c-5.53027 -6.88965 -15.5898 -8.00977 -22.4902 -2.49023l-598 467.51c-6.90039 5.52051 -8.01953 15.5908 -2.49023 22.4902l10 12.4902
+c5.52051 6.90039 15.5898 8.00977 22.4902 2.49023zM163.53 80h182.84l61.3994 -48h-279.659c-19.1201 0 -31.9902 15.5996 -32.1006 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c18.3701 19.7402 51.5703 49.6904 54.8398 140.42l45.4697 -35.5498
+c-6.91992 -54.7803 -24.6895 -88.5498 -41.3994 -110.58zM320 352c-23.3496 0 -45 -7.17969 -62.9404 -19.4004l-38.1699 29.8408c19.6807 15.7793 43.1104 27.3096 69.1299 32.7197v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398
+c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -41.3604 6.03027 -70.7197 14.3398 -92.8496l-59.5293 46.54c-1.63086 13.96 -2.77051 28.8896 -2.79004 45.7295c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112zM320 -64
+c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
+ <glyph glyph-name="copyright" unicode="&#xf1f9;"
+d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
+M363.351 93.0645c-9.61328 -9.71289 -45.5293 -41.3965 -104.064 -41.3965c-82.4297 0 -140.484 61.4248 -140.484 141.567c0 79.1514 60.2754 139.4 139.763 139.4c55.5303 0 88.7373 -26.6201 97.5928 -34.7783c2.13379 -1.96289 3.86523 -5.9082 3.86523 -8.80762
+c0 -1.95508 -0.864258 -4.87402 -1.92969 -6.51465l-18.1543 -28.1133c-3.8418 -5.9502 -11.9668 -7.28223 -17.499 -2.9209c-8.5957 6.77637 -31.8145 22.5381 -61.708 22.5381c-48.3037 0 -77.916 -35.3301 -77.916 -80.082c0 -41.5889 26.8877 -83.6924 78.2764 -83.6924
+c32.6572 0 56.8428 19.0391 65.7266 27.2256c5.26953 4.85645 13.5957 4.03906 17.8193 -1.73828l19.8652 -27.1699c1.28613 -1.74512 2.33008 -4.91992 2.33008 -7.08789c0 -2.72363 -1.56055 -6.5 -3.48242 -8.42969z" />
+ <glyph glyph-name="closed-captioning" unicode="&#xf20a;"
+d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM458 48c3.2998 0 6 2.7002 6 6v276c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-276c0 -3.2998 2.7002 -6 6 -6h404z
+M246.9 133.7c1.69922 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.6006 -56.7998 -172.801 -32.0996 -172.801 67.9004c0 97.2998 121.7 119.5 172.5 70.0996c2.10059 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.89941 -3.09961 -6.19922 -4 -9.09961 -1.7002
+c-40.7998 32 -94.5996 14.9004 -94.5996 -31.1992c0 -48 51 -70.5 92.1992 -32.6006c2.80078 2.5 7.10059 2.10059 9.2002 -0.899414zM437.3 133.7c1.7002 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.5996 -56.9004 -172.8 -32.0996 -172.8 67.9004
+c0 97.2998 121.7 119.5 172.5 70.0996c2.09961 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.90039 -3.09961 -6.2002 -4 -9.09961 -1.7002c-40.8008 32 -94.6006 14.9004 -94.6006 -31.1992c0 -48 51 -70.5 92.2002 -32.6006c2.7998 2.5 7.09961 2.10059 9.2002 -0.899414z
+" />
+ <glyph glyph-name="object-group" unicode="&#xf247;"
+d="M500 320h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v256h-12
+c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM448 384v-32h32v32h-32zM32 384v-32h32v32h-32zM64 0v32
+h-32v-32h32zM480 0v32h-32v-32h32zM440 64v256h-12c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h12zM404 256c6.62695 0 12 -5.37207 12 -12v-168
+c0 -6.62793 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37207 -12 12v52h-84c-6.62695 0 -12 5.37207 -12 12v168c0 6.62793 5.37305 12 12 12h200c6.62695 0 12 -5.37207 12 -12v-52h84zM136 280v-112h144v112h-144zM376 104v112h-56v-76
+c0 -6.62793 -5.37305 -12 -12 -12h-76v-24h144z" />
+ <glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576"
+d="M564 224h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v24h-88v-12
+c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h72
+c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-12v-24h88v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM352 384v-32h32v32h-32zM352 128v-32h32v32h-32zM64 96v32h-32v-32h32zM64 352v32
+h-32v-32h32zM96 136h224v12c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-12zM224 0v32h-32v-32h32zM504 64v160h-12c-6.62695 0 -12 5.37305 -12 12v12
+h-88v-88h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-88v-24h12c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h12zM544 0v32h-32v-32h32zM544 256v32h-32v-32h32z" />
+ <glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448"
+d="M448 99.8936c0 -10.9746 -6.29883 -26.1797 -14.0586 -33.9404l-83.8828 -83.8818c-7.75977 -7.76074 -22.9658 -14.0596 -33.9404 -14.0596h-268.118c-26.5098 0 -48 21.4902 -48 48v351.988c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-268.106z
+M320 19.8936l76.1182 76.1182h-76.1182v-76.1182zM400 368h-352v-351.988h224v104c0 13.2549 10.7451 24 24 24h104v223.988z" />
+ <glyph glyph-name="clone" unicode="&#xf24d;"
+d="M464 448c26.5098 0 48 -21.4902 48 -48v-320c0 -26.5098 -21.4902 -48 -48 -48h-48v-48c0 -26.5098 -21.4902 -48 -48 -48h-320c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h48v48c0 26.5098 21.4902 48 48 48h320zM362 -16c3.31152 0 6 2.68848 6 6
+v42h-224c-26.5098 0 -48 21.4902 -48 48v224h-42c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308zM458 80c3.31152 0 6 2.68848 6 6v308c0 3.31152 -2.68848 6 -6 6h-308c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308z" />
+ <glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384"
+d="M368 400c0 -80.0996 -31.8984 -165.619 -97.1797 -208c64.9912 -42.1934 97.1797 -127.436 97.1797 -208h4c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h4
+c0 80.0996 31.8994 165.619 97.1797 208c-64.9912 42.1934 -97.1797 127.436 -97.1797 208h-4c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-4zM64 400
+c0 -101.621 57.3066 -184 128 -184s128 82.3799 128 184h-256zM320 -16c0 101.62 -57.3076 184 -128 184s-128 -82.3799 -128 -184h256z" />
+ <glyph glyph-name="hand-rock" unicode="&#xf255;"
+d="M408.864 368.948c48.8213 20.751 103.136 -15.0723 103.136 -67.9111v-114.443c0 -15.3955 -3.08887 -30.3906 -9.18262 -44.5674l-42.835 -99.6562c-4.99707 -11.625 -3.98242 -18.8574 -3.98242 -42.3701c0 -17.6729 -14.3271 -32 -32 -32h-252
+c-17.6729 0 -32 14.3271 -32 32c0 27.3301 1.1416 29.2012 -3.11035 32.9033l-97.71 85.0811c-24.8994 21.6797 -39.1797 52.8926 -39.1797 85.6338v56.9531c0 47.4277 44.8457 82.0215 91.0459 71.1807c1.96094 55.751 63.5107 87.8262 110.671 60.8057
+c29.1895 31.0713 78.8604 31.4473 108.334 -0.0214844c32.7051 18.6846 76.4121 10.3096 98.8135 -23.5879zM464 186.594v114.445c0 34.29 -52 33.8232 -52 0.676758c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v26.751
+c0 34.457 -52 33.707 -52 0.676758v-27.4287c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v40.4658c0 34.3525 -52 33.8115 -52 0.677734v-41.1436c0 -8.83594 -7.16406 -16 -16 -16h-7c-8.83594 0 -16 7.16406 -16 16v26.751
+c0 34.4023 -52 33.7744 -52 0.676758v-116.571c0 -8.83203 -7.16797 -16 -16 -16c-3.30664 0 -8.01367 1.7627 -10.5068 3.93359l-7 6.09473c-3.03223 2.64062 -5.49316 8.04688 -5.49316 12.0674v0v41.2275c0 34.2148 -52 33.8857 -52 0.677734v-56.9531
+c0 -18.8555 8.27441 -36.874 22.7002 -49.4365l97.71 -85.0801c12.4502 -10.8398 19.5898 -26.4463 19.5898 -42.8164v-10.2861h220v7.07617c0 13.21 2.65332 26.0791 7.88281 38.25l42.835 99.6553c2.91602 6.75391 5.28223 18.207 5.28223 25.5635v0.0488281z" />
+ <glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="448"
+d="M372.57 335.359c39.9062 5.63281 75.4297 -25.7393 75.4297 -66.3594v-131.564c-0.00195312 -12.7666 -2.33008 -33.2246 -5.19531 -45.666l-30.1836 -130.958c-3.34668 -14.5234 -16.2783 -24.8125 -31.1816 -24.8125h-222.897
+c-9.10352 0 -20.7793 6.01758 -26.0615 13.4316l-119.97 168.415c-21.2441 29.8203 -14.8047 71.3574 14.5498 93.1533c18.7754 13.9395 42.1309 16.2979 62.083 8.87109v126.13c0 44.0547 41.125 75.5439 82.4053 64.9834c23.8926 48.1963 92.3535 50.2471 117.982 0.74707
+c42.5186 11.1445 83.0391 -21.9346 83.0391 -65.5469v-10.8242zM399.997 137.437l-0.00195312 131.563c0 24.9492 -36.5703 25.5508 -36.5703 -0.691406v-76.3086c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v154.184
+c0 25.501 -36.5703 26.3633 -36.5703 0.691406v-154.875c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v188.309c0 25.501 -36.5703 26.3545 -36.5703 0.691406v-189c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16
+v153.309c0 25.501 -36.5713 26.3359 -36.5713 0.691406v-206.494c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832l-27.1279 38.0791c-14.3711 20.1709 -43.833 -2.33496 -29.3945 -22.6045l115.196 -161.697h201.92l27.3252 118.551
+c2.63086 11.417 3.96484 23.1553 3.96484 34.8857z" />
+ <glyph glyph-name="hand-scissors" unicode="&#xf257;"
+d="M256 -32c-44.9561 0 -77.3428 43.2627 -64.0244 85.8535c-21.6484 13.71 -34.0156 38.7617 -30.3408 65.0068h-87.6348c-40.8037 0 -74 32.8105 -74 73.1406c0 40.3291 33.1963 73.1396 74 73.1396l94 -9.14062l-78.8496 18.6787
+c-38.3076 14.7422 -57.04 57.4707 -41.9424 95.1123c15.0303 37.4736 57.7549 55.7803 95.6416 41.2012l144.929 -55.7568c24.9551 30.5566 57.8086 43.9932 92.2178 24.7324l97.999 -54.8525c20.9746 -11.7393 34.0049 -33.8457 34.0049 -57.6904v-205.702
+c0 -30.7422 -21.4404 -57.5576 -51.7979 -64.5537l-118.999 -27.4268c-4.97168 -1.14648 -10.0889 -1.72949 -15.2031 -1.72949zM256 16.0127l70 -0.000976562c1.23633 0 3.21777 0.225586 4.42285 0.501953l119.001 27.4277
+c8.58203 1.97754 14.5762 9.29102 14.5762 17.7812v205.701c0 6.4873 -3.62109 12.542 -9.44922 15.8047l-98 54.8545c-8.13965 4.55566 -18.668 2.61914 -24.4873 -4.50781l-21.7646 -26.6475c-2.65039 -3.24512 -8.20215 -5.87891 -12.3926 -5.87891
+c-1.64062 0 -4.21484 0.477539 -5.74609 1.06738l-166.549 64.0908c-32.6543 12.5664 -50.7744 -34.5771 -19.2227 -46.7168l155.357 -59.7852c5.66016 -2.17773 10.2539 -8.86816 10.2539 -14.9326v0v-11.6328c0 -8.83691 -7.16309 -16 -16 -16h-182
+c-34.375 0 -34.4297 -50.2803 0 -50.2803h182c8.83691 0 16 -7.16309 16 -16v-6.85645c0 -8.83691 -7.16309 -16 -16 -16h-28c-25.1221 0 -25.1592 -36.5674 0 -36.5674h28c8.83691 0 16 -7.16211 16 -16v-6.85547c0 -8.83691 -7.16309 -16 -16 -16
+c-25.1201 0 -25.1602 -36.5674 0 -36.5674z" />
+ <glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576"
+d="M556.686 157.458c12.6357 -19.4863 19.3145 -42.0615 19.3145 -65.2871v-124.171h-224v71.582l-99.751 38.7871c-2.7832 1.08203 -5.70996 1.63086 -8.69727 1.63086h-131.552c-30.8789 0 -56 25.1211 -56 56c0 48.5234 39.4766 88 88 88h113.709l18.333 48h-196.042
+c-44.1123 0 -80 35.8877 -80 80v8c0 30.8779 25.1211 56 56 56h293.917c24.5 0 47.084 -12.2725 60.4111 -32.8291zM528 16v76.1709v0.0478516c0 11.7461 -5.19141 29.2734 -11.5879 39.124l-146.358 225.715c-4.44336 6.85254 -11.9707 10.9424 -20.1367 10.9424h-293.917
+c-4.41113 0 -8 -3.58887 -8 -8v-8c0 -17.6445 14.3555 -32 32 -32h213.471c25.2021 0 42.626 -25.293 33.6299 -48.8457l-24.5518 -64.2812c-7.05371 -18.4658 -25.0732 -30.873 -44.8398 -30.873h-113.709c-22.0557 0 -40 -17.9443 -40 -40c0 -4.41113 3.58887 -8 8 -8
+h131.552h0.0517578c7.44141 0 19.1074 -2.19238 26.041 -4.89355l99.752 -38.7881c18.5898 -7.22852 30.6035 -24.7881 30.6035 -44.7363v-23.582h128z" />
+ <glyph glyph-name="hand-spock" unicode="&#xf259;"
+d="M21.0957 66.21c-26.9688 25.3818 -28.2471 67.7461 -2.87109 94.707c24.1982 25.7139 64.2881 28.2373 91.4824 5.72168l-31.04 136.509c-9.38379 41.2803 21.4336 81.0127 64.0713 81.8438c1.74414 28.9062 22.2656 54.4912 51.8818 61.2949
+c36.001 8.27539 72.0176 -14.2266 80.3037 -50.2959l21.6748 -131.99l16.9014 105.25c9.02344 36.0947 45.4473 57.7021 81.25 48.75c27.3066 -6.82715 45.7061 -29.1357 49.8496 -53.9922c43.2285 0.212891 75.6436 -40.1133 65.5439 -82.5244l-31.7295 -133.41
+c-0.938477 -3.94141 -1.41406 -7.99414 -1.41406 -12.0449v-36.8389v-0.00683594c0 -9.29102 -2.14355 -24.0596 -4.78516 -32.9668l-31.8145 -107.312c-4.02734 -13.585 -16.5107 -22.9043 -30.6807 -22.9043h-237.6c-7.00586 0 -16.8311 3.89648 -21.9316 8.69824z
+M53.1641 128.021c-7.17969 -7.62891 -6.81543 -19.6777 0.813477 -26.8574l124.487 -117.164h219.311l28.4199 95.8613c1.86133 6.27637 2.80469 12.7793 2.80469 19.3281v36.8389c0.000976562 6.48047 1.21973 16.8574 2.71973 23.1621l31.7549 133.407
+c5.83105 24.4893 -31.1445 33.25 -36.9658 8.80273l-26.9229 -113.105c-1.61523 -6.78711 -8.58887 -12.2949 -15.5645 -12.2949h-9.69434c-10.4072 0 -18.043 9.79199 -15.5225 19.8799l38.127 152.512c6.09766 24.376 -30.7607 33.6396 -36.8643 9.21777l-42.3721 -169.49
+c-1.67285 -6.68945 -8.62695 -12.1191 -15.5225 -12.1191h-13.2168v0c-7.0332 0 -14.0195 5.5625 -15.5938 12.417l-45.2207 196.828c-5.64453 24.5684 -42.6572 15.9609 -37.0342 -8.50781l41.6191 -181.153c2.30078 -10.0156 -5.31738 -19.583 -15.5938 -19.583h-8.60352
+h-0.000976562c-7.0498 0 -14.04 5.5791 -15.6025 12.4541l-30.3984 133.757c-5.55273 24.4395 -42.6504 16.1963 -37.0547 -8.4209l34.1299 -150.172c0.263672 -1.16309 0.397461 -2.35352 0.397461 -3.5459v-69.4795c0 -13.9941 -16.7754 -21.2432 -26.9658 -11.6523
+l-53.0117 49.8936c-7.61523 7.16699 -19.6377 6.85938 -26.8564 -0.8125z" />
+ <glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448"
+d="M358.182 268.639c43.1934 16.6348 89.8184 -15.7949 89.8184 -62.6387v-84c-0.000976562 -4.25 -0.775391 -11.0615 -1.72754 -15.2041l-27.4297 -118.999c-6.98242 -30.2969 -33.7549 -51.7969 -64.5566 -51.7969h-178.286c-21.2588 0 -41.3682 10.4102 -53.791 27.8457
+l-109.699 154.001c-21.2432 29.8193 -14.8047 71.3574 14.5498 93.1523c18.8115 13.9658 42.1748 16.2822 62.083 8.87207v161.129c0 36.9443 29.7363 67 66.2861 67s66.2861 -30.0557 66.2861 -67v-73.6338c20.4131 2.85742 41.4678 -3.94238 56.5947 -19.6289
+c27.1934 12.8467 60.3799 5.66992 79.8721 -19.0986zM80.9854 168.303c-14.4004 20.2119 -43.8008 -2.38281 -29.3945 -22.6055l109.712 -154c3.43457 -4.81934 8.92871 -7.69727 14.6973 -7.69727h178.285c8.49219 0 15.8037 5.99414 17.7822 14.5762l27.4297 119.001
+c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285v84c0 25.1602 -36.5713 25.1211 -36.5713 0c0 -8.83594 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16406 -16 16v21c0 25.1602 -36.5713 25.1201 -36.5713 0v-21c0 -8.83594 -7.16309 -16 -16 -16h-6.85938
+c-8.83691 0 -16 7.16406 -16 16v35c0 25.1602 -36.5703 25.1201 -36.5703 0v-35c0 -8.83594 -7.16309 -16 -16 -16h-6.85742c-8.83691 0 -16 7.16406 -16 16v175c0 25.1602 -36.5713 25.1201 -36.5713 0v-241.493c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832z
+M176.143 48v96c0 8.83691 6.26855 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM251.571 48v96c0 8.83691 6.26758 16 14 16h6c7.73145 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26855 -16 -14 -16h-6
+c-7.73242 0 -14 7.16309 -14 16zM327 48v96c0 8.83691 6.26758 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16z" />
+ <glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448"
+d="M362.146 256.024c42.5908 13.3184 85.8535 -19.0684 85.8535 -64.0244l-0.0117188 -70.001c-0.000976562 -4.25 -0.775391 -11.0615 -1.72949 -15.2031l-27.4268 -118.999c-6.99707 -30.3564 -33.8105 -51.7969 -64.5547 -51.7969h-205.702
+c-23.8447 0 -45.9502 13.0303 -57.6904 34.0059l-54.8525 97.999c-19.2607 34.4092 -5.82422 67.2617 24.7324 92.2178l-55.7568 144.928c-14.5791 37.8867 3.72754 80.6113 41.2012 95.6416c37.6406 15.0977 80.3691 -3.63477 95.1123 -41.9424l18.6787 -78.8496
+l-9.14062 94c0 40.8037 32.8096 74 73.1396 74s73.1406 -33.1963 73.1406 -74v-87.6348c26.2451 3.6748 51.2959 -8.69238 65.0068 -30.3408zM399.987 122l-0.000976562 70c0 25.1602 -36.5674 25.1201 -36.5674 0c0 -8.83691 -7.16309 -16 -16 -16h-6.85547
+c-8.83789 0 -16 7.16309 -16 16v28c0 25.1592 -36.5674 25.1221 -36.5674 0v-28c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v182c0 34.4297 -50.2803 34.375 -50.2803 0v-182c0 -8.83691 -7.16309 -16 -16 -16h-11.6328v0
+c-6.06445 0 -12.7549 4.59375 -14.9326 10.2539l-59.7842 155.357c-12.1396 31.5518 -59.2842 13.4326 -46.7168 -19.2227l64.0898 -166.549c0.589844 -1.53125 1.06738 -4.10547 1.06738 -5.74609c0 -4.19043 -2.63379 -9.74219 -5.87891 -12.3926l-26.6475 -21.7646
+c-7.12695 -5.81934 -9.06445 -16.3467 -4.50781 -24.4873l54.8535 -98c3.26367 -5.82812 9.31934 -9.44922 15.8057 -9.44922h205.701c8.49121 0 15.8037 5.99414 17.7812 14.5762l27.4277 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285z" />
+ <glyph glyph-name="registered" unicode="&#xf25d;"
+d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
+M366.442 73.791c4.40332 -7.99219 -1.37012 -17.791 -10.5107 -17.791h-42.8096h-0.0126953c-3.97559 0 -8.71582 2.84961 -10.5801 6.36035l-47.5156 89.3027h-31.958v-83.6631c0 -6.61719 -5.38281 -12 -12 -12h-38.5674c-6.61719 0 -12 5.38281 -12 12v248.304
+c0 6.61719 5.38281 12 12 12h78.667c71.251 0 101.498 -32.749 101.498 -85.252c0 -31.6123 -15.2148 -59.2969 -39.4824 -73.1758c3.02148 -4.61719 0.225586 0.199219 53.2715 -96.085zM256.933 208.094c20.9131 0 32.4307 11.5186 32.4316 32.4316
+c0 19.5752 -6.5127 31.709 -38.9297 31.709h-27.377v-64.1406h33.875z" />
+ <glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448"
+d="M336 156v-24c0 -6.59961 -5.40039 -12 -12 -12h-76v-76c0 -6.59961 -5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12v76h-76c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h76v76c0 6.59961 5.40039 12 12 12h24c6.59961 0 12 -5.40039 12 -12
+v-76h76c6.59961 0 12 -5.40039 12 -12zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40
+c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448"
+d="M124 120c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h200c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12h-200zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52
+c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448"
+d="M311.7 73.2998l-17 -17c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-53.7002 53.7998l-53.7002 -53.6992c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-17 17c-4.7002 4.69922 -4.7002 12.2998 0 17l53.7002 53.6992l-53.7002 53.7002c-4.7002 4.7002 -4.7002 12.2998 0 17
+l17 17c4.7002 4.7002 12.2998 4.7002 17 0l53.7002 -53.7002l53.7002 53.7002c4.7002 4.7002 12.2998 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17l-53.7998 -53.7998l53.6992 -53.7002c4.80078 -4.7002 4.80078 -12.2998 0.100586 -17zM448 336v-352
+c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10
+v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448"
+d="M400 384c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40
+c6.62695 0 12 -5.37305 12 -12v-52h48zM394 -16c3.31152 0 6 2.68848 6 6v298h-352v-298c0 -3.31152 2.68848 -6 6 -6h340zM341.151 184.65l-142.31 -141.169c-4.70508 -4.66699 -12.3027 -4.6377 -16.9707 0.0673828l-75.0908 75.6992
+c-4.66699 4.70508 -4.6377 12.3027 0.0673828 16.9707l22.7197 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l44.1035 -44.4609l111.072 110.182c4.70508 4.66699 12.3027 4.63672 16.9707 -0.0683594l22.5361 -22.7178
+c4.66699 -4.70508 4.63672 -12.3027 -0.0683594 -16.9697z" />
+ <glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576"
+d="M560.02 416c8.4502 0 15.9805 -6.83008 15.9805 -16.0195v-346.32c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-151.83 -52.8105c-5.32617 -1.7334 -14.1953 -3.13965 -19.7969 -3.13965c-5.7373 0 -14.8105 1.47363 -20.2529 3.29004l-172 60.71l-170.05 -62.8398
+c-1.99023 -0.790039 -4 -1.16016 -5.95996 -1.16016c-8.45996 0 -15.9902 6.83008 -15.9902 16.0195v346.32c0.00292969 11.959 9.0166 25.2686 20.1201 29.71l151.83 52.8105c6.43945 2.08984 13.1201 3.13965 19.8096 3.13965
+c5.73242 -0.00195312 14.8008 -1.47168 20.2402 -3.28027l172 -60.7197h0.00976562l170.05 62.8398c1.98047 0.790039 4 1.16016 5.95996 1.16016zM224 357.58v-285.97l128 -45.1904v285.97zM48 29.9502l127.36 47.0801l0.639648 0.229492v286.2l-128 -44.5303v-288.979z
+M528 65.0801v288.97l-127.36 -47.0693l-0.639648 -0.240234v-286.19z" />
+ <glyph glyph-name="comment-alt" unicode="&#xf27a;"
+d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.5996c-2.19922 -1.7002 -4.69922 -2.40039 -7.09961 -2.40039c-6.2002 0 -12 4.90039 -12 12v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z
+M464 96v288c0 8.7998 -7.2002 16 -16 16h-384c-8.7998 0 -16 -7.2002 -16 -16v-288c0 -8.7998 7.2002 -16 16 -16h144v-60l67.2002 50.4004l12.7998 9.59961h160c8.7998 0 16 7.2002 16 16z" />
+ <glyph glyph-name="pause-circle" unicode="&#xf28b;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48
+c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16zM240 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16z" />
+ <glyph glyph-name="stop-circle" unicode="&#xf28d;"
+d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-160
+c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16z" />
+ <glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640"
+d="M519.2 320.1h120.8v-255.699h-64c-17.5 0 -31.7998 14.1992 -31.9004 31.6992h-57.8994c-1.7998 -8.19922 -5.2998 -16.0996 -10.9004 -23l-26.2002 -32.2998c-15.7998 -19.3994 -41.8994 -25.5 -64 -16.7998c-13.5 -16.5996 -30.5996 -24 -48.7998 -24
+c-15.0996 0 -28.5996 5.09961 -41.0996 15.9004c-31.7998 -21.9004 -74.7002 -21.3008 -105.601 3.7998l-84.5996 76.3994h-9.09961c-0.100586 -17.5 -14.3008 -31.6992 -31.9004 -31.6992h-64v255.699h118l47.5996 47.6006c10.5 10.3994 24.8008 16.2998 39.6006 16.2998
+h226.8v0c12.7812 0 30.5225 -7.30273 39.5996 -16.2998zM48 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM438 103.3c2.7002 3.40039 2.2002 8.5 -1.2002 11.2998l-108.2 87.8008l-8.19922 -7.5
+c-40.3008 -36.8008 -86.7002 -11.8008 -101.5 4.39941c-26.7002 29 -25 74.4004 4.39941 101.3l38.7002 35.5h-56.7002c-2 -0.799805 -3.7002 -1.5 -5.7002 -2.2998l-61.6992 -61.5996h-41.9004v-128.101h27.7002l97.2998 -88
+c16.0996 -13.0996 41.4004 -10.5 55.2998 6.60059l15.6006 19.2002l36.7998 -31.5c3 -2.40039 12 -4.90039 18 2.39941l30 36.5l23.8994 -19.3994c3.5 -2.80078 8.5 -2.2002 11.3008 1.19922zM544 144.1v128h-44.7002l-61.7002 61.6006
+c-1.39941 1.5 -3.39941 2.2998 -5.5 2.2998l-83.6992 -0.200195c-10 0 -19.6006 -3.7002 -27 -10.5l-65.6006 -60.0996c-9.7002 -8.7998 -10.5 -24 -1.2002 -33.9004c8.90039 -9.39941 25.1006 -8.7002 34.6006 0l55.2002 50.6006c6.5 5.89941 16.5996 5.5 22.5996 -1
+l10.9004 -11.7002c6 -6.5 5.5 -16.6006 -1 -22.6006l-12.5 -11.3994l102.699 -83.4004c2.80078 -2.2998 5.40039 -4.89941 7.7002 -7.7002h69.2002zM592 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z
+" />
+ <glyph glyph-name="envelope-open" unicode="&#xf2b6;"
+d="M494.586 283.484c9.6123 -7.94824 17.4141 -24.5205 17.4141 -36.9932v-262.491c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v262.515c0 12.5166 7.84668 29.1279 17.5146 37.0771c4.08008 3.35449 110.688 89.0996 135.15 108.549
+c22.6992 18.1426 60.1299 55.8594 103.335 55.8594c43.4365 0 81.2314 -38.1914 103.335 -55.8594c23.5283 -18.707 130.554 -104.773 135.251 -108.656zM464 -10v253.632v0.00488281c0 1.5791 -0.996094 3.66602 -2.22363 4.6582
+c-15.8633 12.8232 -108.793 87.5752 -132.366 106.316c-17.5527 14.0195 -49.7168 45.3887 -73.4102 45.3887c-23.6016 0 -55.2451 -30.8799 -73.4102 -45.3887c-23.5713 -18.7393 -116.494 -93.4795 -132.364 -106.293
+c-1.40918 -1.13965 -2.22559 -2.85254 -2.22559 -4.66504v-253.653c0 -3.31152 2.68848 -6 6 -6h404c3.31152 0 6 2.68848 6 6zM432.009 177.704c4.24902 -5.15918 3.46484 -12.7949 -1.74512 -16.9814c-28.9746 -23.2822 -59.2734 -47.5967 -70.9287 -56.8623
+c-22.6992 -18.1436 -60.1299 -55.8604 -103.335 -55.8604c-43.4521 0 -81.2871 38.2373 -103.335 55.8604c-11.2793 8.9668 -41.7441 33.4131 -70.9268 56.8643c-5.20996 4.1875 -5.99316 11.8223 -1.74512 16.9814l15.2578 18.5283
+c4.17773 5.07227 11.6572 5.84277 16.7793 1.72559c28.6182 -23.001 58.5654 -47.0352 70.5596 -56.5713c17.5527 -14.0195 49.7168 -45.3887 73.4102 -45.3887c23.6016 0 55.2461 30.8799 73.4102 45.3887c11.9941 9.53516 41.9434 33.5703 70.5625 56.5684
+c5.12207 4.11621 12.6016 3.3457 16.7783 -1.72656z" />
+ <glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448"
+d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48
+h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM368 -16v416h-320v-416h320zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM118.4 64
+c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002
+h-179.199z" />
+ <glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576"
+d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v352h-480v-352h480zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z
+M118.4 64c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002
+c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199zM360 128c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 192c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
+c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 256c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112z" />
+ <glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496"
+d="M248 344c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96zM248 200c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
+c49.7002 0 95.0996 18.2998 130.1 48.4004c-14.8994 23 -40.3994 38.5 -69.5996 39.5c-20.7998 -6.5 -40.5996 -9.60059 -60.5 -9.60059s-39.7002 3.2002 -60.5 9.60059c-29.2002 -0.900391 -54.7002 -16.5 -69.5996 -39.5c35 -30.1006 80.3994 -48.4004 130.1 -48.4004z
+M410.7 76.0996c23.3994 32.7002 37.2998 72.7002 37.2998 115.9c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -43.2002 13.9004 -83.2002 37.2998 -115.9c24.5 31.4004 62.2002 51.9004 105.101 51.9004c10.1992 0 26.0996 -9.59961 57.5996 -9.59961
+c31.5996 0 47.4004 9.59961 57.5996 9.59961c43 0 80.7002 -20.5 105.101 -51.9004z" />
+ <glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384"
+d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM336 -16v416h-288v-416h288zM144 336c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16
+h-96zM192 160c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM102.4 32c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8
+c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199z" />
+ <glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576"
+d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v288h-480v-288h32.7998c-1 4.5 -0.799805 -3.59961 -0.799805 22.4004c0 31.7998 30.0996 57.5996 67.2002 57.5996
+c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996c0 -26 0.0996094 -17.9004 -0.799805 -22.4004h224.8zM360 96c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16
+c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 160c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 224c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
+c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM192 128c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z" />
+ <glyph glyph-name="window-maximize" unicode="&#xf2d0;"
+d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v234h-416v-234c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="window-minimize" unicode="&#xf2d1;"
+d="M480 -32h-448c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h448c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
+ <glyph glyph-name="window-restore" unicode="&#xf2d2;"
+d="M464 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-48v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h48v48c0 26.5 21.5 48 48 48h320zM368 -16v208h-320v-208h320zM464 80v320h-320v-48h224
+c26.5 0 48 -21.5 48 -48v-224h48z" />
+ <glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448"
+d="M440.1 92.7998c7.60059 -4.39941 10.1006 -14.2002 5.5 -21.7002l-7.89941 -13.8994c-4.40039 -7.7002 -14 -10.2998 -21.5 -5.90039l-39.2002 23l9.09961 -34.7002c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.5996l-15.2002 -4.09961
+c-8.39941 -2.30078 -17.0996 2.7998 -19.2998 11.2998l-21.2998 81l-71.9004 42.2002v-84.5l58.2998 -59.3008c6.10059 -6.19922 6.10059 -16.3994 0 -22.5996l-11.0996 -11.2998c-6.09961 -6.2002 -16.0996 -6.2002 -22.2002 0l-24.8994 25.3994v-46.0996
+c0 -8.7998 -7 -16 -15.7002 -16h-15.7002c-8.7002 0 -15.7002 7.2002 -15.7002 16v45.9004l-24.8994 -25.4004c-6.10059 -6.2002 -16.1006 -6.2002 -22.2002 0l-11.1006 11.2998c-6.09961 6.2002 -6.09961 16.4004 0 22.6006l58.3008 59.2998v84.5l-71.9004 -42.2002
+l-21.2998 -81c-2.2998 -8.5 -10.9004 -13.5996 -19.2998 -11.2998l-15.2002 4.09961c-8.40039 2.2998 -13.2998 11.1006 -11.1006 19.6006l9.10059 34.6992l-39.2002 -23c-7.5 -4.39941 -17.2002 -1.7998 -21.5 5.90039l-7.90039 13.9004
+c-4.2998 7.69922 -1.69922 17.5 5.80078 21.8994l39.1992 23l-34.0996 9.2998c-8.40039 2.30078 -13.2998 11.1006 -11.0996 19.6006l4.09961 15.5c2.2998 8.5 10.9004 13.5996 19.2998 11.2998l79.7002 -21.7002l71.9004 42.2002l-71.9004 42.2002l-79.7002 -21.7002
+c-8.39941 -2.2998 -17.0996 2.7998 -19.2998 11.2998l-4.09961 15.5c-2.30078 8.5 2.69922 17.2998 11.0996 19.6006l34.0996 9.09961l-39.1992 23c-7.60059 4.5 -10.1006 14.2002 -5.80078 21.9004l7.90039 13.8994c4.40039 7.7002 14 10.2998 21.5 5.90039l39.2002 -23
+l-9.10059 34.7002c-2.2998 8.5 2.7002 17.2998 11.1006 19.5996l15.2002 4.09961c8.39941 2.30078 17.0996 -2.7998 19.2998 -11.2998l21.2998 -81l71.9004 -42.2002v84.5l-58.3008 59.3008c-6.09961 6.19922 -6.09961 16.3994 0 22.5996l11.5 11.2998
+c6.10059 6.2002 16.1006 6.2002 22.2002 0l24.9004 -25.3994v46.0996c0 8.7998 7 16 15.7002 16h15.6992c8.7002 0 15.7002 -7.2002 15.7002 -16v-45.9004l24.9004 25.4004c6.09961 6.2002 16.0996 6.2002 22.2002 0l11.0996 -11.2998
+c6.09961 -6.2002 6.09961 -16.4004 0 -22.6006l-58.2998 -59.2998v-84.5l71.8994 42.2002l21.3008 81c2.2998 8.5 10.8994 13.5996 19.2998 11.2998l15.2002 -4.09961c8.39941 -2.2998 13.2998 -11.1006 11.0996 -19.6006l-9.09961 -34.6992l39.1992 23
+c7.5 4.39941 17.2002 1.7998 21.5 -5.90039l7.90039 -13.9004c4.2998 -7.69922 1.7002 -17.5 -5.7998 -21.8994l-39.2002 -23l34.0996 -9.2998c8.40039 -2.30078 13.3008 -11.1006 11.1006 -19.6006l-4.10059 -15.5c-2.2998 -8.5 -10.8994 -13.5996 -19.2998 -11.2998
+l-79.7002 21.7002l-71.8994 -42.2002l71.7998 -42.2002l79.7002 21.7002c8.39941 2.2998 17.0996 -2.7998 19.2998 -11.2998l4.09961 -15.5c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.6006l-34.0996 -9.2998z" />
+ <glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448"
+d="M268 32c-6.62402 0 -12 5.37598 -12 12v216c0 6.62402 5.37598 12 12 12h24c6.62402 0 12 -5.37598 12 -12v-216c0 -6.62402 -5.37598 -12 -12 -12h-24zM432 368c8.83203 0 16 -7.16797 16 -16v-16c0 -8.83203 -7.16797 -16 -16 -16h-16v-336
+c0 -26.4961 -21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48v336h-16c-8.83203 0 -16 7.16797 -16 16v16c0 8.83203 7.16797 16 16 16h82.4102l34.0195 56.7002c7.71875 12.8613 26.1572 23.2998 41.1572 23.2998h0.00292969h100.82h0.0224609
+c15 0 33.4385 -10.4385 41.1572 -23.2998l34 -56.7002h82.4102zM171.84 397.09l-17.4502 -29.0898h139.221l-17.46 29.0898c-0.96582 1.60645 -3.26953 2.91016 -5.14355 2.91016h-0.00683594h-94h-0.0166016c-1.87402 0 -4.17871 -1.30371 -5.14355 -2.91016zM368 -16v336
+h-288v-336h288zM156 32c-6.62402 0 -12 5.37598 -12 12v216c0 6.62402 5.37598 12 12 12h24c6.62402 0 12 -5.37598 12 -12v-216c0 -6.62402 -5.37598 -12 -12 -12h-24z" />
+ <glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576"
+d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-48h-10c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v10h48zM522 368h-372
+c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v244c0 3.31152 -2.68848 6 -6 6zM528 416c26.5098 0 48 -21.4902 48 -48v-256c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256
+c0 26.5098 21.4902 48 48 48h384zM264 304c0 -22.0908 -17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40s40 -17.9092 40 -40zM192 208l39.5146 39.5146c4.68652 4.68652 12.2842 4.68652 16.9717 0l39.5137 -39.5146l103.515 103.515
+c4.68652 4.68652 12.2842 4.68652 16.9717 0l71.5137 -71.5146v-80h-288v48z" />
+ <glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384"
+d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
+s-10.7002 24 -24 24zM336 -10v340c0 3.2998 -2.7002 6 -6 6h-42v-36c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v36h-42c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h276c3.2998 0 6 2.7002 6 6z" />
+ <glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM224 308c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-116
+h67c10.7002 0 16.0996 -12.9004 8.5 -20.5l-99 -99c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-99 99c-7.5 7.59961 -2.2002 20.5 8.5 20.5h67v116z" />
+ <glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;"
+d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM456 192c0 110.5 -89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200zM384 212v-40c0 -6.59961 -5.40039 -12 -12 -12h-116v-67
+c0 -10.7002 -12.9004 -16 -20.5 -8.5l-99 99c-4.7002 4.7002 -4.7002 12.2998 0 17l99 99c7.59961 7.59961 20.5 2.2002 20.5 -8.5v-67h116c6.59961 0 12 -5.40039 12 -12z" />
+ <glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;"
+d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM128 172v40c0 6.59961 5.40039 12 12 12h116v67
+c0 10.7002 12.9004 16 20.5 8.5l99 -99c4.7002 -4.7002 4.7002 -12.2998 0 -17l-99 -99c-7.59961 -7.59961 -20.5 -2.2002 -20.5 8.5v67h-116c-6.59961 0 -12 5.40039 -12 12z" />
+ <glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;"
+d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM256 392c-110.5 0 -200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200zM276 64h-40c-6.59961 0 -12 5.40039 -12 12v116h-67
+c-10.7002 0 -16 12.9004 -8.5 20.5l99 99c4.7002 4.7002 12.2998 4.7002 17 0l99 -99c7.59961 -7.59961 2.2002 -20.5 -8.5 -20.5h-67v-116c0 -6.59961 -5.40039 -12 -12 -12z" />
+ <glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576"
+d="M464 448c4.09961 0 7.7998 -2 10.0996 -5.40039l99.9004 -147.199c2.90039 -4.40039 2.59961 -10.1006 -0.700195 -14.2002l-276 -340.8c-4.7998 -5.90039 -13.7998 -5.90039 -18.5996 0l-276 340.8c-3.2998 4 -3.60059 9.7998 -0.700195 14.2002l100 147.199
+c2.2002 3.40039 6 5.40039 10 5.40039h352zM444.7 400h-56.7998l51.6992 -96h68.4004zM242.6 400l-51.5996 -96h194l-51.7002 96h-90.7002zM131.3 400l-63.2998 -96h68.4004l51.6992 96h-56.7998zM88.2998 256l119.7 -160l-68.2998 160h-51.4004zM191.2 256l96.7998 -243.3
+l96.7998 243.3h-193.6zM368 96l119.6 160h-51.3994z" />
+ <glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640"
+d="M320 304c53.0195 0 96 -50.1396 96 -112c0 -61.8701 -43 -112 -96 -112c-53.0195 0 -96 50.1504 -96 112c0 61.8604 42.9805 112 96 112zM360 136v16c0 4.41992 -3.58008 8 -8 8h-16v88c0 4.41992 -3.58008 8 -8 8h-13.5801h-0.000976562
+c-4.01074 0 -9.97266 -1.80566 -13.3086 -4.03027l-15.3301 -10.2197c-1.96777 -1.30957 -3.56445 -4.29004 -3.56445 -6.65332c0 -1.33691 0.601562 -3.32422 1.34375 -4.43652l8.88086 -13.3105c1.30859 -1.9668 4.29004 -3.56445 6.65332 -3.56445
+c1.33691 0 3.32422 0.602539 4.43652 1.34473l0.469727 0.310547v-55.4404h-16c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h64c4.41992 0 8 3.58008 8 8zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576
+c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM592 112v160c-35.3496 0 -64 28.6504 -64 64h-416c0 -35.3496 -28.6504 -64 -64 -64v-160c35.3496 0 64 -28.6504 64 -64h416c0 35.3496 28.6504 64 64 64z" />
+ <glyph glyph-name="window-close" unicode="&#xf410;"
+d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v340c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z
+M356.5 253.4l-61.4004 -61.4004l61.4004 -61.4004c4.59961 -4.59961 4.59961 -12.0996 0 -16.7998l-22.2998 -22.2998c-4.60059 -4.59961 -12.1006 -4.59961 -16.7998 0l-61.4004 61.4004l-61.4004 -61.4004c-4.59961 -4.59961 -12.0996 -4.59961 -16.7998 0
+l-22.2998 22.2998c-4.59961 4.60059 -4.59961 12.1006 0 16.7998l61.4004 61.4004l-61.4004 61.4004c-4.59961 4.59961 -4.59961 12.0996 0 16.7998l22.2998 22.2998c4.60059 4.59961 12.1006 4.59961 16.7998 0l61.4004 -61.4004l61.4004 61.4004
+c4.59961 4.59961 12.0996 4.59961 16.7998 0l22.2998 -22.2998c4.7002 -4.60059 4.7002 -12.1006 0 -16.7998z" />
+ <glyph glyph-name="comment-dots" unicode="&#xf4ad;"
+d="M144 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM256 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM368 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
+s-32 14.2998 -32 32s14.2998 32 32 32zM256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5
+c-3.80078 8.7998 -2 19 4.59961 26c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160
+c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
+ <glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM365.8 138.4c10.2002 -8.5 11.6006 -23.6006 3.10059 -33.8008
+c-30 -36 -74.1006 -56.5996 -120.9 -56.5996s-90.9004 20.5996 -120.9 56.5996c-8.39941 10.2002 -7.09961 25.3008 3.10059 33.8008c10.0996 8.39941 25.2998 7.09961 33.7998 -3.10059c20.7998 -25.0996 51.5 -39.3994 84 -39.3994s63.2002 14.3994 84 39.3994
+c8.5 10.2002 23.5996 11.6006 33.7998 3.10059zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 268c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008l-9.5 8.5
+c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996z" />
+ <glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 136c33.5996 0 65.2002 -14.7998 86.7998 -40.5996
+c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008c-10.6006 -8.89941 -25.7002 -6.69922 -33.7998 3c-24.8008 29.7002 -75 29.7002 -99.8008 0c-8.5 -10.1992 -23.5996 -11.5 -33.7998 -3s-11.5996 23.6006 -3.09961 33.8008
+c21.5996 25.7998 53.2002 40.5996 86.7998 40.5996zM200 208c0 -17.7002 -14.2998 -32.0996 -32 -32.0996s-32 14.2998 -32 32c0 6.19922 2.2002 11.6992 5.2998 16.5996l-28.2002 8.5c-12.6992 3.7998 -19.8994 17.2002 -16.0996 29.9004
+c3.7998 12.6992 17.0996 20 29.9004 16.0996l80 -24c12.6992 -3.7998 19.8994 -17.2002 16.0996 -29.9004c-3.09961 -10.3994 -12.7002 -17.0996 -23 -17.0996zM399 262.9c3.7998 -12.7002 -3.40039 -26.1006 -16.0996 -29.8008l-28.2002 -8.5
+c3.09961 -4.89941 5.2998 -10.3994 5.2998 -16.5996c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c-10.2998 0 -19.9004 6.7002 -23 17.0996c-3.7998 12.7002 3.40039 26.1006 16.0996 29.9004l80 24c12.8008 3.7998 26.1006 -3.40039 29.9004 -16.0996z" />
+ <glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM214.2 209.9
+c-7.90039 -7.90039 -20.5 -7.90039 -28.4004 -0.200195l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998
+c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.9004c7.7998 7.7998 20.5 7.7998 28.2998 0s7.7998 -20.5 0 -28.2998l-17.9004 -17.9004l17.9004 -17.7998c7.7998 -7.7998 7.7998 -20.5 0 -28.2998zM374.2 302.1
+c7.7002 -7.7998 7.7002 -20.3994 0 -28.1992l-17.9004 -17.9004l17.7998 -18c7.80078 -7.7998 7.80078 -20.5 0 -28.2998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0
+c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.7998c7.7998 7.80078 20.5 7.80078 28.2998 0zM248 176
+c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64z" />
+ <glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM344 304c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80
+s-80 35.7998 -80 80s35.7998 80 80 80zM344 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM232 224c0 -44.2002 -35.7998 -80 -80 -80
+s-80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80zM152 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM312 104
+c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
+ <glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32
+s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 160c35.5996 0 88.7998 -21.2998 95.7998 -61.2002c2 -11.7998 -9.09961 -21.5996 -20.5 -18.0996
+c-31.2002 9.59961 -59.3994 15.2998 -75.2998 15.2998s-44.0996 -5.7002 -75.2998 -15.2998c-11.5 -3.40039 -22.5 6.2998 -20.5 18.0996c7 39.9004 60.2002 61.2002 95.7998 61.2002z" />
+ <glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
+s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM344 192c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-192c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48
+h192zM176 96v24h-40v-8c0 -8.7998 7.2002 -16 16 -16h24zM176 136v24h-24c-8.7998 0 -16 -7.2002 -16 -16v-8h40zM240 96v24h-48v-24h48zM240 136v24h-48v-24h48zM304 96v24h-48v-24h48zM304 136v24h-48v-24h48zM360 112v8h-40v-24h24c8.7998 0 16 7.2002 16 16zM360 136v8
+c0 8.7998 -7.2002 16 -16 16h-24v-24h40z" />
+ <glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
+c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
+s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
+ <glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496"
+d="M200.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56
+c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM328.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0
+c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200
+s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006
+s79.7002 4.7998 105.6 13.1006z" />
+ <glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
+c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM117.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
+c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996
+l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002zM277.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998
+c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002z" />
+ <glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="496"
+d="M440 288c-29.5 0 -53.2998 26.2998 -53.2998 58.7002c0 25 31.7002 75.5 46.2002 97.2998c3.5 5.2998 10.5996 5.2998 14.1992 0c14.5 -21.7998 46.2002 -72.2998 46.2002 -97.2998c0 -32.4004 -23.7998 -58.7002 -53.2998 -58.7002zM248 48
+c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM378.3 216.3
+c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
+c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM483.6 269.2c8 -24.2998 12.4004 -50.2002 12.4004 -77.2002c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248
+c45.7002 0 88.4004 -12.5996 125.2 -34.2002c-10.9004 -21.5996 -15.5 -36.2002 -17.2002 -45.7002c-31.2002 20.1006 -68.2002 31.9004 -108 31.9004c-110.3 0 -200 -89.7002 -200 -200s89.7002 -200 200 -200s200 89.7002 200 200
+c0 22.5 -3.90039 44.0996 -10.7998 64.2998c0.399414 0 21.7998 -2.7998 46.3994 12.9004zM168 258.6c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
+c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
+ <glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496"
+d="M353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM200.8 192.3
+l-70.2002 18.1006c-20.3994 5.2998 -31.8994 27 -24.1992 47.1992c6.69922 17.7002 26.6992 26.7002 44.8994 22l7.10059 -1.89941l2 7.09961c5.09961 18.1006 22.8994 30.9004 41.5 27.9004c21.3994 -3.40039 34.3994 -24.2002 28.7998 -44.5l-19.4004 -69.9004
+c-1.2998 -4.5 -6 -7.2002 -10.5 -6zM389.6 257.6c7.7002 -20.1992 -3.7998 -41.7998 -24.1992 -47.0996l-70.2002 -18.2002c-4.60059 -1.2002 -9.2998 1.5 -10.5 6l-19.4004 69.9004c-5.59961 20.2998 7.40039 41.0996 28.7998 44.5c18.7002 3 36.5 -9.7998 41.5 -27.9004
+l2 -7.09961l7.10059 1.89941c18.2002 4.7002 38.2002 -4.39941 44.8994 -22zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200
+s89.7002 -200 200 -200z" />
+ <glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
+c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM118.9 184.2c-3.80078 4.39941 -3.90039 11 -0.100586 15.5l33.6006 40.2998
+l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5c3.89941 4.40039 10.1992 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5zM361.8 181.7
+l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5.10059 2.90039 11.5 1.90039 15.2998 -2.5c3.80078 -4.5 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5
+c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5z" />
+ <glyph glyph-name="grin-squint-tears" unicode="&#xf586;"
+d="M117.1 63.9004c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998
+c16.8994 16.9004 75.0996 26.9004 100.899 30.6006zM75.9004 105.6c-19.6006 -3.89941 -35.1006 -8.09961 -47.3008 -12.1992c-39.2998 90.5996 -22.0996 199.899 52 274c48.5 48.3994 111.9 72.5996 175.4 72.5996c38.9004 0 77.7998 -9.2002 113.2 -27.4004
+c-4 -12.1992 -8.2002 -28 -12 -48.2998c-30.4004 17.9004 -65 27.7002 -101.2 27.7002c-53.4004 0 -103.6 -20.7998 -141.4 -58.5996c-61.5996 -61.5 -74.2998 -153.4 -38.6992 -227.801zM428.2 293.2c20.2998 3.89941 36.2002 8 48.5 12
+c47.8994 -93.2002 32.8994 -210.5 -45.2002 -288.601c-48.5 -48.3994 -111.9 -72.5996 -175.4 -72.5996c-33.6992 0 -67.2998 7 -98.6992 20.5996c4.19922 12.2002 8.2998 27.7002 12.1992 47.2002c26.6006 -12.7998 55.9004 -19.7998 86.4004 -19.7998
+c53.4004 0 103.6 20.7998 141.4 58.5996c65.6992 65.7002 75.7998 166 30.7998 242.601zM394.9 320.1c-6.30078 -0.899414 -11.7002 4.5 -10.9004 10.9004c3.7002 25.7998 13.7002 84 30.5996 100.9c22 21.8994 57.9004 21.5 80.3008 -0.900391
+c22.3994 -22.4004 22.7998 -58.4004 0.899414 -80.2998c-16.8994 -16.9004 -75.0996 -26.9004 -100.899 -30.6006zM207.9 211.8c3 -3 4.19922 -7.2998 3.19922 -11.5l-22.5996 -90.5c-1.40039 -5.39941 -6.2002 -9.09961 -11.7002 -9.09961h-0.899414
+c-5.80078 0.5 -10.5 5.09961 -11 10.8994l-4.80078 52.3008l-52.2998 4.7998c-5.7998 0.5 -10.3994 5.2002 -10.8994 11c-0.400391 5.89941 3.39941 11.2002 9.09961 12.5996l90.5 22.7002c4.2002 1 8.40039 -0.200195 11.4004 -3.2002zM247.6 236.9
+c-0.0996094 0 -6.39941 -1.80078 -11.3994 3.19922c-3 3 -4.2002 7.30078 -3.2002 11.4004l22.5996 90.5c1.40039 5.7002 7 9.2002 12.6006 9.09961c5.7998 -0.5 10.5 -5.09961 11 -10.8994l4.7998 -52.2998l52.2998 -4.80078c5.7998 -0.5 10.4004 -5.19922 10.9004 -11
+c0.399414 -5.89941 -3.40039 -11.1992 -9.10059 -12.5996zM299.6 148.4c29.1006 29.0996 53 59.5996 65.3008 83.7998c4.89941 9.2998 17.5996 9.89941 23.3994 1.7002c27.7002 -38.9004 6.10059 -106.9 -30.5996 -143.7s-104.8 -58.2998 -143.7 -30.6006
+c-8.2998 5.90039 -7.5 18.6006 1.7002 23.4004c24.2002 12.5 54.7998 36.2998 83.8994 65.4004z" />
+ <glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
+c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM125.7 200.9l6.09961 34.8994l-25.3994 24.6006
+c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006l34.9004 -5c6.19922 -1 8.7998 -8.69922 4.2998 -13.1992l-25.4004 -24.6006l6 -34.8994c1 -6.2002 -5.39941 -11 -11 -7.90039
+l-31.2998 16.2998l-31.2998 -16.2998c-5.60059 -3.09961 -12 1.7002 -11 7.90039zM385.4 273.6c6.19922 -1 8.89941 -8.59961 4.39941 -13.1992l-25.3994 -24.6006l6 -34.8994c1 -6.2002 -5.40039 -11 -11 -7.90039l-31.3008 16.2998l-31.2998 -16.2998
+c-5.59961 -3.09961 -12 1.7002 -11 7.90039l6 34.8994l-25.3994 24.6006c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006z" />
+ <glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="640"
+d="M117.1 191.9c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998c16.8994 16.9004 75.0996 26.9004 100.899 30.6006
+zM623.8 161.3c21.9004 -21.8994 21.5 -57.8994 -0.799805 -80.2002c-22.4004 -22.3994 -58.4004 -22.7998 -80.2998 -0.899414c-16.9004 16.8994 -26.9004 75.0996 -30.6006 100.899c-0.899414 6.30078 4.5 11.7002 10.8008 10.8008
+c25.7998 -3.7002 84 -13.7002 100.899 -30.6006zM497.2 99.5996c12.3994 -37.2998 25.0996 -43.7998 28.2998 -46.5c-44.5996 -65.7998 -120 -109.1 -205.5 -109.1s-160.9 43.2998 -205.5 109.1c3.09961 2.60059 15.7998 9.10059 28.2998 46.5
+c33.4004 -63.8994 100.3 -107.6 177.2 -107.6s143.8 43.7002 177.2 107.6zM122.7 223.5c-2.40039 0.299805 -5 2.5 -49.5 -6.90039c12.3994 125.4 118.1 223.4 246.8 223.4s234.4 -98 246.8 -223.5c-44.2998 9.40039 -47.3994 7.2002 -49.5 7
+c-15.2002 95.2998 -97.7998 168.5 -197.3 168.5s-182.1 -73.2002 -197.3 -168.5zM320 48c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996
+c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM450.3 216.3c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17
+c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM240 258.6
+c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
+c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
+ <glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
+l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
+s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
+s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32
+s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
+ <glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
+l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
+s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
+s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998
+l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 3 11.5 1.90039 15.2998 -2.5zM214.2 250.3
+c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5
+c3.89941 4.5 10.2998 5.5 15.2998 2.5z" />
+ <glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496"
+d="M152 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
+c-3.7998 -3.39941 -9.2998 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM328 320c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80s-80 35.7998 -80 80s35.7998 80 80 80zM328 192
+c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM328 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z
+M312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998
+c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3
+c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998
+c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998z" />
+ <glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496"
+d="M328 268c25.6904 0 55.8799 -16.9199 59.8701 -42.1201c1.72949 -11.0898 -11.3506 -18.2695 -19.8301 -10.8398l-9.5498 8.47949c-14.8105 13.1904 -46.1602 13.1904 -60.9707 0l-9.5498 -8.47949c-8.33008 -7.40039 -21.5801 -0.379883 -19.8301 10.8398
+c3.98047 25.2002 34.1699 42.1201 59.8604 42.1201zM168 208c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32s-14.3301 -32 -32 -32zM353.55 143.36c10.04 3.13965 19.3906 -5.4502 17.71 -15.3408
+c-7.92969 -47.1494 -71.3193 -80.0195 -123.26 -80.0195s-115.33 32.8701 -123.26 80.0195c-1.69043 9.9707 7.76953 18.4707 17.71 15.3408c25.9297 -8.31055 64.3994 -13.0605 105.55 -13.0605s79.6201 4.75977 105.55 13.0605zM248 440c136.97 0 248 -111.03 248 -248
+s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
+ <glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496"
+d="M168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
+c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
+c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM248 440c137 0 248 -111 248 -248
+s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z
+" />
+ <glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496"
+d="M168 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
+c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
+c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
+c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
+c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM328 296
+c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
+c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
+ <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="503"
+d="M304 139.5c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002
+c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002
+c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM374.5 223c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-2.5 -2.2998 -7.90039 -4.7002 -13.7002 -1.59961c-4.39941 2.39941 -6.89941 7.39941 -6.09961 12.3994
+c3.89941 25.2002 34.2002 42.1006 59.7998 42.1006s55.7998 -16.9004 59.7998 -42.1006c0.799805 -5 -1.7002 -10 -6.09961 -12.3994c-4.40039 -2.40039 -9.90039 -1.7002 -13.7002 1.59961zM136 239.5c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32
+s-32 14.2998 -32 32zM501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941
+l8.40039 2.2002c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM334 11.7002c17.7002 -64 10.9004 -39.5 13.4004 -46.7998c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 247.9 -248
+c0 -31.7998 -6.2002 -62.0996 -17.1006 -90c-6 1.5 -12.2002 2.7998 -18.5996 2.90039c-5.60059 9.69922 -13.6006 17.5 -22.6006 23.8994c6.7002 19.9004 10.4004 41.1006 10.4004 63.2002c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200
+c30.7998 0 59.9004 7.2002 86 19.7002z" />
+ <glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
+c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM168 224
+c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
+ <glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
+c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.700195 -8.5 -10.7998 -11.8994 -14.8994 -4.5
+l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006c-12.3008 0 -23.8008 -7.90039 -31.5 -21.6006l-9.5 -17c-4.10059 -7.39941 -15.6006 -4.09961 -14.9004 4.5c3.2998 42.1006 32.2002 71.4004 56 71.4004zM127 220.1c-4.2002 -7.39941 -15.7002 -4 -15.0996 4.5
+c3.2998 42.1006 32.1992 71.4004 56 71.4004c23.7998 0 52.6992 -29.2998 56 -71.4004c0.699219 -8.5 -10.8008 -11.8994 -14.9004 -4.5l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006s-23.7998 -7.90039 -31.5 -21.6006zM362.4 160c8.19922 0 14.5 -7 13.5 -15
+c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
+ <glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
+c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM343.6 252l33.6006 -40.2998c8.59961 -10.4004 -3.90039 -24.7998 -15.4004 -18l-80 48
+c-7.7998 4.7002 -7.7998 15.8994 0 20.5996l80 48c11.6006 6.7998 24 -7.7002 15.4004 -18zM134.2 193.7c-11.6006 -6.7998 -24.1006 7.59961 -15.4004 18l33.6006 40.2998l-33.6006 40.2998c-8.59961 10.2998 3.7998 24.9004 15.4004 18l80 -48
+c7.7998 -4.7002 7.7998 -15.8994 0 -20.5996zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
+ <glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
+c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 284c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008
+l-9.5 8.5c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996zM168 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z
+M362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
+ <glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
+s-32 14.2998 -32 32s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
+ <glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM336 296c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72
+s-72 32.2002 -72 72s32.2002 72 72 72zM336 184c22.0996 0 40 17.9004 40 40c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998
+c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998c0 -22.0996 17.9004 -40 40 -40zM232 224c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM120 224c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40
+c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998zM312 96
+c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
+ <glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM392 53.5996c34.5996 35.9004 56 84.7002 56 138.4c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -53.7002 21.4004 -102.4 56 -138.4v114.4
+c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-151.4c28.5 -15.5996 61.2002 -24.5996 96 -24.5996s67.5 9 96 24.5996v151.4c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-114.4zM205.8 213.5c-5.7998 -3.2002 -11.2002 -0.700195 -13.7002 1.59961l-9.5 8.5
+c-14.7998 13.2002 -46.1992 13.2002 -61 0l-9.5 -8.5c-3.7998 -3.39941 -9.2998 -4 -13.6992 -1.59961c-4.40039 2.40039 -6.90039 7.40039 -6.10059 12.4004c3.90039 25.1992 34.2002 42.0996 59.7998 42.0996c25.6006 0 55.8008 -16.9004 59.8008 -42.0996
+c0.799805 -5 -1.7002 -10 -6.10059 -12.4004zM344 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
+c-3.7998 -3.39941 -9.2002 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM248 176c30.9004 0 56 -28.7002 56 -64s-25.0996 -64 -56 -64s-56 28.7002 -56 64s25.0996 64 56 64z" />
+ <glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM256 144c38.0996 0 74 -16.7998 98.5 -46.0996
+c8.5 -10.2002 7.09961 -25.3008 -3.09961 -33.8008c-10.6006 -8.7998 -25.7002 -6.69922 -33.8008 3.10059c-15.2998 18.2998 -37.7998 28.7998 -61.5996 28.7998c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
+s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM162.4 173.2c2.7998 3.7002 8.39941 3.7002 11.1992 0c11.4004 -15.2998 36.4004 -50.6006 36.4004 -68.1006
+c0 -22.6992 -18.7998 -41.0996 -42 -41.0996s-42 18.4004 -42 41.0996c0 17.5 25 52.8008 36.4004 68.1006z" />
+ <glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM332 135.4c8.5 10.1992 23.5996 11.5 33.7998 3.09961
+c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.2002 8.40039 25.2998 7.09961 33.7998 -3.09961
+c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004zM136.5 237l-9.5 -17c-1.90039 -3.2002 -5.90039 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
+c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996zM328 296c23.7998 0 52.7002 -29.2998 56 -71.4004
+c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002
+c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
+ <glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 168c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64
+s-64 28.7002 -64 64s28.7002 64 64 64zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
+ <glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5
+l-33.6006 -40.2998l33.6006 -40.2998c3.7998 -4.5 3.7002 -11 -0.100586 -15.5c-3.5 -4.10059 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 2.90039 11.5 1.90039 15.2998 -2.5z
+M220 240c0 -4.2002 -2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7998 -1.60059 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7998 4.5 -3.7002 11 0.100586 15.5
+c3.7998 4.40039 10.2998 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998zM248 176c45.4004 0 100.9 -38.2998 107.8 -93.2998c1.5 -11.9004 -7 -21.6006 -15.5 -17.9004c-22.7002 9.7002 -56.2998 15.2002 -92.2998 15.2002
+s-69.5996 -5.5 -92.2998 -15.2002c-8.60059 -3.7002 -17 6.10059 -15.5 17.9004c6.89941 55 62.3994 93.2998 107.8 93.2998z" />
+ </font>
+</defs></svg>
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.ttf b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.ttf
new file mode 100644
index 0000000000..a309313d5f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.ttf
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff
new file mode 100644
index 0000000000..2578261897
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff2 b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff2
new file mode 100644
index 0000000000..3ef9c3edb0
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-regular-400.woff2
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.eot b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.eot
new file mode 100644
index 0000000000..68c010a862
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.eot
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.svg b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.svg
new file mode 100644
index 0000000000..4ef85aa379
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.svg
@@ -0,0 +1,4516 @@
+<?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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
+<metadata>
+Created by FontForge 20190112 at Tue Feb 12 10:24:59 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+</metadata>
+<defs>
+<font id="FontAwesome5Free-Solid" horiz-adv-x="512" >
+ <font-face
+ font-family="Font Awesome 5 Free Solid"
+ font-weight="900"
+ font-stretch="normal"
+ units-per-em="512"
+ panose-1="2 0 5 3 0 0 0 0 0 0"
+ ascent="448"
+ descent="-64"
+ bbox="-0.983398 -64.9834 640.104 448.427"
+ underline-thickness="25"
+ underline-position="-51"
+ unicode-range="U+0020-F82F"
+ />
+ <missing-glyph />
+ <glyph glyph-name="glass-martini" unicode="&#xf000;"
+d="M502.05 390.4l-214.05 -214.04v-192.36h56c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v192.36l-214.05 214.04c-21.25 21.2598 -6.2002 57.5996 23.8496 57.5996h444.4
+c30.0498 0 45.0996 -36.3398 23.8496 -57.5996z" />
+ <glyph glyph-name="music" unicode="&#xf001;"
+d="M511.99 415.99l0.00976562 -351.99c0 -35.3496 -42.9805 -64 -96 -64s-96 28.6504 -96 64s42.9805 64 96 64c11.2803 0 21.9502 -1.54004 32 -3.91992v184.63l-256 -75.0195v-233.69c0 -35.3496 -42.9805 -64 -96 -64s-96 28.6504 -96 64s42.9805 64 96 64
+c11.2803 0 21.9502 -1.54004 32 -3.91992v261.42c0 14 9.09961 26.2998 22.4004 30.5l319.989 94.5c20.5 6.5 41.6006 -8.7998 41.6006 -30.5098z" />
+ <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="511"
+d="M505 5.2998c9.2998 -9.39941 9.2998 -24.5996 -0.0996094 -34l-28.3008 -28.2998c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0l-99.7002 99.7002c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208
+s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7zM208 112c70.7998 0 128 57.2998 128 128c0 70.7998 -57.2998 128 -128 128c-70.7998 0 -128 -57.2998 -128 -128c0 -70.7998 57.2998 -128 128 -128z
+" />
+ <glyph glyph-name="heart" unicode="&#xf004;"
+d="M462.3 385.4c62.7998 -53.6006 66.1006 -149.801 9.7998 -207.9l-193.5 -199.8c-12.5 -12.9004 -32.7998 -12.9004 -45.2998 0l-193.5 199.8c-56.2002 58.0996 -52.8994 154.3 9.90039 207.9c54.7998 46.6992 136.399 38.2998 186.6 -13.6006l19.7002 -20.2998
+l19.7002 20.2998c50.2998 51.9004 131.8 60.2998 186.6 13.6006z" />
+ <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576"
+d="M259.3 430.2c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4l146.1 -21.2998c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002
+c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998z" />
+ <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448"
+d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996
+c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
+ <glyph glyph-name="film" unicode="&#xf008;"
+d="M488 384c13.2998 0 24 -10.7002 24 -24v-336c0 -13.2998 -10.7002 -24 -24 -24h-8v20c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-20h-320v20c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-20h-8
+c-13.2998 0 -24 10.7002 -24 24v336c0 13.2998 10.7002 24 24 24h8v-20c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v20h320v-20c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v20h8zM96 76v40c0 6.59961 -5.40039 12 -12 12h-40
+c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM96 172v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM96 268v40
+c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM368 60v96c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-96c0 -6.59961 5.40039 -12 12 -12h200
+c6.59961 0 12 5.40039 12 12zM368 228v96c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-96c0 -6.59961 5.40039 -12 12 -12h200c6.59961 0 12 5.40039 12 12zM480 76v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40
+c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 172v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 268v40c0 6.59961 -5.40039 12 -12 12h-40
+c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="th-large" unicode="&#xf009;"
+d="M296 416h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v160c0 13.2549 10.7451 24 24 24zM216 416c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192
+c-13.2549 0 -24 10.7451 -24 24v160c0 13.2549 10.7451 24 24 24h192zM0 152c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v160zM296 -32c-13.2549 0 -24 10.7451 -24 24v160
+c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-160c0 -13.2549 -10.7451 -24 -24 -24h-192z" />
+ <glyph glyph-name="th" unicode="&#xf00a;"
+d="M149.333 392v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24zM330.667 152c0 -13.2549 -10.7451 -24 -24.001 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80
+c0 13.2549 10.7451 24 24 24h101.334c13.2549 0 24 -10.7451 24 -24v-80zM362.667 392c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM330.667 312
+c0 -13.2549 -10.7451 -24 -24.001 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.334c13.2549 0 24 -10.7451 24 -24v-80zM125.333 256c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333
+c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333zM0 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM386.667 128
+c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333zM386.667 -32c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24
+v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333zM181.333 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80z" />
+ <glyph glyph-name="th-list" unicode="&#xf00b;"
+d="M149.333 232v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24zM0 72c0 13.2549 10.7451 24 24 24h101.333c13.2549 0 24 -10.7451 24 -24v-80
+c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80zM125.333 416c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-101.333c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h101.333zM205.333 -32
+c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-282.667zM181.333 392c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80
+c0 -13.2549 -10.7451 -24 -24 -24h-282.667c-13.2549 0 -24 10.7451 -24 24v80zM205.333 128c-13.2549 0 -24 10.7451 -24 24v80c0 13.2549 10.7451 24 24 24h282.667c13.2549 0 24 -10.7451 24 -24v-80c0 -13.2549 -10.7451 -24 -24 -24h-282.667z" />
+ <glyph glyph-name="check" unicode="&#xf00c;"
+d="M173.898 8.5957l-166.4 166.4c-9.99707 9.99707 -9.99707 26.2061 0 36.2041l36.2031 36.2041c9.99707 9.99805 26.207 9.99805 36.2041 0l112.095 -112.095l240.095 240.095c9.99707 9.99707 26.207 9.99707 36.2041 0l36.2031 -36.2041
+c9.99707 -9.99707 9.99707 -26.2061 0 -36.2041l-294.4 -294.401c-9.99805 -9.99707 -26.207 -9.99707 -36.2031 0.000976562z" />
+ <glyph glyph-name="times" unicode="&#xf00d;" horiz-adv-x="352"
+d="M242.72 192l100.07 -100.07c12.2803 -12.29 12.2803 -32.1992 0 -44.4795l-22.2402 -22.2402c-12.2803 -12.2803 -32.2002 -12.2803 -44.4795 0l-100.07 100.07l-100.07 -100.07c-12.2793 -12.2803 -32.1992 -12.2803 -44.4795 0l-22.2402 22.2402
+c-12.2803 12.29 -12.2803 32.2002 0 44.4795l100.07 100.07l-100.07 100.07c-12.2803 12.29 -12.2803 32.1992 0 44.4795l22.2402 22.2402c12.29 12.2803 32.2002 12.2803 44.4795 0l100.07 -100.07l100.07 100.07c12.29 12.2803 32.1992 12.2803 44.4795 0
+l22.2402 -22.2402c12.2803 -12.29 12.2803 -32.2002 0 -44.4795z" />
+ <glyph glyph-name="search-plus" unicode="&#xf00e;" horiz-adv-x="511"
+d="M304 256v-32c0 -6.59961 -5.40039 -12 -12 -12h-56v-56c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v56h-56c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h56v56c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12
+v-56h56c6.59961 0 12 -5.40039 12 -12zM505 -28.7002l-28.2998 -28.2998c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-99.7998 99.7002c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208
+s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7l99.7002 -99.7002c9.2998 -9.39941 9.2998 -24.5996 0 -34zM344 240c0 75.2002 -60.7998 136 -136 136s-136 -60.7998 -136 -136
+s60.7998 -136 136 -136s136 60.7998 136 136z" />
+ <glyph glyph-name="search-minus" unicode="&#xf010;" horiz-adv-x="511"
+d="M304 256v-32c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM505 -28.7002l-28.2998 -28.2998c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-99.7998 99.7002
+c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.7002 -44 -128 -44c-114.9 0 -208 93.0996 -208 208s93.0996 208 208 208s208 -93.0996 208 -208c0 -48.2998 -16.4004 -92.7002 -44 -128h16.2998c6.40039 0 12.5 -2.5 17 -7l99.7002 -99.7002
+c9.2998 -9.39941 9.2998 -24.5996 0 -34zM344 240c0 75.2002 -60.7998 136 -136 136s-136 -60.7998 -136 -136s60.7998 -136 136 -136s136 60.7998 136 136z" />
+ <glyph glyph-name="power-off" unicode="&#xf011;" horiz-adv-x="511"
+d="M400 393.9c63 -45 104 -118.601 104 -201.9c0 -136.8 -110.8 -247.7 -247.5 -248c-136.5 -0.299805 -248.3 111 -248.5 247.6c-0.0996094 83.3008 40.9004 157.101 103.8 202.2c11.7002 8.2998 28 4.7998 35 -7.7002l15.7998 -28.0996
+c5.90039 -10.5 3.10059 -23.7998 -6.59961 -31c-41.5 -30.7998 -68 -79.5996 -68 -134.9c-0.0996094 -92.2998 74.5 -168.1 168 -168.1c91.5996 0 168.6 74.2002 168 169.1c-0.299805 51.8008 -24.7002 101.801 -68.0996 134c-9.7002 7.2002 -12.4004 20.5 -6.5 30.9004
+l15.7998 28.0996c7 12.4004 23.2002 16.1006 34.7998 7.80078zM296 184c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v240c0 13.2998 10.7002 24 24 24h32c13.2998 0 24 -10.7002 24 -24v-240z" />
+ <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="640"
+d="M216 160c8.83984 0 16 -7.16016 16 -16v-192c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v192c0 8.83984 7.16016 16 16 16h48zM88 64c8.83984 0 16 -7.16016 16 -16v-96c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v96
+c0 8.83984 7.16016 16 16 16h48zM344 256c8.83984 0 16 -7.16016 16 -16v-288c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v288c0 8.83984 7.16016 16 16 16h48zM472 352c8.83984 0 16 -7.16016 16 -16v-384c0 -8.83984 -7.16016 -16 -16 -16h-48
+c-8.83984 0 -16 7.16016 -16 16v384c0 8.83984 7.16016 16 16 16h48zM600 448c8.83984 0 16 -7.16016 16 -16v-480c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v480c0 8.83984 7.16016 16 16 16h48z" />
+ <glyph glyph-name="cog" unicode="&#xf013;"
+d="M487.4 132.3c4.89941 -2.7998 7.09961 -8.59961 5.59961 -14.0996c-11.0996 -35.7002 -30 -67.9004 -54.7002 -94.6006c-3.7998 -4.19922 -9.89941 -5.09961 -14.7998 -2.2998l-42.5996 24.6006c-18 -15.3008 -38.6006 -27.2002 -60.8008 -35.1006v-49.2002
+c0 -5.59961 -3.89941 -10.5 -9.39941 -11.6992c-34.9004 -7.80078 -72.5 -8.2002 -109.2 0c-5.5 1.19922 -9.40039 6.09961 -9.40039 11.6992v49.2002c-22.2998 7.7998 -42.8994 19.7002 -60.7998 35.1006l-42.5996 -24.6006c-4.7998 -2.7998 -11 -1.7998 -14.7998 2.2998
+c-24.7002 26.8008 -43.6006 59 -54.7002 94.6006c-1.60059 5.39941 0.599609 11.2002 5.5 14l42.5996 24.5996c-4.2998 23.2002 -4.2998 47 0 70.2002l-42.5996 24.5996c-4.90039 2.80078 -7.2002 8.60059 -5.5 14c11.0996 35.7002 30 67.9004 54.7002 94.6006
+c3.7998 4.2002 9.89941 5.09961 14.7998 2.2998l42.5 -24.5996c18 15.2998 38.5996 27.1992 60.7998 35.0996v49.2002c0 5.59961 3.90039 10.5 9.40039 11.7002c34.8994 7.7998 72.5 8.19922 109.199 0c5.5 -1.2002 9.40039 -6.10059 9.40039 -11.7002v-49.1006
+c22.2998 -7.7998 42.9004 -19.6992 60.7998 -35.0996l42.6006 24.5996c4.7998 2.80078 11 1.80078 14.7998 -2.2998c24.7002 -26.7998 43.5996 -59 54.7002 -94.5996c1.59961 -5.40039 -0.600586 -11.2002 -5.5 -14l-42.6006 -24.6006
+c4.2998 -23.1992 4.2998 -47 0 -70.1992zM256 112c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="576"
+d="M280.37 299.74c1.84863 1.49023 5.27539 2.69922 7.64941 2.69922c2.375 0 5.80176 -1.20898 7.65039 -2.69922l184.33 -151.74v-164c0 -8.83203 -7.16797 -16 -16 -16l-112.02 0.30957h-0.000976562c-8.83203 0 -16 7.16797 -16 16
+c0 0.0146484 0 0.0371094 0.000976562 0.0507812v95.6396c0 8.83203 -7.16895 16 -16 16h-64c-8.83203 0 -16 -7.16797 -16 -16v-95.71v0c0 -8.78809 -7.13281 -15.9561 -15.9209 -16l-112.06 -0.290039c-8.83203 0 -16 7.16797 -16 16v163.89zM571.6 196.53
+c2.44531 -1.98828 4.42969 -6.15918 4.42969 -9.31055c0 -2.37305 -1.22266 -5.78613 -2.72949 -7.62012l-25.5 -31c-1.98633 -2.40332 -6.13086 -4.35449 -9.24902 -4.35449c-2.38574 0 -5.81348 1.23438 -7.65039 2.75488l-235.23 193.74
+c-1.84863 1.49023 -5.27539 2.69922 -7.65039 2.69922c-2.37402 0 -5.80078 -1.20898 -7.64941 -2.69922l-235.22 -193.74c-1.83691 -1.5166 -5.26074 -2.74805 -7.64258 -2.74805c-3.12793 0 -7.28027 1.96191 -9.26758 4.37793l-25.5 31
+c-1.52051 1.83789 -2.75488 5.26562 -2.75488 7.65039c0 3.11914 1.95117 7.2627 4.35449 9.25l253.13 208.47c7.33594 6.03613 21 10.9355 30.5 10.9355c9.50098 0 23.1641 -4.89941 30.5 -10.9355l89.5303 -73.6602v72.6104c0 6.62402 5.37598 12 12 12h56
+c6.62402 0 12 -5.37598 12 -12v-138.51z" />
+ <glyph glyph-name="clock" unicode="&#xf017;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM313.1 89.9004c5.40039 -3.90039 12.9004 -2.7002 16.8008 2.59961l28.1992 38.7998c3.90039 5.40039 2.80078 12.9004 -2.59961 16.7998l-63.5 46.2002v137.7
+c0 6.59961 -5.40039 12 -12 12h-48c-6.59961 0 -12 -5.40039 -12 -12v-168.3c0 -3.7998 1.7998 -7.40039 4.90039 -9.7002z" />
+ <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="576"
+d="M573.19 45.3301c9.25977 -21.1904 -5.5 -45.3301 -27.7305 -45.3301h-196.84l-10.3105 97.6797c-0.859375 8.14062 -7.71973 14.3203 -15.9092 14.3203h-68.8008c-8.18945 0 -15.0498 -6.17969 -15.9092 -14.3203l-10.3105 -97.6797h-196.84
+c-22.2305 0 -36.9902 24.1396 -27.7402 45.3301l139.79 320c4.96973 11.3799 15.7998 18.6699 27.7305 18.6699h97.5898l-2.4502 -23.1602c-0.5 -4.71973 3.20996 -8.83984 7.95996 -8.83984h29.1602c4.75 0 8.45996 4.12012 7.95996 8.83984l-2.4502 23.1602h97.5898
+c11.9199 0 22.75 -7.29004 27.7207 -18.6699zM260.4 312.84l-4.59082 -43.5801c-0.75 -7.08984 4.80078 -13.2598 11.9307 -13.2598h40.54c7.12012 0 12.6797 6.16992 11.9297 13.2598l-4.59961 43.5801c-0.430664 4.07031 -3.87012 7.16016 -7.95996 7.16016h-39.29
+h-0.00488281c-3.97363 0 -7.53809 -3.20801 -7.95508 -7.16016zM315.64 144c9.5 0 16.9102 8.23047 15.9102 17.6797l-5.06934 48c-0.860352 8.14062 -7.7207 14.3203 -15.9102 14.3203h-45.1504c-8.18945 0 -15.0498 -6.17969 -15.9102 -14.3203l-5.06934 -48
+c-1 -9.44922 6.40918 -17.6797 15.9092 -17.6797h55.29z" />
+ <glyph glyph-name="download" unicode="&#xf019;"
+d="M216 448h80c13.2998 0 24 -10.7002 24 -24v-168h87.7002c17.7998 0 26.7002 -21.5 14.0996 -34.0996l-152.1 -152.2c-7.5 -7.5 -19.7998 -7.5 -27.2998 0l-152.301 152.2c-12.5996 12.5996 -3.69922 34.0996 14.1006 34.0996h87.7998v168c0 13.2998 10.7002 24 24 24z
+M512 72v-112c0 -13.2998 -10.7002 -24 -24 -24h-464c-13.2998 0 -24 10.7002 -24 24v112c0 13.2998 10.7002 24 24 24h146.7l49 -49c20.0996 -20.0996 52.5 -20.0996 72.5996 0l49 49h146.7c13.2998 0 24 -10.7002 24 -24zM388 -16c0 11 -9 20 -20 20s-20 -9 -20 -20
+s9 -20 20 -20s20 9 20 20zM452 -16c0 11 -9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20s20 9 20 20z" />
+ <glyph glyph-name="inbox" unicode="&#xf01c;" horiz-adv-x="576"
+d="M567.938 204.092c4.4502 -6.6748 8.06152 -18.6025 8.06152 -26.624v-0.000976562v-129.467c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v129.467v0.000976562c0 8.02148 3.61133 19.9492 8.06152 26.624l105.689 158.534
+c7.86621 11.7988 25.7578 21.374 39.9385 21.374h268.621c14.1807 0 32.0732 -9.57617 39.9395 -21.374zM162.252 320l-85.334 -128h123.082l32 -64h112l32 64h123.082l-85.333 128h-251.497z" />
+ <glyph glyph-name="redo" unicode="&#xf01e;" horiz-adv-x="520"
+d="M500.333 448c6.62695 0 12 -5.37305 12 -12v-200.332c0 -6.62695 -5.37305 -12 -12 -12h-200.333c-6.62695 0 -12 5.37305 -12 12v47.4111c0 6.85254 5.72852 12.3135 12.5742 11.9863l101.524 -4.86523c-31.5928 46.9414 -85.207 77.7998 -146.099 77.7998
+c-97.2842 0 -176 -78.7334 -176 -176c0 -97.2842 78.7334 -176 176 -176c44.6064 0 85.3076 16.5518 116.309 43.8555c4.74023 4.17383 11.9141 3.92285 16.3809 -0.543945l33.9707 -33.9707c4.87207 -4.87207 4.63086 -12.8145 -0.482422 -17.4326
+c-43.9756 -39.7217 -102.252 -63.9082 -166.178 -63.9082c-136.904 0 -247.899 110.932 -248 247.813c-0.100586 136.66 111.34 248.187 248.001 248.187c75.6709 0 143.415 -33.8994 188.901 -87.333l-3.9668 82.7588c-0.327148 6.8457 5.13379 12.5742 11.9863 12.5742
+h47.4111z" />
+ <glyph glyph-name="sync" unicode="&#xf021;"
+d="M440.935 435.426c-0.327148 6.8457 5.13477 12.5742 11.9873 12.5742h47.4111c6.62695 0 12 -5.37305 12 -12v-200.333c0 -6.62695 -5.37305 -12 -12 -12h-200.333c-6.62695 0 -12 5.37305 -12 12v47.4111c0 6.85254 5.72852 12.3135 12.5742 11.9863l101.529 -4.86523
+c-31.5918 46.9443 -85.2109 77.8008 -146.104 77.8008c-83.0693 0 -152.593 -57.4082 -171.137 -134.741c-1.29883 -5.41699 -6.10645 -9.25879 -11.6768 -9.25879h-49.084c-7.49902 0 -13.1943 6.80664 -11.8066 14.1758c21.6367 114.9 122.518 201.824 243.704 201.824
+c75.6738 0 143.416 -33.9043 188.901 -87.3398zM256 16c83.0693 0 152.593 57.4082 171.137 134.741c1.29883 5.41699 6.10645 9.25879 11.6768 9.25879h49.084c7.49902 0 13.1943 -6.80664 11.8066 -14.1758c-21.6367 -114.9 -122.518 -201.824 -243.704 -201.824
+c-75.5947 0 -143.275 33.834 -188.759 87.1738l4.12891 -82.5752c0.342773 -6.85352 -5.12207 -12.5986 -11.9854 -12.5986h-47.3848c-6.62695 0 -12 5.37305 -12 12v200.332c0 6.62695 5.37305 12 12 12h200.332c6.62695 0 12 -5.37305 12 -12v-47.4121
+c0 -6.85156 -5.72852 -12.3125 -12.5732 -11.9863l-101.868 4.87109c31.5928 -46.9463 85.2148 -77.8047 146.109 -77.8047z" />
+ <glyph glyph-name="list-alt" unicode="&#xf022;"
+d="M464 -32h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM128 328c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM128 232
+c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM128 136c-22.0908 0 -40 -17.9092 -40 -40s17.9092 -40 40 -40s40 17.9092 40 40s-17.9092 40 -40 40zM416 272v32c0 6.62695 -5.37305 12 -12 12h-200
+c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12zM416 176v32c0 6.62695 -5.37305 12 -12 12h-200c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12zM416 80v32
+c0 6.62695 -5.37305 12 -12 12h-200c-6.62695 0 -12 -5.37305 -12 -12v-32c0 -6.62695 5.37305 -12 12 -12h200c6.62695 0 12 5.37305 12 12z" />
+ <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="448"
+d="M400 224c26.5 0 48 -21.5 48 -48v-192c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v192c0 26.5 21.5 48 48 48h24v72c0 83.7998 68.2002 152 152 152s152 -68.2002 152 -152v-72h24zM296 224v72c0 39.7002 -32.2998 72 -72 72s-72 -32.2998 -72 -72v-72h144
+z" />
+ <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="520"
+d="M349.565 349.217c40.4951 0 82.6113 15.9062 116.949 31.8545c21.2168 9.85352 45.4854 -5.62305 45.4854 -29.0166v-243.1c0 -10.5264 -5.16016 -20.4072 -13.8428 -26.3584c-35.8379 -24.5635 -74.3359 -40.8574 -122.505 -40.8574
+c-67.373 0 -111.629 34.7832 -165.218 34.7832c-50.8525 0 -86.124 -10.0586 -114.435 -22.1221v-94.4004c0 -13.2549 -10.7451 -24 -24 -24h-16c-13.2549 0 -24 10.7451 -24 24v386.055c-14.5029 10.1201 -24 26.9189 -24 45.9453
+c0 31.7041 26.3447 57.2539 58.3379 55.9521c28.4678 -1.1582 51.7793 -23.9668 53.5508 -52.4033c0.0625 -0.980469 0.113281 -2.57324 0.113281 -3.55566c0 -5.71094 -1.65723 -14.6738 -3.69922 -20.0059c20.7363 7.62891 43.0898 12.0127 68.0449 12.0127
+c67.373 0 111.63 -34.7832 165.218 -34.7832z" />
+ <glyph glyph-name="headphones" unicode="&#xf025;"
+d="M256 416c141.504 0 256 -114.521 256 -256v-48c0 -10.917 -7.9248 -23.7402 -17.6904 -28.6221l-14.3818 -7.19141c-2.01074 -60.0889 -51.3486 -108.187 -111.928 -108.187h-24c-13.2549 0 -24 10.7451 -24 24v176c0 13.2549 10.7451 24 24 24h24
+c31.3418 0 59.6709 -12.8789 80 -33.627v1.62695c0 105.869 -86.1309 192 -192 192s-192 -86.1309 -192 -192v-1.62695c20.3291 20.748 48.6582 33.627 80 33.627h24c13.2549 0 24 -10.7451 24 -24v-176c0 -13.2549 -10.7451 -24 -24 -24h-24
+c-60.5791 0 -109.917 48.0967 -111.928 108.187l-14.3828 7.19141c-9.76465 4.88184 -17.6895 17.7051 -17.6895 28.6221v0v48c0 141.504 114.52 256 256 256z" />
+ <glyph glyph-name="volume-off" unicode="&#xf026;" horiz-adv-x="258"
+d="M216.36 376.96c15.0098 15 40.9697 4.49023 40.9697 -16.9795v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06z" />
+ <glyph glyph-name="volume-down" unicode="&#xf027;" horiz-adv-x="384"
+d="M215.03 375.96c15.0098 15 40.9697 4.49023 40.9697 -16.9795v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM338.23 267.88
+c28.2393 -15.5498 45.7793 -44.9902 45.7793 -76.8701s-17.54 -61.3301 -45.7695 -76.8799c-11.5605 -6.34961 -26.1807 -2.20996 -32.6104 9.4502c-6.38965 11.6104 -2.16016 26.2002 9.4502 32.6104c12.9004 7.08984 20.9199 20.4297 20.9199 34.8096
+s-8.01953 27.7197 -20.9297 34.8203c-11.6104 6.41016 -15.8398 21 -9.4502 32.6094c6.41992 11.6104 21.0303 15.7803 32.6104 9.4502z" />
+ <glyph glyph-name="volume-up" unicode="&#xf028;" horiz-adv-x="576"
+d="M215.03 376.95c15.0098 15.0098 40.9697 4.49023 40.9697 -16.9697v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM448.35 428.03
+c79.9199 -52.46 127.65 -140.7 127.65 -236.03s-47.7305 -183.58 -127.65 -236.04c-11.5801 -7.61035 -26.4697 -3.75977 -33.5098 6.9502c-7.33984 11.1602 -4.21973 26.1797 6.9502 33.5c66.2695 43.4902 105.82 116.6 105.82 195.58
+c0 78.9795 -39.5508 152.09 -105.82 195.58c-11.1699 7.33008 -14.29 22.3398 -6.9502 33.5098c7.33008 11.1895 22.3398 14.2803 33.5098 6.9502zM480 192c0 -63.54 -32.0596 -121.94 -85.7695 -156.24c-12 -7.67969 -26.6104 -2.89941 -33.1201 7.45996
+c-7.09082 11.29 -3.78027 26.2207 7.40918 33.3604c39.75 25.3896 63.4805 68.5303 63.4805 115.42s-23.7305 90.0303 -63.4805 115.42c-11.1895 7.15039 -14.5 22.0801 -7.40918 33.3604c7.08984 11.2793 21.9297 14.5996 33.1201 7.45996
+c53.71 -34.2998 85.7695 -92.71 85.7695 -156.24zM338.23 268.87c28.2393 -15.54 45.7793 -44.9805 45.7793 -76.8604s-17.54 -61.3301 -45.7695 -76.8799c-11.5605 -6.34961 -26.1807 -2.20996 -32.6104 9.4502c-6.38965 11.6104 -2.16016 26.2002 9.4502 32.6104
+c12.9004 7.08984 20.9199 20.4297 20.9199 34.8096c0 14.3701 -8.01953 27.7197 -20.9297 34.8096c-11.6104 6.41016 -15.8398 21 -9.4502 32.6104c6.41992 11.6104 21.0303 15.7803 32.6104 9.4502z" />
+ <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="448"
+d="M0 224v192h192v-192h-192zM64 352v-64h64v64h-64zM256 416h192v-192h-192v192zM384 288v64h-64v-64h64zM0 -32v192h192v-192h-192zM64 96v-64h64v64h-64zM416 160h32v-128h-96v32h-32v-96h-64v192h96v-32h64v32zM416 0h32v-32h-32v32zM352 0h32v-32h-32v32z" />
+ <glyph glyph-name="barcode" unicode="&#xf02a;"
+d="M0 0v384h18v-384h-18zM26.8574 0.273438v383.727h9.14258v-383.727h-9.14258zM54 0.273438v383.727h8.85742v-383.727h-8.85742zM98.8574 0.273438v383.727h8.85645v-383.727h-8.85645zM134.857 0.273438v383.727h17.7139v-383.727h-17.7139zM179.714 0.273438v383.727
+h8.85742v-383.727h-8.85742zM197.714 0.273438v383.727h8.85742v-383.727h-8.85742zM215.714 0.273438v383.727h8.85742v-383.727h-8.85742zM251.429 0.273438v383.727h18v-383.727h-18zM296.286 0.273438v383.727h18v-383.727h-18zM332.285 0.273438v383.727h18.001
+v-383.727h-18.001zM368.286 0.273438v383.727h18.001v-383.727h-18.001zM395.143 0.273438v383.727h18v-383.727h-18zM440.286 0.273438v383.727h26.8564v-383.727h-26.8564zM476 0.273438v383.727h9.14258v-383.727h-9.14258zM494 0v384h18v-384h-18z" />
+ <glyph glyph-name="tag" unicode="&#xf02b;" horiz-adv-x="511"
+d="M0 195.882v204.118c0 26.5098 21.4902 48 48 48h204.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586l211.883 -211.883c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818l-204.118 -204.118c-18.7451 -18.7441 -49.1377 -18.7441 -67.8818 0l-211.883 211.883
+c-7.75977 7.75977 -14.0586 22.9658 -14.0586 33.9404zM112 384c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48z" />
+ <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="639"
+d="M497.941 222.059c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818l-204.118 -204.118c-18.7461 -18.7451 -49.1387 -18.7441 -67.8818 0l-211.883 211.883c-7.75977 7.75977 -14.0586 22.9658 -14.0586 33.9404v204.118c0 26.5098 21.4902 48 48 48h204.118
+c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM112 288c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM625.941 154.177l-204.118 -204.118c-18.7451 -18.7441 -49.1377 -18.7441 -67.8818 0l-0.360352 0.360352
+l174.059 174.059c16.999 16.999 26.3604 39.6006 26.3604 63.6406s-9.3623 46.6406 -26.3604 63.6396l-196.242 196.242h48.7207c10.9746 0 26.1807 -6.29883 33.9404 -14.0586l211.883 -211.883c18.7441 -18.7441 18.7441 -49.1367 0 -67.8818z" />
+ <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="448"
+d="M448 88c0 -7.5 -3.5 -14.2998 -8.90039 -18.5996c-4.19922 -15.4004 -4.19922 -59.3008 0 -74.7002c5.40039 -4.40039 8.90039 -11.2002 8.90039 -18.7002v-16c0 -13.2998 -10.7002 -24 -24 -24h-328c-53 0 -96 43 -96 96v320c0 53 43 96 96 96h328
+c13.2998 0 24 -10.7002 24 -24v-336zM128 314v-20c0 -3.2998 2.7002 -6 6 -6h212c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-212c-3.2998 0 -6 -2.7002 -6 -6zM128 250v-20c0 -3.2998 2.7002 -6 6 -6h212c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-212
+c-3.2998 0 -6 -2.7002 -6 -6zM381.4 0c-1.90039 17.0996 -1.90039 46.9004 0 64h-285.4c-17.5996 0 -32 -14.4004 -32 -32c0 -17.7002 14.2998 -32 32 -32h285.4z" />
+ <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384"
+d="M0 -64v464c0 26.5098 21.4902 48 48 48h288c26.5098 0 48 -21.4902 48 -48v-464l-192 112z" />
+ <glyph glyph-name="print" unicode="&#xf02f;"
+d="M448 256c35.3496 0 64 -28.6504 64 -64v-112c0 -8.83984 -7.16016 -16 -16 -16h-48v-96c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32v96h-48c-8.83984 0 -16 7.16016 -16 16v112c0 35.3496 28.6504 64 64 64v160c0 17.6699 14.3301 32 32 32
+h274.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l45.2598 -45.25c6 -6.00977 9.37012 -14.1396 9.37012 -22.6299v-114.75zM384 0v96h-256v-96h256zM384 224v96h-48c-8.83984 0 -16 7.16016 -16 16v48h-192v-160h256zM432 152c13.25 0 24 10.75 24 24
+c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
+ <glyph glyph-name="camera" unicode="&#xf030;"
+d="M512 304v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h88l12.2998 32.9004c7 18.6992 24.9004 31.0996 44.9004 31.0996h125.5c20 0 37.8994 -12.4004 44.8994 -31.0996l12.4004 -32.9004h88c26.5 0 48 -21.5 48 -48zM376 160
+c0 66.2002 -53.7998 120 -120 120s-120 -53.7998 -120 -120s53.7998 -120 120 -120s120 53.7998 120 120zM344 160c0 -48.5 -39.5 -88 -88 -88s-88 39.5 -88 88s39.5 88 88 88s88 -39.5 88 -88z" />
+ <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="448"
+d="M432 32c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-136c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h23.4004l-26.6006 80.7998h-138.2l-26.5996 -80.7998h24c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-136
+c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h26.7002l129.8 373.3c2.2002 6.40039 8.2998 10.7002 15.0996 10.7002h72.8008c6.7998 0 12.8994 -4.2998 15.0996 -10.7002l129.8 -373.3h26.7002zM174.4 179.7h98.5996l-41.2998 124
+c-4.7998 15.2002 -6.90039 28.2002 -7.7002 34.7002c-1 -6.40039 -3.2998 -19.4004 -7.59961 -34.6006z" />
+ <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="384"
+d="M304.793 204.109c44.6338 -14.4395 71.207 -53.9551 71.207 -106.123c0 -60.6338 -38.4805 -107.18 -89.4443 -122.402c-22.0312 -6.29492 -42.6631 -7.58398 -66.8652 -7.58398h-195.69c-8.83691 0 -16 7.16309 -16 16v32.4209c0 8.83691 7.16309 16 16 16h33.1133
+v318.53h-33.1133c-8.83691 0 -16 7.16309 -16 16v33.0488c0 8.83691 7.16309 16 16 16h185.661c31.1875 0 55.4766 -2.00977 80.1631 -12.0186c42.376 -16.5537 68.626 -55.9434 68.626 -104.18c0 -41.5332 -20.0186 -77.1553 -53.6572 -95.6924zM142.217 347.191v-112.953
+h76.8467c32.709 0 53.0283 21.7607 53.0283 56.79c0 22.9434 -9.07812 40.9668 -24.9062 49.4453c-9.98828 4.69824 -21.2305 6.71777 -37.5244 6.71777h-67.4443zM254.859 41.7158c21.1221 8.80078 34.7822 32.8594 34.7812 61.2842
+c0 37.6768 -23.4121 63.0566 -63.0566 63.0566h-84.3672v-129.248h81.2334c8.73145 0 21.2686 0.851562 31.4092 4.90723z" />
+ <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="320"
+d="M204.758 32c10.0664 0 17.6309 -9.18457 15.7041 -19.0654l-6.24512 -32c-1.39355 -7.13965 -8.42871 -12.9346 -15.7031 -12.9346h-0.000976562h-158.479c-10.0674 0 -17.6318 9.18457 -15.7051 19.0654l6.24512 32c1.39355 7.13965 8.42871 12.9346 15.7031 12.9346
+h0.000976562h39.4707l62.0898 320h-33.8457c-10.0664 0 -17.6309 9.18359 -15.7041 19.0635l6.24219 32c1.39258 7.14062 8.42773 12.9365 15.7041 12.9365h159.732c10.0664 0 17.6309 -9.18359 15.7041 -19.0635l-6.24219 -32
+c-1.39258 -7.14062 -8.42773 -12.9365 -15.7041 -12.9365h-40.7246l-62.0918 -320h33.8486z" />
+ <glyph glyph-name="text-height" unicode="&#xf034;" horiz-adv-x="576"
+d="M16 416h288c8.83691 0 16 -7.16309 16 -16v-96c0 -8.83691 -7.16309 -16 -16 -16h-35.4961c-8.83691 0 -16 7.16309 -16 16v48h-54.7607v-320h34.2568c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-144c-8.83691 0 -16 7.16309 -16 16v32
+c0 8.83691 7.16309 16 16 16h34.2568v320h-54.7607v-48c0 -8.83691 -7.16309 -16 -16 -16h-35.4961c-8.83691 0 -16 7.16309 -16 16v96c0 8.83691 7.16309 16 16 16zM491.308 411.315l79.9951 -80.001c10.0059 -10.0078 2.99414 -27.3145 -11.3125 -27.3145h-47.9902v-224
+h48c15.6387 0 20.6348 -17.9912 11.3135 -27.3145l-79.9951 -80.001c-6.24707 -6.24609 -16.3818 -6.24414 -22.626 0l-79.9951 80.001c-10.0059 10.0078 -2.99414 27.3145 11.3125 27.3145h47.9902v224h-48c-15.6387 0 -20.6348 17.9912 -11.3135 27.3145l79.9951 80.001
+c6.24707 6.24805 16.3818 6.24414 22.626 0z" />
+ <glyph glyph-name="text-width" unicode="&#xf035;" horiz-adv-x="448"
+d="M16 416h416c8.83691 0 16 -7.16309 16 -16v-96c0 -8.83691 -7.16309 -16 -16 -16h-35.4961c-8.83691 0 -16 7.16309 -16 16v48h-118.761v-128h34.2568c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-144c-8.83691 0 -16 7.16309 -16 16v32
+c0 8.83691 7.16309 16 16 16h34.2568v128h-118.761v-48c0 -8.83691 -7.16309 -16 -16 -16h-35.4961c-8.83691 0 -16 7.16309 -16 16v96c0 8.83691 7.16309 16 16 16zM443.315 75.3184c6.24805 -6.24707 6.24414 -16.3818 0 -22.626l-80.001 -79.9951
+c-10.0078 -10.0059 -27.3145 -2.99414 -27.3145 11.3125v47.9902h-224v-48c0 -15.6377 -17.9912 -20.6348 -27.3145 -11.3135l-80.001 79.9951c-6.24609 6.24707 -6.24414 16.3818 0 22.626l80.001 79.9951c10.0078 10.0059 27.3145 2.99414 27.3145 -11.3125v-47.9902h224
+v48c0 15.6377 17.9912 20.6348 27.3145 11.3135z" />
+ <glyph glyph-name="align-left" unicode="&#xf036;" horiz-adv-x="448"
+d="M288 404v-40c0 -8.83691 -7.16309 -16 -16 -16h-256c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h256c8.83691 0 16 -7.16309 16 -16zM0 276c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416
+c-8.83691 0 -16 7.16309 -16 16v40zM16 -36c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM272 164c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-256
+c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h256z" />
+ <glyph glyph-name="align-center" unicode="&#xf037;" horiz-adv-x="448"
+d="M352 404v-40c0 -8.83691 -7.16309 -16 -16 -16h-224c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h224c8.83691 0 16 -7.16309 16 -16zM16 220c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 -36c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM336 164c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16
+h-224c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h224z" />
+ <glyph glyph-name="align-right" unicode="&#xf038;" horiz-adv-x="448"
+d="M160 364v40c0 8.83691 7.16309 16 16 16h256c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-256c-8.83691 0 -16 7.16309 -16 16zM16 220c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 -36c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM176 92c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h256
+c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-256z" />
+ <glyph glyph-name="align-justify" unicode="&#xf039;" horiz-adv-x="448"
+d="M0 364v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416c-8.83691 0 -16 7.16309 -16 16zM16 220c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 -36c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 92c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416
+c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416z" />
+ <glyph glyph-name="list" unicode="&#xf03a;"
+d="M128 332v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352c-8.83691 0 -16 7.16309 -16 16zM144 156c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-352zM144 -4c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352zM16 304c-8.83691 0 -16 7.16309 -16 16v64c0 8.83691 7.16309 16 16 16h64
+c8.83691 0 16 -7.16309 16 -16v-64c0 -8.83691 -7.16309 -16 -16 -16h-64zM16 144c-8.83691 0 -16 7.16309 -16 16v64c0 8.83691 7.16309 16 16 16h64c8.83691 0 16 -7.16309 16 -16v-64c0 -8.83691 -7.16309 -16 -16 -16h-64zM16 -16c-8.83691 0 -16 7.16309 -16 16v64
+c0 8.83691 7.16309 16 16 16h64c8.83691 0 16 -7.16309 16 -16v-64c0 -8.83691 -7.16309 -16 -16 -16h-64z" />
+ <glyph glyph-name="outdent" unicode="&#xf03b;" horiz-adv-x="448"
+d="M0 364v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416c-8.83691 0 -16 7.16309 -16 16zM208 220c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h224c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-224zM16 -36c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM208 92c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h224
+c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-224zM4.68652 180.687c-6.24805 6.24805 -6.24805 16.3789 0 22.627l96 95.9912c9.98828 9.99121 27.3135 3.0166 27.3135 -11.3125v-191.977c0 -14.2393 -17.2656 -21.3633 -27.3135 -11.3125z" />
+ <glyph glyph-name="indent" unicode="&#xf03c;" horiz-adv-x="448"
+d="M0 364v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416c-8.83691 0 -16 7.16309 -16 16zM176 220c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h256c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-256zM16 -36c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM176 92c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h256
+c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-256zM123.313 203.313c6.24805 -6.24805 6.24805 -16.3789 0 -22.625l-96 -95.9922c-9.98828 -9.99121 -27.3135 -3.0166 -27.3135 11.3125v191.976c0 14.2393 17.2656 21.3633 27.3135 11.3125z" />
+ <glyph glyph-name="video" unicode="&#xf03d;" horiz-adv-x="576"
+d="M336.2 384c26.3994 0 47.7998 -21.4004 47.7998 -47.7998v-288.4c0 -26.3994 -21.4004 -47.7998 -47.7998 -47.7998h-288.4c-26.3994 0 -47.7998 21.4004 -47.7998 47.7998v288.4c0 26.3994 21.4004 47.7998 47.7998 47.7998h288.4zM525.6 346.3
+c21.3008 14.6006 50.4004 -0.399414 50.4004 -25.7998v-256.9c0 -25.5 -29.2002 -40.3994 -50.4004 -25.7998l-109.6 75.5v157.4z" />
+ <glyph glyph-name="image" unicode="&#xf03e;"
+d="M464 0h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48zM112 328c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56s56 25.0723 56 56s-25.0723 56 -56 56zM64 64h384
+v112l-87.5146 87.5146c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-135.514 -135.515l-55.5146 55.5146c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-71.5137 -71.5146v-48z" />
+ <glyph glyph-name="map-marker" unicode="&#xf041;" horiz-adv-x="384"
+d="M172.268 -53.6699c-145.298 210.639 -172.268 232.257 -172.268 309.67c0 106.039 85.9609 192 192 192s192 -85.9609 192 -192c0 -77.4131 -26.9697 -99.0312 -172.268 -309.67c-9.53516 -13.7744 -29.9307 -13.7734 -39.4648 0z" />
+ <glyph glyph-name="adjust" unicode="&#xf042;"
+d="M8 192c0 136.967 111.034 248 248 248s248 -111.034 248 -248s-111.033 -248 -248 -248s-248 111.034 -248 248zM256 8c101.689 0 184 82.2949 184 184c0 101.689 -82.2949 184 -184 184v-368z" />
+ <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="352"
+d="M205.22 425.91c46.9902 -158.48 146.78 -200.07 146.78 -311.82c0 -98.4395 -78.7197 -178.09 -176 -178.09s-176 79.6504 -176 178.09c0 111.19 100.01 154.061 146.78 311.82c9 30.1201 50.5 28.7803 58.4395 0zM176 0c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16
+c-44.1104 0 -80 35.8896 -80 80c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16c0 -61.75 50.25 -112 112 -112z" />
+ <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="575"
+d="M402.6 364.8l90.2002 -90.2002c3.7998 -3.7998 3.7998 -10 0 -13.7998l-218.399 -218.399l-92.8008 -10.3008c-12.3994 -1.39941 -22.8994 9.10059 -21.5 21.5l10.3008 92.8008l218.399 218.399c3.7998 3.7998 10 3.7998 13.7998 0zM564.6 387.7
+c15.2002 -15.2002 15.2002 -39.9004 0 -55.2002l-35.3994 -35.4004c-3.7998 -3.7998 -10 -3.7998 -13.7998 0l-90.2002 90.2002c-3.7998 3.7998 -3.7998 10 0 13.7998l35.3994 35.4004c15.3008 15.2002 40 15.2002 55.2002 0zM384 101.8c0 3.2002 1.2998 6.2002 3.5 8.5
+l40 40c7.59961 7.5 20.5 2.2002 20.5 -8.5v-157.8c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h285.8c10.7002 0 16.1006 -12.9004 8.5 -20.5l-40 -40c-2.2998 -2.2002 -5.2998 -3.5 -8.5 -3.5h-229.8v-320h320v101.8z" />
+ <glyph glyph-name="step-backward" unicode="&#xf048;" horiz-adv-x="448"
+d="M64 -20v424c0 6.59961 5.40039 12 12 12h48c6.59961 0 12 -5.40039 12 -12v-176.4l195.5 181c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-384c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996l-195.5 179.899v-175.3c0 -6.59961 -5.40039 -12 -12 -12h-48
+c-6.59961 0 -12 5.40039 -12 12z" />
+ <glyph glyph-name="fast-backward" unicode="&#xf049;"
+d="M0 12v360c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-151.9l171.5 156.5c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-131.9l171.5 156.5c20.5996 17.1006 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996
+l-171.5 155.3v-130.7c0 -27.4004 -31.9004 -41.7002 -52.5 -24.5996l-171.5 155.3v-150.7c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12z" />
+ <glyph glyph-name="backward" unicode="&#xf04a;"
+d="M11.5 167.4c-15.2998 12.7998 -15.2998 36.3994 0 49.1992l192 160c20.5996 17.2002 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7998 -52.5 -24.5996zM267.5 167.4c-15.2998 12.7998 -15.2998 36.3994 0 49.1992l192 160
+c20.5996 17.2002 52.5 2.80078 52.5 -24.5996v-320c0 -27.4004 -31.9004 -41.7998 -52.5 -24.5996z" />
+ <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="447"
+d="M424.4 233.3c31.5 -18.5 31.3994 -64.0996 0 -82.5996l-352 -208c-31.7002 -18.7998 -72.4004 3.7998 -72.4004 41.2998v416.1c0 41.8008 43.7998 58.2002 72.4004 41.3008z" />
+ <glyph glyph-name="pause" unicode="&#xf04c;" horiz-adv-x="448"
+d="M144 -31h-96c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48zM448 17c0 -26.5 -21.5 -48 -48 -48h-96c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48 -21.5 48 -48v-352z" />
+ <glyph glyph-name="stop" unicode="&#xf04d;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352z" />
+ <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="511"
+d="M500.5 216.6c15.2998 -12.7998 15.2998 -36.3994 0 -49.1992l-192 -160c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320c0 27.4004 31.9004 41.7002 52.5 24.5996zM244.5 216.6c15.2998 -12.7998 15.2998 -36.3994 0 -49.1992l-192 -160
+c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320c0 27.4004 31.9004 41.7002 52.5 24.5996z" />
+ <glyph glyph-name="fast-forward" unicode="&#xf050;"
+d="M512 372v-360c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v151.9l-171.5 -156.5c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v131.9l-171.5 -156.5c-20.5996 -17.2002 -52.5 -2.80078 -52.5 24.5996v320
+c0 27.4004 31.9004 41.7002 52.5 24.5996l171.5 -155.399v130.8c0 27.4004 31.9004 41.7002 52.5 24.5996l171.5 -155.399v150.8c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12z" />
+ <glyph glyph-name="step-forward" unicode="&#xf051;" horiz-adv-x="448"
+d="M384 404v-424c0 -6.59961 -5.40039 -12 -12 -12h-48c-6.59961 0 -12 5.40039 -12 12v176.4l-195.5 -181c-20.5996 -17.1006 -52.5 -2.80078 -52.5 24.5996v384c0 27.4004 31.9004 41.7002 52.5 24.5996l195.5 -179.899v175.3c0 6.59961 5.40039 12 12 12h48
+c6.59961 0 12 -5.40039 12 -12z" />
+ <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="448"
+d="M448 64v-64c0 -17.6729 -14.3271 -32 -32 -32h-384c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h384c17.6729 0 32 -14.3271 32 -32zM48.0527 128c-41.7285 0 -63.5273 49.7324 -35.3828 80.4346l175.946 192.008
+c19.0156 20.7432 51.7529 20.7422 70.7666 0l175.939 -192.008c28.1973 -30.7607 6.26758 -80.4346 -35.3828 -80.4346h-351.887z" />
+ <glyph glyph-name="chevron-left" unicode="&#xf053;" horiz-adv-x="320"
+d="M34.5195 208.97l194.351 194.34c9.37012 9.37012 24.5703 9.37012 33.9395 0l22.6709 -22.6699c9.35938 -9.35938 9.36914 -24.5195 0.0390625 -33.8994l-154.029 -154.74l154.02 -154.75c9.33984 -9.37988 9.32031 -24.54 -0.0400391 -33.9004l-22.6699 -22.6699
+c-9.37012 -9.37012 -24.5693 -9.37012 -33.9395 0l-194.341 194.351c-9.36914 9.37012 -9.36914 24.5693 0 33.9395z" />
+ <glyph glyph-name="chevron-right" unicode="&#xf054;" horiz-adv-x="319"
+d="M285.476 175.029l-194.344 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9404 0l-22.667 22.667c-9.35742 9.35742 -9.375 24.5225 -0.0400391 33.9014l154.021 154.746l-154.021 154.745c-9.33496 9.37891 -9.31738 24.5439 0.0400391 33.9014l22.667 22.667
+c9.37305 9.37207 24.5684 9.37207 33.9404 0l194.343 -194.344c9.37305 -9.37207 9.37305 -24.5674 0.000976562 -33.9404z" />
+ <glyph glyph-name="plus-circle" unicode="&#xf055;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM400 164v56c0 6.59961 -5.40039 12 -12 12h-92v92c0 6.59961 -5.40039 12 -12 12h-56c-6.59961 0 -12 -5.40039 -12 -12v-92h-92c-6.59961 0 -12 -5.40039 -12 -12v-56
+c0 -6.59961 5.40039 -12 12 -12h92v-92c0 -6.59961 5.40039 -12 12 -12h56c6.59961 0 12 5.40039 12 12v92h92c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="minus-circle" unicode="&#xf056;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM124 152h264c6.59961 0 12 5.40039 12 12v56c0 6.59961 -5.40039 12 -12 12h-264c-6.59961 0 -12 -5.40039 -12 -12v-56c0 -6.59961 5.40039 -12 12 -12z" />
+ <glyph glyph-name="times-circle" unicode="&#xf057;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM377.6 126.9l-65.5996 65.0996l65.7002 65c4.7002 4.7002 4.7002 12.2998 0 17l-39.6006 39.5996c-4.69922 4.7002 -12.2998 4.7002 -17 0l-65.0996 -65.5996l-65 65.7002
+c-4.7002 4.7002 -12.2998 4.7002 -17 0l-39.5996 -39.6006c-4.7002 -4.69922 -4.7002 -12.2998 0 -17l65.5996 -65.0996l-65.5996 -65c-4.7002 -4.7002 -4.7002 -12.2998 0 -17l39.5 -39.5996c4.69922 -4.7002 12.2998 -4.7002 17 0l65.0996 65.5996l65 -65.5996
+c4.7002 -4.7002 12.2998 -4.7002 17 0l39.5996 39.5c4.7002 4.69922 4.7002 12.2998 0 17z" />
+ <glyph glyph-name="check-circle" unicode="&#xf058;"
+d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM227.314 60.6855l184 184c6.24707 6.24805 6.24707 16.3799 0 22.6279l-22.6279 22.627c-6.24707 6.24902 -16.3789 6.24902 -22.6279 0
+l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24805 -16.3799 6.24805 -22.6279 0l-22.6279 -22.627c-6.24707 -6.24805 -6.24707 -16.3799 0 -22.6279l104 -104c6.24902 -6.24805 16.3799 -6.24805 22.6289 -0.000976562z" />
+ <glyph glyph-name="question-circle" unicode="&#xf059;"
+d="M504 192c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248s248 -111.083 248 -248zM262.655 358c-54.4971 0 -89.2549 -22.957 -116.549 -63.7578c-3.53613 -5.28613 -2.35352 -12.415 2.71484 -16.2578l34.6982 -26.3105
+c5.20508 -3.94727 12.6211 -3.00781 16.665 2.12207c17.8643 22.6582 30.1133 35.7969 57.3037 35.7969c20.4287 0 45.6973 -13.1475 45.6973 -32.958c0 -14.9756 -12.3623 -22.667 -32.5332 -33.9756c-23.5244 -13.1875 -54.6523 -29.6006 -54.6523 -70.6592v-4
+c0 -6.62695 5.37305 -12 12 -12h56c6.62695 0 12 5.37305 12 12v1.33301c0 28.4619 83.1855 29.6475 83.1855 106.667c0 58.002 -60.1641 102 -116.53 102zM256 110c-25.3652 0 -46 -20.6348 -46 -46c0 -25.3643 20.6348 -46 46 -46s46 20.6357 46 46
+c0 25.3652 -20.6348 46 -46 46z" />
+ <glyph glyph-name="info-circle" unicode="&#xf05a;"
+d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 330c-23.1963 0 -42 -18.8037 -42 -42s18.8037 -42 42 -42s42 18.8037 42 42s-18.8037 42 -42 42zM312 76v24
+c0 6.62695 -5.37305 12 -12 12h-12v100c0 6.62695 -5.37305 12 -12 12h-64c-6.62695 0 -12 -5.37305 -12 -12v-24c0 -6.62695 5.37305 -12 12 -12h12v-64h-12c-6.62695 0 -12 -5.37305 -12 -12v-24c0 -6.62695 5.37305 -12 12 -12h88c6.62695 0 12 5.37305 12 12z" />
+ <glyph glyph-name="crosshairs" unicode="&#xf05b;"
+d="M500 224c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-30.3643c-13.9121 -93.6748 -87.9609 -167.724 -181.636 -181.636v-30.3643c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v30.3643
+c-93.6748 13.9121 -167.724 87.9609 -181.636 181.636h-30.3643c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h30.3643c13.9121 93.6748 87.9609 167.724 181.636 181.636v30.3643c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-30.3643
+c93.6748 -13.9121 167.724 -87.9609 181.636 -181.636h30.3643zM288 43.3662c58.2432 12.417 104.232 58.46 116.634 116.634h-40.6338c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40.6338c-12.417 58.2432 -58.46 104.232 -116.634 116.634v-40.6338
+c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40.6338c-58.2432 -12.417 -104.232 -58.46 -116.634 -116.634h40.6338c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40.6338
+c12.417 -58.2432 58.46 -104.232 116.634 -116.634v40.6338c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40.6338zM288 192c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" />
+ <glyph glyph-name="ban" unicode="&#xf05e;"
+d="M256 440c136.967 0 248 -111.034 248 -248s-111.034 -248 -248 -248s-248 111.033 -248 248s111.034 248 248 248zM386.108 322.108c-65.4121 65.4102 -165.435 70.0312 -235.639 20.6758l256.315 -256.313c49.3232 70.1562 44.7705 170.189 -20.6768 235.638z
+M125.892 61.8916c65.4121 -65.4111 165.436 -70.0312 235.639 -20.6758l-256.315 256.313c-49.3232 -70.1562 -44.7705 -170.189 20.6768 -235.638z" />
+ <glyph glyph-name="arrow-left" unicode="&#xf060;" horiz-adv-x="448"
+d="M257.5 2.90039l-22.2002 -22.2002c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-194.4 194.3c-9.40039 9.40039 -9.40039 24.5996 0 33.9004l194.4 194.399c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.2002 -22.2002c9.5 -9.5 9.2998 -25 -0.400391 -34.2998
+l-120.5 -114.8h287.4c13.2998 0 24 -10.7002 24 -24v-32c0 -13.2998 -10.7002 -24 -24 -24h-287.4l120.5 -114.8c9.80078 -9.2998 10 -24.7998 0.400391 -34.2998z" />
+ <glyph glyph-name="arrow-right" unicode="&#xf061;" horiz-adv-x="448"
+d="M190.5 381.1l22.2002 22.2002c9.39941 9.40039 24.5996 9.40039 33.8994 0l194.4 -194.3c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-194.4 -194.399c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.2002 22.2002c-9.5 9.5 -9.2998 25 0.400391 34.2998
+l120.5 114.8h-287.4c-13.2998 0 -24 10.7002 -24 24v32c0 13.2998 10.7002 24 24 24h287.4l-120.5 114.8c-9.80078 9.2998 -10 24.7998 -0.400391 34.2998z" />
+ <glyph glyph-name="arrow-up" unicode="&#xf062;" horiz-adv-x="447"
+d="M34.9004 158.5l-22.2002 22.2002c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l194.3 194.4c9.40039 9.40039 24.5996 9.40039 33.9004 0l194.3 -194.3c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-22.2002 -22.2002c-9.5 -9.5 -25 -9.2998 -34.2998 0.400391
+l-114.7 120.4v-287.4c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v287.4l-114.8 -120.5c-9.2998 -9.80078 -24.7998 -10 -34.2998 -0.400391z" />
+ <glyph glyph-name="arrow-down" unicode="&#xf063;" horiz-adv-x="448"
+d="M413.1 225.5l22.2002 -22.2002c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-194.3 -194.4c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-194.399 194.4c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.2002 22.2002c9.5 9.5 25 9.2998 34.2998 -0.400391
+l114.8 -120.5v287.4c0 13.2998 10.7002 24 24 24h32c13.2998 0 24 -10.7002 24 -24v-287.4l114.8 120.5c9.2998 9.80078 24.7998 10 34.2998 0.400391z" />
+ <glyph glyph-name="share" unicode="&#xf064;"
+d="M503.691 258.164c11.0859 -9.5752 11.0703 -26.7656 0 -36.3281l-176.005 -152c-15.3867 -13.2891 -39.6865 -2.53613 -39.6865 18.1641v87.915c-155.083 -2.23145 -221.934 -40.7295 -176.59 -185.742c5.03418 -16.0977 -14.4238 -28.5615 -28.0771 -18.6309
+c-43.752 31.8232 -83.333 92.6914 -83.333 154.132c0 152.227 127.371 184.419 288 186.258v80.0537c0 20.668 24.2812 31.4688 39.6865 18.1641z" />
+ <glyph glyph-name="expand" unicode="&#xf065;" horiz-adv-x="448"
+d="M0 268v124c0 13.2998 10.7002 24 24 24h124c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84v-84c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM288 404c0 6.59961 5.40039 12 12 12h124c13.2998 0 24 -10.7002 24 -24
+v-124c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v84h-84c-6.59961 0 -12 5.40039 -12 12v40zM436 128c6.59961 0 12 -5.40039 12 -12v-124c0 -13.2998 -10.7002 -24 -24 -24h-124c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84
+v84c0 6.59961 5.40039 12 12 12h40zM160 -20c0 -6.59961 -5.40039 -12 -12 -12h-124c-13.2998 0 -24 10.7002 -24 24v124c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-84h84c6.59961 0 12 -5.40039 12 -12v-40z" />
+ <glyph glyph-name="compress" unicode="&#xf066;" horiz-adv-x="448"
+d="M436 256h-124c-13.2998 0 -24 10.7002 -24 24v124c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-84h84c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM160 280c0 -13.2998 -10.7002 -24 -24 -24h-124
+c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84v84c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-124zM160 -20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v84h-84c-6.59961 0 -12 5.40039 -12 12v40
+c0 6.59961 5.40039 12 12 12h124c13.2998 0 24 -10.7002 24 -24v-124zM352 -20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v124c0 13.2998 10.7002 24 24 24h124c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84v-84z" />
+ <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="448"
+d="M416 240c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-144v-144c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v144h-144c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h144v144
+c0 17.6699 14.3301 32 32 32h32c17.6699 0 32 -14.3301 32 -32v-144h144z" />
+ <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="448"
+d="M416 240c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384z" />
+ <glyph glyph-name="asterisk" unicode="&#xf069;"
+d="M478.21 113.907c11.7949 -6.47754 15.96 -21.3828 9.23242 -33.0361l-19.4805 -33.7412c-6.72754 -11.6533 -21.7207 -15.499 -33.2266 -8.52246l-138.735 84.1104l3.47559 -162.204c0.288086 -13.4531 -10.5391 -24.5137 -23.9941 -24.5137h-38.9619
+c-13.4551 0 -24.2822 11.0605 -23.9941 24.5137l3.47461 162.204l-138.735 -84.1113c-11.5059 -6.97656 -26.499 -3.13086 -33.2266 8.52246l-19.4805 33.7412c-6.72852 11.6533 -2.5625 26.5596 9.23242 33.0371l142.21 78.0928l-142.209 78.0918
+c-11.7949 6.47754 -15.9609 21.3838 -9.2334 33.0371l19.4805 33.7412c6.72754 11.6533 21.7207 15.499 33.2266 8.52246l138.735 -84.1104l-3.47363 162.204c-0.289062 13.4531 10.5381 24.5137 23.9932 24.5137h38.9609c13.4561 0 24.2822 -11.0605 23.9941 -24.5137
+l-3.47461 -162.204l138.735 84.1113c11.5068 6.97656 26.499 3.13086 33.2266 -8.52246l19.4805 -33.7412c6.72852 -11.6533 2.5625 -26.5596 -9.23242 -33.0371l-142.21 -78.0928z" />
+ <glyph glyph-name="exclamation-circle" unicode="&#xf06a;"
+d="M504 192c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248s248 -111.083 248 -248zM256 142c-25.4053 0 -46 -20.5947 -46 -46s20.5947 -46 46 -46s46 20.5947 46 46s-20.5947 46 -46 46zM212.327 307.346l7.41797 -136
+c0.34668 -6.36328 5.6084 -11.3457 11.9814 -11.3457h48.5469c6.37305 0 11.6348 4.98242 11.9814 11.3457l7.41797 136c0.375 6.87402 -5.09766 12.6543 -11.9814 12.6543h-63.3838c-6.88379 0 -12.3555 -5.78027 -11.9805 -12.6543z" />
+ <glyph glyph-name="gift" unicode="&#xf06b;"
+d="M32 0v128h192v-160h-160c-17.7002 0 -32 14.2998 -32 32zM288 -32v160h192v-128c0 -17.7002 -14.2998 -32 -32 -32h-160zM480 288c17.7002 0 32 -14.2998 32 -32v-80c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v80c0 17.7002 14.2998 32 32 32
+h44.0996c-6.2998 12.0996 -10.0996 25.5 -10.0996 40c0 48.5 39.5 88 88 88c41.5996 0 68.5 -21.2998 103 -68.2998c34.5 47 61.4004 68.2998 103 68.2998c48.5 0 88 -39.5 88 -88c0 -14.5 -3.90039 -27.9004 -10.0996 -40h42.0996zM153.9 288h86.0996
+c-51.5 76.7002 -66.2002 80 -86.0996 80c-22.1006 0 -40 -17.9004 -40 -40s17.8994 -40 40 -40zM360 288c22.0996 0 40 17.9004 40 40s-17.9004 40 -40 40c-20.4004 0 -34.7002 -3.5 -86.0996 -80h86.0996z" />
+ <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="576"
+d="M546.2 438.3c19 -42.3994 29.7998 -94.3994 29.7998 -144.6c0 -172.4 -110.5 -313.2 -267.5 -324.601c-80.9004 -8.59961 -142.5 33.3008 -174.9 77.2002c-51 -42.7002 -70.3994 -87 -71.8994 -90.5996c-6.7998 -16.2002 -25.4004 -24.1006 -41.7998 -17.2998
+c-16.3008 6.69922 -24.1006 25.2998 -17.5 41.5996c23.5996 57.9004 130.199 212 381.6 212c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16c-130.6 0 -222.7 -38.7998 -286.5 -84.5c-0.700195 6.7998 -1.5 13.5 -1.5 20.5c0 106 86 192 192 192h80
+c63.4004 0 118.9 33.5996 149.9 87.5c6.69922 11.7998 22.6992 11.2998 28.2998 -1.2002z" />
+ <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="384"
+d="M216 424.14c0 -103.14 168 -125.85 168 -296.14c0 -105.87 -86.1299 -192 -192 -192s-192 86.1299 -192 192c0 58.6699 27.7998 106.84 54.5703 134.96c14.96 15.7305 41.4297 5.2002 41.4297 -16.5v-85.5098c0 -35.1699 27.9805 -64.4902 63.1504 -64.9404
+c35.7393 -0.469727 64.8496 28.3604 64.8496 63.9902c0 88 -176 96.1504 -52.1504 277.18c13.5 19.7305 44.1504 10.7607 44.1504 -13.04z" />
+ <glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576"
+d="M572.52 206.6c1.9209 -3.79883 3.47949 -10.3379 3.47949 -14.5947s-1.55859 -10.7959 -3.47949 -14.5947c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947
+s1.55859 10.7959 3.47949 14.5947c54.1992 105.771 161.59 177.41 284.52 177.41s230.29 -71.5898 284.52 -177.4zM288 48h0.0703125c79.4492 0 143.93 64.4805 143.93 143.93v0.0703125c0 79.4883 -64.5117 144 -144 144s-144 -64.5117 -144 -144s64.5117 -144 144 -144z
+M288 288h0.225586c52.8701 0 95.7803 -42.9092 95.7803 -95.7793c0 -52.8711 -42.9102 -95.7803 -95.7803 -95.7803c-52.8711 0 -95.7803 42.9092 -95.7803 95.7803c0 7.04785 1.49805 18.2871 3.34473 25.0889c6.9834 -5.13867 19.6895 -9.30957 28.3604 -9.30957
+c26.4131 0 47.8496 21.4365 47.8496 47.8496c0 8.6709 -4.1709 21.377 -9.30957 28.3604c6.84375 1.99219 18.1826 3.69043 25.3096 3.79004z" />
+ <glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640"
+d="M320 48c7.24121 0.0673828 18.8896 1.23633 26 2.61035l51.8896 -40.1504c-25.0195 -6.45996 -50.9795 -10.46 -77.8896 -10.46c-122.93 0 -230.29 71.5898 -284.52 177.4c-1.9209 3.79883 -3.47949 10.3379 -3.47949 14.5947s1.55859 10.7959 3.47949 14.5947
+c10.2393 20 22.9297 38.29 36.7197 55.5898l104.899 -81.0693c5.65039 -74.4004 67.0508 -133.11 142.9 -133.11zM633.82 -10.0996c3.41309 -2.65234 6.18359 -8.3125 6.18359 -12.6357c0 -3.02734 -1.50684 -7.42383 -3.36426 -9.81445l-19.6396 -25.2705
+c-2.65234 -3.41211 -8.31152 -6.18262 -12.6338 -6.18262c-3.03125 0 -7.43359 1.51172 -9.82617 3.37305l-588.36 454.729c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309c0 3.0293 1.50879 7.42773 3.36816 9.81934l19.6299 25.2705
+c2.65234 3.41211 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51172 9.82617 -3.37305l127.22 -98.3301c38.0117 20.7578 104.011 37.6475 147.32 37.7002c122.93 0 230.29 -71.5898 284.52 -177.4c1.9209 -3.79883 3.47949 -10.3379 3.47949 -14.5947
+s-1.55859 -10.7959 -3.47949 -14.5947c-16.7666 -32.6758 -53.166 -78.4033 -81.25 -102.07zM450.1 131.9c8.61035 18.3203 13.9004 38.4697 13.9004 60.0996v0.0800781c0 79.4434 -64.4766 143.92 -143.92 143.92h-0.0800781
+c-28.4697 -0.0214844 -69.3047 -14.8545 -91.1504 -33.1104l73.6104 -56.8896c0.726562 2.71387 1.41602 7.19336 1.54004 10c-0.015625 8.62891 -4.18652 21.2666 -9.30957 28.21c7.17969 2.09668 19.0781 3.79785 26.5576 3.79785
+c52.3076 0 94.7598 -42.4521 94.7598 -94.7598c0 -0.344727 -0.00292969 -0.90332 -0.0078125 -1.24805c-0.112305 -8.43457 -2.44238 -21.749 -5.2002 -29.7197z" />
+ <glyph glyph-name="exclamation-triangle" unicode="&#xf071;" horiz-adv-x="576"
+d="M569.517 7.9873c18.458 -31.9941 -4.71094 -71.9873 -41.5762 -71.9873h-479.887c-36.9365 0 -59.999 40.0547 -41.5771 71.9873l239.946 416.027c18.4668 32.0098 64.7197 31.9512 83.1543 0zM288 94c-25.4053 0 -46 -20.5947 -46 -46s20.5947 -46 46 -46
+s46 20.5947 46 46s-20.5947 46 -46 46zM244.327 259.346l7.41797 -136c0.34668 -6.36328 5.6084 -11.3457 11.9814 -11.3457h48.5469c6.37305 0 11.6348 4.98242 11.9814 11.3457l7.41797 136c0.375 6.87402 -5.09766 12.6543 -11.9814 12.6543h-63.3838
+c-6.88379 0 -12.3555 -5.78027 -11.9805 -12.6543z" />
+ <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="576"
+d="M480 256c35.3496 0 96 -28.6504 96 -64s-60.6504 -64 -96 -64h-114.29l-105.11 -183.94c-2.84961 -4.97949 -8.14941 -8.05957 -13.8896 -8.05957h-65.5c-10.6299 0 -18.2998 10.1797 -15.3799 20.4004l49.0303 171.6h-102.86l-43.2002 -57.5996
+c-3.01953 -4.03027 -7.75977 -6.40039 -12.7998 -6.40039h-39.9902c-10.4102 0 -18.0498 9.78027 -15.5195 19.8799l31.5098 108.12l-31.5098 108.12c-2.53027 10.0996 5.10938 19.8799 15.5195 19.8799h39.9902c5.03027 0 9.78027 -2.37012 12.7998 -6.40039
+l43.2002 -57.5996h102.86l-49.0303 171.61c-2.91992 10.2197 4.75 20.3896 15.3799 20.3896h65.5h0.000976562c5.12598 0 11.3525 -3.61133 13.8994 -8.05957l105.1 -183.94h114.29z" />
+ <glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448"
+d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM320 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM320 52v-40
+c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM192 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40
+c-6.59961 0 -12 -5.40039 -12 -12zM192 52v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM64 180v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40
+c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM64 52v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12zM400 384c26.5 0 48 -21.5 48 -48v-48h-448v48
+c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" />
+ <glyph glyph-name="random" unicode="&#xf074;"
+d="M504.971 88.9707c9.37305 -9.37305 9.37305 -24.5684 0 -33.9404l-80 -79.9844c-15.0098 -15.0098 -40.9707 -4.49023 -40.9707 16.9707v39.9834h-58.7852c-2.87793 0 -6.80859 1.70801 -8.77246 3.81152l-70.5566 75.5967l53.333 57.1426l52.7812 -56.5508h32v39.9814
+c0 21.4375 25.9434 31.9971 40.9707 16.9707zM12 272c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h110.785h0.000976562c2.87793 0 6.80762 -1.70801 8.77148 -3.81152l70.5566 -75.5967l-53.333 -57.1426l-52.7812 56.5508h-84zM384 272h-32
+l-220.442 -236.188c-2.26953 -2.43066 -5.44629 -3.81152 -8.77246 -3.81152h-110.785c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h84l220.442 236.188c1.96387 2.10352 5.89453 3.81152 8.77246 3.81152h58.7852v39.9814
+c0 21.4365 25.9434 31.9971 40.9707 16.9697l80 -79.9814c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-80 -79.9844c-15.0098 -15.0088 -40.9707 -4.48926 -40.9707 16.9707v39.9844z" />
+ <glyph glyph-name="comment" unicode="&#xf075;"
+d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002
+c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208z" />
+ <glyph glyph-name="magnet" unicode="&#xf076;"
+d="M164.1 288h-152.1c-6.59961 0 -12 5.40039 -12 12v80c0 19.9004 16.0996 36 36 36h104c19.9004 0 36 -16.0996 36 -36v-80c0.0996094 -6.59961 -5.2998 -12 -11.9004 -12zM512.1 300c0 -6.59961 -5.39941 -12 -12 -11.9004h-152c-6.59961 0 -12 5.40039 -12 12v80
+c0 19.9004 16.1006 36 36 36h104c19.9004 0 36 -16.0996 36 -36v-80.0996zM348.1 256h151.9c6.7002 0 12 -5.40039 12 -12.0996c-0.200195 -20.2002 -0.599609 -40.4004 0 -53.2002c0 -150.7 -134.5 -246.7 -255.1 -246.7c-120.601 0 -256.801 96 -256.801 246.6
+c0.600586 13 0.100586 31.9004 0 53.3008c0 6.69922 5.30078 12.0996 12 12.0996h152c6.60059 0 12 -5.40039 12 -12v-52c0 -127.9 160 -128.1 160 0v52c0 6.59961 5.40039 12 12 12z" />
+ <glyph glyph-name="chevron-up" unicode="&#xf077;" horiz-adv-x="448"
+d="M240.971 317.476l194.344 -194.343c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-22.667 -22.667c-9.35742 -9.35742 -24.5225 -9.375 -33.9014 -0.0400391l-154.746 154.02l-154.745 -154.021c-9.37891 -9.33496 -24.5439 -9.31738 -33.9014 0.0400391
+l-22.667 22.667c-9.37207 9.37305 -9.37207 24.5684 0 33.9404l194.344 194.343c9.37207 9.37305 24.5674 9.37305 33.9404 0.000976562z" />
+ <glyph glyph-name="chevron-down" unicode="&#xf078;" horiz-adv-x="447"
+d="M207.029 66.5244l-194.344 194.344c-9.37207 9.37305 -9.37207 24.5684 0 33.9404l22.667 22.667c9.35742 9.35742 24.5225 9.375 33.9014 0.0400391l154.746 -154.021l154.745 154.021c9.37891 9.33496 24.5439 9.31738 33.9014 -0.0400391l22.667 -22.667
+c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-194.343 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9414 0z" />
+ <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="640"
+d="M629.657 104.402l-100.687 -100.687c-9.37305 -9.37207 -24.5674 -9.37207 -33.9404 0l-100.688 100.687c-9.37305 9.37305 -9.37305 24.5684 0 33.9404l10.8232 10.8232c9.56152 9.56152 25.1328 9.33984 34.4189 -0.492188l40.415 -42.792v182.118h-187.549
+c-5.4873 0 -13.0908 3.14941 -16.9707 7.0293l-16 16c-15.1191 15.1201 -4.41113 40.9707 16.9707 40.9707h243.549c13.2549 0 24 -10.7451 24 -24v-222.118l40.416 42.792c9.28516 9.83105 24.8564 10.0537 34.4189 0.492188l10.8232 -10.8232
+c9.37207 -9.37207 9.37207 -24.5684 -0.000976562 -33.9404zM364.519 88.9707l16.001 -16c15.1191 -15.1201 4.41113 -40.9707 -16.9707 -40.9707h-243.549c-13.2549 0 -24 10.7451 -24 24v222.119l-40.416 -42.793c-9.28613 -9.83105 -24.8574 -10.0527 -34.4189 -0.491211
+l-10.8223 10.8223c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l100.688 100.687c9.37207 9.37305 24.5674 9.37305 33.9404 0l100.687 -100.686c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-10.8223 -10.8223c-9.5625 -9.5625 -25.1328 -9.33984 -34.4189 0.491211
+l-40.416 42.792v-182.119h187.548h0.000976562c5.4873 0 13.0898 -3.14941 16.9697 -7.0293z" />
+ <glyph glyph-name="shopping-cart" unicode="&#xf07a;" horiz-adv-x="575"
+d="M528.12 146.681c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -30.9277 -25.0723 -56 -56 -56
+s-56 25.0723 -56 56c0 15.6738 6.44727 29.835 16.8232 40h-209.647c10.377 -10.165 16.8242 -24.3262 16.8242 -40c0 -30.9277 -25.0723 -56 -56 -56s-56 25.0723 -56 56c0 20.7783 11.3252 38.9004 28.1309 48.5654l-70.248 343.435h-69.8828
+c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2285 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782c15.4004 0 26.8154 -14.3008 23.4023 -29.3193z" />
+ <glyph glyph-name="folder" unicode="&#xf07b;"
+d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192z" />
+ <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576"
+d="M572.694 155.907l-72.4248 -124.155c-10.2236 -17.5273 -34.9883 -31.752 -55.2793 -31.752h-0.000976562h-399.964c-18.5234 0 -30.0645 20.0928 -20.7314 36.0928l72.4238 124.155c10.2246 17.5273 34.9902 31.752 55.2822 31.752v0h399.964
+c18.5234 0 30.0645 -20.0928 20.7305 -36.0928zM152 224c-34.0107 0 -65.7861 -18.25 -82.9229 -47.6279l-69.0771 -118.418v278.046c0 26.5098 21.4902 48 48 48h160l64 -64h160c26.5098 0 48 -21.4902 48 -48v-48h-328z" />
+ <glyph glyph-name="chart-bar" unicode="&#xf080;"
+d="M332.8 128c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM428.8 128
+c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM140.8 128
+c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM236.8 128
+c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h38.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-38.4004zM496 64c8.83984 0 16 -7.16016 16 -16v-32
+c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-304h432z" />
+ <glyph glyph-name="camera-retro" unicode="&#xf083;"
+d="M48 416h416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48zM48 384c-8.7998 0 -16 -7.2002 -16 -16v-10c0 -3.2998 2.7002 -6 6 -6h116c3.2998 0 6 2.7002 6 6v20c0 3.2998 -2.7002 6 -6 6h-106z
+M474 288c3.2998 0 6 2.7002 6 6v74c0 8.7998 -7.2002 16 -16 16h-252.8c-2 0 -3.90039 -1 -5 -2.7002l-30.2002 -45.2998h-138c-3.2998 0 -6 -2.7002 -6 -6v-36c0 -3.2998 2.7002 -6 6 -6h436zM256 24c66.2002 0 120 53.7998 120 120s-53.7998 120 -120 120
+s-120 -53.7998 -120 -120s53.7998 -120 120 -120zM256 232c48.5 0 88 -39.5 88 -88s-39.5 -88 -88 -88s-88 39.5 -88 88s39.5 88 88 88zM208 128c8.7998 0 16 7.2002 16 16c0 17.5996 14.4004 32 32 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16
+c-35.2998 0 -64 -28.7002 -64 -64c0 -8.7998 7.2002 -16 16 -16z" />
+ <glyph glyph-name="key" unicode="&#xf084;"
+d="M512 271.999c0 -97.2021 -78.7979 -175.999 -176 -175.999c-11.2197 0 -22.1904 1.06152 -32.8271 3.06934l-24.0117 -27.0146c-3.95215 -4.44629 -11.9883 -8.05469 -17.9375 -8.05469h-0.000976562h-37.2227v-40c0 -13.2549 -10.7451 -24 -24 -24h-40v-40
+c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v78.0586c0 6.36523 2.5293 12.4707 7.0293 16.9717l161.802 161.802c-5.72266 17.3535 -8.83105 35.8965 -8.83105 55.168c0 97.2021 78.7969 175.999 175.999 176
+c97.4893 0.000976562 176.001 -78.5107 176.001 -176.001zM336 320c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48z" />
+ <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="639"
+d="M512.1 257l-8.19922 -14.2998c-3 -5.2998 -9.40039 -7.5 -15.1006 -5.40039c-11.7998 4.40039 -22.5996 10.7002 -32.0996 18.6006c-4.60059 3.7998 -5.7998 10.5 -2.7998 15.6992l8.19922 14.3008c-6.89941 8 -12.2998 17.2998 -15.8994 27.3994h-16.5
+c-6 0 -11.2002 4.2998 -12.2002 10.2998c-2 12 -2.09961 24.6006 0 37.1006c1 6 6.2002 10.3994 12.2002 10.3994h16.5c3.59961 10.1006 9 19.4004 15.8994 27.4004l-8.19922 14.2998c-3 5.2002 -1.90039 11.9004 2.7998 15.7002
+c9.5 7.90039 20.3994 14.2002 32.0996 18.5996c5.7002 2.10059 12.1006 -0.0996094 15.1006 -5.39941l8.19922 -14.2998c10.5 1.89941 21.2002 1.89941 31.7002 0l8.2002 14.2998c3 5.2998 9.40039 7.5 15.0996 5.39941c11.8008 -4.39941 22.6006 -10.6992 32.1006 -18.5996
+c4.59961 -3.7998 5.7998 -10.5 2.7998 -15.7002l-8.2002 -14.2998c6.90039 -8 12.2998 -17.2998 15.9004 -27.4004h16.5c6 0 11.2002 -4.2998 12.2002 -10.2998c2 -12 2.09961 -24.5996 0 -37.0996c-1 -6 -6.2002 -10.4004 -12.2002 -10.4004h-16.5
+c-3.60059 -10.0996 -9 -19.3994 -15.9004 -27.3994l8.2002 -14.3008c3 -5.19922 1.90039 -11.8994 -2.7998 -15.6992c-9.5 -7.90039 -20.4004 -14.2002 -32.1006 -18.6006c-5.69922 -2.09961 -12.0996 0.100586 -15.0996 5.40039l-8.2002 14.2998
+c-10.3994 -1.90039 -21.2002 -1.90039 -31.7002 0zM501.6 315.8c38.5 -29.5996 82.4004 14.2998 52.8008 52.7998c-38.5 29.7002 -82.4004 -14.2998 -52.8008 -52.7998zM386.3 161.9l33.7002 -16.8008c10.0996 -5.7998 14.5 -18.0996 10.5 -29.0996
+c-8.90039 -24.2002 -26.4004 -46.4004 -42.5996 -65.7998c-7.40039 -8.90039 -20.2002 -11.1006 -30.3008 -5.2998l-29.0996 16.7998c-16 -13.7002 -34.5996 -24.6006 -54.9004 -31.7002v-33.5996c0 -11.6006 -8.2998 -21.6006 -19.6992 -23.6006
+c-24.6006 -4.2002 -50.4004 -4.39941 -75.9004 0c-11.5 2 -20 11.9004 -20 23.6006v33.5996c-20.2998 7.2002 -38.9004 18 -54.9004 31.7002l-29.0996 -16.7002c-10 -5.7998 -22.9004 -3.59961 -30.2998 5.2998c-16.2002 19.4004 -33.2998 41.6006 -42.2002 65.7002
+c-4 10.9004 0.400391 23.2002 10.5 29.0996l33.2998 16.8008c-3.89941 20.8994 -3.89941 42.3994 0 63.3994l-33.2998 16.9004c-10.0996 5.7998 -14.5996 18.0996 -10.5 29c8.90039 24.2002 26 46.3994 42.2002 65.7998c7.39941 8.90039 20.2002 11.0996 30.2998 5.2998
+l29.0996 -16.7998c16 13.7002 34.6006 24.5996 54.9004 31.7002v33.7002c0 11.5 8.2002 21.5 19.5996 23.5c24.6006 4.19922 50.5 4.39941 76 0.0996094c11.5 -2 20 -11.9004 20 -23.5996v-33.6006c20.3008 -7.2002 38.9004 -18 54.9004 -31.7002l29.0996 16.8008
+c10 5.7998 22.9004 3.59961 30.3008 -5.30078c16.1992 -19.3994 33.1992 -41.5996 42.0996 -65.7998c4 -10.8994 0.0996094 -23.2002 -10 -29.0996l-33.7002 -16.7998c3.90039 -21 3.90039 -42.5 0 -63.5zM268.7 140.8c59.2002 77 -28.7002 164.9 -105.7 105.7
+c-59.2002 -77 28.7002 -164.9 105.7 -105.7zM512.1 -41.9004l-8.19922 -14.2998c-3 -5.2998 -9.40039 -7.5 -15.1006 -5.39941c-11.7998 4.39941 -22.5996 10.6992 -32.0996 18.5996c-4.60059 3.7998 -5.7998 10.5 -2.7998 15.7002l8.19922 14.2998
+c-6.89941 8 -12.2998 17.2998 -15.8994 27.4004h-16.5c-6 0 -11.2002 4.2998 -12.2002 10.2998c-2 12 -2.09961 24.5996 0 37.0996c1 6 6.2002 10.4004 12.2002 10.4004h16.5c3.59961 10.0996 9 19.3994 15.8994 27.3994l-8.19922 14.3008
+c-3 5.19922 -1.90039 11.8994 2.7998 15.6992c9.5 7.90039 20.3994 14.2002 32.0996 18.6006c5.7002 2.09961 12.1006 -0.100586 15.1006 -5.40039l8.19922 -14.2998c10.5 1.90039 21.2002 1.90039 31.7002 0l8.2002 14.2998c3 5.2998 9.40039 7.5 15.0996 5.40039
+c11.8008 -4.40039 22.6006 -10.7002 32.1006 -18.6006c4.59961 -3.7998 5.7998 -10.5 2.7998 -15.6992l-8.2002 -14.3008c6.90039 -8 12.2998 -17.2998 15.9004 -27.3994h16.5c6 0 11.2002 -4.2998 12.2002 -10.2998c2 -12 2.09961 -24.6006 0 -37.1006
+c-1 -6 -6.2002 -10.3994 -12.2002 -10.3994h-16.5c-3.60059 -10.1006 -9 -19.4004 -15.9004 -27.4004l8.2002 -14.2998c3 -5.2002 1.90039 -11.9004 -2.7998 -15.7002c-9.5 -7.90039 -20.4004 -14.2002 -32.1006 -18.5996
+c-5.69922 -2.10059 -12.0996 0.0996094 -15.0996 5.39941l-8.2002 14.2998c-10.3994 -1.89941 -21.2002 -1.89941 -31.7002 0zM501.6 17c38.5 -29.5996 82.4004 14.2998 52.8008 52.7998c-38.5 29.6006 -82.4004 -14.2998 -52.8008 -52.7998z" />
+ <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576"
+d="M416 256c0 -88.4004 -93.0996 -160 -208 -160c-41 0 -79.0996 9.2998 -111.3 25c-21.7998 -12.7002 -52.1006 -25 -88.7002 -25c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002c0.299805 0.299805 22.3994 24.2998 35.7998 54.5
+c-23.9004 26.0996 -38 57.7002 -38 92c0 88.4004 93.0996 160 208 160s208 -71.5996 208 -160zM538 36c13.4004 -30.2998 35.5 -54.2002 35.7998 -54.5c2.2002 -2.40039 2.7998 -5.7998 1.5 -8.7002c-1.2002 -2.89941 -4.09961 -4.7998 -7.2998 -4.7998
+c-36.5996 0 -66.9004 12.2998 -88.7002 25c-32.2002 -15.7998 -70.2998 -25 -111.3 -25c-86.2002 0 -160.2 40.4004 -191.7 97.9004c10.4004 -1.10059 20.9004 -1.90039 31.7002 -1.90039c132.3 0 240 86.0996 240 192c0 6.7998 -0.400391 13.5 -1.2998 20.0996
+c75.7998 -23.8994 129.3 -81.1992 129.3 -148.1c0 -34.2998 -14.0996 -66 -38 -92z" />
+ <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="308"
+d="M288 448v-439.6l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998z" />
+ <glyph glyph-name="thumbtack" unicode="&#xf08d;" horiz-adv-x="384"
+d="M298.028 233.733c47.9893 -22.3135 85.9717 -62.5508 85.9727 -113.733c0 -13.2549 -10.7451 -24 -24 -24h-136v-104.007c0 -1.04297 -0.378906 -2.64551 -0.844727 -3.57812l-24 -48c-2.94727 -5.89258 -11.3701 -5.88184 -14.3115 0l-24 48
+c-0.555664 1.11133 -0.844727 2.33594 -0.844727 3.57812v104.007h-136c-13.2549 0 -24 10.7451 -24 24c0 50.7393 37.4648 91.1797 85.9717 113.733l12.2354 118.267h-42.207c-13.2549 0 -24 10.7451 -24 24v48c0 13.2549 10.7451 24 24 24h272
+c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-42.207z" />
+ <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="576"
+d="M552 384c13.2998 0 24 -10.7002 24 -24v-56c0 -35.7002 -22.5996 -72.4004 -61.9004 -100.7c-31.3994 -22.7002 -69.6992 -37.0996 -110 -41.7002c-31.3994 -52.0996 -68.0996 -73.5996 -68.0996 -73.5996v-72h48c35.2998 0 64 -20.7002 64 -56v-12
+c0 -6.59961 -5.40039 -12 -12 -12h-296c-6.59961 0 -12 5.40039 -12 12v12c0 35.2998 28.7002 56 64 56h48v72s-36.7002 21.5 -68.0996 73.5996c-40.2002 4.60059 -78.5 19 -110 41.7002c-39.4004 28.2998 -61.9004 65 -61.9004 100.7v56c0 13.2998 10.7002 24 24 24h104v40
+c0 13.2998 10.7002 24 24 24h272c13.2998 0 24 -10.7002 24 -24v-40h104zM99.2998 255.2c12.5 -9 26.6006 -16.2002 41.7002 -21.4004c-7 25 -11.7998 53.6006 -12.7998 86.2002h-64.2002v-16c0 -11.5996 10.9004 -31.2002 35.2998 -48.7998zM512 304v16h-64.2998
+c-1 -32.5996 -5.7998 -61.2002 -12.7998 -86.2002c15.0996 5.2002 29.2998 12.4004 41.7998 21.4004c17.5996 12.7002 35.2998 32.7002 35.2998 48.7998z" />
+ <glyph glyph-name="upload" unicode="&#xf093;"
+d="M296 64h-80c-13.2998 0 -24 10.7002 -24 24v168h-87.7002c-17.7998 0 -26.7002 21.5 -14.0996 34.0996l152.1 152.2c7.5 7.5 19.7998 7.5 27.2998 0l152.2 -152.2c12.6006 -12.5996 3.7002 -34.0996 -14.0996 -34.0996h-87.7002v-168c0 -13.2998 -10.7002 -24 -24 -24z
+M512 72v-112c0 -13.2998 -10.7002 -24 -24 -24h-464c-13.2998 0 -24 10.7002 -24 24v112c0 13.2998 10.7002 24 24 24h136v-8c0 -30.9004 25.0996 -56 56 -56h80c30.9004 0 56 25.0996 56 56v8h136c13.2998 0 24 -10.7002 24 -24zM388 -16c0 11 -9 20 -20 20s-20 -9 -20 -20
+s9 -20 20 -20s20 9 20 20zM452 -16c0 11 -9 20 -20 20s-20 -9 -20 -20s9 -20 20 -20s20 9 20 20z" />
+ <glyph glyph-name="lemon" unicode="&#xf094;"
+d="M489.038 425.037c23.0938 -23.0938 28.8916 -54.3906 16.833 -75.0928c-34.3115 -58.9043 53.0762 -181.249 -86.7461 -321.071s-262.167 -52.4326 -321.068 -86.7432c-20.7031 -12.0586 -52 -6.2627 -75.0947 16.832c-23.0928 23.0938 -28.8916 54.3906 -16.833 75.0928
+c34.3125 58.9043 -53.0781 181.247 86.7451 321.07s262.167 52.4336 321.073 86.7461c20.7012 12.0586 51.9971 6.25879 75.0908 -16.834zM243.881 352.478c8.57227 2.14355 13.7832 10.8291 11.6416 19.4023c-2.14258 8.57324 -10.8281 13.7852 -19.4033 11.6426
+c-69.8027 -17.4521 -154.218 -101.949 -171.643 -171.643c-2.1416 -8.57324 3.07031 -17.2588 11.6426 -19.4033c1.30273 -0.324219 2.6084 -0.480469 3.89258 -0.480469c7.16895 0 13.6943 4.85352 15.5117 12.124c14.5498 58.2031 90.1689 133.811 148.357 148.357z" />
+ <glyph glyph-name="phone" unicode="&#xf095;"
+d="M493.4 423.4c10.8994 -2.5 18.5996 -12.2002 18.5996 -23.4004c0 -256.5 -207.9 -464 -464 -464c-11.2998 0 -20.9004 7.7998 -23.4004 18.5996l-24 104c-2.59961 11.3008 3.30078 22.9004 14 27.6006l112 48c9.80078 4.2002 21.2002 1.39941 28 -6.90039
+l49.6006 -60.5996c78.2998 36.7002 141.2 100.5 177.2 177.2l-60.6006 49.5996c-8.2998 6.7002 -11.0996 18.2002 -6.89941 28l48 112c4.59961 10.5996 16.1992 16.5 27.5 13.9004z" />
+ <glyph glyph-name="phone-square" unicode="&#xf098;" horiz-adv-x="448"
+d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM94 32c160.055 0 290 129.708 290 290v0c0 6.58691 -5.20898 13.1338 -11.6279 14.6143l-65 14.998
+c-0.918945 0.211914 -2.42969 0.383789 -3.37305 0.383789c-5.45996 0 -11.6367 -4.07324 -13.7871 -9.09082l-30 -69.998c-0.668945 -1.5625 -1.21191 -4.20898 -1.21191 -5.9082c0 -3.92383 2.46387 -9.125 5.50098 -11.6104l37.8857 -30.9971
+c-22.4834 -47.9219 -61.8369 -87.8164 -110.78 -110.779l-30.9971 37.8848c-2.48535 3.03711 -7.68652 5.50195 -11.6104 5.50195c-1.69922 0 -4.3457 -0.543945 -5.9082 -1.21289l-69.998 -29.999c-5.01855 -2.15039 -9.09082 -8.32715 -9.09082 -13.7871
+c0 -0.943359 0.171875 -2.4541 0.383789 -3.37305l14.998 -65c1.55957 -6.75391 7.58301 -11.627 14.6162 -11.627z" />
+ <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="448"
+d="M400 192c26.5 0 48 -21.5 48 -48v-160c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v160c0 26.5 21.5 48 48 48h24v102.5c0 84 67.5 153.2 151.5 153.5s152.5 -68 152.5 -152v-16c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v16
+c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-103.1h248z" />
+ <glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576"
+d="M0 16v176h576v-176c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48zM192 84v-40c0 -6.59961 5.40039 -12 12 -12h136c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-136c-6.59961 0 -12 -5.40039 -12 -12zM64 84v-40
+c0 -6.59961 5.40039 -12 12 -12h72c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-72c-6.59961 0 -12 -5.40039 -12 -12zM576 368v-48h-576v48c0 26.5 21.5 48 48 48h480c26.5 0 48 -21.5 48 -48z" />
+ <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="448"
+d="M128.081 32.041c0 -35.3691 -28.6719 -64.041 -64.041 -64.041s-64.04 28.6719 -64.04 64.041s28.6719 64.041 64.041 64.041s64.04 -28.6729 64.04 -64.041zM303.741 -15.209c0.494141 -9.13477 -6.84668 -16.791 -15.9951 -16.79h-48.0693
+c-8.41406 0 -15.4707 6.49023 -16.0176 14.8867c-7.29883 112.07 -96.9404 201.488 -208.772 208.772c-8.39648 0.545898 -14.8867 7.60254 -14.8867 16.0176v48.0693c0 9.14746 7.65625 16.4883 16.791 15.9941c154.765 -8.36328 278.596 -132.351 286.95 -286.95z
+M447.99 -15.4971c0.324219 -9.03027 -6.97168 -16.5029 -16.0049 -16.5039h-48.0684c-8.62598 0 -15.6455 6.83496 -15.999 15.4531c-7.83789 191.148 -161.286 344.626 -352.465 352.465c-8.61816 0.354492 -15.4531 7.37402 -15.4531 15.999v48.0684
+c0 9.03418 7.47266 16.3301 16.5029 16.0059c234.962 -8.43555 423.093 -197.667 431.487 -431.487z" />
+ <glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576"
+d="M576 144v-96c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v96c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48zM528 224h-480h-0.0693359c-8.81738 0 -22.5742 -2.76172 -30.708 -6.16504l96.5283 144.791
+c7.86621 11.7988 25.7578 21.374 39.9385 21.374h268.621c14.1807 0 32.0732 -9.57617 39.9395 -21.374l96.5273 -144.791c-8.13379 3.40332 -21.8906 6.16504 -30.708 6.16504h-0.0693359zM480 128c-17.6729 0 -32 -14.3271 -32 -32s14.3271 -32 32 -32s32 14.3271 32 32
+s-14.3271 32 -32 32zM384 128c-17.6729 0 -32 -14.3271 -32 -32s14.3271 -32 32 -32s32 14.3271 32 32s-14.3271 32 -32 32z" />
+ <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="576"
+d="M576 208c0 -23.6299 -12.9502 -44.04 -32.0098 -55.1299v-152.87c0 -9.21973 -7.08008 -32 -32 -32c-6.19336 0.00585938 -15.1445 3.15039 -19.9805 7.01953l-85.0293 68.0303c-42.7002 34.1406 -96.3203 52.9502 -150.98 52.9502h-28.0801
+c-2.79004 -10.21 -4.41016 -20.8896 -4.41016 -32c0 -29.0801 9.75 -55.9199 26.1504 -77.4404c15.79 -20.7197 0.149414 -50.5596 -25.9004 -50.5596h-74.2793c-11.8809 0 -23.2109 6.37012 -28.4004 17.0596c-16.2998 33.5908 -25.5605 71.1709 -25.5605 110.94
+c0 10.8604 0.790039 21.5195 2.18066 32h-33.7002c-35.3496 0 -64 28.6504 -64 64v96c0 35.3496 28.6504 64 64 64h192c54.6602 0 108.28 18.8096 150.99 52.9502l85.0293 68.0303c5.79004 4.63965 12.8604 7.01953 19.9805 7.01953c25.0195 0 32 -23.2598 32 -32.0098
+v-152.87c19.0498 -11.0801 32 -31.4902 32 -55.1201zM480 66.5801v282.84l-33.0498 -26.4395c-54 -43.2002 -121.83 -66.9805 -190.95 -66.9805v-96c69.1201 0 136.95 -23.7803 190.95 -66.9805z" />
+ <glyph glyph-name="certificate" unicode="&#xf0a3;" horiz-adv-x="511"
+d="M458.622 192.08l45.9844 -45.0039c13.7012 -12.9727 7.32227 -36.0371 -10.6641 -40.3389l-62.6504 -15.9902l17.6611 -62.0146c4.99023 -17.834 -11.8252 -34.665 -29.6611 -29.6719l-61.9941 17.667l-15.9834 -62.6709
+c-4.33887 -18.1533 -27.8252 -24.1553 -40.3252 -10.668l-44.9893 46.001l-44.9912 -46.001c-12.6289 -13.3496 -35.8857 -7.90625 -40.3252 10.668l-15.9834 62.6709l-61.9941 -17.667c-17.832 -4.99121 -34.6523 11.833 -29.6611 29.6719l17.6611 62.0146
+l-62.6504 15.9902c-17.9795 4.2998 -24.3721 27.3613 -10.6641 40.3389l45.9854 45.0039l-45.9854 45.0049c-13.7012 12.9707 -7.32227 36.0371 10.665 40.3379l62.6504 15.9902l-17.6611 62.0146c-4.99023 17.834 11.8242 34.665 29.6611 29.6709l61.9951 -17.667
+l15.9834 62.6709c4.27832 17.9023 27.6953 24.0195 40.3252 10.6689l44.9893 -46.3418l44.9902 46.3428c12.7744 13.5039 36.0947 7.03027 40.3252 -10.6689l15.9834 -62.6709l61.9941 17.667c17.832 4.99219 34.6523 -11.833 29.6611 -29.6709l-17.6611 -62.0146
+l62.6504 -15.9902c17.9795 -4.2998 24.3721 -27.3623 10.6641 -40.3389z" />
+ <glyph glyph-name="hand-point-right" unicode="&#xf0a4;"
+d="M512 248.348c0 -23.625 -20.6504 -43.8252 -44.7998 -43.8252h-99.8516c16.3408 -17.0488 18.3467 -49.7666 -6.29883 -70.9443c14.2881 -22.8291 2.14746 -53.0176 -16.4502 -62.3154c8.97461 -49.1406 -21.9453 -71.2627 -72.5996 -71.2627
+c-2.74609 0 -13.2764 0.203125 -16 0.195312c-61.9707 -0.167969 -76.8936 31.0645 -123.731 38.3145c-11.6729 1.80762 -20.2686 11.8916 -20.2686 23.7041v171.525l0.00195312 0.000976562c0.0107422 18.3662 10.6074 35.8887 28.4639 43.8447
+c28.8857 12.9941 95.4131 49.0381 107.534 77.3232c7.79688 18.1934 21.3838 29.084 40 29.0918c34.2217 0.0136719 57.752 -35.0977 44.1191 -66.9082c-3.58301 -8.3584 -8.3125 -16.6699 -14.1533 -24.918h149.234c23.4502 0 44.7998 -20.543 44.7998 -43.8262zM96 248
+v-192c0 -13.2549 -10.7451 -24 -24 -24h-48c-13.2549 0 -24 10.7451 -24 24v192c0 13.2549 10.7451 24 24 24h48c13.2549 0 24 -10.7451 24 -24zM68 80c0 11.0459 -8.9541 20 -20 20s-20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20z" />
+ <glyph glyph-name="hand-point-left" unicode="&#xf0a5;"
+d="M44.7998 292.174h149.234c-5.84082 8.24805 -10.5703 16.5586 -14.1533 24.918c-13.6328 31.8105 9.89746 66.9219 44.1191 66.9082c18.6162 -0.0078125 32.2031 -10.8975 40 -29.0918c12.1221 -28.2861 78.6484 -64.3291 107.534 -77.3232
+c17.8564 -7.95605 28.4531 -25.4785 28.4639 -43.8447l0.00195312 -0.000976562v-171.526c0 -11.8115 -8.5957 -21.8965 -20.2686 -23.7031c-46.8379 -7.25 -61.7607 -38.4824 -123.731 -38.3145c-2.72363 0.00683594 -13.2539 -0.195312 -16 -0.195312
+c-50.6543 0 -81.5742 22.1221 -72.5996 71.2627c-18.5977 9.29688 -30.7383 39.4863 -16.4502 62.3154c-24.6455 21.1768 -22.6396 53.8955 -6.29883 70.9443h-99.8516c-24.1494 0 -44.7998 20.2002 -44.7998 43.8252c0 23.2832 21.3496 43.8262 44.7998 43.8262zM440 272
+h48c13.2549 0 24 -10.7451 24 -24v-192c0 -13.2549 -10.7451 -24 -24 -24h-48c-13.2549 0 -24 10.7451 -24 24v192c0 13.2549 10.7451 24 24 24zM464 60c11.0459 0 20 8.9541 20 20s-8.9541 20 -20 20s-20 -8.9541 -20 -20s8.9541 -20 20 -20z" />
+ <glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="384"
+d="M135.652 448c23.625 0 43.8252 -20.6504 43.8252 -44.7998v-99.8516c17.0488 16.3408 49.7666 18.3467 70.9443 -6.29883c22.8291 14.2881 53.0176 2.14746 62.3154 -16.4502c49.1406 8.97461 71.2627 -21.9453 71.2627 -72.5996
+c0 -2.74609 -0.203125 -13.2764 -0.195312 -16c0.167969 -61.9707 -31.0645 -76.8936 -38.3145 -123.731c-1.80762 -11.6729 -11.8916 -20.2686 -23.7041 -20.2686h-171.525l-0.000976562 0.00195312c-18.3662 0.0107422 -35.8887 10.6074 -43.8447 28.4639
+c-12.9941 28.8857 -49.0381 95.4121 -77.3232 107.534c-18.1943 7.79688 -29.084 21.3838 -29.0918 40c-0.0136719 34.2217 35.0977 57.752 66.9082 44.1191c8.3584 -3.58301 16.6699 -8.3125 24.918 -14.1533v149.234c0 23.4502 20.543 44.7998 43.8262 44.7998zM136 32
+h192c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24v48c0 13.2549 10.7451 24 24 24zM304 4c-11.0459 0 -20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20s-8.9541 20 -20 20z" />
+ <glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="384"
+d="M91.8262 -19.2002v149.234c-8.24805 -5.84082 -16.5586 -10.5703 -24.918 -14.1533c-31.8105 -13.6328 -66.9219 9.89746 -66.9082 44.1191c0.0078125 18.6162 10.8975 32.2031 29.0918 40c28.2861 12.1221 64.3291 78.6484 77.3232 107.534
+c7.95605 17.8564 25.4785 28.4531 43.8447 28.4639l0.000976562 0.00195312h171.526c11.8115 0 21.8965 -8.5957 23.7031 -20.2686c7.25 -46.8379 38.4824 -61.7607 38.3145 -123.731c-0.00683594 -2.72363 0.195312 -13.2539 0.195312 -16
+c0 -50.6543 -22.1221 -81.5742 -71.2627 -72.5996c-9.29688 -18.5977 -39.4863 -30.7383 -62.3154 -16.4502c-21.1768 -24.6455 -53.8955 -22.6396 -70.9443 -6.29883v-99.8516c0 -24.1494 -20.2002 -44.7998 -43.8252 -44.7998
+c-23.2832 0 -43.8262 21.3496 -43.8262 44.7998zM112 376v48c0 13.2549 10.7451 24 24 24h192c13.2549 0 24 -10.7451 24 -24v-48c0 -13.2549 -10.7451 -24 -24 -24h-192c-13.2549 0 -24 10.7451 -24 24zM324 400c0 11.0459 -8.9541 20 -20 20s-20 -8.9541 -20 -20
+s8.9541 -20 20 -20s20 8.9541 20 20z" />
+ <glyph glyph-name="arrow-circle-left" unicode="&#xf0a8;"
+d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM284.9 87.5996l-75.5 72.4004h182.6c13.2998 0 24 10.7002 24 24v16c0 13.2998 -10.7002 24 -24 24h-182.6l75.5 72.4004c9.69922 9.2998 9.89941 24.7998 0.399414 34.2998
+l-11 10.8994c-9.39941 9.40039 -24.5996 9.40039 -33.8994 0l-132.7 -132.6c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l132.7 -132.699c9.39941 -9.40039 24.5996 -9.40039 33.8994 0l11 10.8994c9.5 9.5 9.2998 25 -0.399414 34.2998z" />
+ <glyph glyph-name="arrow-circle-right" unicode="&#xf0a9;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM227.1 296.4l75.5 -72.4004h-182.6c-13.2998 0 -24 -10.7002 -24 -24v-16c0 -13.2998 10.7002 -24 24 -24h182.6l-75.5 -72.4004
+c-9.69922 -9.2998 -9.89941 -24.7998 -0.399414 -34.2998l11 -10.8994c9.39941 -9.40039 24.5996 -9.40039 33.8994 0l132.7 132.6c9.40039 9.40039 9.40039 24.5996 0 33.9004l-132.7 132.8c-9.39941 9.39941 -24.5996 9.39941 -33.8994 0l-11 -10.9004
+c-9.5 -9.59961 -9.2998 -25.0996 0.399414 -34.3994z" />
+ <glyph glyph-name="arrow-circle-up" unicode="&#xf0aa;"
+d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM151.6 163.1l72.4004 75.5v-182.6c0 -13.2998 10.7002 -24 24 -24h16c13.2998 0 24 10.7002 24 24v182.6l72.4004 -75.5c9.2998 -9.69922 24.7998 -9.89941 34.2998 -0.399414
+l10.8994 11c9.40039 9.39941 9.40039 24.5996 0 33.8994l-132.6 132.7c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-132.8 -132.7c-9.39941 -9.39941 -9.39941 -24.5996 0 -33.8994l10.9004 -11c9.59961 -9.5 25.0996 -9.2998 34.3994 0.399414z" />
+ <glyph glyph-name="arrow-circle-down" unicode="&#xf0ab;"
+d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM360.4 220.9l-72.4004 -75.5v182.6c0 13.2998 -10.7002 24 -24 24h-16c-13.2998 0 -24 -10.7002 -24 -24v-182.6l-72.4004 75.5
+c-9.2998 9.69922 -24.7998 9.89941 -34.2998 0.399414l-10.8994 -11c-9.40039 -9.39941 -9.40039 -24.5996 0 -33.8994l132.6 -132.7c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l132.699 132.7c9.40039 9.39941 9.40039 24.5996 0 33.8994l-10.8994 11
+c-9.5 9.5 -25 9.2998 -34.2998 -0.399414z" />
+ <glyph glyph-name="globe" unicode="&#xf0ac;" horiz-adv-x="495"
+d="M336.5 288h-177c14.5 89.2998 48.7002 152 88.5 152s74 -62.7002 88.5 -152zM152 192c0 22.2002 1.2002 43.5 3.2998 64h185.3c2.10059 -20.5 3.30078 -41.7998 3.30078 -64s-1.2002 -43.5 -3.30078 -64h-185.3c-2.09961 20.5 -3.2998 41.7998 -3.2998 64zM476.7 288
+h-108c-8.7998 56.9004 -25.6006 107.8 -50 141.6c71.5 -21.1992 129.399 -73.6992 158 -141.6zM177.2 429.6c-24.4004 -33.7998 -41.2002 -84.6992 -49.9004 -141.6h-108c28.5 67.9004 86.5 120.4 157.9 141.6zM487.4 256c5.39941 -20.5 8.5 -41.7998 8.5 -64
+s-3.10059 -43.5 -8.60059 -64h-114.6c2.09961 21 3.2998 42.5 3.2998 64s-1.2002 43 -3.2998 64h114.7zM120 192c0 -21.5 1.2002 -43 3.2002 -64h-114.601c-5.39941 20.5 -8.59961 41.7998 -8.59961 64s3.2002 43.5 8.59961 64h114.7
+c-2.09961 -21 -3.2998 -42.5 -3.2998 -64zM159.5 96h177c-14.5 -89.2998 -48.7002 -152 -88.5 -152s-74 62.7002 -88.5 152zM318.8 -45.5996c24.4004 33.7998 41.2002 84.6992 50 141.6h108c-28.5996 -67.9004 -86.5996 -120.4 -158 -141.6zM19.2998 96h108
+c8.7998 -56.9004 25.6006 -107.8 50 -141.6c-71.5 21.1992 -129.399 73.6992 -158 141.6z" />
+ <glyph glyph-name="wrench" unicode="&#xf0ad;"
+d="M507.73 338.9c11.7891 -47.4102 -0.84082 -99.6602 -37.9102 -136.73c-39.9004 -39.9004 -97.25 -50.9297 -147.37 -34.2197l-213.21 -213.21c-24.9902 -24.9902 -65.5098 -24.9902 -90.5 0s-24.9902 65.5098 0 90.5l213.39 213.39
+c-16.5 50.1006 -5.58984 107.561 34.0498 147.2c37.0303 37.0195 89.2002 49.6699 136.58 37.9297c9.08984 -2.25977 12.2803 -13.54 5.66016 -20.1602l-74.3604 -74.3594l11.3105 -67.8799l67.8799 -11.3105l74.3604 74.3604
+c6.58008 6.58008 17.8799 3.51953 20.1201 -5.50977zM64 -24c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
+ <glyph glyph-name="tasks" unicode="&#xf0ae;"
+d="M208 316c-8.7998 0 -16 7.2002 -16 16v40c0 8.7998 7.2002 16 16 16h288c8.7998 0 16 -7.2002 16 -16v-40c0 -8.7998 -7.2002 -16 -16 -16h-288zM208 156c-8.7998 0 -16 7.2002 -16 16v40c0 8.7998 7.2002 16 16 16h288c8.7998 0 16 -7.2002 16 -16v-40
+c0 -8.7998 -7.2002 -16 -16 -16h-288zM208 -4c-8.7998 0 -16 7.2002 -16 16v40c0 8.7998 7.2002 16 16 16h288c8.7998 0 16 -7.2002 16 -16v-40c0 -8.7998 -7.2002 -16 -16 -16h-288zM64 80c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48.5996 21.5 -48.5996 48
+s22.0996 48 48.5996 48zM156.5 379l-72.2002 -72.2002l-15.5996 -15.5996c-4.7002 -4.7002 -12.9004 -4.7002 -17.6006 0l-47.5996 47.3994c-4.7002 4.7002 -4.7002 12.3008 0 17l15.7002 15.7002c4.7002 4.7002 12.2998 4.7002 17 0l22.7002 -22.0996l63.6992 63.2998
+c4.7002 4.7002 12.3008 4.7002 17 0l17 -16.5c4.60059 -4.7002 4.60059 -12.2998 -0.0996094 -17zM156.5 219.4l-72.2002 -72.2002l-15.7002 -15.7002c-4.69922 -4.7002 -12.8994 -4.7002 -17.5996 0l-47.5 47.5c-4.7002 4.7002 -4.7002 12.2998 0 17l15.7002 15.7002
+c4.7002 4.7002 12.2998 4.7002 17 0l22.7002 -22.1006l63.6992 63.7002c4.7002 4.7002 12.3008 4.7002 17 0l17 -17c4.60059 -4.59961 4.60059 -12.2002 -0.0996094 -16.8994z" />
+ <glyph glyph-name="filter" unicode="&#xf0b0;"
+d="M487.976 448c21.3623 0 32.0459 -25.8965 16.9717 -40.9707l-184.947 -184.971v-262.039c0 -19.5127 -21.9805 -30.71 -37.7627 -19.6611l-80 55.9795c-6.41602 4.49219 -10.2373 11.8311 -10.2373 19.6621v206.059l-184.942 184.971
+c-15.1045 15.1045 -4.34766 40.9707 16.9707 40.9707h463.947z" />
+ <glyph glyph-name="briefcase" unicode="&#xf0b1;"
+d="M320 112v48h192v-144c0 -25.5996 -22.4004 -48 -48 -48h-416c-25.5996 0 -48 22.4004 -48 48v144h192v-48c0 -8.83984 7.16016 -16 16 -16h96c8.83984 0 16 7.16016 16 16zM464 320c25.5996 0 48 -22.4004 48 -48v-80h-512v80c0 25.5996 22.4004 48 48 48h80v48
+c0 25.5996 22.4004 48 48 48h160c25.5996 0 48 -22.4004 48 -48v-48h80zM320 320v32h-128v-32h128z" />
+ <glyph glyph-name="arrows-alt" unicode="&#xf0b2;" horiz-adv-x="511"
+d="M352.201 22.2246l-79.1963 -79.1953c-9.37305 -9.37305 -24.5684 -9.37305 -33.9404 0l-79.1963 79.1953c-15.1191 15.1191 -4.41113 40.9717 16.9707 40.9707h51.1621l-0.000976562 100.805h-100.804v-51.1621c0 -21.3818 -25.8516 -32.0898 -40.9717 -16.9707
+l-79.1953 79.1963c-9.37305 9.37207 -9.37305 24.5684 0 33.9404l79.1953 79.1963c15.1191 15.1191 40.9717 4.41113 40.9717 -16.9717v-51.2285h100.804v100.804h-51.2305c-21.3818 0 -32.0898 25.8516 -16.9707 40.9717l79.1963 79.1953
+c9.37305 9.37305 24.5684 9.37305 33.9404 0l79.1963 -79.1953c15.1191 -15.1191 4.41113 -40.9717 -16.9707 -40.9717h-51.1621v-100.804h100.804v51.1621c0 21.3818 25.8516 32.0898 40.9707 16.9707l79.1953 -79.1963c9.37305 -9.37207 9.37305 -24.5684 0 -33.9404
+l-79.1953 -79.1963c-15.1191 -15.1191 -40.9717 -4.41113 -40.9707 16.9717v51.2285h-100.803v-100.804h51.2305c21.3818 0 32.0898 -25.8516 16.9707 -40.9717z" />
+ <glyph glyph-name="users" unicode="&#xf0c0;" horiz-adv-x="640"
+d="M96 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM544 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM576 192c35.2998 0 64 -28.7002 64 -64v-32
+c0 -17.7002 -14.2998 -32 -32 -32h-66c-6.2002 47.4004 -34.7998 87.2998 -75.0996 109.4c11.5996 11.5 27.5 18.5996 45.0996 18.5996h64zM320 192c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM396.8 160
+c63.6006 0 115.2 -51.5996 115.2 -115.2v-28.7998c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v28.7998c0 63.6006 51.5996 115.2 115.2 115.2h8.2998c20.9004 -10 43.9004 -16 68.5 -16s47.7002 6 68.5 16h8.2998zM173.1 173.4
+c-40.2998 -22.1006 -68.8994 -62 -75.1992 -109.4h-65.9004c-17.7002 0 -32 14.2998 -32 32v32c0 35.2998 28.7002 64 64 64h64c17.5996 0 33.5 -7.09961 45.0996 -18.5996z" />
+ <glyph glyph-name="link" unicode="&#xf0c1;"
+d="M326.612 262.609c59.7471 -59.8096 58.9268 -155.698 0.359375 -214.591c-0.109375 -0.119141 -0.239258 -0.25 -0.359375 -0.369141l-67.2002 -67.2002c-59.2705 -59.2705 -155.699 -59.2627 -214.96 0c-59.2705 59.2598 -59.2705 155.7 0 214.96l37.1055 37.1055
+c9.84082 9.84082 26.7861 3.30078 27.2939 -10.6055c0.648438 -17.7227 3.82617 -35.5273 9.69043 -52.7207c1.98633 -5.82227 0.567383 -12.2627 -3.7832 -16.6123l-13.0869 -13.0869c-28.0254 -28.0264 -28.9053 -73.6602 -1.15527 -101.96
+c28.0244 -28.5791 74.0859 -28.749 102.325 -0.510742l67.2002 67.1904c28.1914 28.1914 28.0732 73.7568 0 101.83c-3.70117 3.69434 -7.42871 6.56348 -10.3408 8.56934c-3.66504 2.51562 -6.77734 8.16309 -6.94727 12.6055
+c-0.395508 10.5674 3.34766 21.4561 11.6982 29.8057l21.0537 21.0557c5.52148 5.52051 14.1826 6.19922 20.584 1.73047c6.08301 -4.24707 15.2764 -11.9512 20.5225 -17.1963zM467.547 403.551c59.2705 -59.2598 59.2705 -155.7 -0.000976562 -214.959l-37.1055 -37.1055
+c-9.84082 -9.83984 -26.7852 -3.30078 -27.2939 10.6055c-0.648438 17.7227 -3.82617 35.5273 -9.69043 52.7217c-1.98633 5.82129 -0.567383 12.2617 3.7832 16.6113l13.0869 13.0869c28.0264 28.0264 28.9053 73.6602 1.15527 101.96
+c-28.0254 28.5791 -74.0869 28.749 -102.325 0.510742l-67.2002 -67.1904c-28.1914 -28.1914 -28.0732 -73.7568 0 -101.83c3.70117 -3.69434 7.42871 -6.56348 10.3408 -8.56934c3.66504 -2.51562 6.77734 -8.16309 6.94727 -12.6055
+c0.395508 -10.5674 -3.34766 -21.4561 -11.6982 -29.8057l-21.0537 -21.0557c-5.52051 -5.51953 -14.1826 -6.19922 -20.584 -1.73047c-6.08203 4.24609 -15.2754 11.9502 -20.5215 17.1953c-59.7471 59.8096 -58.9258 155.698 -0.359375 214.591
+c0.109375 0.119141 0.239258 0.25 0.359375 0.369141l67.2002 67.2002c59.2705 59.2705 155.699 59.2627 214.96 0z" />
+ <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="640"
+d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160
+c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996z" />
+ <glyph glyph-name="flask" unicode="&#xf0c3;" horiz-adv-x="448"
+d="M437.2 44.5c29.2998 -47 -4.40039 -108.5 -60.1006 -108.5h-306.199c-55.6006 0 -89.4004 61.4004 -60.1006 108.5l117.2 188.5v151h-8c-13.2998 0 -24 10.7002 -24 24v16c0 13.2998 10.7002 24 24 24h208c13.2998 0 24 -10.7002 24 -24v-16
+c0 -13.2998 -10.7002 -24 -24 -24h-8v-151zM137.9 128h172l-48.2002 77.5996c-3.60059 5.2002 -5.7998 11.5 -5.7998 18.4004v160h-64v-160c0 -6.7998 -2.10059 -13.2002 -5.80078 -18.4004z" />
+ <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="447"
+d="M278.06 192l166.421 -166.43c4.68945 -4.69043 4.68945 -12.29 0 -16.9707c-32.8008 -32.7998 -85.9902 -32.7998 -118.79 0l-115.511 115.521l-24.8594 -24.8604c4.30957 -10.9199 6.67969 -22.8096 6.67969 -35.2598c0 -53.0195 -42.9805 -96 -96 -96
+s-96 42.9805 -96 96s42.9805 96 96 96c4.53027 0 8.99023 -0.320312 13.3604 -0.929688l32.9297 32.9297l-32.9297 32.9297c-4.37012 -0.609375 -8.82031 -0.929688 -13.3604 -0.929688c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96
+c0 -12.4502 -2.37012 -24.3398 -6.67969 -35.2598l24.8594 -24.8604l115.511 115.521c32.7998 32.7998 85.9893 32.7998 118.79 0c4.68945 -4.68066 4.68945 -12.2803 0 -16.9707zM96 288c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32
+s14.3604 -32 32 -32zM96 32c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32s14.3604 -32 32 -32z" />
+ <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448"
+d="M320 0v-40c0 -13.2549 -10.7451 -24 -24 -24h-272c-13.2549 0 -24 10.7451 -24 24v368c0 13.2549 10.7451 24 24 24h72v-296c0 -30.8789 25.1211 -56 56 -56h168zM320 344c0 -13.2002 10.7998 -24 24 -24h104v-264c0 -13.2549 -10.7451 -24 -24 -24h-272
+c-13.2549 0 -24 10.7451 -24 24v368c0 13.2549 10.7451 24 24 24h168v-104zM440.971 375.029c3.87988 -3.88086 7.0293 -11.4834 7.0293 -16.9707v-6.05859h-96v96h6.05859c5.4873 0 13.0898 -3.14941 16.9707 -7.0293z" />
+ <glyph glyph-name="paperclip" unicode="&#xf0c6;" horiz-adv-x="448"
+d="M43.2461 -18.1416c-58.4297 60.2891 -57.3408 157.511 1.38574 217.581l209.76 214.561c44.3164 45.332 116.352 45.3359 160.672 0c43.8896 -44.8936 43.9424 -117.329 0 -162.276l-182.85 -186.852c-29.8545 -30.5371 -78.6328 -30.1113 -107.981 0.998047
+c-28.2754 29.9697 -27.3682 77.4727 1.45117 106.953l143.743 146.835c6.18262 6.31348 16.3125 6.42188 22.626 0.241211l22.8613 -22.3799c6.31445 -6.18164 6.42188 -16.3115 0.241211 -22.626l-143.729 -146.82c-4.93164 -5.04492 -5.23535 -13.4287 -0.647461 -18.292
+c4.37207 -4.63379 11.2451 -4.71094 15.6875 -0.165039l182.85 186.851c19.6123 20.0625 19.6123 52.7256 -0.0117188 72.7979c-19.1885 19.627 -49.957 19.6377 -69.1533 0l-209.762 -214.56c-34.7627 -35.5605 -35.2988 -93.1201 -1.19043 -128.313
+c34.0098 -35.0928 88.9844 -35.1367 123.058 -0.285156l172.061 175.999c6.17676 6.31836 16.3066 6.43262 22.626 0.255859l22.877 -22.3643c6.31836 -6.17676 6.43359 -16.3066 0.255859 -22.626l-172.061 -175.998c-59.5752 -60.9385 -155.942 -60.2158 -214.77 0.485352
+z" />
+ <glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448"
+d="M433.941 318.059c7.75977 -7.75977 14.0586 -22.9658 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c10.9746 0 26.1807 -6.29883 33.9404 -14.0586zM224 32
+c35.3457 0 64 28.6543 64 64s-28.6543 64 -64 64s-64 -28.6543 -64 -64s28.6543 -64 64 -64zM320 336.52c0 2.74316 -1.5752 6.5459 -3.51465 8.48535l-3.48047 3.48047c-2.25 2.25098 -5.30176 3.51465 -8.48535 3.51465h-228.52c-6.62695 0 -12 -5.37305 -12 -12v-104
+c0 -6.62695 5.37305 -12 12 -12h232c6.62695 0 12 5.37305 12 12v100.52z" />
+ <glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352z" />
+ <glyph glyph-name="bars" unicode="&#xf0c9;" horiz-adv-x="448"
+d="M16 316c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 156c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40
+c0 -8.83691 -7.16309 -16 -16 -16h-416zM16 -4c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h416c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-416z" />
+ <glyph glyph-name="list-ul" unicode="&#xf0ca;"
+d="M96 352c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM48 240c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM48 80c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48
+s-48 21.4902 -48 48s21.4902 48 48 48zM144 316c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352zM144 156c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352
+c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352zM144 -4c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352z" />
+ <glyph glyph-name="list-ol" unicode="&#xf0cb;" horiz-adv-x="514"
+d="M3.2627 308.473c0 7.47754 3.91699 11.5723 11.5732 11.5723h15.1309v39.877c0 5.16309 0.53418 10.5029 0.53418 10.5029h-0.356445s-1.77832 -2.66992 -2.84766 -3.73828c-4.45117 -4.27246 -10.5039 -4.4502 -15.666 1.06836l-5.51758 6.23145
+c-5.3418 5.34082 -4.98438 11.2158 0.53418 16.3789l21.7197 19.9375c4.44824 4.0957 8.36523 5.69727 14.418 5.69727h12.1045c7.65625 0 11.749 -3.91602 11.749 -11.5723v-84.3838h15.4883c7.65527 0 11.5723 -4.09375 11.5723 -11.5723v-8.90039
+c0 -7.47754 -3.91699 -11.5723 -11.5723 -11.5723h-67.291c-7.65625 0 -11.5732 4.09473 -11.5732 11.5723v8.90137zM2.21094 143.409c0 47.2773 50.9551 56.3828 50.9551 69.165c0 7.17969 -5.9541 8.75488 -9.28027 8.75488
+c-3.15234 0 -6.47852 -1.05078 -9.45508 -3.85254c-5.0791 -4.90234 -10.5068 -7.00391 -16.1104 -2.4502l-8.5791 6.8291c-5.7793 4.55273 -7.18066 9.80469 -2.80273 15.4082c6.65332 8.75488 19.0869 18.7363 40.4482 18.7363
+c19.4375 0 44.4766 -10.5059 44.4766 -39.5732c0 -38.3467 -46.7529 -46.4014 -48.6797 -56.9092h39.0498c7.52832 0 11.5566 -4.02637 11.5566 -11.3818v-8.75488c0 -7.35352 -4.02832 -11.3818 -11.5566 -11.3818h-67.9404c-7.00488 0 -12.083 4.02832 -12.083 11.3818
+v4.02832h0.000976562zM5.6543 -6.61035l5.60254 9.28027c3.85352 6.6543 9.10547 7.00391 15.584 3.15234c4.90332 -2.10156 9.62988 -3.15234 14.3594 -3.15234c10.1553 0 14.3574 3.50195 14.3574 8.23047c0 6.65332 -5.60352 9.10547 -15.9336 9.10547h-4.72754
+c-5.9541 0 -9.28027 2.10156 -12.2588 7.87988l-1.0498 1.92578c-2.45117 4.72852 -1.22559 9.80664 2.80078 14.8848l5.60449 7.00391c6.8291 8.40527 12.2568 13.4824 12.2568 13.4824v0.350586s-4.20312 -1.05078 -12.6084 -1.05078h-12.957
+c-7.5293 0 -11.3828 4.02734 -11.3828 11.3818v8.75488c0 7.53027 3.85352 11.3818 11.3828 11.3818h58.4844c7.5293 0 11.3818 -4.02734 11.3818 -11.3818v-3.32715c0 -5.77832 -1.40039 -9.80566 -5.0791 -14.1826l-17.5088 -20.1377
+c19.6113 -5.07812 28.7158 -20.4863 28.7158 -34.8447c0 -21.3633 -14.3574 -44.126 -48.5029 -44.126c-16.6357 0 -28.1914 4.72754 -35.8955 9.45508c-5.7793 4.20215 -6.30469 9.80469 -2.62598 15.9336zM144 316c-8.83691 0 -16 7.16309 -16 16v40
+c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352zM144 156c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352zM144 -4
+c-8.83691 0 -16 7.16309 -16 16v40c0 8.83691 7.16309 16 16 16h352c8.83691 0 16 -7.16309 16 -16v-40c0 -8.83691 -7.16309 -16 -16 -16h-352z" />
+ <glyph glyph-name="strikethrough" unicode="&#xf0cc;"
+d="M496 160h-480c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h480c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16zM281.334 144h122.773c6.52441 -14.1826 10.1426 -30.7852 10.1426 -50.5996
+c0 -88.9863 -73.4346 -134.425 -162.013 -134.425c-76.7705 0 -154.487 34.9756 -154.487 101.82v19.2041c0 8.83691 7.16406 16 16 16h45.6133c8.83594 0 16 -7.16309 16 -16v-1.64844c0 -32.1904 44.5488 -44.2705 76.874 -44.2705
+c46.6436 0 75.6211 20.5684 75.6211 53.6758c0 27.5605 -19.2666 43.3066 -46.5244 56.2432zM250.382 240h-129.823c-8.11133 15.3711 -12.7764 33.8369 -12.7764 56.5469c0 84.6738 65.5225 125.646 150.726 125.646c70.8506 0 142.575 -27.4375 142.575 -79.875v-30.3184
+c0 -8.83691 -7.16406 -16 -16 -16h-45.6133c-8.83594 0 -16 7.16309 -16 16v2.10352c0 16.3926 -22.3145 32.9854 -64.9619 32.9854c-34.0605 0 -64.9619 -13.4863 -64.9619 -47.4062c0 -30.7363 24.4141 -46.1777 56.8359 -59.6826z" />
+ <glyph glyph-name="underline" unicode="&#xf0cd;" horiz-adv-x="448"
+d="M224.264 59.7598c-91.6689 0 -156.603 51.165 -156.603 151.393v172.848h-28.291c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h137.39c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-28.8125v-172.848
+c0 -53.6992 28.3135 -79.4443 76.3164 -79.4443c46.9668 0 75.7959 25.4336 75.7959 79.9648v172.327h-28.291c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h136.868c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-28.291v-172.848
+c0 -99.4053 -64.8809 -151.393 -156.082 -151.393zM16 0h416c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-416c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16z" />
+ <glyph glyph-name="table" unicode="&#xf0ce;"
+d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM224 32v96h-160v-96h160zM224 192v96h-160v-96h160zM448 32v96h-160v-96h160zM448 192v96h-160v-96h160z" />
+ <glyph glyph-name="magic" unicode="&#xf0d0;"
+d="M224 352l-16 32l-32 16l32 16l16 32l16 -32l32 -16l-32 -16zM80 288l-26.6602 53.3301l-53.3398 26.6699l53.3398 26.6699l26.6602 53.3301l26.6602 -53.3301l53.3398 -26.6699l-53.3398 -26.6699zM432 160l26.6602 -53.3301l53.3398 -26.6699l-53.3398 -26.6699
+l-26.6602 -53.3301l-26.6602 53.3301l-53.3398 26.6699l53.3398 26.6699zM502.62 353.77c12.5 -12.4893 12.5 -32.7598 0 -45.2393l-363.14 -363.15c-6.25 -6.25 -14.4404 -9.37012 -22.6309 -9.37012c-8.17969 0 -16.3691 3.12012 -22.6191 9.37012l-84.8506 84.8506
+c-12.5 12.4893 -12.5 32.75 0 45.25l363.14 363.14c6.25 6.25977 14.4404 9.37988 22.6309 9.37988c8.18945 0 16.3799 -3.12012 22.6191 -9.37988zM359.45 244.54l86.5996 86.5996l-50.9102 50.9102l-86.5996 -86.5996z" />
+ <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="640"
+d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96h-16c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48 -21.5 48 -48v-48h44.0996
+c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM480 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48
+s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" />
+ <glyph glyph-name="money-bill" unicode="&#xf0d6;" horiz-adv-x="640"
+d="M608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM48 48h64c0 35.3496 -28.6504 64 -64 64v-64zM48 272c35.3496 0 64 28.6504 64 64h-64v-64zM320 96
+c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96zM592 48v64c-35.3496 0 -64 -28.6504 -64 -64h64zM592 272v64h-64c0 -35.3496 28.6504 -64 64 -64z" />
+ <glyph glyph-name="caret-down" unicode="&#xf0d7;" horiz-adv-x="319"
+d="M31.2998 256h257.3c17.8008 0 26.7002 -21.5 14.1006 -34.0996l-128.601 -128.7c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-128.6 128.7c-12.6006 12.5996 -3.7002 34.0996 14.0996 34.0996z" />
+ <glyph glyph-name="caret-up" unicode="&#xf0d8;" horiz-adv-x="320"
+d="M288.662 96h-257.324c-17.8184 0 -26.7412 21.543 -14.1416 34.1416l128.662 128.662c7.80957 7.81055 20.4736 7.81055 28.2832 0l128.662 -128.662c12.6006 -12.5986 3.67676 -34.1416 -14.1416 -34.1416z" />
+ <glyph glyph-name="caret-left" unicode="&#xf0d9;" horiz-adv-x="215"
+d="M192 320.662v-257.324c0 -17.8184 -21.543 -26.7412 -34.1416 -14.1416l-128.662 128.662c-7.81055 7.80957 -7.81055 20.4736 0 28.2832l128.662 128.662c12.5986 12.6006 34.1416 3.67676 34.1416 -14.1416z" />
+ <glyph glyph-name="caret-right" unicode="&#xf0da;" horiz-adv-x="168"
+d="M0 63.3379v257.324c0 17.8184 21.543 26.7412 34.1416 14.1416l128.662 -128.662c7.81055 -7.80957 7.81055 -20.4736 0 -28.2832l-128.662 -128.662c-12.5986 -12.6006 -34.1416 -3.67676 -34.1416 14.1416z" />
+ <glyph glyph-name="columns" unicode="&#xf0db;"
+d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM224 32v256h-160v-256h160zM448 32v256h-160v-256h160z" />
+ <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="320"
+d="M41 160h238c21.4004 0 32.0996 -25.9004 17 -41l-119 -119c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-119.1 119c-15.0996 15.0996 -4.40039 41 17 41zM296 265c15.0996 -15.0996 4.40039 -41 -17 -41h-238c-21.4004 0 -32.0996 25.9004 -17 41l119.1 119
+c9.30078 9.40039 24.5 9.40039 33.9004 0z" />
+ <glyph glyph-name="sort-down" unicode="&#xf0dd;" horiz-adv-x="320"
+d="M41 160h238c21.4004 0 32.0996 -25.9004 17 -41l-119 -119c-9.40039 -9.40039 -24.5996 -9.40039 -33.9004 0l-119.1 119c-15.0996 15.0996 -4.40039 41 17 41z" />
+ <glyph glyph-name="sort-up" unicode="&#xf0de;" horiz-adv-x="319"
+d="M279 224h-238c-21.4004 0 -32.0996 25.9004 -17 41l119 119c9.40039 9.40039 24.5996 9.40039 33.9004 0l119 -119c15.1992 -15.0996 4.5 -41 -16.9004 -41z" />
+ <glyph glyph-name="envelope" unicode="&#xf0e0;"
+d="M502.3 257.2c3.90039 3.09961 9.7002 0.200195 9.7002 -4.7002v-204.5c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v204.4c0 5 5.7002 7.7998 9.7002 4.69922c22.3994 -17.3994 52.0996 -39.5 154.1 -113.6
+c21.1006 -15.4004 56.7002 -47.7998 92.2002 -47.5996c35.7002 -0.300781 72 32.7998 92.2998 47.5996c102 74.0996 131.601 96.2998 154 113.7zM256 128c-23.2002 -0.400391 -56.5996 29.2002 -73.4004 41.4004c-132.699 96.2998 -142.8 104.8 -173.399 128.699
+c-5.7998 4.60059 -9.2002 11.5 -9.2002 18.9004v19c0 26.5 21.5 48 48 48h416c26.5 0 48 -21.5 48 -48v-19c0 -7.40039 -3.40039 -14.4004 -9.2002 -18.9004c-30.5996 -24 -40.7002 -32.3994 -173.399 -128.699c-16.8008 -12.2002 -50.2002 -41.8008 -73.4004 -41.4004z" />
+ <glyph glyph-name="undo" unicode="&#xf0e2;" horiz-adv-x="504"
+d="M212.333 223.667h-200.333c-6.62695 0 -12 5.37305 -12 12v200.333c0 6.62695 5.37305 12 12 12h48c6.62695 0 12 -5.37305 12 -12v-78.1123c45.7734 50.833 112.26 82.6426 186.175 82.1055c136.906 -0.994141 246.448 -111.623 246.157 -248.532
+c-0.291016 -136.719 -111.212 -247.461 -247.999 -247.461c-64.0889 0 -122.496 24.3135 -166.51 64.2148c-5.09961 4.62207 -5.33398 12.5537 -0.466797 17.4199l33.9668 33.9668c4.47363 4.47461 11.6621 4.71777 16.4004 0.525391
+c31.0361 -27.4629 71.8564 -44.127 116.609 -44.127c97.2676 0 176 78.7158 176 176c0 97.2666 -78.7158 176 -176 176c-58.4961 0 -110.28 -28.4756 -142.274 -72.333h98.2744c6.62695 0 12 -5.37305 12 -12v-48c0 -6.62695 -5.37305 -12 -12 -12z" />
+ <glyph glyph-name="gavel" unicode="&#xf0e3;"
+d="M504.971 248.638c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-124.451 -124.451c-9.37109 -9.37305 -24.5674 -9.37305 -33.9404 0l-22.627 22.627c-9.37305 9.37207 -9.37305 24.5684 0 33.9414l5.65723 5.65625l-39.5986 39.5986l-81.04 -81.04l5.65723 -5.65723
+c12.4971 -12.4971 12.4971 -32.7578 0 -45.2549l-114.745 -114.745c-12.4971 -12.4971 -32.7578 -12.4971 -45.2549 0l-45.2549 45.2549c-12.4971 12.4971 -12.4971 32.7578 0 45.2549l114.744 114.746c12.4971 12.4971 32.7578 12.4971 45.2549 0l5.65723 -5.65723
+l81.04 81.04l-39.5986 39.5986l-5.65625 -5.65723c-9.37207 -9.37305 -24.5684 -9.37305 -33.9414 0l-22.627 22.627c-9.37305 9.37207 -9.37305 24.5684 0 33.9404l124.451 124.451c9.37207 9.37305 24.5674 9.37305 33.9404 0l22.627 -22.6279
+c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-5.65625 -5.65723l113.138 -113.137l5.65723 5.65625c9.37207 9.37305 24.5674 9.37305 33.9404 0z" />
+ <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="320"
+d="M296 288c18.5 0 30 -20.0996 20.7002 -36l-176 -304c-4.40039 -7.59961 -12.4004 -12 -20.7998 -12c-15.3008 0 -26.9004 14.2998 -23.3008 29.5l46.1006 194.5h-118.7c-14.5 0 -25.7002 12.7998 -23.7998 27.2002l32 240
+c1.59961 11.8994 11.7998 20.7998 23.7998 20.7998h144c15.7002 0 27.2002 -15 23.2002 -30.2002l-42.6006 -129.8h115.4z" />
+ <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="640"
+d="M128 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM104 176v-48h-48v57.5898c0 21.1797 17.2305 38.4102 38.4102 38.4102h201.59v64h-40c-17.6699 0 -32 14.3301 -32 32
+v96c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-40v-64h201.59c21.1797 0 38.4102 -17.2402 38.4102 -38.4102v-57.5898h-48v48h-192v-48h-48v48h-192zM368 96c17.6699 0 32 -14.3301 32 -32v-96
+c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM608 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96z" />
+ <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="576"
+d="M575.7 167.2c2.2002 -10.1006 -8.40039 -21.4004 -18.7002 -11.4004c-51.5 54.4004 -107.6 52.5 -158.6 -37c-5.30078 -9.5 -14.9004 -8.59961 -19.7002 0c-2.5 4.40039 -32.2002 73.2002 -90.7002 73.2002c-45.7998 0 -70.5 -37.7998 -90.7002 -73.2002
+c-4.7998 -8.59961 -14.3994 -9.5 -19.7002 0c-50.8994 89.4004 -106.6 92 -158.6 37c-10.2002 -9.89941 -20.9004 1.2998 -18.7002 11.4004c29.2002 136.3 138 218.2 255.7 230.899v17.9004c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-17.9004
+c117.3 -12.6992 227.1 -94.5996 255.7 -230.899zM256 146.3c9.59961 8.90039 19.7002 13.6006 32 13.7002c12.2002 0 22.9004 -5.7002 32 -13.5996v-130.301c0 -44.0996 -35.9004 -80 -80 -80c-33.7998 0 -64.2002 21.4004 -75.4004 53.3008
+c-5.89941 16.5996 2.80078 34.8994 19.5 40.7998c16.7002 5.89941 34.9004 -2.7998 40.8008 -19.5c1.89941 -5.40039 7.2998 -10.7002 15.0996 -10.7002c8.7998 0 16 7.2002 16 16v130.3z" />
+ <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="448"
+d="M128 264v-232h-104c-13.2549 0 -24 10.7451 -24 24v336c0 13.2549 10.7451 24 24 24h80.6104c11.084 19.1104 31.7529 32 55.3896 32s44.3057 -12.8896 55.3896 -32h80.6104c13.2549 0 24 -10.7451 24 -24v-72h-136c-30.8779 0 -56 -25.1211 -56 -56zM160 408
+c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM344 160h104v-200c0 -13.2549 -10.7451 -24 -24 -24h-240c-13.2549 0 -24 10.7451 -24 24v304c0 13.2549 10.7451 24 24 24h136v-104c0 -13.2002 10.7998 -24 24 -24z
+M448 198.059v-6.05859h-96v96h6.05859c5.4873 0 13.0898 -3.14941 16.9707 -7.0293l65.9404 -65.9404c3.88086 -3.88086 7.03027 -11.4834 7.03027 -16.9717z" />
+ <glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352"
+d="M96.0596 -6.34961l-0.0498047 38.3496h159.98l-0.0400391 -38.3496c-0.00585938 -5.3291 -2.40723 -13.2549 -5.36035 -17.6904l-17.0898 -25.6904c-5.24023 -7.88184 -17.1748 -14.2793 -26.6396 -14.2793h-61.71c-9.46582 0 -21.4004 6.39746 -26.6406 14.2793
+l-17.0898 25.6904c-3.49023 5.24023 -5.34961 11.4004 -5.36035 17.6904zM0 272c0 93.0303 73.4404 175.69 175.45 176c97.46 0.299805 176.55 -78.6104 176.55 -176c0 -44.3701 -16.4502 -84.8496 -43.5596 -115.78c-16.5205 -18.8496 -42.3604 -58.2295 -52.21 -91.4502
+c-0.0400391 -0.269531 -0.0703125 -0.519531 -0.110352 -0.779297h-160.24c-0.0400391 0.259766 -0.0703125 0.519531 -0.110352 0.779297c-9.84961 33.2207 -35.6895 72.6006 -52.21 91.4502c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78zM176 352
+c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16c-61.7598 0 -112 -50.2402 -112 -112c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16c0 44.1104 35.8896 80 80 80z" />
+ <glyph glyph-name="user-md" unicode="&#xf0f0;" horiz-adv-x="448"
+d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM104 24c0 13.2998 10.7002 24 24 24s24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24zM320 159.4c71.2002 -3.5 128 -61.8008 128 -133.801
+v-44.7998c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v44.7998c0 66.6006 48.5 121.4 112.1 132.101v-80.4004c-23.0996 -6.89941 -40 -28.0996 -40 -53.3994c0 -30.9004 25.1006 -56 56 -56
+c30.9004 0 56 25.0996 56 56c0 25.2998 -16.8994 46.5 -40 53.3994v81.6006c7.7002 -1 15.2002 -2.60059 22.6006 -5.2002c18 -6.2998 37.2998 -9.7998 57.3994 -9.7998c20.1006 0 39.4004 3.5 57.4004 9.7998c2.2002 0.799805 4.40039 1.2002 6.59961 1.89941v-45.1992
+c-36.5 -7.5 -64 -39.8008 -64 -78.4004v-43.7998c0 -8.10059 5.90039 -14.7998 13.8008 -15.9004l31.1992 -4.2002c4.30078 -0.799805 8.5 2 9.40039 6.30078l3.09961 15.6992c0.800781 4.30078 -2 8.5 -6.2998 9.40039l-19.2998 3.90039v26.6992
+c0 67 96 64.7002 96 1.90039v-28.5l-19.2998 -3.90039c-4.40039 -0.799805 -7.2002 -5.09961 -6.2998 -9.39941l3.09961 -15.7002c0.900391 -4.40039 5.09961 -7.2002 9.40039 -6.2998l32.1992 6.39941c7.5 1.5 12.9004 8.10059 12.9004 15.7002v41.7002
+c0 38.5996 -27.5 71 -64 78.4004v49z" />
+ <glyph glyph-name="stethoscope" unicode="&#xf0f1;"
+d="M447.1 336c35.7002 0.5 64.9004 -28.2998 64.9004 -64c0 -23.7002 -12.9004 -44.2998 -32 -55.4004v-112.6c0 -92.5996 -79 -168 -176 -168c-95.4004 0 -173.3 72.7998 -175.9 163.2c-73 14.7998 -128.1 79.5 -128.1 156.8v155.4c0 11.5 8.09961 21.2998 19.2998 23.5996
+l62.7998 12.4004c13 2.59961 25.6006 -5.80078 28.2002 -18.8008l3.10059 -15.6992c2.59961 -13 -5.80078 -25.6006 -18.8008 -28.2002l-30.6992 -6.10059v-122.5c0 -53.2998 43.5 -96.5 96.8994 -96c52.9004 0.5 95.1006 44.3008 95.1006 97.2002v121.4l-30.7002 6.09961
+c-13 2.60059 -21.4004 15.2002 -18.7998 28.2002l3.19922 15.7002c2.60059 13 15.2002 21.3994 28.2002 18.7998l62.9004 -12.5996c11.2002 -2.2002 19.2998 -12.1006 19.2998 -23.5v-155.4c0 -77.2002 -55 -141.8 -127.8 -156.8
+c2.7002 -55.1006 51.8994 -99.2002 111.899 -99.2002c61.8008 0 112 46.7002 112 104v112.6c-19.5 11.2002 -32.5 32.5 -32 56.8008c0.700195 34.1992 28.8008 62.0996 63 62.5996zM448 256c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16
+s7.2002 -16 16 -16z" />
+ <glyph glyph-name="suitcase" unicode="&#xf0f2;"
+d="M128 -32v400c0 26.5 21.5 48 48 48h160c26.5 0 48 -21.5 48 -48v-400h-256zM192 352v-32h128v32h-128zM512 272v-256c0 -26.5 -21.5 -48 -48 -48h-48v352h48c26.5 0 48 -21.5 48 -48zM96 -32h-48c-26.5 0 -48 21.5 -48 48v256c0 26.5 21.5 48 48 48h48v-352z" />
+ <glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448"
+d="M224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64zM439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32
+c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398
+c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29z" />
+ <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="640"
+d="M192 64c-53 0 -96 43 -96 96v232c0 13.2998 10.7002 24 24 24h392c70.5996 0 128 -57.4004 128 -128s-57.4004 -128 -128 -128h-32c0 -53 -43 -96 -96 -96h-192zM512 352h-32v-128h32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64zM559.7 -32h-511.4
+c-47.5996 0 -61 64 -36 64h583.3c25 0 11.8008 -64 -35.8994 -64z" />
+ <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448"
+d="M448 -44v-20h-448v20c0 6.62695 5.37305 12 12 12h20v360c0 13.2549 10.7451 24 24 24h88v72c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-72h88c13.2549 0 24 -10.7451 24 -24v-360h20c6.62695 0 12 -5.37305 12 -12zM308 256h-40
+c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12zM140 192h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40
+c0 -6.62695 5.37305 -12 12 -12zM244 64h-40c-6.62695 0 -12 -5.37305 -12 -12v-84h64v84c0 6.62695 -5.37305 12 -12 12zM308 160h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12
+zM192 148c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40zM182 352h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20
+c0 3.31152 -2.68848 6 -6 6h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6z" />
+ <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="640"
+d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96h-16c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48 -21.5 48 -48v-48h44.0996
+c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM304 232v48c0 4.40039 -3.59961 8 -8 8h-56v56
+c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8zM480 -16c26.5 0 48 21.5 48 48
+s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" />
+ <glyph glyph-name="medkit" unicode="&#xf0fa;"
+d="M96 -32v352h32v48c0 26.5098 21.4902 48 48 48h160c26.5098 0 48 -21.4902 48 -48v-48h32v-352h-320zM192 352v-32h128v32h-128zM512 272v-256c0 -26.5098 -21.4902 -48 -48 -48h-16v352h16c26.5098 0 48 -21.4902 48 -48zM64 -32h-16c-26.5098 0 -48 21.4902 -48 48v256
+c0 26.5098 21.4902 48 48 48h16v-352zM352 176c0 8.83691 -7.16309 16 -16 16h-48v48c0 8.83691 -7.16309 16 -16 16h-32c-8.83691 0 -16 -7.16309 -16 -16v-48h-48c-8.83691 0 -16 -7.16309 -16 -16v-32c0 -8.83691 7.16309 -16 16 -16h48v-48
+c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v48h48c8.83691 0 16 7.16309 16 16v32z" />
+ <glyph glyph-name="fighter-jet" unicode="&#xf0fb;" horiz-adv-x="640"
+d="M544 224c96 -21.333 96 -26.583 96 -32s0 -10.667 -96 -32l-128 -16l-48 -16h-24l-116.842 -148h39.5088c11.666 0 21.333 -2.625 21.333 -6s-9.66602 -6 -21.333 -6h-114.667v12h16v164h-48l-66.666 -80h-34.667l-10.667 10.667v69.333h8v16h48v2.66699l-64 8v42.667
+l64 8v2.66602h-48v16h-8v69.333l10.667 10.667h34.666l66.667 -80h48v164h-16v12h114.667c11.666 0 21.333 -2.625 21.333 -6s-9.66699 -6 -21.333 -6h-39.5088l116.842 -148h24l48 -16z" />
+ <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="448"
+d="M368 352c44.1123 0 80 -35.8877 80 -80v-128.86c0 -31.5273 -18.6035 -60.2031 -47.3936 -73.0527l-80.6064 -35.9766v-42.1104c0 -13.2549 -10.7451 -24 -24 -24h-272c-13.2549 0 -24 10.7451 -24 24v400c0 13.2549 10.7451 24 24 24h272c13.2549 0 24 -10.7451 24 -24
+v-40h48zM384 143.14v128.86c0 8.82227 -7.17773 16 -16 16h-48v-183.805l54.5215 24.334c5.22754 2.33789 9.47461 8.88379 9.47852 14.6104zM208 64c8.83594 0 16 7.16406 16 16v224c0 8.83594 -7.16406 16 -16 16s-16 -7.16406 -16 -16v-224
+c0 -8.83594 7.16406 -16 16 -16zM112 64c8.83594 0 16 7.16406 16 16v224c0 8.83594 -7.16406 16 -16 16s-16 -7.16406 -16 -16v-224c0 -8.83594 7.16406 -16 16 -16z" />
+ <glyph glyph-name="h-square" unicode="&#xf0fd;" horiz-adv-x="448"
+d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM336 320h-32c-8.83691 0 -16 -7.16309 -16 -16v-80h-128v80c0 8.83691 -7.16309 16 -16 16h-32
+c-8.83691 0 -16 -7.16309 -16 -16v-224c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v80h128v-80c0 -8.83691 7.16309 -16 16 -16h32c8.83691 0 16 7.16309 16 16v224c0 8.83691 -7.16309 16 -16 16z" />
+ <glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM368 164v56c0 6.59961 -5.40039 12 -12 12h-92v92c0 6.59961 -5.40039 12 -12 12h-56c-6.59961 0 -12 -5.40039 -12 -12v-92h-92
+c-6.59961 0 -12 -5.40039 -12 -12v-56c0 -6.59961 5.40039 -12 12 -12h92v-92c0 -6.59961 5.40039 -12 12 -12h56c6.59961 0 12 5.40039 12 12v92h92c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="angle-double-left" unicode="&#xf100;" horiz-adv-x="448"
+d="M223.7 209l136 136c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.6006 -22.5996c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-96.2998 -96.5l96.3994 -96.4004c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.7002
+c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-136 136c-9.5 9.40039 -9.5 24.5996 -0.0996094 34zM31.7002 175c-9.40039 9.40039 -9.40039 24.5996 0.0996094 34l136 136c9.2998 9.40039 24.5 9.40039 33.9004 0l22.5996 -22.7002
+c9.40039 -9.2998 9.40039 -24.5 0 -33.8994l-96.3994 -96.4004l96.2998 -96.5c9.39941 -9.2998 9.39941 -24.5 0 -33.9004l-22.6006 -22.5996c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0z" />
+ <glyph glyph-name="angle-double-right" unicode="&#xf101;" horiz-adv-x="448"
+d="M224.3 175l-136 -136c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.6006 22.5996c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l96.4004 96.4004l-96.4004 96.3994c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l22.5 22.7998
+c9.40039 9.40039 24.6006 9.40039 33.9004 0l136 -136c9.5 -9.40039 9.5 -24.5996 0.0996094 -34zM416.3 209c9.40039 -9.40039 9.40039 -24.5996 0 -33.7998l-136 -136c-9.2998 -9.40039 -24.5 -9.40039 -33.8994 0l-22.6006 22.5996
+c-9.39941 9.2998 -9.39941 24.5 0 33.9004l96.4004 96.3994l-96.4004 96.4004c-9.39941 9.2998 -9.39941 24.5 0 33.9004l22.6006 22.5996c9.2998 9.40039 24.5 9.40039 33.8994 0z" />
+ <glyph glyph-name="angle-double-up" unicode="&#xf102;" horiz-adv-x="320"
+d="M177 192.3l136 -136c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.6006c-9.40039 -9.39941 -24.6006 -9.39941 -33.9004 0l-96.5 96.2998l-96.4004 -96.3994c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.7002 22.5996
+c-9.40039 9.40039 -9.40039 24.6006 0 33.9004l136 136c9.40039 9.5 24.5996 9.5 34 0.0996094zM143 384.3c9.40039 9.40039 24.5996 9.40039 33.7998 0l136 -136c9.40039 -9.2998 9.40039 -24.5 0 -33.8994l-22.5996 -22.6006c-9.2998 -9.39941 -24.5 -9.39941 -33.9004 0
+l-96.3994 96.4004l-96.4004 -96.4004c-9.2998 -9.39941 -24.5 -9.39941 -33.9004 0l-22.5996 22.6006c-9.40039 9.2998 -9.40039 24.5 0 33.8994z" />
+ <glyph glyph-name="angle-double-down" unicode="&#xf103;" horiz-adv-x="320"
+d="M143 191.7l-136 136c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.5996 22.6006c9.40039 9.39941 24.6006 9.39941 33.9004 0l96.4004 -96.4004l96.3994 96.4004c9.40039 9.39941 24.6006 9.39941 33.9004 0l22.7998 -22.5
+c9.40039 -9.40039 9.40039 -24.6006 0 -33.9004l-136 -136c-9.40039 -9.5 -24.5996 -9.5 -34 -0.0996094zM177 -0.299805c-9.40039 -9.40039 -24.5996 -9.40039 -34 0.0996094l-136 136c-9.40039 9.2998 -9.40039 24.5 0 33.9004l22.7002 22.5996
+c9.2998 9.40039 24.5 9.40039 33.8994 0l96.4004 -96.3994l96.5 96.2998c9.2998 9.39941 24.5 9.39941 33.9004 0l22.5996 -22.6006c9.40039 -9.2998 9.40039 -24.5 0 -33.8994z" />
+ <glyph glyph-name="angle-left" unicode="&#xf104;" horiz-adv-x="256"
+d="M31.7002 209l136 136c9.39941 9.40039 24.5996 9.40039 33.8994 0l22.6006 -22.5996c9.39941 -9.40039 9.39941 -24.6006 0 -33.9004l-96.2998 -96.5l96.3994 -96.4004c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.7002
+c-9.40039 -9.40039 -24.6006 -9.40039 -33.9004 0l-136 136c-9.5 9.40039 -9.5 24.5996 -0.0996094 34z" />
+ <glyph glyph-name="angle-right" unicode="&#xf105;" horiz-adv-x="256"
+d="M224.3 175l-136 -136c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.6006 22.5996c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l96.4004 96.4004l-96.4004 96.3994c-9.39941 9.40039 -9.39941 24.6006 0 33.9004l22.5 22.7998
+c9.40039 9.40039 24.6006 9.40039 33.9004 0l136 -136c9.5 -9.40039 9.5 -24.5996 0.0996094 -34z" />
+ <glyph glyph-name="angle-up" unicode="&#xf106;" horiz-adv-x="320"
+d="M177 288.3l136 -136c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-22.5996 -22.6006c-9.40039 -9.39941 -24.6006 -9.39941 -33.9004 0l-96.5 96.2998l-96.4004 -96.3994c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.7002 22.5996
+c-9.40039 9.40039 -9.40039 24.6006 0 33.9004l136 136c9.40039 9.5 24.5996 9.5 34 0.0996094z" />
+ <glyph glyph-name="angle-down" unicode="&#xf107;" horiz-adv-x="319"
+d="M143 95.7002l-136 136c-9.40039 9.39941 -9.40039 24.5996 0 33.8994l22.5996 22.6006c9.40039 9.39941 24.6006 9.39941 33.9004 0l96.4004 -96.4004l96.3994 96.4004c9.40039 9.39941 24.6006 9.39941 33.9004 0l22.5996 -22.6006
+c9.40039 -9.39941 9.40039 -24.5996 0 -33.8994l-136 -136c-9.2002 -9.40039 -24.3994 -9.40039 -33.7998 0z" />
+ <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="576"
+d="M528 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-192l16 -48h72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24h-272c-13.2998 0 -24 10.7002 -24 24s10.7002 24 24 24h72l16 48h-192c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h480z
+M512 96v288h-448v-288h448z" />
+ <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="640"
+d="M624 32c8.7998 0 16 -7.2002 16 -16v-16c0 -35.2002 -28.7998 -64 -64 -64h-512c-35.2002 0 -64 28.7998 -64 64v16c0 8.7998 7.2002 16 16 16h239.23c-0.25 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46zM576 400v-336h-512v336
+c0 26.4004 21.5996 48 48 48h416c26.4004 0 48 -21.5996 48 -48zM512 128v256h-384v-256h384z" />
+ <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="448"
+d="M400 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h352zM224 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="mobile" unicode="&#xf10b;" horiz-adv-x="320"
+d="M272 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-224c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h224zM160 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="quote-left" unicode="&#xf10d;"
+d="M464 192c26.5 0 48 -21.5 48 -48v-128c0 -26.5 -21.5 -48 -48 -48h-128c-26.5 0 -48 21.5 -48 48v240c0 88.4004 71.5996 160 160 160h8c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8c-35.2998 0 -64 -28.7002 -64 -64v-64h80zM176 192
+c26.5 0 48 -21.5 48 -48v-128c0 -26.5 -21.5 -48 -48 -48h-128c-26.5 0 -48 21.5 -48 48v240c0 88.4004 71.5996 160 160 160h8c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8c-35.2998 0 -64 -28.7002 -64 -64v-64h80z" />
+ <glyph glyph-name="quote-right" unicode="&#xf10e;"
+d="M464 416c26.5 0 48 -21.5 48 -48v-240c0 -88.4004 -71.5996 -160 -160 -160h-8c-13.2998 0 -24 10.7002 -24 24v48c0 13.2998 10.7002 24 24 24h8c35.2998 0 64 28.7002 64 64v64h-80c-26.5 0 -48 21.5 -48 48v128c0 26.5 21.5 48 48 48h128zM176 416
+c26.5 0 48 -21.5 48 -48v-240c0 -88.4004 -71.5996 -160 -160 -160h-8c-13.2998 0 -24 10.7002 -24 24v48c0 13.2998 10.7002 24 24 24h8c35.2998 0 64 28.7002 64 64v64h-80c-26.5 0 -48 21.5 -48 48v128c0 26.5 21.5 48 48 48h128z" />
+ <glyph glyph-name="spinner" unicode="&#xf110;"
+d="M304 400c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM256 32c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM464 240c26.5098 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48
+s-48 21.4902 -48 48s21.4902 48 48 48zM96 192c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48zM108.922 92.9219c26.5088 0 48 -21.4912 48 -48c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48z
+M403.078 92.9219c26.5098 0 48 -21.4912 48 -48c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48zM108.922 387.078c26.5088 0 48 -21.4902 48 -48s-21.4902 -48 -48 -48s-48 21.4902 -48 48s21.4902 48 48 48z" />
+ <glyph glyph-name="circle" unicode="&#xf111;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z" />
+ <glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
+s32 14.2998 32 32s-14.2998 32 -32 32zM362.8 101.8c13.5 16.2998 -11.2002 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002s-67.7998 15.3008 -90.2002 42.2002c-13.5996 16.2002 -38.2002 -4.2002 -24.5996 -20.5
+c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7998z" />
+ <glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
+s32 14.2998 32 32s-14.2998 32 -32 32zM338.2 53.7998c13.5 -16.2998 38.0996 4.2002 24.5 20.4004c-28.4004 34.2002 -70.2998 53.7998 -114.7 53.7998s-86.2998 -19.5996 -114.8 -53.7002c-13.5 -16.2998 11.0996 -36.7998 24.5996 -20.5
+c22.4004 26.7998 55.2998 42.2002 90.2002 42.2002s67.7998 -15.4004 90.2002 -42.2002z" />
+ <glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM344 80c21.2002 0 21.2002 32 0 32h-192c-21.2002 0 -21.2002 -32 0 -32
+h192zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="639"
+d="M480 352c88.4004 0 159.9 -71.5996 159.9 -160s-71.6006 -160 -160 -160c-44.7002 0 -85.2002 18.4004 -114.2 48h-91.5c-29 -29.5996 -69.4004 -48 -114.2 -48c-88.4004 0 -160 71.5996 -160 160s71.5996 160 160 160h320zM256 172v40c0 6.59961 -5.40039 12 -12 12h-52
+v52c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-52h-52c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h52v-52c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v52h52c6.59961 0 12 5.40039 12 12zM440 104
+c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM520 184c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
+ <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576"
+d="M528 0h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48zM128 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40
+c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM224 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 268v40c0 6.62695 -5.37305 12 -12 12h-40
+c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM416 268v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM512 268v40
+c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM176 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40
+c6.62695 0 12 5.37305 12 12zM272 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM368 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40
+c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM464 172v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM128 76v40c0 6.62695 -5.37305 12 -12 12h-40
+c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM416 76v40c0 6.62695 -5.37305 12 -12 12h-232c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h232c6.62695 0 12 5.37305 12 12zM512 76v40
+c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12z" />
+ <glyph glyph-name="flag-checkered" unicode="&#xf11e;" horiz-adv-x="519"
+d="M243.2 258.1c24.2002 -6.69922 47.5996 -16.3994 73.5996 -22.1992v-68.2002c-24.2998 6.7002 -47.5 16.3994 -73.5996 22.2998v68.0996zM466.5 381.1c21.2002 9.80078 45.5 -5.69922 45.4004 -29v-243.1c0 -10.5996 -5.10059 -20.4004 -13.8008 -26.4004
+c-35.7998 -24.5996 -74.2998 -40.8994 -122.5 -40.8994c-67.3994 0 -111.6 34.7998 -165.199 34.7998c-50.8008 0 -86.1006 -10 -114.4 -22.0996v-94.4004c0 -13.2998 -10.7002 -24 -24 -24h-16c-13.2998 0 -24 10.7002 -24 24v386.1c-14.5 10.1006 -24 26.9004 -24 45.9004
+c0 31.7002 26.2998 57.2998 58.2998 56c28.5 -1.2002 51.7998 -24 53.6006 -52.4004c0.5 -8.39941 -0.800781 -16.2998 -3.60059 -23.5996c20.7002 7.59961 43 12 68 12c67.4004 0 111.7 -34.7998 165.2 -34.7998c40.5 0 82.7002 16 117 31.8994zM169.6 122.5v71.2998
+c-26.0996 -2.39941 -47.3994 -8.09961 -73.5996 -17.3994v-70.5c23.5996 8.39941 47.7998 13.8994 73.5996 16.5996zM464 257v70.5c-21.2998 -8.90039 -46.5996 -17.7002 -73.5996 -22.5v-71.9004c-26 -4.19922 -49.9004 -2.59961 -73.6006 2.7002v68.4004
+c-26.3994 4.59961 -49.8994 13.8994 -73.5996 21.2998v-67.4004c-25.2002 7 -46.6006 9.40039 -73.6006 5.7002v71.6006c-23.5 -2.2002 -40.3994 -9.80078 -73.5996 -22v-70.5c29 10.6992 51.2002 17.7998 73.5996 20.8994v-70c32.8008 3 53.9004 0.600586 73.6006 -3.7998
+v-68.5c26.2998 -4.59961 49.7002 -13.9004 73.5996 -21.2998v67.3994c25.7002 -7.09961 46.6006 -9.2998 73.6006 -5.59961v-71.5996c25.0996 2.39941 48.5 11 73.5996 27.0996v70.5c-22.2002 -14.2002 -48.7998 -22.5996 -73.5996 -26v71.0996
+c27.2998 4.40039 50 14.1006 73.5996 23.9004z" />
+ <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="640"
+d="M257.981 175.029l-194.344 -194.344c-9.37305 -9.37207 -24.5684 -9.37207 -33.9404 0l-22.668 22.667c-9.35742 9.35742 -9.375 24.5225 -0.0400391 33.9014l154.021 154.746l-154.021 154.745c-9.33496 9.37891 -9.31738 24.5439 0.0400391 33.9014l22.667 22.667
+c9.37305 9.37207 24.5684 9.37207 33.9404 0l194.344 -194.344c9.37207 -9.37207 9.37207 -24.5674 0 -33.9404zM640 -8c0 -13.2549 -10.7451 -24 -24 -24h-304c-13.2549 0 -24 10.7451 -24 24v32c0 13.2549 10.7451 24 24 24h304c13.2549 0 24 -10.7451 24 -24v-32z" />
+ <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="640"
+d="M278.9 -63.5l-61 17.7002c-6.40039 1.7998 -10 8.5 -8.2002 14.8994l136.5 470.2c1.7998 6.40039 8.5 10 14.8994 8.2002l61 -17.7002c6.40039 -1.7998 10 -8.5 8.2002 -14.8994l-136.5 -470.2c-1.89941 -6.40039 -8.5 -10.1006 -14.8994 -8.2002zM164.9 48.7002
+c-4.5 -4.90039 -12.1006 -5.10059 -17 -0.5l-144.101 135.1c-5.09961 4.7002 -5.09961 12.7998 0 17.5l144.101 135c4.89941 4.60059 12.5 4.2998 17 -0.5l43.5 -46.3994c4.69922 -4.90039 4.2998 -12.7002 -0.800781 -17.2002l-90.5996 -79.7002l90.5996 -79.7002
+c5.10059 -4.5 5.40039 -12.2998 0.800781 -17.2002zM492.1 48.0996c-4.89941 -4.5 -12.5 -4.2998 -17 0.600586l-43.5 46.3994c-4.69922 4.90039 -4.2998 12.7002 0.800781 17.2002l90.5996 79.7002l-90.5996 79.7998c-5.10059 4.5 -5.40039 12.2998 -0.800781 17.2002
+l43.5 46.4004c4.60059 4.7998 12.2002 5 17 0.5l144.101 -135.2c5.09961 -4.7002 5.09961 -12.7998 0 -17.5z" />
+ <glyph glyph-name="reply-all" unicode="&#xf122;" horiz-adv-x="576"
+d="M136.309 258.164l176.005 151.985c15.4062 13.3047 39.6865 2.50293 39.6865 -18.1641v-82.7637c129.182 -10.2305 224 -52.2119 224 -183.548c0 -61.4404 -39.582 -122.309 -83.333 -154.132c-13.6533 -9.93066 -33.1113 2.5332 -28.0771 18.6309
+c38.5117 123.162 -3.92188 169.482 -112.59 182.016v-84.1758c0 -20.7012 -24.2998 -31.4531 -39.6865 -18.1641l-176.005 151.987c-11.0703 9.56152 -11.0859 26.7529 0 36.3281zM8.30859 221.836c-11.0703 9.56152 -11.0859 26.7529 0 36.3281l176.005 151.985
+c15.4062 13.3047 39.6865 2.50293 39.6865 -18.1641v-15.8174l-108.607 -93.7861c-10.7041 -9.23926 -19.3926 -28.2158 -19.3926 -42.3564v-0.0234375v-0.0244141c0 -14.1416 8.68848 -33.1191 19.3936 -42.3604l108.606 -93.7852v-15.8184
+c0 -20.7002 -24.2998 -31.4531 -39.6865 -18.1641z" />
+ <glyph glyph-name="location-arrow" unicode="&#xf124;"
+d="M444.52 444.48c38.3809 16 79.9609 -25.5801 63.9707 -63.9707l-191.9 -415.779c-22.3896 -47.9805 -92.75 -31.9805 -92.75 19.1895v175.91h-175.91c-51.1699 0 -67.1602 70.3604 -19.1895 92.75z" />
+ <glyph glyph-name="crop" unicode="&#xf125;"
+d="M488 96c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-40v-40c0 -13.25 -10.75 -24 -24 -24h-48c-13.25 0 -24 10.75 -24 24v282.75l-146.75 -146.75h114.75v-96h-232c-13.25 0 -24 10.75 -24 24v264h-40c-13.25 0 -24 10.75 -24 24v48
+c0 13.2598 10.75 24 24 24h40v40c0 13.2598 10.75 24 24 24h48c13.25 0 24 -10.7402 24 -24v-282.75l146.75 146.75h-114.75v96h210.75l59.3096 59.3096c6.25 6.25 16.3809 6.25 22.6309 0l22.6191 -22.6191c6.25 -6.25 6.25 -16.3809 0 -22.6309l-59.3096 -59.3096v-242.75
+h40z" />
+ <glyph glyph-name="code-branch" unicode="&#xf126;" horiz-adv-x="384"
+d="M384 304c0 -35.2002 -22.7998 -65.0996 -54.4004 -75.9004c-0.5 -28.0996 -7.59961 -50.5 -21.5996 -67.8994c-28.2002 -35 -76 -39.5 -118.2 -43.4004c-25.7002 -2.39941 -49.8994 -4.59961 -66.0996 -12.7998c-7.10059 -3.59961 -11.7998 -8.2002 -14.9004 -13.4004
+c30 -11.5 51.2002 -40.5996 51.2002 -74.5996c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 35.7998 23.5 66.0996 56 76.4004v199.3c-32.5 10.2002 -56 40.5 -56 76.2998c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80c0 -35.7998 -23.5 -66.0996 -56 -76.2998
+v-144c23.9004 11.5 53.0996 14.2998 81.2998 16.8994c35.9004 3.30078 69.7998 6.5 85.2002 25.7002c6.7998 8.40039 10.4004 20.7998 11 36.9004c-33.2002 9.7002 -57.5 40.3994 -57.5 76.7998c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80zM80 384
+c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16s16 7.2002 16 16s-7.2002 16 -16 16zM80 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM304 320c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16s16 7.2002 16 16
+s-7.2002 16 -16 16z" />
+ <glyph glyph-name="unlink" unicode="&#xf127;"
+d="M304.083 42.0928c4.68555 -4.68555 4.68555 -12.2842 0 -16.9707l-44.6738 -44.6738c-59.2627 -59.2627 -155.693 -59.2666 -214.961 0c-59.2646 59.2646 -59.2646 155.695 0 214.96l44.6748 44.6748c4.68555 4.68555 12.2842 4.68555 16.9707 0l39.5986 -39.5977
+c4.68555 -4.68652 4.68555 -12.2842 0 -16.9717l-44.6758 -44.6738c-28.0713 -28.0732 -28.0713 -73.75 0 -101.823c28.0723 -28.0713 73.75 -28.0723 101.824 0l44.6738 44.6748c4.68652 4.68555 12.2842 4.68555 16.9717 0zM247.515 302.309l-39.5967 39.5986
+c-4.68555 4.68652 -4.68555 12.2852 0 16.9707l44.6738 44.6738c59.2666 59.2646 155.695 59.2646 214.961 0s59.2656 -155.694 0 -214.96l-44.6748 -44.6748c-4.68652 -4.68555 -12.2852 -4.68555 -16.9707 0l-39.5986 39.5977c-4.68555 4.6875 -4.68555 12.2852 0 16.9717
+l44.6758 44.6738c28.0713 28.0732 28.0713 73.75 0 101.823c-28.0742 28.0723 -73.752 28.0742 -101.824 0l-44.6738 -44.6748c-4.6875 -4.68555 -12.2852 -4.68555 -16.9717 0zM482.343 -56.9707c-9.37207 -9.37207 -24.5674 -9.37207 -33.9404 0l-441.373 441.373
+c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l22.6279 22.6279c9.37207 9.37305 24.5674 9.37305 33.9404 0l441.372 -441.374c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404z" />
+ <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="403"
+d="M202.021 448c84.8809 0 175.482 -66.2559 175.481 -153.6c0 -115.982 -125.268 -117.768 -125.268 -160.627v-5.77344c0 -13.2549 -10.7451 -24 -24 -24h-72.4717c-13.2549 0 -24 10.7451 -24 24v9.78809c0 61.8291 46.876 86.5449 82.2998 106.405
+c30.376 17.0293 48.9922 28.6113 48.9922 51.1641c0 29.832 -38.0518 49.6309 -68.8154 49.6309c-39.127 0 -57.708 -18.0684 -82.7568 -49.4492c-8.12109 -10.1738 -22.8809 -12.0127 -33.2529 -4.14844l-43.1387 32.709c-10.2705 7.78809 -12.541 22.2939 -5.17773 32.874
+c40.5889 58.3232 92.2881 91.0264 172.107 91.0264zM192 74.541c38.1963 0 69.2715 -31.0742 69.2715 -69.2695c0 -38.1963 -31.0752 -69.2715 -69.2715 -69.2715s-69.2715 31.0752 -69.2715 69.2695c0 38.1963 31.0752 69.2715 69.2715 69.2715z" />
+ <glyph glyph-name="info" unicode="&#xf129;" horiz-adv-x="192"
+d="M20 23.7715h20v144.457h-20c-11.0459 0 -20 8.9541 -20 20v47.7715c0 11.0459 8.9541 20 20 20h112c11.0459 0 20 -8.9541 20 -20v-212.229h20c11.0459 0 20 -8.9541 20 -20v-47.7715c0 -11.0459 -8.9541 -20 -20 -20h-152c-11.0459 0 -20 8.9541 -20 20v47.7715
+c0 11.0459 8.9541 20 20 20zM96 448c39.7637 0 72 -32.2354 72 -72s-32.2354 -72 -72 -72s-72 32.2354 -72 72s32.2354 72 72 72z" />
+ <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="192"
+d="M176 16c0 -44.1123 -35.8877 -80 -80 -80s-80 35.8877 -80 80s35.8877 80 80 80s80 -35.8877 80 -80zM25.2598 422.801c-0.68457 13.709 10.2441 25.1992 23.9707 25.1992h93.5391c13.7266 0 24.6553 -11.4902 23.9707 -25.1992l-13.6006 -272
+c-0.638672 -12.7725 -11.1807 -22.8008 -23.9697 -22.8008h-66.3398c-12.7891 0 -23.3311 10.0283 -23.9697 22.8008z" />
+ <glyph glyph-name="superscript" unicode="&#xf12b;"
+d="M272 256c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-28l-52.5996 -75.7002l58.5996 -84.2998h22c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-62.4004c-5.5 0 -10.5996 2.7998 -13.5 7.5l-45.6992 72.5996
+c-2.30078 3.30078 -4.40039 7 -6.2002 10.2002c-1.7002 -3.2998 -3.7002 -7 -5.90039 -10.5996l-44.7002 -72.1006c-2.89941 -4.69922 -8.09961 -7.59961 -13.5996 -7.59961h-64c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h26.2998l56.6006 82.7002
+l-52.8008 77.2998h-30.0996c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h68.9004c5.5 0 10.6992 -2.90039 13.5996 -7.59961l39.9004 -65.1006c2 -3.59961 4 -7.2002 5.69922 -10.3994c1.7002 3.19922 3.90039 6.89941 6.2002 10.5l40.2998 65
+c2.90039 4.69922 8.10059 7.59961 13.6006 7.59961h67.7998zM496 192c8.7998 0 16 -7.2002 16 -15.9004v-32c0 -8.7998 -7.2002 -16 -16 -16h-168.1c-8.10059 0 -14.8008 5.90039 -15.9004 13.9004c-0.799805 6.2998 -1.40039 12.5996 -1.40039 19.2998
+c0 103 119.4 123.8 119.4 160c0 11 -6.90039 23.9004 -26.2998 23.9004c-12.9004 0 -23.7002 -7.7998 -31.7002 -18.2002c-5.09961 -6.7002 -14.5996 -8.2998 -21.5996 -3.59961l-30.3008 20.2998c-7.19922 4.89941 -9.2998 14.5996 -4.59961 21.8994
+c18 28.4004 51.9004 50.4004 94.4004 50.4004c47.0996 0 97.7998 -27.5 97.7998 -88.0996c0 -24.4004 -8.40039 -45.5 -25.9004 -64.6006c-14.7998 -16.2998 -33.7002 -28.2998 -50.2998 -38.8994c-17.5 -11.1006 -32.7998 -21.9004 -36.2998 -32.4004h100.8z" />
+ <glyph glyph-name="subscript" unicode="&#xf12c;"
+d="M272 416c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-28l-52.5996 -75.7002l58.5996 -84.2998h22c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-62.4004c-5.5 0 -10.5996 2.7998 -13.5 7.5l-45.6992 72.5996
+c-2.30078 3.30078 -4.40039 7 -6.2002 10.2002c-1.7002 -3.2998 -3.7002 -7 -5.90039 -10.5996l-44.7002 -72.1006c-2.89941 -4.69922 -8.09961 -7.59961 -13.5996 -7.59961h-64c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h26.2998l56.6006 82.7002
+l-52.8008 77.2998h-30.0996c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h68.9004c5.5 0 10.6992 -2.90039 13.5996 -7.59961l39.9004 -65.1006c2 -3.59961 4 -7.2002 5.69922 -10.3994c1.7002 3.19922 3.90039 6.89941 6.2002 10.5l40.2998 65
+c2.90039 4.69922 8.10059 7.59961 13.6006 7.59961h67.7998zM496 32c8.7998 0 16 -7.2002 16 -15.9004v-32c0 -8.7998 -7.2002 -16 -16 -16h-168.1c-8.10059 0 -14.8008 5.90039 -15.9004 13.9004c-0.799805 6.2998 -1.40039 12.5996 -1.40039 19.2998
+c0 103 119.4 123.8 119.4 160c0 11 -6.90039 23.9004 -26.2998 23.9004c-12.9004 0 -23.7002 -7.7998 -31.7002 -18.2002c-5.09961 -6.7002 -14.5996 -8.2998 -21.5996 -3.59961l-30.3008 20.2998c-7.19922 4.89941 -9.2998 14.5996 -4.59961 21.8994
+c18 28.4004 51.9004 50.4004 94.4004 50.4004c47.0996 0 97.7998 -27.5 97.7998 -88.0996c0 -24.4004 -8.40039 -45.5 -25.9004 -64.6006c-14.7998 -16.2998 -33.7002 -28.2998 -50.2998 -38.8994c-17.5 -11.1006 -32.7998 -21.9004 -36.2998 -32.4004h100.8z" />
+ <glyph glyph-name="eraser" unicode="&#xf12d;"
+d="M497.941 174.059l-142.059 -142.059h144.117c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-356c-10.9756 0 -26.1816 6.29883 -33.9424 14.0586l-96 96c-18.7441 18.7451 -18.7441 49.1377 0 67.8828l256 256
+c18.7471 18.7451 49.1387 18.7441 67.8838 0l160 -160c18.7441 -18.7451 18.7441 -49.1377 0 -67.8828zM195.314 236.686l-124.687 -124.686l80 -80h114.745l67.3135 67.3135z" />
+ <glyph glyph-name="puzzle-piece" unicode="&#xf12e;" horiz-adv-x="576"
+d="M519.442 159.349c37.5957 0 56.5576 -31.5928 56.5576 -65.792c0 -33.5469 -19.2881 -61.5566 -54.9229 -61.5557c-39.8848 0 -50.3457 36.1523 -86.3086 36.1523c-60.5518 0 -25.8262 -120.102 -25.8262 -120.102c-51.5557 0 -181.23 -35.0732 -181.23 25.7305
+c0 35.8271 36.2881 46.25 36.2881 85.9844c0 35.501 -28.1152 54.7178 -61.7881 54.7178c-34.3271 0 -63.5771 -18.8906 -63.5771 -56.3467c0 -41.3633 40 -58.998 40 -81.4707c0 -69.709 -178.635 -28.6621 -178.635 -28.6621v333.237s175.885 -40.9609 175.884 28.6621
+c0 22.4727 -31.7109 40.3857 -31.7109 81.75c0 37.4551 31.7119 56.3457 66.3662 56.3457c33.3457 0 61.4609 -19.2158 61.4609 -54.7178c0 -39.7354 -36.2881 -50.1582 -36.2881 -85.9854c0 -83.2969 196.288 -3.29688 196.288 -3.29688
+s-54.5908 -176.244 5.38379 -176.244c22.5586 0 40.5391 31.5928 82.0586 31.5928z" />
+ <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="352"
+d="M176 96c-53.0195 0 -96 42.9805 -96 96v160c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96v-160c0 -53.0195 -42.9805 -96 -96 -96zM336 256c8.83984 0 16 -7.16016 16 -16v-48c0 -88.9004 -66.29 -162.47 -152 -174.23v-33.7695h56c8.83984 0 16 -7.16016 16 -16v-16
+c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v40.1602c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-42.2998
+c0 -66.8105 48.71 -126.59 115.21 -133.08c76.2998 -7.44043 140.79 52.5801 140.79 127.38v48c0 8.83984 7.16016 16 16 16h16z" />
+ <glyph glyph-name="microphone-slash" unicode="&#xf131;" horiz-adv-x="640"
+d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
+c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l178.54 -137.99v45.3604c0 53.0195 42.9805 96 96 96c53.0205 0 96 -42.9805 96 -96v-160.01c0 -10.4502 -2.17969 -20.2705 -5.2793 -29.6699l26.5498 -20.5205c6.75977 15.4004 10.7197 32.2803 10.7197 50.2002v48
+c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-48c0 -29.0098 -7.38965 -56.1299 -19.9805 -80.1396zM400 -16c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56
+v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v6.85059l52.0303 -40.2305c12.4395 -53.2197 55.3301 -96.4004 111.18 -101.85c6.94043 -0.669922 13.6396 -0.200195 20.3496 0.199219l50.1104 -38.7295c-10.8203 -3.77051 -22.0098 -6.70996 -33.6699 -8.31055
+v-33.7695h56z" />
+ <glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448"
+d="M12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM448 300c0 -6.59961 -5.40039 -12 -12 -12h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52
+c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36z" />
+ <glyph glyph-name="fire-extinguisher" unicode="&#xf134;" horiz-adv-x="448"
+d="M434.027 421.671c7.31445 1.21875 13.9727 -4.4209 13.9727 -11.8369v-115.668c0 -7.41602 -6.6582 -13.0557 -13.9727 -11.8369l-168 28c-11.7305 1.95508 -10.0273 14.6973 -10.0273 17.6709h-40v-27.0303c41.4043 -10.6582 72 -48.2383 72 -92.9697v-248
+c0 -13.2549 -10.7451 -24 -24 -24h-144c-13.2549 0 -24 10.7451 -24 24v246.795c0 44.8945 30.457 83.2666 72 94.1289v27.0762c-61.0361 0 -92.9424 7.00977 -121.711 -64.9141c-4.91699 -12.2949 -18.8789 -18.2959 -31.1963 -13.3701
+c-12.3066 4.92285 -18.293 18.8906 -13.3701 31.1973c14.668 36.6709 38.0107 77.833 90.0498 90.8838c-14.1406 36.5273 12.793 76.2031 52.2275 76.2031c37.4463 0 64.3525 -36.1084 53.668 -72h58.332c0 4.2002 -1.30664 15.7822 10.0273 17.6709zM144 376
+c8.82227 0 16 7.17773 16 16s-7.17773 16 -16 16s-16 -7.17773 -16 -16s7.17773 -16 16 -16z" />
+ <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="511"
+d="M505.05 428.9c6.9502 -32.2002 6.9502 -57.4004 6.85059 -82.6006c0 -102.689 -55.4102 -164.79 -128 -211.09v-104.41v-0.0400391c0 -16.3516 -11.8721 -35.5527 -26.5 -42.8594l-98.7002 -49.3906c-2.79004 -1.38965 -7.58398 -2.5166 -10.7002 -2.5166
+c-13.248 0 -24 10.752 -24 24v0.00683594v103.84l-22.4697 -22.4697c-5.17383 -5.1748 -15.3125 -9.375 -22.6299 -9.375c-7.31836 0 -17.4561 4.2002 -22.6309 9.375l-50.8994 50.9102c-5.17285 5.17285 -9.37012 15.3096 -9.37012 22.625s4.19727 17.4512 9.37012 22.625
+l22.4697 22.4697h-103.77h-0.0126953c-13.248 0 -24 10.752 -24 24c0 3.12012 1.12988 7.91797 2.52246 10.71l49.4199 98.7998c7.32324 14.6094 26.5283 26.4766 42.8701 26.4902h104.2c46.1895 72.7998 108.09 128 211.29 128c25.0996 0 50.29 0 82.4893 -6.90039
+c5.54395 -1.19043 11.0098 -6.65527 12.2002 -12.1992zM384 280c22.0801 0 40 17.9199 40 40s-17.9199 40 -40 40s-40 -17.9199 -40 -40s17.9199 -40 40 -40z" />
+ <glyph glyph-name="chevron-circle-left" unicode="&#xf137;"
+d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM142.1 175l135.5 -135.5c9.40039 -9.40039 24.6006 -9.40039 33.9004 0l17 17c9.40039 9.40039 9.40039 24.5996 0 33.9004l-101.6 101.6l101.6 101.6
+c9.40039 9.40039 9.40039 24.6006 0 33.9004l-17 17c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-135.5 -135.5c-9.39941 -9.40039 -9.39941 -24.5996 0 -34z" />
+ <glyph glyph-name="chevron-circle-right" unicode="&#xf138;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM369.9 209l-135.5 135.5c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-17 -17c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l101.6 -101.6l-101.6 -101.6
+c-9.40039 -9.40039 -9.40039 -24.6006 0 -33.9004l17 -17c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l135.5 135.5c9.39941 9.40039 9.39941 24.5996 0 34z" />
+ <glyph glyph-name="chevron-circle-up" unicode="&#xf139;"
+d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM239 305.9l-135.5 -135.5c-9.40039 -9.40039 -9.40039 -24.6006 0 -33.9004l17 -17c9.40039 -9.40039 24.5996 -9.40039 33.9004 0l101.6 101.6l101.6 -101.6
+c9.40039 -9.40039 24.6006 -9.40039 33.9004 0l17 17c9.40039 9.40039 9.40039 24.5996 0 33.9004l-135.5 135.5c-9.40039 9.39941 -24.5996 9.39941 -34 0z" />
+ <glyph glyph-name="chevron-circle-down" unicode="&#xf13a;"
+d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM273 78.0996l135.5 135.5c9.40039 9.40039 9.40039 24.6006 0 33.9004l-17 17c-9.40039 9.40039 -24.5996 9.40039 -33.9004 0l-101.6 -101.6l-101.6 101.6
+c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-17 -17c-9.40039 -9.40039 -9.40039 -24.5996 0 -33.9004l135.5 -135.5c9.40039 -9.39941 24.5996 -9.39941 34 0z" />
+ <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="575"
+d="M12.9707 96c-10.6904 0 -16.0449 12.9258 -8.48535 20.4854l67.0283 67.0283c4.6875 4.68652 12.2852 4.68652 16.9717 0l67.0283 -67.0283c7.56055 -7.55957 2.20605 -20.4854 -8.48438 -20.4854h-35.1465c20.2969 -54.3359 85.1816 -86.6162 144.117 -94.0146v190.015
+h-52c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h52v5.46973c-37.2842 13.1807 -64 48.7324 -64 90.5303c0 53.4746 43.7227 96.7393 97.3701 95.9902c52.2354 -0.728516 94.6348 -43.7627 94.6289 -96.002
+c-0.00488281 -41.793 -26.7188 -77.3398 -64 -90.5186v-5.46973h52c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-52v-190.015c59.1543 7.42676 123.827 39.6973 144.117 94.0146h-35.1465c-10.6904 0 -16.0449 12.9248 -8.48438 20.4854
+l67.0283 67.0283c4.6875 4.68652 12.2852 4.68652 16.9717 0l67.0283 -67.0283c7.56055 -7.55957 2.20605 -20.4854 -8.48438 -20.4854h-32.3945c-21.7822 -102.62 -136.406 -160 -242.635 -160c-106.056 0 -220.828 57.2646 -242.635 160h-32.3945zM288 384
+c-17.6445 0 -32 -14.3555 -32 -32s14.3555 -32 32 -32s32 14.3555 32 32s-14.3555 32 -32 32z" />
+ <glyph glyph-name="unlock-alt" unicode="&#xf13e;" horiz-adv-x="448"
+d="M400 192c26.5 0 48 -21.5 48 -48v-160c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v160c0 26.5 21.5 48 48 48h24v102.5c0 84 67.5 153.2 151.5 153.5s152.5 -68 152.5 -152v-16c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v16
+c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-103.1h248zM264 40v48c0 22.0996 -17.9004 40 -40 40s-40 -17.9004 -40 -40v-48c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40z" />
+ <glyph glyph-name="bullseye" unicode="&#xf140;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 8c101.71 0 184 82.3096 184 184c0 101.71 -82.3096 184 -184 184c-101.71 0 -184 -82.3096 -184 -184c0 -101.71 82.3096 -184 184 -184zM248 320
+c70.6904 0 128 -57.3096 128 -128s-57.3096 -128 -128 -128s-128 57.3096 -128 128s57.3096 128 128 128zM248 128c35.29 0 64 28.71 64 64s-28.71 64 -64 64s-64 -28.71 -64 -64s28.71 -64 64 -64z" />
+ <glyph glyph-name="ellipsis-h" unicode="&#xf141;"
+d="M328 192c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM432 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72zM80 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72
+s-72 32.2002 -72 72s32.2002 72 72 72z" />
+ <glyph glyph-name="ellipsis-v" unicode="&#xf142;" horiz-adv-x="192"
+d="M96 264c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72zM24 368c0 39.7998 32.2002 72 72 72s72 -32.2002 72 -72s-32.2002 -72 -72 -72s-72 32.2002 -72 72zM24 16c0 39.7998 32.2002 72 72 72s72 -32.2002 72 -72
+s-32.2002 -72 -72 -72s-72 32.2002 -72 72z" />
+ <glyph glyph-name="rss-square" unicode="&#xf143;" horiz-adv-x="448"
+d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM112 32c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM269.533 32
+c6.53516 0 11.7764 5.46777 11.4248 11.9941c-5.9668 110.428 -94.418 198.99 -204.964 204.964c-6.52637 0.351562 -11.9941 -4.88965 -11.9941 -11.4248v-34.335c0 -6.00977 4.63574 -11.0508 10.6328 -11.4414c79.8799 -5.20312 143.909 -69.0732 149.123 -149.123
+c0.391602 -5.99805 5.43066 -10.6338 11.4424 -10.6338h34.335zM372.56 32c6.4541 0 11.6641 5.33789 11.4326 11.7871c-5.99512 167.014 -140.375 302.18 -308.205 308.205c-6.44922 0.231445 -11.7871 -4.97852 -11.7871 -11.4326v-34.334
+c0 -6.16016 4.88184 -11.1748 11.0391 -11.4277c136.556 -5.59863 246.162 -115.225 251.76 -251.76c0.251953 -6.15625 5.2666 -11.0381 11.4268 -11.0381h34.334z" />
+ <glyph glyph-name="play-circle" unicode="&#xf144;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM371.7 168c16.3994 9.09961 16.3994 32.7998 0 42l-176 107c-15.9004 8.7998 -35.7002 -2.59961 -35.7002 -21v-208c0 -18.5 19.9004 -29.7998 35.7002 -21z" />
+ <glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM92 152h264c6.59961 0 12 5.40039 12 12v56c0 6.59961 -5.40039 12 -12 12h-264c-6.59961 0 -12 -5.40039 -12 -12v-56
+c0 -6.59961 5.40039 -12 12 -12z" />
+ <glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448"
+d="M400 -32h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM195.314 66.0586l184 184c6.24707 6.24805 6.24707 16.3799 0 22.627l-22.6279 22.6279
+c-6.24707 6.24707 -16.3789 6.24805 -22.6279 0l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24707 -16.3799 6.24707 -22.6279 0l-22.6279 -22.6279c-6.24707 -6.24707 -6.24707 -16.3789 0 -22.627l104 -104c6.24902 -6.25 16.3799 -6.25 22.6289 -0.000976562z" />
+ <glyph glyph-name="pen-square" unicode="&#xf14b;" horiz-adv-x="448"
+d="M400 -32h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48zM238.1 270.1l-135.699 -135.699l-6.30078 -57.1006c-0.799805 -7.59961 5.60059 -14.0996 13.3008 -13.2998l57.0996 6.2998l135.7 135.7
+c2.2998 2.2998 2.2998 6.09961 0 8.5l-55.5 55.5c-2.5 2.40039 -6.2998 2.40039 -8.60059 0.0996094zM345 282.9l-30.0996 30.0996c-9.40039 9.40039 -24.6006 9.40039 -33.9004 0l-23.0996 -23.0996c-2.30078 -2.30078 -2.30078 -6.10059 0 -8.5l55.5 -55.5
+c2.2998 -2.30078 6.09961 -2.30078 8.5 0l23.0996 23.0996c9.2998 9.2998 9.2998 24.5 0 33.9004z" />
+ <glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576"
+d="M568.482 270.552l-144.004 -135.984c-15.1787 -14.335 -40.4785 -3.70703 -40.4785 17.4473v71.9629c-144.575 -0.969727 -205.566 -35.1123 -164.775 -171.353c4.4834 -14.9727 -12.8457 -26.5674 -25.0059 -17.3301
+c-38.9668 29.5996 -74.2188 86.2168 -74.2188 143.366c0 143.937 117.599 172.5 264 173.312v72.0156c0 21.1738 25.3174 31.7676 40.4785 17.4473l144.004 -135.987c10.0195 -9.46289 10.0273 -25.4248 0 -34.8965zM384 68.8721c0 7.34473 6.53027 12.9053 13.7998 11.8594
+c2.81152 -0.405273 7.39844 -0.734375 10.2393 -0.734375c6.80469 0 17.5342 1.8418 23.9502 4.11133c7.81348 2.76367 16.0107 -3.01465 16.0107 -11.3027v-88.8057c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48
+h121.033c12.5508 0 16.6748 -16.8301 5.54492 -22.6309c-18.7773 -9.78613 -36.0615 -22.1084 -51.0137 -37.6758c-1.95312 -2.03711 -5.82715 -3.69141 -8.64844 -3.69336h-50.916v-320h320v68.8721z" />
+ <glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496"
+d="M225.38 214.63c12.4902 12.4902 32.75 12.4902 45.25 0s12.5 -32.75 0 -45.25c-12.4902 -12.5 -32.7598 -12.5 -45.25 0c-12.5 12.4902 -12.5 32.75 0 45.25zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248z
+M374.14 291.95c7.61035 16.6494 -9.54004 33.7998 -26.1895 26.2002l-144.34 -65.9707c-5.97461 -2.73047 -13.04 -9.7959 -15.7705 -15.7695l-65.9795 -144.351c-7.61035 -16.6494 9.5498 -33.8096 26.1992 -26.1992l144.341 65.9697
+c5.97363 2.73047 13.0391 9.7959 15.7695 15.7695z" />
+ <glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448"
+d="M448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM92.5 227.5l123 -123c4.7002 -4.7002 12.2998 -4.7002 17 0l123 123c7.59961 7.59961 2.2002 20.5 -8.5 20.5h-246
+c-10.7002 0 -16.0996 -12.9004 -8.5 -20.5z" />
+ <glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448"
+d="M0 16v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48zM355.515 156.485l-123.029 123.029c-4.68652 4.68652 -12.2842 4.68652 -16.9717 0l-123.028 -123.029
+c-7.56055 -7.56055 -2.20605 -20.4854 8.48438 -20.4854h246.06c10.6904 0 16.0449 12.9258 8.48535 20.4854z" />
+ <glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448"
+d="M48 416h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48zM188.485 60.4854l123.028 123.028c4.68652 4.68652 4.68652 12.2842 0 16.9717l-123.028 123.029
+c-7.56055 7.56055 -20.4854 2.20605 -20.4854 -8.48438v-246.06c0 -10.6904 12.9258 -16.0449 20.4854 -8.48535z" />
+ <glyph glyph-name="euro-sign" unicode="&#xf153;" horiz-adv-x="319"
+d="M310.706 34.2354l8.81836 -44.4902c1.23828 -6.24902 -2.62109 -12.3623 -8.78809 -13.957c-12.5391 -3.24414 -34.8008 -7.78809 -61.1016 -7.78809c-104.371 0 -182.496 65.3076 -207.521 155.64h-30.1143c-6.62695 0 -12 5.37305 -12 12v28.3604
+c0 6.62695 5.37305 12 12 12h21.3877c-1 12.958 -0.828125 28.6377 0.181641 42.2451h-21.5693c-6.62695 0 -12 5.37305 -12 12v29.7549c0 6.62695 5.37305 12 12 12h33.0752c28.9551 83.748 107.376 144 204.56 144c21.0752 0 40.582 -2.91211 52.6865 -5.20703
+c6.86035 -1.30078 11.1475 -8.17578 9.32617 -14.917l-11.9912 -44.3682c-1.65527 -6.125 -7.78613 -9.89062 -14.002 -8.62305c-9.28711 1.89551 -23.3652 4.14551 -37.8516 4.14551c-54.9287 0 -96.9854 -30.0391 -117.619 -75.0303h138.278
+c7.66211 0 13.3613 -7.08203 11.7227 -14.5664l-6.51172 -29.7549c-1.13965 -5.20703 -6.3916 -9.43359 -11.7227 -9.43359v0h-146.593c-1.55176 -13.958 -1.34766 -27.917 -0.137695 -42.2451h134.237c7.68945 0 13.3936 -7.12891 11.708 -14.6309l-6.37305 -28.3604
+c-1.16211 -5.17188 -6.40723 -9.36914 -11.708 -9.36914h-113.689c19.5322 -50.6582 64.6982 -85.4482 121.462 -85.4482c18.0039 0 34.7334 2.97363 45.4258 5.41211c6.58887 1.50391 13.1094 -2.73828 14.4238 -9.36816z" />
+ <glyph glyph-name="pound-sign" unicode="&#xf154;" horiz-adv-x="320"
+d="M308 96c6.62695 0 12 -5.37305 12 -12v-104c0 -6.62695 -5.37305 -12 -12 -12h-296c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h36v128h-28c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h28v66.0391
+c0 73.2188 58.0264 125.961 139.931 125.961c48.6455 0 85.1934 -22.5596 101.575 -34.9277c5.39844 -4.07617 6.35254 -11.8057 2.11914 -17.0811l-28.4932 -35.5137c-3.7998 -4.73535 -10.5371 -5.89746 -15.6875 -2.68457
+c-11.7744 7.34375 -33.9941 18.8486 -57.6523 18.8486c-37.2305 0 -61.792 -24.8193 -61.792 -57.0859v-63.5557h84c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-84v-126.848h122.505v50.8477c0 6.62695 5.37305 12 12 12h45.4951z" />
+ <glyph glyph-name="dollar-sign" unicode="&#xf155;" horiz-adv-x="288"
+d="M209.2 214.6c57.8994 -16.8994 94 -80.0996 72.5 -141.699c-15.4004 -44.1006 -59.1006 -71.8008 -105.7 -72.7002v-48.2002c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v48c-31.4004 0.0996094 -62 10.7998 -86.5 30
+c-7.90039 6.09961 -8.90039 17.5996 -1.7998 24.5l34.7998 34c5.2002 5.09961 13.4004 6.09961 19.5 2c10 -6.7998 22 -10.5 34.2002 -10.5h66.2998c16.2998 0 29.5 13.2002 29.5 29.5c0 13 -8.7002 24.5996 -21.2002 28.2998l-102.5 30
+c-44.3994 13 -79.5996 50.5 -83.7998 96.6006c-5.90039 64.8994 45.2998 119.6 109 119.6h2.5v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48c31.4004 -0.0996094 62 -10.7998 86.5 -30c7.90039 -6.09961 8.90039 -17.5996 1.7998 -24.5l-34.7998 -34
+c-5.2002 -5.09961 -13.4004 -6.09961 -19.5 -2c-10 6.7998 -22 10.5 -34.2002 10.5h-66.2998c-16.2998 0 -29.5 -13.2002 -29.5 -29.5c0 -13 8.7002 -24.7002 21.2002 -28.2998z" />
+ <glyph glyph-name="rupee-sign" unicode="&#xf156;" horiz-adv-x="320"
+d="M308 352h-72.9424c5.97266 -9.75391 10.7666 -20.459 14.252 -32h58.6904c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-52.8105c-7.1748 -74.5107 -61.8193 -125.566 -138.318 -127.906l150.882 -139.275
+c8.02734 -7.41016 2.78516 -20.8184 -8.13867 -20.8184h-82.5625c-2.58984 0 -6.23535 1.42578 -8.13867 3.18164l-165.052 152.356c-2.46094 2.27148 -3.86133 5.46875 -3.86133 8.81836v53.0117c0 6.62695 5.37305 12 12 12h84c41.7959 0 68.54 22.5459 74.7568 58.6318
+h-158.757c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h146.25c-12.709 17.2939 -33.6621 27.252 -60.9697 27.252h-85.2803c-6.62695 0 -12 5.37305 -12 12v44.748c0 6.62695 5.37305 12 12 12h296c6.62695 0 12 -5.37305 12 -12v-40
+c0 -6.62695 -5.37305 -12 -12 -12z" />
+ <glyph glyph-name="yen-sign" unicode="&#xf157;" horiz-adv-x="384"
+d="M351.2 416c9.09961 0 14.8994 -9.7002 10.5996 -17.5996l-80.0996 -150.4h58.2998c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-88.2002l-19.7998 -37.2002v-26.7998h108c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12
+h-108v-92c0 -6.59961 -5.40039 -12 -12 -12h-56c-6.59961 0 -12 5.40039 -12 12v92h-108c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h108v26.7998l-19.7998 37.2002h-88.2002c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h58.2998
+l-80.0996 150.4c-4.2002 7.89941 1.5 17.5996 10.5996 17.5996h65.2002c4.59961 0 8.7998 -2.59961 10.7998 -6.7002l55.4004 -113.2c14.5 -34.6992 27.0996 -71.8994 27.0996 -71.8994h1.2998s12.6006 37.2002 27.1006 71.8994l55.3994 113.2
+c2 4.10059 6.2002 6.7002 10.8008 6.7002h65.2998z" />
+ <glyph glyph-name="ruble-sign" unicode="&#xf158;" horiz-adv-x="384"
+d="M239.36 128h-92.8008v-32h161.44c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-161.44v-52c0 -6.62695 -5.37305 -12 -12 -12h-58.5596c-6.62695 0 -12 5.37305 -12 12v52h-52c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h52
+v32h-52c-6.62695 0 -12 5.37305 -12 12v45.3682c0 6.62695 5.37305 12 12 12h52v206.632c0 6.62695 5.37305 12 12 12h163.36c85.1201 0 144.64 -57.5996 144.64 -143.071c0 -85.4707 -59.5195 -144.929 -144.64 -144.929zM146.56 347.252v-149.884h77.4404
+c48 0 76.1602 29.7285 76.1602 75.5605c0 45.2129 -28.1602 74.3232 -74.8799 74.3232h-78.7207z" />
+ <glyph glyph-name="won-sign" unicode="&#xf159;" horiz-adv-x="576"
+d="M564 256h-62.7002l-7.39941 -32h70.0996c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84.9004l-42.0996 -182.7c-1.2998 -5.39941 -6.09961 -9.2998 -11.7002 -9.2998h-56.7998c-5.59961 0 -10.4004 3.90039 -11.7002 9.2998l-42.3994 182.7
+h-55.1006l-42.2998 -182.7c-1.2998 -5.39941 -6.09961 -9.2998 -11.7002 -9.2998h-56.7998c-5.59961 0 -10.5 3.90039 -11.7002 9.40039l-40.8994 182.6h-83.9004c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h69.5l-7.2002 32h-62.2998
+c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h48l-18.0996 80.7002c-1.7002 7.5 4 14.5996 11.6992 14.5996h42.1006c5.7002 0 10.7002 -4 11.7998 -9.59961l17.5 -85.7002h108.7l20 86c1.2998 5.5 6.09961 9.2998 11.7002 9.2998h44
+c5.59961 0 10.3994 -3.7998 11.6992 -9.2998l19.7002 -86h109.9l14.3994 85.7998c1.10059 5.5 6 9.5 11.7002 9.5h46.1006c7.69922 0 13.3994 -7.2002 11.6992 -14.7002l-18.5996 -80.5996h48c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM183.8 106
+l12.6006 54h-38.8008l11 -54c5.10059 -25.2002 6.80078 -47.2002 6.80078 -47.2002h1.09961c0.5 0 1.09961 21.4004 7.2998 47.2002zM211.3 224l7.5 32h-80.7998l6.5 -32h66.7998zM274.2 224h25.3994l-2 8.59961c-1.89941 8 -3.5 16 -4.7998 23.4004h-11.7998
+c-1.2998 -7.40039 -2.90039 -15.4004 -4.7998 -23.4004zM405.1 106l11.5 54h-39.0996l12.4004 -54c6.19922 -25.7998 6.69922 -47.2002 7.2998 -47.2002h1.09961s1.7002 22 6.7998 47.2002zM430.3 224l6.90039 32h-81.6006l7.30078 -32h67.3994z" />
+ <glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98
+c4.5 -4.5 7 -10.5996 7 -16.9004z" />
+ <glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM288 76v8c0 6.59961 -5.40039 12 -12 12h-168c-6.59961 0 -12 -5.40039 -12 -12v-8
+c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12zM288 140v8c0 6.59961 -5.40039 12 -12 12h-168c-6.59961 0 -12 -5.40039 -12 -12v-8c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12zM288 212c0 6.59961 -5.40039 12 -12 12h-168
+c-6.59961 0 -12 -5.40039 -12 -12v-8c0 -6.59961 5.40039 -12 12 -12h168c6.59961 0 12 5.40039 12 12v8zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
+ <glyph glyph-name="sort-alpha-down" unicode="&#xf15d;" horiz-adv-x="424"
+d="M400.7 20.9004c6.59961 0 12 -5.30078 12 -12v-28.9004c0 -6.59961 -5.40039 -12 -12 -12h-129.4c-6.59961 0 -12 5.40039 -12 12v21.9004c0 2.5 0.799805 4.89941 2.2002 6.89941l67.2002 95.2002c0.799805 1.09961 1.59961 2.09961 2.2998 3.09961h-56.5
+c-6.59961 0 -12 5.40039 -12 12v28.9004c0 6.59961 5.40039 12 12 12h125.1c6.60059 0 12 -5.40039 12 -12v-21.4004c0 -2.5 -0.799805 -4.89941 -2.19922 -6.89941l-67.5 -95.7002c-0.800781 -1.09961 -1.60059 -2.09961 -2.30078 -3.09961h61.1006zM176 80
+c14.2002 0 21.2998 -17.2998 11.2998 -27.2998l-80 -80c-6.2002 -6.2002 -16.3994 -6.2002 -22.5996 0l-80 80c-10.1006 10.0996 -2.90039 27.2998 11.2998 27.2998h48v320c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-320h48zM424.2 239.9
+c2.7002 -7.80078 -3.10059 -15.9004 -11.5 -15.9004h-35.7002c-4.94629 0.00292969 -10.0986 3.85645 -11.5 8.59961l-8.2998 28.3008h-42.9004l-8.09961 -28.2002c-1.40039 -5.2002 -6.10059 -8.7002 -11.5 -8.7002h-35.7002c-8.2998 0 -14 8.09961 -11.4004 15.9004
+l57.1006 168c1.7002 4.7998 6.2998 8.09961 11.3994 8.09961h39.6006c5.2002 0 9.7002 -3.2002 11.3994 -8.09961zM329.2 311.4h13.3994l-6.59961 22.8994z" />
+ <glyph glyph-name="sort-alpha-up" unicode="&#xf15e;" horiz-adv-x="424"
+d="M107.3 411.3l80 -80c10.1006 -10.0996 2.90039 -27.2998 -11.2998 -27.2998h-48v-320c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v320h-48c-14.2002 0 -21.2998 17.2998 -11.2998 27.2998l80 80c6.2002 6.2002 16.3994 6.2002 22.5996 0z
+M400.7 20.9004c6.59961 0 12 -5.30078 12 -12v-28.9004c0 -6.59961 -5.40039 -12 -12 -12h-129.4c-6.59961 0 -12 5.40039 -12 12v21.9004c0 2.5 0.799805 4.89941 2.2002 6.89941l67.2002 95.2002c0.799805 1.09961 1.59961 2.09961 2.2998 3.09961h-56.5
+c-6.59961 0 -12 5.40039 -12 12v28.9004c0 6.59961 5.40039 12 12 12h125.1c6.60059 0 12 -5.40039 12 -12v-21.4004c0 -2.5 -0.799805 -4.89941 -2.19922 -6.89941l-67.5 -95.7002c-0.800781 -1.09961 -1.60059 -2.09961 -2.30078 -3.09961h61.1006zM424.2 239.9
+c2.7002 -7.80078 -3.10059 -15.9004 -11.5 -15.9004h-35.7002c-4.94629 0.00292969 -10.0986 3.85645 -11.5 8.59961l-8.2998 28.3008h-42.9004l-8.09961 -28.2002c-1.40039 -5.2002 -6.10059 -8.7002 -11.5 -8.7002h-35.7002c-8.2998 0 -14 8.09961 -11.4004 15.9004
+l57.1006 168c1.7002 4.7998 6.2998 8.09961 11.3994 8.09961h39.6006c5.2002 0 9.7002 -3.2002 11.3994 -8.09961zM329.2 311.4h13.3994l-6.59961 22.8994z" />
+ <glyph glyph-name="sort-amount-down" unicode="&#xf160;"
+d="M187.298 52.6855l-79.9834 -80.002c-6.24805 -6.24707 -16.3838 -6.24414 -22.6279 0l-79.9814 80.002c-10.0703 10.0703 -2.89844 27.3145 11.3135 27.3145h47.9814v320c0 8.83691 7.16309 16 16 16h32c8.83691 0 16 -7.16309 16 -16v-320h47.9844
+c14.2402 0 21.3623 -17.2637 11.3135 -27.3145zM240 352c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h256c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-256zM224 240v32c0 8.83691 7.16309 16 16 16h192
+c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-192c-8.83691 0 -16 7.16309 -16 16zM224 -16v32c0 8.83691 7.16309 16 16 16h64c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-64c-8.83691 0 -16 7.16309 -16 16zM224 112v32
+c0 8.83691 7.16309 16 16 16h128c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-128c-8.83691 0 -16 7.16309 -16 16z" />
+ <glyph glyph-name="sort-amount-up" unicode="&#xf161;"
+d="M4.70215 331.314l79.9834 80.002c6.24805 6.24707 16.3838 6.24414 22.6279 0l79.9805 -80.002c10.0703 -10.0703 2.89941 -27.3145 -11.3135 -27.3145h-47.9805v-320c0 -8.83691 -7.16309 -16 -16 -16h-32c-8.83691 0 -16 7.16309 -16 16v320h-47.9844
+c-14.2402 0 -21.3623 17.2637 -11.3135 27.3145zM240 352c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h256c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-256zM224 240v32c0 8.83691 7.16309 16 16 16h192
+c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-192c-8.83691 0 -16 7.16309 -16 16zM224 -16v32c0 8.83691 7.16309 16 16 16h64c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-64c-8.83691 0 -16 7.16309 -16 16zM224 112v32
+c0 8.83691 7.16309 16 16 16h128c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-128c-8.83691 0 -16 7.16309 -16 16z" />
+ <glyph glyph-name="sort-numeric-down" unicode="&#xf162;" horiz-adv-x="425"
+d="M308.811 334.213l-19.4473 20.7949c-4.52246 4.83594 -4.27441 12.4209 0.555664 16.9502l43.4434 40.7412c1.91113 1.79199 5.58789 3.24707 8.20801 3.24707h0.000976562h31.5908c6.62695 0 12 -5.37305 12 -12v-127.07h25.6602c6.62695 0 12 -5.37305 12 -12v-28.9297
+c0 -6.62695 -5.37305 -12 -12 -12h-109.173c-6.62695 0 -12 5.37305 -12 12v28.9297c0 6.62695 5.37305 12 12 12h25.4141v57.9385c-7.25488 -6.58008 -14.2119 -4.92188 -18.2529 -0.601562zM278.241 95.6436c0 32.6533 23.8652 67.3564 68.0938 67.3564
+c38.2529 0 79.4238 -28.8613 79.4238 -92.2275c0 -51.2764 -32.2363 -105.772 -91.9824 -105.772c-17.8359 0 -30.5459 3.55664 -38.5488 6.78125c-5.78906 2.33301 -8.78809 8.74609 -6.92188 14.7031l9.2373 29.4795c2.03516 6.49609 9.04883 9.9834 15.4668 7.71582
+c13.0293 -4.60156 27.8779 -5.27441 38.1035 4.13867c-38.7422 -5.07227 -72.8721 25.3594 -72.8721 67.8252zM370.514 76.3057c0 22.2852 -15.3018 36.5049 -25.835 36.5049c-8.6416 0 -13.1641 -7.96484 -13.1641 -15.832c0 -5.66895 1.81543 -24.168 25.168 -24.168
+c9.97363 0 13.377 2.1543 13.7441 2.73145c0.0214844 0.0458984 0.0869141 0.291016 0.0869141 0.763672zM175.984 80c14.2402 0 21.3623 -17.2637 11.3125 -27.3145l-79.9834 -80.002c-6.24707 -6.24707 -16.3828 -6.24414 -22.6279 0l-79.9805 80.002
+c-10.0703 10.0703 -2.89844 27.3145 11.3135 27.3145h47.9814v320c0 8.83691 7.16309 16 16 16h32c8.83691 0 16 -7.16309 16 -16v-320h47.9844z" />
+ <glyph glyph-name="sort-numeric-up" unicode="&#xf163;" horiz-adv-x="425"
+d="M308.811 334.213l-19.4473 20.7949c-4.52246 4.83594 -4.27441 12.4209 0.555664 16.9502l43.4434 40.7412c1.91113 1.79199 5.58789 3.24707 8.20801 3.24707h0.000976562h31.5908c6.62695 0 12 -5.37305 12 -12v-127.07h25.6602c6.62695 0 12 -5.37305 12 -12v-28.9297
+c0 -6.62695 -5.37305 -12 -12 -12h-109.173c-6.62695 0 -12 5.37305 -12 12v28.9297c0 6.62695 5.37305 12 12 12h25.4141v57.9385c-7.25488 -6.58008 -14.2119 -4.92188 -18.2529 -0.601562zM278.241 95.6436c0 32.6533 23.8652 67.3564 68.0938 67.3564
+c38.2529 0 79.4238 -28.8613 79.4238 -92.2275c0 -51.2764 -32.2363 -105.772 -91.9824 -105.772c-17.8359 0 -30.5459 3.55664 -38.5488 6.78125c-5.78906 2.33301 -8.78809 8.74609 -6.92188 14.7031l9.2373 29.4795c2.03516 6.49609 9.04883 9.9834 15.4668 7.71582
+c13.0293 -4.60156 27.8779 -5.27441 38.1035 4.13867c-38.7422 -5.07227 -72.8721 25.3594 -72.8721 67.8252zM370.514 76.3057c0 22.2852 -15.3018 36.5049 -25.835 36.5049c-8.6416 0 -13.1641 -7.96484 -13.1641 -15.832c0 -5.66895 1.81543 -24.168 25.168 -24.168
+c9.97363 0 13.377 2.1543 13.7441 2.73145c0.0214844 0.0458984 0.0869141 0.291016 0.0869141 0.763672zM16.0156 304c-14.2402 0 -21.3623 17.2637 -11.3135 27.3145l79.9844 80.002c6.24707 6.24707 16.3828 6.24414 22.6279 0l79.9805 -80.002
+c10.0703 -10.0703 2.89844 -27.3145 -11.3135 -27.3145h-47.9814v-320c0 -8.83691 -7.16309 -16 -16 -16h-32c-8.83691 0 -16 7.16309 -16 16v320h-47.9844z" />
+ <glyph glyph-name="thumbs-up" unicode="&#xf164;" horiz-adv-x="511"
+d="M104 224c13.2549 0 24 -10.7451 24 -24v-240c0 -13.2549 -10.7451 -24 -24 -24h-80c-13.2549 0 -24 10.7451 -24 24v240c0 13.2549 10.7451 24 24 24h80zM64 -24c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM384 366.548
+c0 -42.416 -25.9697 -66.208 -33.2773 -94.5479h101.724c33.3965 0 59.3965 -27.7461 59.5527 -58.0977c0.0839844 -17.9385 -7.5459 -37.249 -19.4395 -49.1973l-0.109375 -0.110352c9.83594 -23.3369 8.23633 -56.0371 -9.30859 -79.4688
+c8.68164 -25.8945 -0.0683594 -57.7041 -16.3818 -74.7568c4.29785 -17.5977 2.24414 -32.5752 -6.14746 -44.6318c-20.4102 -29.3242 -70.9961 -29.7373 -113.773 -29.7373l-2.84473 0.000976562c-48.2871 0.0166016 -87.8057 17.5977 -119.561 31.7246
+c-15.957 7.09961 -36.8203 15.8877 -52.6504 16.1787c-6.54004 0.120117 -11.7832 5.45703 -11.7832 11.998v213.77c0 3.2002 1.28223 6.27148 3.55762 8.52148c39.6143 39.1436 56.6484 80.5869 89.1172 113.11c14.8037 14.832 20.1885 37.2363 25.3936 58.9023
+c4.44629 18.501 13.749 57.7939 33.9316 57.7939c24 0 72 -8 72 -81.4521z" />
+ <glyph glyph-name="thumbs-down" unicode="&#xf165;"
+d="M0 392c0 13.2549 10.7451 24 24 24h80c13.2549 0 24 -10.7451 24 -24v-240c0 -13.2549 -10.7451 -24 -24 -24h-80c-13.2549 0 -24 10.7451 -24 24v240zM40 192c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24zM312 -64
+c-20.1826 0 -29.4854 39.293 -33.9307 57.7949c-5.20605 21.666 -10.5889 44.0703 -25.3936 58.9023c-32.4688 32.5234 -49.5029 73.9668 -89.1172 113.11c-1.96387 1.94141 -3.55762 5.75879 -3.55762 8.52051v0.000976562v213.77
+c0 6.54102 5.24316 11.8779 11.7832 11.998c15.8311 0.290039 36.6934 9.0791 52.6504 16.1787c31.7549 14.127 71.2744 31.708 119.561 31.7246h2.84375c42.7773 0 93.3633 -0.413086 113.774 -29.7373c8.3916 -12.0566 10.4453 -27.0342 6.14746 -44.6318
+c16.3125 -17.0527 25.0635 -48.8633 16.3818 -74.7568c17.5439 -23.4316 19.1436 -56.1318 9.30859 -79.4688l0.109375 -0.110352c11.8936 -11.9492 19.5234 -31.2588 19.4395 -49.1973c-0.15625 -30.3516 -26.1572 -58.0977 -59.5527 -58.0977h-101.725
+c7.30762 -28.3398 33.2773 -52.1318 33.2773 -94.5479c0 -73.4521 -48 -81.4521 -72 -81.4521z" />
+ <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="256"
+d="M128 448c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM247.283 93.8213c3.78809 -15.1504 -7.69238 -29.8213 -23.2832 -29.8213h-56v-104c0 -13.2549 -10.7451 -24 -24 -24h-32c-13.2549 0 -24 10.7451 -24 24v104h-56
+c-15.6172 0 -27.0654 14.6953 -23.2832 29.8213l48 192c2.50879 10.0342 12.9395 18.1787 23.2832 18.1787h11.3604c23.6895 -10.8936 50.5684 -10.4434 73.2793 0h11.3604c10.3438 0 20.7744 -8.14453 23.2832 -18.1787z" />
+ <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="192"
+d="M96 448c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM144 304c26.5098 0 48 -21.4902 48 -48v-136c0 -13.2549 -10.7451 -24 -24 -24h-16v-136c0 -13.2549 -10.7451 -24 -24 -24h-64c-13.2549 0 -24 10.7451 -24 24v136h-16
+c-13.2549 0 -24 10.7451 -24 24v136c0 26.5098 21.4902 48 48 48h11.3604c23.6895 -10.8936 50.5684 -10.4434 73.2793 0h11.3604z" />
+ <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="511"
+d="M256 288c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM502.4 207.5c12.7998 -6.40039 12.7998 -24.5996 -0.200195 -31.0996l-94.7002 -47.3008l33.5 -100.399c4.59961 -13.5 -8.2998 -26.4004 -21.9004 -21.9004
+l-100.399 33.5l-47.2998 -94.7002c-6.40039 -12.7998 -24.6006 -12.7998 -31 0l-47.3008 94.7002l-100.399 -33.5c-13.5 -4.59961 -26.4004 8.2998 -21.9004 21.9004l33.5 100.5l-94.7002 47.2998c-12.7998 6.40039 -12.7998 24.5996 0 31l94.7002 47.4004l-33.5 100.399
+c-4.59961 13.5 8.2998 26.4004 21.9004 21.9004l100.5 -33.5l47.2998 94.7002c6.40039 12.7998 24.5996 12.7998 31 0l47.4004 -94.8008l100.399 33.5c13.5 4.60059 26.4004 -8.2998 21.9004 -21.8994l-33.5 -100.4zM346.5 101.5c49.9004 49.9004 49.9004 131.1 0 181
+s-131.1 49.9004 -181 0s-49.9004 -131.1 0 -181s131.1 -49.9004 181 0z" />
+ <glyph glyph-name="moon" unicode="&#xf186;"
+d="M283.211 -64c-141.489 0 -256 114.691 -256 256c0 141.489 114.691 256 256 256c13.0176 -0.00195312 33.9727 -1.91895 46.7754 -4.28027c11.0059 -2.0332 13.4414 -16.7178 3.75586 -22.2295c-62.8359 -35.7588 -101.498 -102.172 -101.498 -174.395
+c0 -125.378 114.059 -220.607 238.262 -196.954c10.9229 2.08008 18.6299 -10.6416 11.5625 -19.3496c-47.7783 -58.8672 -119.896 -94.792 -198.857 -94.792z" />
+ <glyph glyph-name="archive" unicode="&#xf187;"
+d="M32 0v288h448v-288c0 -17.7002 -14.2998 -32 -32 -32h-384c-17.7002 0 -32 14.2998 -32 32zM192 212v-8c0 -6.59961 5.40039 -12 12 -12h104c6.59961 0 12 5.40039 12 12v8c0 6.59961 -5.40039 12 -12 12h-104c-6.59961 0 -12 -5.40039 -12 -12zM480 416
+c17.7002 0 32 -14.2998 32 -32v-48c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v48c0 17.7002 14.2998 32 32 32h448z" />
+ <glyph glyph-name="bug" unicode="&#xf188;"
+d="M511.988 159.1c-0.478516 -17.4297 -15.2168 -31.0996 -32.6533 -31.0996h-55.335v-16c0 -21.8643 -4.88184 -42.584 -13.5996 -61.1445l60.2275 -60.2285c12.4961 -12.4971 12.4961 -32.7578 0 -45.2549c-12.498 -12.4971 -32.7588 -12.4961 -45.2559 0
+l-54.7363 54.7363c-24.75 -20.0732 -56.2852 -32.1084 -90.6357 -32.1084v244c0 6.62695 -5.37305 12 -12 12h-24c-6.62695 0 -12 -5.37305 -12 -12v-244c-34.3506 0 -65.8857 12.0352 -90.6357 32.1084l-54.7363 -54.7363c-12.498 -12.4971 -32.7588 -12.4961 -45.2559 0
+c-12.4961 12.4971 -12.4961 32.7578 0 45.2549l60.2275 60.2285c-8.71777 18.5605 -13.5996 39.2803 -13.5996 61.1445v16h-55.334c-17.4355 0 -32.1748 13.6699 -32.6533 31.0996c-0.49707 18.084 14.0156 32.9004 31.9873 32.9004h56v58.7451l-46.6279 46.6279
+c-12.4961 12.4971 -12.4961 32.7578 0 45.2549c12.498 12.4971 32.7578 12.4971 45.2559 0l54.627 -54.6279h229.489l54.627 54.627c12.498 12.4971 32.7578 12.4971 45.2559 0c12.4961 -12.4971 12.4961 -32.7578 0 -45.2549l-46.627 -46.627v-58.7451h56
+c17.9717 0 32.4844 -14.8164 31.9883 -32.9004zM257 448c61.8564 0 112 -50.1436 112 -112h-224c0 61.8564 50.1436 112 112 112z" />
+ <glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448"
+d="M400 -32h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48zM259.515 323.515l-123.029 -123.029c-4.68652 -4.68652 -4.68652 -12.2842 0 -16.9717l123.028 -123.028
+c7.56055 -7.56055 20.4854 -2.20605 20.4854 8.48438v246.06c0.000976562 10.6904 -12.9248 16.0449 -20.4844 8.48535z" />
+ <glyph glyph-name="dot-circle" unicode="&#xf192;"
+d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM336 192c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80z" />
+ <glyph glyph-name="wheelchair" unicode="&#xf193;"
+d="M496.101 62.3311l14.2275 -28.6631c3.92871 -7.91504 0.697266 -17.5156 -7.21777 -21.4453l-65.4658 -32.8857c-16.0488 -7.9668 -35.5557 -1.19434 -43.1885 15.0547l-62.7773 133.608h-139.679c-15.9248 0 -29.4258 11.71 -31.6787 27.4746
+c-33.8887 237.218 -31.9414 222.481 -32.3213 228.525c0 36.3584 30.3184 65.6348 67.0518 63.9287c33.2715 -1.54492 60.0479 -28.9043 60.9248 -62.2012c0.868164 -32.9326 -23.1514 -60.4229 -54.6074 -65.0381l4.66992 -32.6904h129.961c8.83691 0 16 -7.16309 16 -16
+v-32c0 -8.83691 -7.16309 -16 -16 -16h-120.818l4.57227 -32h132.246c11.2168 0 24.1924 -8.24023 28.9619 -18.3916l57.5146 -122.407l36.1787 18.3486c7.91504 3.92871 17.5166 0.697266 21.4453 -7.21777zM311.358 96l25.752 -54.8076
+c-27.3047 -61.8848 -89.2402 -105.192 -161.11 -105.192c-97.0469 0 -176 78.9531 -176 176c0 74.0371 45.9561 137.536 110.836 163.489c2.64453 -18.4736 5.77637 -40.3682 9.48828 -66.333c-33.6299 -19.3477 -56.3242 -55.6514 -56.3242 -97.1562
+c0 -61.7568 50.2432 -112 112 -112c56.3242 0 103.064 41.7959 110.852 96h24.5068z" />
+ <glyph glyph-name="lira-sign" unicode="&#xf195;" horiz-adv-x="384"
+d="M371.994 192c6.78613 0 12.2578 -5.62598 11.9971 -12.4082c-5.15332 -133.758 -94.3174 -211.592 -228.408 -211.592h-79.583c-6.62695 0 -12 5.37305 -12 12v193.442l-49.3975 -10.9775c-7.49316 -1.66602 -14.6025 4.03711 -14.6025 11.7139v40.9766
+c0 5.31348 4.20996 10.5615 9.39746 11.7139l54.6025 12.1338v30.4395l-49.3975 -10.9775c-7.49316 -1.66602 -14.6025 4.03711 -14.6025 11.7139v40.9766c0 5.31348 4.20996 10.5615 9.39746 11.7139l54.6025 12.1338v68.9971c0 6.62695 5.37305 12 12 12h56
+c6.62695 0 12 -5.37305 12 -12v-51.2188l129.397 28.7539c7.49316 1.66602 14.6025 -4.03711 14.6025 -11.7139v-40.9756c0 -5.31348 -4.20996 -10.5615 -9.39746 -11.7139l-134.603 -29.9121v-30.4385l129.397 28.7539c7.49316 1.66602 14.6025 -4.03711 14.6025 -11.7139
+v-40.9766c0 -5.31348 -4.20996 -10.5615 -9.39746 -11.7139l-134.603 -29.9121v-159.219c86.1787 0 168 48 168 148.754c0 6.33398 5.63965 11.2461 11.9746 11.2461h48.0195z" />
+ <glyph glyph-name="space-shuttle" unicode="&#xf197;" horiz-adv-x="640"
+d="M592.604 239.756c29.6787 -13.9111 47.3965 -31.7637 47.3965 -47.7559s-17.7178 -33.8447 -47.3965 -47.7559c-32.8682 -15.4082 -76.8262 -24.2441 -120.604 -24.2441h-285.674c-4.95215 -6.55469 -10.585 -11.9775 -16.7197 -16h206.394
+c-146.843 -30.2529 -156.597 -136 -279.997 -136h-0.00292969v128h-16v-128c-26.5098 0 -48 28.6543 -48 64v64c-23.1807 0 -32 10.0166 -32 24v40c0 13.9678 8.80273 24 32 24v16c-23.1807 0 -32 10.0166 -32 24v40c0 13.9678 8.80273 24 32 24v64
+c0 35.3457 21.4902 64 48 64v-128h16v128h0.00292969c123.4 0 133.154 -105.747 279.997 -136h-206.393c6.13477 -4.02246 11.7676 -9.44531 16.7197 -16h285.673c43.7773 0 87.7354 -8.83594 120.604 -24.2441zM488 152c31.9424 0 31.9092 80 0 80
+c-4.41602 0 -8 -3.58398 -8 -8v-64c0 -4.41602 3.58398 -8 8 -8z" />
+ <glyph glyph-name="envelope-square" unicode="&#xf199;" horiz-adv-x="448"
+d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM178.117 185.896c10.5156 -7.66895 31.3799 -26.1133 45.8828 -25.8955
+c14.4912 -0.225586 35.3828 18.2393 45.8828 25.8936c90.6836 65.8145 89.7461 65.9697 114.117 84.9385v25.167c0 13.2549 -10.7451 24 -24 24h-272c-13.2549 0 -24 -10.7451 -24 -24v-25.167c24.3525 -18.9541 23.4287 -19.1201 114.117 -84.9365zM384 230.225
+c-13.958 -10.793 -33.3252 -25.2334 -95.2832 -70.1982c-13.6826 -9.98438 -37.833 -32.1592 -64.7197 -32.0254c-26.7188 -0.134766 -50.5322 21.6689 -64.6943 32.0098c-61.9736 44.9785 -81.3447 59.4199 -95.3027 70.2139v-142.225c0 -13.2549 10.7451 -24 24 -24h272
+c13.2549 0 24 10.7451 24 24v142.225z" />
+ <glyph glyph-name="university" unicode="&#xf19c;"
+d="M496 320v-16c0 -4.41602 -3.58398 -8 -8 -8h-24v-12c0 -6.62695 -5.37305 -12 -12 -12h-392c-6.62695 0 -12 5.37305 -12 12v12h-24c-4.41602 0 -8 3.58398 -8 8v16c0 2.95215 2.21387 6.26367 4.94141 7.3916l232 88
+c0.810547 0.335938 2.18066 0.608398 3.05859 0.608398s2.24805 -0.272461 3.05859 -0.608398l232 -88c2.72754 -1.12793 4.94141 -4.43945 4.94141 -7.3916zM472 16c13.2549 0 24 -10.7451 24 -24v-16c0 -4.41602 -3.58398 -8 -8 -8h-464c-4.41602 0 -8 3.58398 -8 8v16
+c0 13.2549 10.7451 24 24 24h432zM96 256h64v-192h64v192h64v-192h64v192h64v-192h36c6.62695 0 12 -5.37305 12 -12v-20h-416v20c0 6.62695 5.37305 12 12 12h36v192z" />
+ <glyph glyph-name="graduation-cap" unicode="&#xf19d;" horiz-adv-x="640"
+d="M622.34 294.8c23.5498 -7.24023 23.5498 -38.3594 0 -45.5996l-278.95 -85.7002c-20.3496 -6.25 -37.7295 -2.78027 -46.79 0l-195.569 60.0898c-12.25 -8.41992 -19.9307 -21.7002 -20.6904 -36.7197c9.19043 -5.62012 15.6602 -15.2998 15.6602 -26.8701
+c0 -10.7803 -5.67969 -19.8496 -13.8604 -25.6504l25.5303 -114.88c2.21973 -9.98926 -5.37988 -19.4697 -15.6201 -19.4697h-56.1094c-10.2305 0 -17.8301 9.48047 -15.6104 19.4697l25.5303 114.88c-8.18066 5.80078 -13.8604 14.8701 -13.8604 25.6504
+c0 11.8896 6.78027 21.8496 16.4102 27.3701c0.649414 17.6201 7.20996 33.71 17.8799 46.8994l-48.6299 14.9404c-23.54 7.23047 -23.54 38.3604 0 45.5898l278.95 85.7002c15.1895 4.66992 31.5898 4.66992 46.79 0zM352.79 132.91l145.03 44.5596l14.1797 -113.47
+c0 -35.3496 -85.96 -64 -192 -64s-192 28.6504 -192 64l14.1797 113.46l145.021 -44.5498c12.75 -3.91992 37.0596 -8.75977 65.5898 0z" />
+ <glyph glyph-name="language" unicode="&#xf1ab;" horiz-adv-x="640"
+d="M152.1 211.8l10.9004 -37.5h-38.0996l11.0996 37.5c3.5 12.1006 7.7998 33.2002 7.7998 33.2002h0.5s4.2998 -21.0996 7.7998 -33.2002zM616 352c13.2998 0 24 -10.7002 24 -24v-272c0 -13.2998 -10.7002 -24 -24 -24h-280v320h280zM592 232v16
+c0 6.59961 -5.40039 12 -12 12h-64v16c0 6.59961 -5.40039 12 -12 12h-16c-6.59961 0 -12 -5.40039 -12 -12v-16h-64c-6.59961 0 -12 -5.40039 -12 -12v-16c0 -6.59961 5.40039 -12 12 -12h114.3c-6.2002 -14.2998 -16.5 -29 -30 -43.2002
+c-6.59961 6.90039 -12.3994 13.9004 -17.3994 20.9004c-3.60059 5.09961 -10.6006 6.59961 -16 3.39941l-7.30078 -4.2998l-6.5 -3.89941c-5.89941 -3.5 -7.69922 -11.4004 -3.69922 -17.1006c6.09961 -8.7002 13.0996 -17.2998 21 -25.7002
+c-8.10059 -6.2998 -16.8008 -12.2998 -26.1006 -18c-5.59961 -3.39941 -7.39941 -10.5996 -4.2002 -16.1992l7.90039 -13.9004c3.40039 -5.90039 10.9004 -7.7998 16.7002 -4.2998c12.7002 7.7998 24.5 16.2002 35.3994 24.8994
+c10.9004 -8.7998 22.8008 -17.0996 35.4004 -24.8994c5.7998 -3.5 13.2998 -1.60059 16.7002 4.2998l7.89941 13.9004c3.2002 5.69922 1.40039 12.7998 -4.09961 16.1992c-9 5.5 -17.7002 11.6006 -26.0996 18c21 22.5 35.7998 46.3008 42.6992 69.9004h11.4004
+c6.59961 0 12 5.40039 12 12zM0 328c0 13.2998 10.7002 24 24 24h280v-320h-280c-13.2998 0 -24 10.7002 -24 24v272zM58.9004 111.9c-2.60059 -7.80078 3.19922 -15.9004 11.3994 -15.9004h22.9004c5.2998 0 10 3.59961 11.5 8.7002l9.09961 31.7998h60.2002
+l9.40039 -31.9004c1.40137 -4.74316 6.55273 -8.59668 11.5 -8.59961h22.8994c8.2998 0 14 8.09961 11.4004 15.9004l-57.5 169.1c-1.7002 4.7998 -6.2998 8.09961 -11.4004 8.09961h-32.5c-5.2002 0 -9.7002 -3.19922 -11.3994 -8.09961z" />
+ <glyph glyph-name="fax" unicode="&#xf1ac;"
+d="M64 320c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h32zM480 288c17.6699 0 32 -14.3301 32 -32v-288c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32
+v448c0 17.6699 14.3301 32 32 32h242.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l45.2598 -45.25c6 -6.00977 9.37012 -14.1396 9.37012 -22.6299v-82.75zM288 16v32c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-32
+c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM288 144v32c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM416 16v32c0 8.83984 -7.16016 16 -16 16h-32
+c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM416 144v32c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM432 256v96h-32
+c-8.83984 0 -16 7.16016 -16 16v32h-208v-144h256z" />
+ <glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448"
+d="M436 -32c6.62695 0 12 -5.37305 12 -12v-20h-448v20c0 6.62695 5.37305 12 12 12h20v456c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-456h20zM128 372v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40
+c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12zM128 276v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12zM180 128c6.62695 0 12 5.37305 12 12v40
+c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40zM256 -32v84c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-84h64zM320 140v40c0 6.62695 -5.37305 12 -12 12h-40
+c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 236v40c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12zM320 332v40
+c0 6.62695 -5.37305 12 -12 12h-40c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h40c6.62695 0 12 5.37305 12 12z" />
+ <glyph glyph-name="child" unicode="&#xf1ae;" horiz-adv-x="384"
+d="M120 376c0 39.7646 32.2354 72 72 72s72 -32.2354 72 -72c0 -39.7637 -32.2354 -72 -72 -72s-72 32.2363 -72 72zM374.627 374.627c12.4971 -12.4971 12.4971 -32.7568 0 -45.2539l-94.627 -94.627v-266.746c0 -17.6729 -14.3271 -32 -32 -32h-16
+c-17.6729 0 -32 14.3271 -32 32v112h-16v-112c0 -17.6729 -14.3271 -32 -32 -32h-16c-17.6729 0 -32 14.3271 -32 32v266.746l-94.627 94.626c-12.4971 12.4971 -12.4971 32.7578 0 45.2549c12.4961 12.4971 32.7578 12.4971 45.2539 0l86.627 -86.627h101.491
+l86.6279 86.627c12.4961 12.4971 32.7578 12.4971 45.2539 0z" />
+ <glyph glyph-name="paw" unicode="&#xf1b0;"
+d="M256 224c79.4102 0 192 -122.76 192 -200.25c0 -34.9004 -26.8096 -55.75 -71.7402 -55.75c-48.4102 0 -80.75 25.0801 -120.26 25.0801c-39.1699 0 -71.4199 -25.0801 -120.26 -25.0801c-44.9307 0 -71.7402 20.8496 -71.7402 55.75c0 77.4902 112.59 200.25 192 200.25
+zM108.72 236.61c10.4004 -34.6504 -4.76953 -68.3799 -33.8896 -75.3408c-29.1201 -6.95996 -61.1602 15.4805 -71.5605 50.1309c-10.3994 34.6494 4.77051 68.3799 33.8906 75.3398s61.1602 -15.4805 71.5596 -50.1299zM193.44 257.39
+c-30.9307 -8.14941 -65.6201 20.4502 -77.46 63.8701c-11.8408 43.4199 3.63965 85.2207 34.5791 93.3604c30.9404 8.13965 65.6201 -20.4502 77.46 -63.8701c11.8408 -43.4199 -3.63965 -85.2197 -34.5791 -93.3604zM474.83 286.73
+c29.1201 -6.96094 44.29 -40.6904 33.8896 -75.3408c-10.4102 -34.6494 -42.4395 -57.0898 -71.5596 -50.1299s-44.29 40.6904 -33.8906 75.3398c10.4102 34.6504 42.4404 57.0908 71.5605 50.1309zM318.56 257.39c-30.9395 8.14062 -46.4199 49.9404 -34.5791 93.3604
+c11.8398 43.4199 46.5195 72.0195 77.46 63.8701c30.9395 -8.15039 46.4199 -49.9404 34.5791 -93.3604c-11.8398 -43.4199 -46.5195 -72.0098 -77.46 -63.8701z" />
+ <glyph glyph-name="cube" unicode="&#xf1b2;" horiz-adv-x="511"
+d="M239.1 441.7c10.9004 4.09961 22.9004 4.09961 33.7002 -0.100586l208 -78c18.7002 -7 31.1006 -24.8994 31.1006 -44.8994v-225.101c0 -18.0996 -10.2002 -34.7998 -26.5 -42.8994l-208 -104c-13.5 -6.7998 -29.4004 -6.7998 -42.9004 0l-208 104
+c-16.2002 8.09961 -26.5 24.7002 -26.5 42.8994v225.101c0 20 12.4004 38 31.0996 45zM256 379.6l-192 -72v-1.09961l192 -78l192 78v1.09961zM288 23.5996l160 80v133.9l-160 -65v-148.9z" />
+ <glyph glyph-name="cubes" unicode="&#xf1b3;"
+d="M488.6 197.8c14.1006 -5.2998 23.4004 -18.7002 23.4004 -33.7002v-110.1c0 -13.5996 -7.7002 -26.0996 -19.9004 -32.2002l-100 -50c-10.0996 -5.09961 -22.0996 -5.09961 -32.1992 0l-103.9 52l-103.9 -52c-10.0996 -5.09961 -22.0996 -5.09961 -32.1992 0l-100 50
+c-12.2002 6.10059 -19.9004 18.6006 -19.9004 32.2002v110.1c0 15 9.2998 28.4004 23.2998 33.7002l96.6006 36.2002v108.5c0 15 9.2998 28.4004 23.3994 33.7002l100 37.5c8.2002 3.09961 17.2002 3.09961 25.2998 0l100 -37.5
+c14.1006 -5.2998 23.4004 -18.7002 23.4004 -33.7002v-108.5zM358 233.2v73.2998l-85 -37v-68.2002zM154 343.9v-0.600586l102 -41.3994l102 41.3994v0.600586l-102 38.1992zM238 52.7998v75.4004l-85 -38.7998v-79.1006zM238 164.8v0.600586l-102 38.1992l-102 -38.1992
+v-0.600586l102 -41.3994zM478 52.7998v75.4004l-85 -38.7998v-79.1006zM478 164.8v0.600586l-102 38.1992l-102 -38.1992v-0.600586l102 -41.3994z" />
+ <glyph glyph-name="recycle" unicode="&#xf1b8;"
+d="M184.561 186.097c3.23242 -13.9971 -12.1221 -24.6348 -24.0674 -17.168l-40.7363 25.4551l-50.8672 -81.4014c-13.2832 -21.2559 2.07031 -48.9824 27.1221 -48.9824h51.9883c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-51.8848
+c-75.334 0 -121.302 83.0479 -81.4082 146.88l50.8223 81.3877l-40.7256 25.4482c-12.0811 7.54688 -8.96582 25.9609 4.87891 29.1582l110.237 25.4502c8.61133 1.9873 17.2012 -3.38086 19.1895 -11.9902zM283.122 369.012
+c-12.2842 19.6543 -41.5449 20.3193 -54.2568 -0.0214844l-17.9609 -28.7432c-3.5127 -5.62012 -10.916 -7.3291 -16.5361 -3.81738l-33.9189 21.1953c-5.62012 3.51172 -7.33008 10.9131 -3.82031 16.5332l17.9629 28.7656c37.6074 60.1709 125.295 60.0332 162.816 0
+l41.2627 -66.082l40.6875 25.4238c12.0771 7.55176 27.2646 -3.32324 24.0674 -17.168l-25.4502 -110.236c-1.97363 -8.55273 -10.5166 -13.9893 -19.1885 -11.9902l-110.237 25.4502c-13.8789 3.20508 -16.9297 21.6299 -4.87891 29.1572l40.7402 25.457zM497.288 146.88
+c39.9268 -63.8828 -6.13379 -146.88 -81.4082 -146.88h-95.8799v-47.9893c0 -14.3105 -17.3105 -21.3184 -27.3135 -11.3145l-80 79.9883c-6.24805 6.24805 -6.24805 16.3799 0 22.627l80 79.9814c10.0713 10.0703 27.3135 2.90039 27.3135 -11.3125v-47.9814h95.9844
+c25.0791 0 40.3926 27.749 27.1357 48.96l-27.5645 44.1123c-3.51172 5.62109 -1.80176 13.0234 3.81836 16.5361l33.8613 21.1582c5.62207 3.51367 13.0264 1.80273 16.5381 -3.82031z" />
+ <glyph glyph-name="car" unicode="&#xf1b9;"
+d="M499.99 272c7.80957 0 13.54 -7.33984 11.6494 -14.9102l-6 -24c-1.33008 -5.33984 -6.12988 -9.08984 -11.6396 -9.08984h-20.0703c13.4199 -11.7305 22.0703 -28.7803 22.0703 -48v-48c0 -16.1299 -6.16016 -30.6797 -16 -41.9297v-54.0703
+c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v54.0703c-9.83984 11.2598 -16 25.8096 -16 41.9297v48c0 19.2197 8.65039 36.2695 22.0801 48h-20.0703
+c-5.50977 0 -10.3096 3.75 -11.6396 9.08984l-6 24c-1.90039 7.57031 3.83008 14.9102 11.6396 14.9102h59.8604l16.6396 41.5996c17.1104 42.7705 57.9307 70.4004 103.99 70.4004h127c46.0703 0 86.8799 -27.6299 103.98 -70.4004l16.6396 -41.5996h59.8701z
+M147.93 289.83l-19.9297 -49.8301h256l-19.9297 49.8301c-7.29004 18.2197 -24.9404 30.1699 -44.5703 30.1699h-127c-19.6299 0 -37.2803 -11.9502 -44.5703 -30.1699zM96 128.2c19.2002 0 48 -3.19043 48 15.9502c0 19.1396 -28.7998 47.8496 -48 47.8496
+s-32 -12.7598 -32 -31.9004c0 -19.1396 12.7998 -31.8994 32 -31.8994zM416 128.2c19.2002 0 32 12.7598 32 31.8994c0 19.1406 -12.7998 31.9004 -32 31.9004s-48 -28.71 -48 -47.8496c0 -19.1406 28.7998 -15.9502 48 -15.9502z" />
+ <glyph glyph-name="taxi" unicode="&#xf1ba;"
+d="M462 206.36c28.5898 -6.40039 50 -31.8301 50 -62.3604v-48c0 -23.6201 -12.9502 -44.0303 -32 -55.1201v-40.8799c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32
+v40.8799c-19.0498 11.0801 -32 31.4902 -32 55.1201v48c0 30.5303 21.4102 55.96 50 62.3604l22 84.8398c9.59961 35.2002 41.5996 60.7998 76.7998 60.7998h11.2002v32c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32v-32h11.2002
+c35.2002 0 67.2002 -25.5996 76.7998 -60.7998zM96 96c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM116.55 208h278.9l-17.3906 67.1396c-2.01953 7.37988 -9.37988 12.8604 -14.8496 12.8604h-214.4
+c-5.46973 0 -12.8291 -5.48047 -15.0596 -13.6396zM416 96c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="tree" unicode="&#xf1bb;" horiz-adv-x="384"
+d="M378.31 69.5098c6 -6.79004 7.36035 -16.0898 3.56055 -24.2598c-3.75 -8.0498 -12 -13.25 -21.0098 -13.25h-136.86v-24.4502l30.29 -48.3994c5.32031 -10.6406 -2.41992 -23.1602 -14.3096 -23.1602h-95.9609c-11.8896 0 -19.6299 12.5195 -14.3096 23.1602
+l30.29 48.3994v24.4502h-136.86c-9.00977 0 -17.2598 5.2002 -21.0098 13.25c-3.7998 8.16992 -2.43945 17.4697 3.56055 24.2598l79.8896 90.4902h-30.6299c-9.02051 0 -16.9805 5 -20.7803 13.0498c-3.79004 8.0498 -2.54004 17.2598 3.27051 24.04l78.1396 90.9102
+h-28.8896c-9.10059 0 -17.3105 5.34961 -20.8701 13.6104c-3.51074 8.12988 -1.86035 17.5898 4.23926 24.0801l110.28 117.479c6.04004 6.4502 17.29 6.4502 23.3203 0l110.27 -117.479c6.10059 -6.49023 7.76074 -15.9502 4.24023 -24.0801
+c-3.55957 -8.26074 -11.7598 -13.6104 -20.8604 -13.6104h-28.8896l78.1299 -90.8896c5.83008 -6.79004 7.08008 -16.0107 3.28027 -24.0508c-3.7998 -8.05957 -11.7705 -13.0596 -20.7803 -13.0596h-30.6299z" />
+ <glyph glyph-name="database" unicode="&#xf1c0;" horiz-adv-x="448"
+d="M448 374.857v-45.7148c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426v45.7148c0 40.2852 100.333 73.1426 224 73.1426s224 -32.8574 224 -73.1426zM448 272v-102.857c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426
+v102.857c48.125 -33.1426 136.208 -48.5723 224 -48.5723s175.874 15.4297 224 48.5723zM448 112v-102.857c0 -40.2852 -100.333 -73.1426 -224 -73.1426s-224 32.8574 -224 73.1426v102.857c48.125 -33.1426 136.208 -48.5723 224 -48.5723s175.874 15.4297 224 48.5723z
+" />
+ <glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384"
+d="M181.9 191.9c-5 16 -4.90039 46.8994 -2 46.8994c8.39941 0 7.59961 -36.8994 2 -46.8994zM180.2 144.7c9.59961 -17.4004 21.7998 -31.2002 34.5 -40.7998c-23.9004 -4.7002 -44.6006 -14.9004 -62.9004 -21.9004c11.1006 19.4004 20.7002 42.5 28.4004 62.7002z
+M86.0996 19.9004c5.80078 15.6992 28.2002 33.8994 34.9004 40.1992c-21.7002 -34.7998 -34.9004 -41 -34.9004 -40.1992zM248 288h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136
+c0 -13.2002 10.7998 -24 24 -24zM240 116.2c-20 12.2002 -33.2998 29 -42.7002 53.7998c4.5 18.5 11.6006 46.5996 6.2002 64.2002c-4.7002 29.3994 -42.4004 26.5 -47.7998 6.7998c-5 -18.2998 -0.400391 -44.0996 8.09961 -77
+c-11.5996 -27.5996 -28.7002 -64.5996 -40.7998 -85.7998c-0.0996094 0 -0.0996094 -0.100586 -0.200195 -0.100586c-27.0996 -13.8994 -73.5996 -44.5 -54.5 -68c5.60059 -6.89941 16 -10 21.5 -10c17.9004 0 35.7002 18 61.1006 61.8008
+c25.7998 8.5 54.0996 19.0996 79 23.1992c21.6992 -11.7998 47.0996 -19.5 64 -19.5c29.1992 0 31.1992 32 19.6992 43.4004c-13.8994 13.5996 -54.2998 9.7002 -73.5996 7.2002zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6c6.40039 0 12.5 -2.5 17 -7z
+M302.9 87.7002c0 0 -5.7002 -6.7998 -42.8008 9c40.3008 2.89941 46.9004 -6.2998 42.8008 -9z" />
+ <glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM281.1 192c-5.59961 0 -10.5 -3.90039 -11.5 -9.5c-24.1992 -111.4 -21.7998 -118 -21.5996 -129.2
+c-0.799805 5.40039 -5.59961 29 -29.5996 129.4c-1.30078 5.39941 -6.10059 9.2002 -11.7002 9.2002h-29.1006c-5.59961 0 -10.3994 -3.7002 -11.6992 -9.10059c-22.1006 -90 -27.8008 -112.5 -29.4004 -122.7c-0.900391 12.7002 -5.40039 44.2002 -21 122.2
+c-1.09961 5.7002 -6.09961 9.7002 -11.7998 9.7002h-24.5c-7.7002 0 -13.4004 -7.09961 -11.7002 -14.5996l37.7998 -168c1.2002 -5.5 6.10059 -9.40039 11.7002 -9.40039h37.0996c5.5 0 10.3008 3.7998 11.6006 9.09961c23.2002 93.1006 24.5 96.2002 25.5996 110.5h0.5
+c4.7998 -29.2998 -0.200195 -7 25.6006 -110.5c1.2998 -5.2998 6.09961 -9.09961 11.5996 -9.09961h38c5.59961 0 10.5 3.7998 11.7002 9.2998l38 168c1.7002 7.60059 -4 14.7002 -11.7002 14.7002h-23.9004zM384 326.1v-6.09961h-128v128h6.09961
+c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
+ <glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM284.1 205.5c5.10059 8 -0.599609 18.5 -10.0996 18.4004h-34.7998
+c-4.40039 0 -8.5 -2.40039 -10.6006 -6.30078c-30.5 -56.7998 -36.5996 -68.5 -36.5996 -68.5c-16.5996 34.9004 -10.5 19.7002 -36.5996 68.5c-2.10059 3.90039 -6.2002 6.30078 -10.6006 6.30078h-34.7998c-9.5 0 -15.2998 -10.5 -10.0996 -18.5l60.2998 -93.5
+l-60.2998 -93.5c-5.10059 -8 0.599609 -18.5 10.0996 -18.5h34.9004c4.39941 0 8.39941 2.39941 10.5 6.2998c26.5996 48.7998 30.1992 54 36.5996 68.7998c0 0 16.9004 -32.5 36.5 -68.7002c2.09961 -3.89941 6.2002 -6.2998 10.5996 -6.2998h34.9004
+c9.5 0 15.2002 10.5 10.0996 18.5l-60.0996 93.5zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
+ <glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384"
+d="M193.7 176.8c8.7998 0 15.5 -2.7002 20.2998 -8.09961c9.59961 -10.9004 9.7998 -32.7002 -0.200195 -44.1006c-4.89941 -5.59961 -11.8994 -8.5 -21.0996 -8.5h-26.9004v60.7002h27.9004zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6
+c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM277 146.8c0 44.2002 -28.4004 77 -72.9004 77h-81
+c-6.59961 0 -12 -5.39941 -12 -12v-199.8c0 -6.59961 5.40039 -12 12 -12h30.8008c6.59961 0 12 5.40039 12 12v57.2002c22.2998 0 111.1 -12.7002 111.1 77.5996z" />
+ <glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384"
+d="M384 326.059v-6.05859h-128v128h6.05859c5.4873 0 13.0898 -3.14941 16.9707 -7.0293l97.9404 -97.9404c3.88086 -3.88086 7.03027 -11.4834 7.03027 -16.9717zM248 288h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v464
+c0 13.2549 10.7451 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24zM112.545 272c-26.5088 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48zM320.545 32v112l-39.5137 39.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0
+l-103.515 -103.515l-39.5146 39.5146c-4.68652 4.68652 -11.7988 5.1709 -16.4854 0.485352l-39.5146 -39.5146l-0.485352 -48.4854h256z" />
+ <glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384"
+d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM128.4 112c17.8994 0 32.5 -12.0996 32.5 -27s-14.5 -27 -32.4004 -27s-32.5 12 -32.5 27c0 14.9004 14.5 27 32.4004 27zM224 312c0 -13.2002 10.7998 -24 24 -24h136
+v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h104.4v-32h32v32h63.5996v-136zM95.9004 416v-32h32v32h-32zM128.2 32c33 0 57.7998 30.2002 51.3994 62.5996l-17.2998 87.7002
+c-1.09961 5.60059 -6.09961 9.7002 -11.7998 9.7002h-22.0996v32h32v32h-32v32h32v32h-32v32h32v32h-32v-32h-32v-32h32v-32h-32v-32h32v-32h-32v-32l-19.6006 -97.0996c-6.59961 -32.5 18.2002 -62.9004 51.4004 -62.9004z" />
+ <glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM160 44v136c0 10.7002 -12.9004 16.0996 -20.5 8.5l-35.5 -36.5h-28c-6.59961 0 -12 -5.40039 -12 -12
+v-56c0 -6.59961 5.40039 -12 12 -12h28l35.5 -36.5c7.59961 -7.5 20.5 -2.2002 20.5 8.5zM193.2 91.5996c-22.5 -23.0996 12.5996 -55.7998 34.3994 -33.5c27.2002 28 27.2002 72.5 0 100.4c-22.1992 22.7002 -56.5 -10.7002 -34.3994 -33.5
+c9.09961 -9.2998 9.09961 -24.0996 0 -33.4004zM279.2 208.7c-22.1006 22.7998 -56.5 -10.7002 -34.4004 -33.5c36.2998 -37.2998 36.2002 -96.6006 0 -133.8c-22.5996 -23.2002 12.6006 -55.9004 34.4004 -33.5c54.3994 56 54.3994 144.899 0 200.8zM384 326.1v-6.09961
+h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
+ <glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384"
+d="M384 326.059v-6.05859h-128v128h6.05859c6.36523 0 12.4707 -2.5293 16.9717 -7.0293l97.9404 -97.9404c3.87988 -3.88086 7.0293 -11.4834 7.0293 -16.9717zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336
+c-13.2549 0 -24 10.7451 -24 24v464c0 13.2549 10.7451 24 24 24h200v-136zM320 167.984c0 21.4609 -25.96 31.9795 -40.9707 16.9697l-55.0293 -55.0127v38.0586c0 13.2549 -10.7451 24 -24 24h-112c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24
+h112c13.2549 0 24 10.7451 24 24v38.0586l55.0293 -55.0088c15.0273 -15.0264 40.9707 -4.47363 40.9707 16.9717v111.963z" />
+ <glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384"
+d="M384 326.059v-6.05859h-128v128h6.05859c6.36523 0 12.4707 -2.5293 16.9717 -7.0293l97.9404 -97.9404c3.87988 -3.88086 7.0293 -11.4834 7.0293 -16.9717zM248 288h136v-328c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v464
+c0 13.2549 10.7451 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24zM123.206 47.4951l19.5791 20.8838c0.805664 0.860352 1.45996 2.51465 1.45996 3.69336c0 1.34766 -0.820312 3.16309 -1.83203 4.05371l-40.7627 35.874l40.7627 35.874
+c1.01172 0.890625 1.83203 2.70605 1.83203 4.05371c0 1.17871 -0.654297 2.83301 -1.45996 3.69336l-19.5791 20.8848c-0.882812 0.942383 -2.64844 1.70703 -3.93945 1.70703c-1.17871 0 -2.83398 -0.654297 -3.69336 -1.46094l-64.8662 -60.8115
+c-0.942383 -0.883789 -1.70703 -2.64844 -1.70703 -3.93945c0 -1.29199 0.764648 -3.05664 1.70703 -3.94043l64.8662 -60.8115c0.859375 -0.806641 2.51465 -1.46094 3.69336 -1.46094c1.29102 0 3.05664 0.764648 3.93945 1.70703zM174.501 -2.98438
+c0.407227 -0.118164 1.08203 -0.213867 1.50586 -0.213867c2.23926 0 4.56152 1.74512 5.18457 3.89551l61.4395 211.626c0.118164 0.407227 0.214844 1.08203 0.214844 1.50586c0 2.23828 -1.74512 4.56152 -3.89453 5.18555l-27.4521 7.9707
+c-0.407227 0.117188 -1.08105 0.213867 -1.50488 0.213867c-2.23828 0 -4.5625 -1.74512 -5.1875 -3.89551l-61.4395 -211.626c-0.118164 -0.40625 -0.213867 -1.08105 -0.213867 -1.50391c0 -2.23926 1.74512 -4.56348 3.89453 -5.1875zM335.293 108.061
+c0.942383 0.883789 1.70703 2.64844 1.70703 3.94043c0 1.29102 -0.764648 3.05566 -1.70605 3.93945l-64.8662 60.8115c-0.859375 0.806641 -2.51465 1.46094 -3.69336 1.46094c-1.29102 0 -3.05566 -0.764648 -3.93945 -1.70703l-19.5801 -20.8848
+c-0.805664 -0.860352 -1.45996 -2.51465 -1.45996 -3.69336c0 -1.34766 0.820312 -3.16309 1.83203 -4.05371l40.7627 -35.874l-40.7637 -35.873c-1.01172 -0.890625 -1.83203 -2.70605 -1.83203 -4.05371c0 -1.17871 0.654297 -2.83301 1.45996 -3.69336l19.5801 -20.8848
+c0.882812 -0.942383 2.64844 -1.70703 3.93945 -1.70703c1.17871 0 2.83398 0.654297 3.69336 1.46094z" />
+ <glyph glyph-name="life-ring" unicode="&#xf1cd;"
+d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM429.696 320.441c-10.6406 14.3398 -30.915 34.6143 -45.2549 45.2549l-63.3994 -63.3994c18.585 -11.0029 34.2676 -26.6963 45.2549 -45.2549zM256 96
+c53.0186 0 96 42.9814 96 96s-42.9814 96 -96 96s-96 -42.9814 -96 -96s42.9814 -96 96 -96zM127.559 365.696c-14.3398 -10.6406 -34.6143 -30.915 -45.2549 -45.2549l63.3994 -63.3994c11.0029 18.585 26.6963 34.2676 45.2549 45.2549zM82.3037 63.5586
+c10.6406 -14.3398 30.915 -34.6143 45.2549 -45.2549l63.3994 63.3994c-18.585 11.0029 -34.2676 26.6963 -45.2549 45.2549zM384.441 18.3037c14.3398 10.6406 34.6143 30.915 45.2549 45.2549l-63.3994 63.3994c-11.0029 -18.585 -26.6963 -34.2676 -45.2549 -45.2549z
+" />
+ <glyph glyph-name="circle-notch" unicode="&#xf1ce;" horiz-adv-x="511"
+d="M288 408.944c0 15.5996 14.6777 27.167 29.7891 23.292c107.071 -27.457 186.211 -124.604 186.211 -240.236c0 -136.788 -110.745 -247.711 -247.466 -247.999c-137.054 -0.289062 -247.812 109.615 -248.531 246.667c-0.609375 116.126 78.5996 213.85 185.951 241.502
+c15.2119 3.91895 30.0459 -7.52539 30.0459 -23.2344v-16.6475c0 -10.8047 -7.28125 -20.1621 -17.6885 -23.0693c-77.5254 -21.6543 -134.312 -92.749 -134.312 -177.219c0 -101.705 82.3105 -184 184 -184c101.705 0 184 82.3105 184 184
+c0 84.4824 -56.7959 155.566 -134.314 177.219c-10.4043 2.90723 -17.6855 12.2627 -17.6855 23.0664v16.6592z" />
+ <glyph glyph-name="paper-plane" unicode="&#xf1d8;" horiz-adv-x="511"
+d="M476 444.8c17.2998 10 39 -4.59961 35.5996 -24.7998l-72 -432c-2.59961 -15.2998 -18.7998 -24.2002 -33 -18.2002l-124.6 52.2002l-63.5 -77.2998c-14 -17.1006 -42.5 -7.7998 -42.5 15.7998v80.5l240.9 293.5c4.69922 5.7002 -3.10059 13.2002 -8.60059 8.2998
+l-287.3 -253.2l-106.3 44.6006c-18 7.59961 -20.2998 32.7998 -2.2002 43.2002z" />
+ <glyph glyph-name="history" unicode="&#xf1da;"
+d="M504 192.469c0.25293 -136.64 -111.18 -248.372 -247.82 -248.468c-59.0146 -0.0419922 -113.223 20.5303 -155.821 54.9111c-11.0771 8.93945 -11.9053 25.541 -1.83984 35.6064l11.2676 11.2676c8.6084 8.6084 22.3525 9.55078 31.8906 1.9834
+c31.3848 -24.9043 71.1045 -39.7695 114.323 -39.7695c101.705 0 184 82.3105 184 184c0 101.705 -82.3105 184 -184 184c-48.8145 0 -93.1494 -18.9688 -126.068 -49.9316l50.7539 -50.7539c10.0801 -10.0801 2.94141 -27.3145 -11.3125 -27.3145h-145.373
+c-8.83691 0 -16 7.16309 -16 16v145.373c0 14.2539 17.2344 21.3926 27.3145 11.3135l49.3711 -49.3711c44.5234 42.5488 104.866 68.6846 171.314 68.6846c136.81 0 247.747 -110.78 248 -247.531zM323.088 113.685c-8.1377 -10.4629 -23.2158 -12.3467 -33.6787 -4.20996
+l-65.4092 50.874v135.651c0 13.2549 10.7451 24 24 24h16c13.2549 0 24 -10.7451 24 -24v-104.349l40.7012 -31.6572c10.4629 -8.13672 12.3477 -23.2158 4.20996 -33.6787z" />
+ <glyph glyph-name="heading" unicode="&#xf1dc;"
+d="M496 368c0 -8.83691 -7.16309 -16 -16 -16h-37.2754v-320h37.2754c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-160c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h37.6201v128h-203.241v-128h37.6211
+c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-160c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h37.2754v320h-37.2754c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h160c8.83691 0 16 -7.16309 16 -16v-32
+c0 -8.83691 -7.16309 -16 -16 -16h-37.6211v-128h203.242v128h-37.6211c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h160c8.83691 0 16 -7.16309 16 -16v-32z" />
+ <glyph glyph-name="paragraph" unicode="&#xf1dd;" horiz-adv-x="447"
+d="M408 416c13.2549 0 24 -10.7451 24 -24v-32c0 -13.2549 -10.7451 -24 -24 -24h-40v-344c0 -13.2549 -10.7451 -24 -24 -24h-32c-13.2549 0 -24 10.7451 -24 24v344h-32v-344c0 -13.2549 -10.7451 -24 -24 -24h-32c-13.2549 0 -24 10.7451 -24 24v104
+c-88.3926 0 -160.044 71.6787 -160 160.082c0.0449219 88.583 72.9482 159.918 161.531 159.918h230.469z" />
+ <glyph glyph-name="sliders-h" unicode="&#xf1de;"
+d="M496 64c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-336v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-80c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h80v16c0 8.7998 7.2002 16 16 16h32
+c8.7998 0 16 -7.2002 16 -16v-16h336zM496 224c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-80v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-336c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h336v16
+c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-16h80zM496 384c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-208v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-208c-8.7998 0 -16 7.2002 -16 16v32
+c0 8.7998 7.2002 16 16 16h208v16c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-16h208z" />
+ <glyph glyph-name="share-alt" unicode="&#xf1e0;" horiz-adv-x="448"
+d="M352 128c53.0186 0 96 -42.9814 96 -96s-42.9814 -96 -96 -96s-96 42.9814 -96 96v0.0283203c0 5.8125 1.01953 15.1367 2.27637 20.8125l-102.486 64.0537c-16.4033 -13.0752 -37.1816 -20.8945 -59.79 -20.8945c-53.0186 0 -96 42.9814 -96 96s42.9814 96 96 96
+c22.6084 0 43.3867 -7.81934 59.79 -20.8945l102.486 64.0537c-1.48633 6.71094 -2.27637 13.6826 -2.27637 20.8408c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96s-42.9814 -96 -96 -96c-22.6084 0 -43.3867 7.81934 -59.79 20.8965l-102.486 -64.0547
+c1.25684 -5.68359 2.27637 -15.0205 2.27637 -20.8408c0 -5.82129 -1.01953 -15.1582 -2.27637 -20.8418l102.486 -64.0537c16.4033 13.0752 37.1816 20.8945 59.79 20.8945z" />
+ <glyph glyph-name="share-alt-square" unicode="&#xf1e1;" horiz-adv-x="448"
+d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM304 152c-14.5615 0 -27.8232 -5.56055 -37.7832 -14.6709l-67.958 40.7744
+c0.960938 3.77539 1.74121 10.001 1.74121 13.8975c0 3.89551 -0.780273 10.1211 -1.74121 13.8965l67.958 40.7744c9.95996 -9.11133 23.2217 -14.6719 37.7832 -14.6719c30.9277 0 56 25.0723 56 56s-25.0723 56 -56 56s-56 -25.0723 -56 -56
+c0 -4.79688 0.605469 -9.45312 1.74023 -13.8975l-67.958 -40.7744c-9.95898 9.11133 -23.2207 14.6719 -37.7822 14.6719c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56c14.5615 0 27.8232 5.56055 37.7832 14.6709l67.958 -40.7744
+c-0.960938 -3.7666 -1.74023 -9.97656 -1.74023 -13.8623v-0.0351562c0 -30.9277 25.0723 -56 56 -56s56 25.0723 56 56c-0.000976562 30.9287 -25.0732 56.001 -56.001 56.001z" />
+ <glyph glyph-name="bomb" unicode="&#xf1e2;"
+d="M440.5 359.5l-52 -52l26.5 -26.5c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-17.4004 -17.3994c11.8008 -26.1006 18.4004 -55.1006 18.4004 -85.6006c0 -114.899 -93.0996 -208 -208 -208s-208 93 -208 207.9s93.0996 208 208 208
+c30.5 0 59.5 -6.59961 85.5996 -18.4004l17.4004 17.4004c9.40039 9.40039 24.5996 9.40039 33.9004 0l26.5 -26.5l52 52zM500 388c6.59961 0 12 -5.40039 12 -12s-5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12s5.40039 12 12 12h24zM440 448
+c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12s-12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12zM473.9 393c-4.60059 -4.7002 -12.2002 -4.7002 -17 0c-4.7002 4.7002 -4.7002 12.2998 0 17l17 17c4.69922 4.7002 12.2998 4.7002 17 0
+c4.69922 -4.7002 4.69922 -12.2998 0 -17zM406.1 393l-17 17c-4.69922 4.7002 -4.69922 12.2998 0 17c4.7002 4.7002 12.3008 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17c-4.69922 -4.7002 -12.2998 -4.7002 -17 0zM473.9 359l17 -17
+c4.69922 -4.7002 4.69922 -12.2998 0 -17c-4.7002 -4.7002 -12.3008 -4.7002 -17 0l-17 17c-4.7002 4.7002 -4.7002 12.2998 0 17c4.69922 4.7002 12.2998 4.7002 17 0zM112 176c0 35.2998 28.7002 64 64 64c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16
+c-52.9004 0 -96 -43.0996 -96 -96c0 -8.7998 7.2002 -16 16 -16s16 7.2002 16 16z" />
+ <glyph glyph-name="futbol" unicode="&#xf1e3;"
+d="M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM456 192l-0.00292969 0.282227l-26.0645 -22.7412l-62.6787 58.5l16.4541 84.3555l34.3027 -3.07227
+c-24.8887 34.2158 -60.0039 60.0889 -100.709 73.1406l13.6514 -31.9385l-74.9531 -41.5264l-74.9531 41.5254l13.6514 31.9385c-40.6309 -13.0283 -75.7803 -38.8701 -100.709 -73.1406l34.5645 3.07324l16.1924 -84.3555l-62.6777 -58.5l-26.0645 22.7412
+l-0.00292969 -0.282227c0 -43.0146 13.4971 -83.9521 38.4717 -117.991l7.7041 33.8975l85.1387 -10.4473l36.3008 -77.8262l-29.9023 -17.7861c40.2021 -13.1221 84.29 -13.1475 124.572 0l-29.9023 17.7861l36.3008 77.8262l85.1387 10.4473l7.7041 -33.8975
+c24.9756 34.0391 38.4727 74.9766 38.4727 117.991zM207.898 122.429l-29.8945 91.3125l77.9961 56.5264l77.9961 -56.5264l-29.6221 -91.3125h-96.4756z" />
+ <glyph glyph-name="tty" unicode="&#xf1e4;"
+d="M5.37012 344.178c138.532 138.532 362.936 138.326 501.262 0c6.07812 -6.07812 7.07422 -15.4961 2.58301 -22.6807l-43.2139 -69.1377c-2.97266 -4.75684 -9.9375 -8.61719 -15.5459 -8.61719c-1.94922 0 -5 0.587891 -6.81055 1.31152l-86.4219 34.5693
+c-6.36133 2.54492 -11.5244 10.1719 -11.5244 17.0234c0 0.503906 0.0410156 1.32031 0.0908203 1.82227l5.95215 59.5312c-62.1455 22.4541 -130.636 21.9863 -191.483 0l5.95312 -59.5322c0.0507812 -0.501953 0.0908203 -1.32031 0.0908203 -1.8252
+c0 -6.85156 -5.16309 -14.4766 -11.5244 -17.0205l-86.4238 -34.5684c-1.80957 -0.723633 -4.85938 -1.31152 -6.80859 -1.31152c-5.60938 0 -12.5742 3.86035 -15.5469 8.61719l-43.2109 69.1387c-1.53809 2.46094 -2.78711 6.81445 -2.78711 9.7168
+c0 4.19141 2.40625 9.99902 5.37012 12.9629zM96 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM192 140c0 -6.62695 -5.37305 -12 -12 -12h-40
+c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM288 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM384 140
+c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM480 140c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
+c6.62695 0 12 -5.37305 12 -12v-40zM144 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM240 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40
+c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM336 44c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM432 44c0 -6.62695 -5.37305 -12 -12 -12h-40
+c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM96 -52c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM384 -52
+c0 -6.62695 -5.37305 -12 -12 -12h-232c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h232c6.62695 0 12 -5.37305 12 -12v-40zM480 -52c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
+c6.62695 0 12 -5.37305 12 -12v-40z" />
+ <glyph glyph-name="binoculars" unicode="&#xf1e5;"
+d="M416 400v-48h-96v48c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16zM63.9102 288.01c0.479492 17.6201 14.2998 31.9902 31.9297 31.9902h96.1602v-160h-32v-160c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v44
+c3.45996 129.78 61.4004 150.16 63.9102 244.01zM448.09 288.01c2.50977 -93.8496 60.4502 -114.229 63.9102 -244.01v-44c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v160h-32v160h96.1602c17.6299 0 31.4502 -14.3701 31.9297 -31.9902zM176 416
+c8.83984 0 16 -7.16016 16 -16v-48h-96v48c0 8.83984 7.16016 16 16 16h64zM224 160v160h64v-160h-64z" />
+ <glyph glyph-name="plug" unicode="&#xf1e6;" horiz-adv-x="384"
+d="M256 304v112c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-112h-64zM368 288c8.83691 0 16 -7.16309 16 -16v-32c0 -8.83691 -7.16309 -16 -16 -16h-16v-32c0 -77.4062 -54.9688 -141.971 -128 -156.796v-99.2041h-64v99.2041
+c-73.0312 14.8252 -128 79.3896 -128 156.796v32h-16c-8.83691 0 -16 7.16309 -16 16v32c0 8.83691 7.16309 16 16 16h352zM128 304h-64v112c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-112z" />
+ <glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576"
+d="M552 384c13.2549 0 24 -10.7451 24 -24v-312c0 -26.5098 -21.4902 -48 -48 -48h-472c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h40v8c0 13.2549 10.7451 24 24 24h464zM56 48c4.41602 0 8 3.58398 8 8v248h-16v-248c0 -4.41602 3.58398 -8 8 -8z
+M292 64c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 64c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8
+c0 -6.62695 5.37305 -12 12 -12h152zM292 160c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 160c6.62695 0 12 5.37305 12 12v8c0 6.62695 -5.37305 12 -12 12h-152
+c-6.62695 0 -12 -5.37305 -12 -12v-8c0 -6.62695 5.37305 -12 12 -12h152zM500 256c6.62695 0 12 5.37305 12 12v40c0 6.62695 -5.37305 12 -12 12h-360c-6.62695 0 -12 -5.37305 -12 -12v-40c0 -6.62695 5.37305 -12 12 -12h360z" />
+ <glyph glyph-name="wifi" unicode="&#xf1eb;" horiz-adv-x="640"
+d="M634.91 293.12c6.66016 -6.16016 6.79004 -16.5898 0.359375 -22.9805l-34.2393 -33.9697c-6.14062 -6.08984 -16.0205 -6.22949 -22.4004 -0.379883c-145.95 133.71 -371.33 133.68 -517.25 0c-6.37988 -5.84961 -16.2598 -5.71973 -22.3994 0.379883l-34.2402 33.9697
+c-6.44043 6.39062 -6.31055 16.8203 0.349609 22.9805c177.101 163.81 452.65 163.87 629.82 0zM320 96c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64s-64 28.6504 -64 64s28.6504 64 64 64zM522.67 179.59c6.88965 -6.08984 7.12012 -16.6895 0.560547 -23.1494
+l-34.4404 -33.9902c-6 -5.93066 -15.6602 -6.32031 -22.0498 -0.799805c-83.75 72.4092 -209.54 72.5693 -293.49 0c-6.38965 -5.52051 -16.0498 -5.12012 -22.0498 0.799805l-34.4404 33.9902c-6.5498 6.45996 -6.33008 17.0498 0.570312 23.1494
+c115.13 101.82 290.08 101.93 405.34 0z" />
+ <glyph glyph-name="calculator" unicode="&#xf1ec;" horiz-adv-x="448"
+d="M400 448c25.5996 0 48 -22.4004 48 -48v-416c0 -25.5996 -22.4004 -48 -48 -48h-352c-25.5996 0 -48 22.4004 -48 48v416c0 25.5996 22.4004 48 48 48h352zM128 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM128 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM256 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM256 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM384 12.7998v166.4c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-166.4c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM384 268.8v102.4c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-294.4
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-102.4c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h294.4c6.39941 0 12.7998 6.40039 12.7998 12.7998z" />
+ <glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640"
+d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.80957 -22.4502l-19.6396 -25.2705c-5.43066 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.351 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
+c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l144.96 -112.04c22.9307 31.5 57.2607 54.1904 97.5898 62.5703v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8301c73.46 -15.2598 127.939 -77.46 127.939 -155.16
+c0 -102.3 36.1504 -133.529 55.4697 -154.29c6 -6.43945 8.66016 -14.1602 8.61035 -21.71c0 -1.39941 -0.610352 -2.67969 -0.799805 -4.05957zM157.23 196.46l212.789 -164.46h-241.92c-19.1191 0 -31.9893 15.5996 -32.0996 32
+c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c16.21 17.4199 44.0098 42.79 52.6201 110.75zM320 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
+ <glyph glyph-name="trash" unicode="&#xf1f8;" horiz-adv-x="448"
+d="M432 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781
+c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002h120zM53.2002 -19l-21.2002 339h384l-21.2002 -339c-1.55469 -24.8369 -23.0146 -44.9971 -47.8994 -45h-245.801c-24.8848 0.00292969 -46.3447 20.1631 -47.8994 45z" />
+ <glyph glyph-name="copyright" unicode="&#xf1f9;"
+d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM373.134 93.2471c1.58203 1.85645 2.86621 5.34375 2.86621 7.7832c0 2.16309 -1.03613 5.33594 -2.31348 7.08301l-24.5469 33.5713
+c-4.44824 6.08691 -13.376 6.61816 -18.5078 1.05371c-0.263672 -0.287109 -26.8467 -28.625 -65.5439 -28.625c-48.7627 0 -74.2773 40.0898 -74.2773 79.6914c0 42.5068 27.8008 76.082 73.916 76.082c35.3516 0 61.6475 -23.666 61.8809 -23.8799
+c5.45996 -5.05566 14.1846 -3.97168 18.2334 2.29492l22.3799 34.6553c1.05957 1.64062 1.91992 4.55762 1.91992 6.51074c0 2.57812 -1.41504 6.21191 -3.15723 8.1123c-1.45703 1.58887 -36.4658 38.9043 -103.423 38.9043
+c-81.7578 0 -143.762 -62.0986 -143.762 -143.401c0 -82.3066 59.792 -145.567 144.484 -145.567c70.0752 0 108.259 43.8643 109.851 45.7314z" />
+ <glyph glyph-name="at" unicode="&#xf1fa;"
+d="M256 440c138.023 0 248 -87.6533 248 -224c0 -75.7979 -41.3906 -147.41 -150.299 -147.41c-30.0977 0 -61.1885 -0.000976562 -70.71 34.1035c-17.6221 -22.6963 -48.0068 -38.333 -74.9912 -38.333c-59.2148 0 -96 40.5664 -96 105.87
+c0 89.2256 63.251 151.46 137.831 151.46c19.5225 0 45.2744 -3.87402 59.9707 -21.7754l0.00976562 0.0917969c0.751953 6.62012 6.76953 11.9932 13.4326 11.9932v0h44.9805c15.083 0 26.4287 -13.75 23.5625 -28.5586l-23.4336 -121.11
+c-3.43359 -17.167 -3.87207 -29.5703 13.4766 -30.0244c37.0771 3.95117 58.1699 44.9072 58.1699 83.6934c0 102.381 -83.8613 160 -184 160c-101.458 0 -184 -82.542 -184 -184s82.542 -184 184 -184c35.3145 0 69.9199 10.2432 99.4102 29.1572
+c10.1934 6.53809 23.7021 4.24219 31.373 -5.12891l10.1768 -12.4336c9.07324 -11.084 6.45312 -27.5566 -5.55176 -35.3721c-40.0664 -26.083 -87.2539 -40.2227 -135.408 -40.2227c-137.081 0 -248 110.941 -248 248c0 137.081 110.941 248 248 248zM234.32 135.57
+c24.2861 0 58.1611 27.6689 58.1611 72.7295c0 25.5293 -13.3096 40.7705 -35.6016 40.7705c-27.8506 0 -58.6299 -27.7363 -58.6299 -72.7295c0 -25.1475 13.8213 -40.7705 36.0703 -40.7705z" />
+ <glyph glyph-name="eye-dropper" unicode="&#xf1fb;"
+d="M50.75 114.75l126.63 126.61l128 -128l-126.64 -126.62c-12 -12 -28.2803 -18.7402 -45.25 -18.7402h-45.4902l-56 -32l-32 32l32 56v45.4902c0 16.9795 6.75 33.2598 18.75 45.2598zM483.88 419.88c37.5 -37.4902 37.5 -98.2695 -0.00976562 -135.75l-77.0898 -77.0898
+l13.0996 -13.0996c9.37012 -9.37012 9.37012 -24.5703 0 -33.9404l-40.9697 -40.96c-9.29004 -9.30957 -24.5 -9.44043 -33.9404 0l-161.939 161.94c-9.37012 9.36914 -9.37012 24.5693 0 33.9395l40.9697 40.9697c9.29004 9.31055 24.5 9.44043 33.9404 0l13.0996 -13.0996
+l77.0898 77.0898c37.4697 37.5 98.2803 37.5 135.75 0z" />
+ <glyph glyph-name="paint-brush" unicode="&#xf1fc;"
+d="M167.02 138.66l88.0107 -73.3398c0.319336 -3.05078 0.969727 -6.02051 0.969727 -9.12988c0 -76.4209 -52.1396 -120.19 -128 -120.19c-90.0703 0 -128 72.3799 -128.01 154.73c9.79004 -6.68066 44.1396 -34.3506 55.25 -34.3506
+c6.58984 0 12.2402 3.77051 14.5898 9.98047c20.6602 54.4395 57.0703 69.7197 97.1895 72.2998zM457.89 448c28.1104 0 54.1104 -20.6396 54.1104 -49.5498c0 -16.1406 -6.51953 -31.6406 -13.9004 -45.9902c-113.05 -210.99 -149.05 -256.46 -211.159 -256.46
+c-7.75 0 -15.1807 1.23047 -22.3906 3.03027l-63.8193 53.1797c-5.48047 11.9404 -8.73047 25 -8.73047 38.7002c0 53.75 21.2695 58.04 225.68 240.64c10.8398 9.74023 25.0508 16.4502 40.21 16.4502z" />
+ <glyph glyph-name="birthday-cake" unicode="&#xf1fd;" horiz-adv-x="448"
+d="M448 64c-28.0195 0 -31.2598 32 -74.5 32c-43.4297 0 -46.8252 -32 -74.75 -32c-27.6953 0 -31.4541 32 -74.75 32c-42.8418 0 -47.2178 -32 -74.5 -32c-28.1484 0 -31.2021 32 -74.75 32c-43.5469 0 -46.6533 -32 -74.75 -32v80c0 26.5 21.5 48 48 48h16v144h64v-144h64
+v144h64v-144h64v144h64v-144h16c26.5 0 48 -21.5 48 -48v-80zM448 -64h-448v96c43.3564 0 46.7666 32 74.75 32c27.9512 0 31.2529 -32 74.75 -32c42.8428 0 47.2168 32 74.5 32c28.1484 0 31.2012 -32 74.75 -32c43.3574 0 46.7666 32 74.75 32
+c27.4883 0 31.252 -32 74.5 -32v-96zM96 352c-17.75 0 -32 14.25 -32 32c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40zM224 352c-17.75 0 -32 14.25 -32 32c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40zM352 352c-17.75 0 -32 14.25 -32 32
+c0 31 32 23 32 64c12 0 32 -29.5 32 -56s-14.25 -40 -32 -40z" />
+ <glyph glyph-name="chart-area" unicode="&#xf1fe;"
+d="M500 64c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-488c-6.59961 0 -12 5.40039 -12 12v360c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-308h436zM372.7 288.5c6 4 14.2002 1.7998 17.3994 -4.7002l89.9004 -187.8h-384v104
+l86.7998 144.7c4.40039 7.2998 14.7998 7.7998 19.9004 1l85.2998 -113.7z" />
+ <glyph glyph-name="chart-pie" unicode="&#xf200;" horiz-adv-x="544"
+d="M527.79 160c9.5498 0 17.4004 -8.38965 16.0596 -17.8496c-7.80957 -55.25 -34.4297 -104.4 -73.1299 -140.86c-6.20996 -5.84961 -16.1494 -5.36035 -22.1895 0.679688l-158.03 158.03h237.29zM511.96 224.8c0.629883 -9.12012 -7.0498 -16.7998 -16.1904 -16.7998
+h-223.77v223.76c0 9.14062 7.67969 16.8301 16.7998 16.2002c119.46 -8.24023 214.92 -103.7 223.16 -223.16zM224 160l155.86 -155.87c6.84961 -6.84961 6.33008 -18.4795 -1.57031 -24.0801c-38.29 -27.1602 -84.8604 -43.3994 -135.26 -44.0303
+c-128.2 -1.60938 -238.53 103.471 -242.891 231.61c-4.23926 124.771 86.8506 228.88 206.021 245.72c9.4502 1.34082 17.8398 -6.50977 17.8398 -16.0596v-237.29z" />
+ <glyph glyph-name="chart-line" unicode="&#xf201;"
+d="M496 64c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-304h432zM464 352c8.83984 0 16 -7.16016 15.9902 -16v-118.05
+c0 -21.3799 -25.8506 -32.0898 -40.9707 -16.9697l-32.3994 32.3994l-96 -96c-12.4902 -12.5 -32.75 -12.5 -45.25 0l-73.3701 73.3701l-46.0596 -46.0703c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6191 22.6201c-6.25 6.25 -6.25 16.3799 0 22.6299l68.6895 68.6904
+c12.4902 12.5 32.75 12.5 45.25 0l73.3701 -73.3701l73.3701 73.3799l-32.4004 32.4004c-15.1201 15.1201 -4.41016 40.9697 16.9707 40.9697h118.06z" />
+ <glyph glyph-name="toggle-off" unicode="&#xf204;" horiz-adv-x="576"
+d="M384 384c106.039 0 192 -85.9609 192 -192s-85.9609 -192 -192 -192h-192c-106.039 0 -192 85.9609 -192 192s85.9609 192 192 192h192zM64 192c0 -70.751 57.2588 -128 128 -128c70.751 0 128 57.2588 128 128c0 70.751 -57.2588 128 -128 128
+c-70.751 0 -128 -57.2588 -128 -128zM384 64c70.751 0 128 57.2598 128 128c0 70.751 -57.2588 128 -128 128h-48.9053c65.2363 -72.8799 65.2168 -183.142 0 -256h48.9053z" />
+ <glyph glyph-name="toggle-on" unicode="&#xf205;" horiz-adv-x="576"
+d="M384 384c106 0 192 -86 192 -192s-86 -192 -192 -192h-192c-106 0 -192 86 -192 192s86 192 192 192h192zM384 64c70.7002 0 128 57.2002 128 128c0 70.7002 -57.2002 128 -128 128c-70.7002 0 -128 -57.2002 -128 -128c0 -70.7002 57.2002 -128 128 -128z" />
+ <glyph glyph-name="bicycle" unicode="&#xf206;" horiz-adv-x="640"
+d="M512.509 255.999c70.9502 -0.276367 128.562 -59.0547 127.477 -129.996c-1.07422 -70.1934 -58.6494 -126.681 -129.255 -125.996c-68.8301 0.667969 -126.584 58.8857 -126.729 127.719c-0.078125 37.3564 15.8516 70.9893 41.3066 94.4375l-14.9375 24.0674
+l-85.9619 -138.863c-3.88477 -6.27441 -13.0264 -11.3672 -20.4062 -11.3672h-52.0332c-14.209 -55.207 -64.3252 -96 -123.967 -96c-70.9473 0 -128.415 57.7207 -128 128.764c0.410156 70.2246 58.0918 127.406 128.317 127.236
+c15.0879 -0.0371094 29.5586 -2.69043 42.9912 -7.51953l29.417 47.5195h-48.7256c-13.1191 0 -23.7627 10.5186 -23.9951 23.5635c-0.241211 13.4375 11.0947 24.4365 24.5361 24.4365h87.459c8.83691 0 16 -7.16309 16 -16v-16h113.544l-14.8955 24h-50.6494
+c-8.83691 0 -16 7.16309 -16 16v16c0 8.83691 7.16309 16 16 16h64h0.000976562c7.36914 0 16.5049 -5.08203 20.3906 -11.3428l77.6807 -125.153c14.4053 5.54004 30.0625 8.55957 46.4355 8.49512zM186.75 182.228l-23.6641 -38.2275h43.3057
+c-2.96875 14.5674 -9.91504 27.6992 -19.6416 38.2275zM128.002 48c32.7383 0 60.9297 19.7754 73.2998 48h-81.2998c-18.7891 0 -30.2871 20.6729 -20.4062 36.6318l45.5049 73.5088c-5.5127 1.20605 -11.2295 1.85938 -17.0986 1.85938c-44.1123 0 -80 -35.8877 -80 -80
+s35.8877 -80 80 -80zM290.632 144l74.2861 120h-127.547l-24.7461 -39.9736c22.8271 -20.1328 38.4229 -48.2705 42.3828 -80.0264h35.624zM507.689 48.1143c46.0605 -2.43164 84.3115 34.3447 84.3125 79.8848c0 44.1123 -35.8877 80 -80 80h-0.0390625
+c-5.55664 0 -14.4355 -1.11914 -19.8193 -2.49707l44.4688 -71.6426c4.66113 -7.50879 2.35156 -17.3721 -5.15625 -22.0322l-13.5938 -8.4375c-7.50879 -4.65918 -17.3721 -2.35156 -22.0322 5.15625l-44.4326 71.5859
+c-12.7021 -14.7451 -20.1475 -34.1416 -19.3359 -55.2627c1.57812 -41.0635 34.5918 -74.5898 75.6279 -76.7549z" />
+ <glyph glyph-name="bus" unicode="&#xf207;"
+d="M488 320c13.25 0 24 -10.7402 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-8v-166.4c0 -12.7998 -9.59961 -25.5996 -25.5996 -25.5996h-6.40039v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32
+c-17.6699 0 -32 14.3301 -32 32v32c-17.6699 0 -32 14.3301 -32 32v160h-8c-13.25 0 -24 10.75 -24 24v80c0 13.2598 10.75 24 24 24h8v48c0 44.7998 99.2002 80 224 80s224 -35.2002 224 -80v-48h8zM112 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 160h256c17.6699 0 32 14.3301 32 32v128c0 17.6699 -14.3301 32 -32 32h-256c-17.6699 0 -32 -14.3301 -32 -32v-128c0 -17.6699 14.3301 -32 32 -32zM400 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="closed-captioning" unicode="&#xf20a;"
+d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM218.1 160.3c-41.1992 -37.8994 -92.1992 -15.3994 -92.2998 32.6006c0 46.0996 53.7998 63.1992 94.6006 31.1992
+c2.89941 -2.2998 7.19922 -1.39941 9.09961 1.7002l17.5 30.5c1.5 2.5 1.09961 3.7002 -1 5.7002c-50.7998 49.4004 -172.5 27.2002 -172.5 -70.0996c0 -100 119.2 -124.7 172.8 -67.9004c2 2.09961 2.2002 5.2998 0.5 7.7002l-19.5 27.7002
+c-2.09961 3 -6.39941 3.39941 -9.2002 0.899414zM408.5 160.3c-41.2002 -37.8994 -92.2002 -15.3994 -92.2002 32.6006c0 46.0996 53.7998 63.1992 94.6006 31.1992c2.89941 -2.2998 7.19922 -1.39941 9.09961 1.7002l17.5 30.5c1.5 2.5 1.09961 3.7002 -1 5.7002
+c-50.7998 49.4004 -172.5 27.2002 -172.5 -70.0996c0 -100 119.2 -124.801 172.7 -67.9004c2 2.09961 2.2002 5.2998 0.5 7.7002l-19.5 27.7002c-2.10059 3 -6.40039 3.39941 -9.2002 0.899414z" />
+ <glyph glyph-name="shekel-sign" unicode="&#xf20b;" horiz-adv-x="448"
+d="M248 280c0 30.9297 -25.0703 56 -56 56h-112v-352c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16v408c0 13.2598 10.75 24 24 24h168c75.1104 0 136 -60.8896 136 -136v-168c0 -8.83984 -7.16016 -16 -16 -16h-48c-8.83984 0 -16 7.16016 -16 16
+v168zM432 416c8.83984 0 16 -7.16016 16 -16v-296c0 -75.1104 -60.8896 -136 -136 -136h-168c-13.25 0 -24 10.75 -24 24v280c0 8.83984 7.16016 16 16 16h48c8.83984 0 16 -7.16016 16 -16v-224h112c30.9297 0 56 25.0703 56 56v296c0 8.83984 7.16016 16 16 16h48z" />
+ <glyph glyph-name="cart-plus" unicode="&#xf217;" horiz-adv-x="575"
+d="M504.717 128h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -31.2021 -25.5186 -56.4443 -56.8242 -55.9941
+c-29.8232 0.428711 -54.3496 24.6309 -55.1543 54.4473c-0.44043 16.2871 6.08496 31.0488 16.8027 41.5479h-209.648c10.377 -10.166 16.8242 -24.3271 16.8242 -40.001c0 -31.8135 -26.5283 -57.4307 -58.6699 -55.9385c-28.54 1.3252 -51.751 24.3857 -53.251 52.917
+c-1.1582 22.0342 10.4355 41.4551 28.0508 51.5869l-70.2471 343.435h-69.8828c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2275 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782
+c15.4004 0 26.8154 -14.3008 23.4023 -29.3193l-47.2725 -208c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807zM408 280h-48v40c0 8.83691 -7.16309 16 -16 16h-16c-8.83691 0 -16 -7.16309 -16 -16v-40h-48c-8.83691 0 -16 -7.16309 -16 -16v-16
+c0 -8.83691 7.16309 -16 16 -16h48v-40c0 -8.83691 7.16309 -16 16 -16h16c8.83691 0 16 7.16309 16 16v40h48c8.83691 0 16 7.16309 16 16v16c0 8.83691 -7.16309 16 -16 16z" />
+ <glyph glyph-name="cart-arrow-down" unicode="&#xf218;" horiz-adv-x="575"
+d="M504.717 128h-293.145l6.54492 -32h268.418c15.4004 0 26.8154 -14.3008 23.4033 -29.3193l-5.51758 -24.2754c18.6914 -9.07324 31.5791 -28.2334 31.5791 -50.4053c0 -31.2021 -25.5186 -56.4443 -56.8242 -55.9941
+c-29.8232 0.428711 -54.3496 24.6309 -55.1543 54.4473c-0.44043 16.2871 6.08496 31.0488 16.8027 41.5479h-209.648c10.377 -10.166 16.8242 -24.3271 16.8242 -40.001c0 -31.8135 -26.5283 -57.4307 -58.6699 -55.9385c-28.54 1.3252 -51.751 24.3857 -53.251 52.917
+c-1.1582 22.0342 10.4355 41.4551 28.0508 51.5869l-70.2471 343.435h-69.8828c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h102.529c11.4004 0 21.2275 -8.02148 23.5127 -19.1904l9.16602 -44.8096h392.782
+c15.4004 0 26.8154 -14.3008 23.4023 -29.3193l-47.2725 -208c-2.4834 -10.9268 -12.1973 -18.6807 -23.4033 -18.6807zM403.029 256h-43.0293v60c0 6.62695 -5.37305 12 -12 12h-24c-6.62695 0 -12 -5.37305 -12 -12v-60h-43.0293
+c-10.6904 0 -16.0449 -12.9258 -8.48438 -20.4854l67.0283 -67.0283c4.68652 -4.68652 12.2842 -4.68652 16.9717 0l67.0283 67.0283c7.55957 7.55957 2.20508 20.4854 -8.48535 20.4854z" />
+ <glyph glyph-name="ship" unicode="&#xf21a;" horiz-adv-x="640"
+d="M496.616 75.3613c17.8418 -44.3604 58.5664 -75.3613 119.384 -75.3613c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c-61.0322 0 -107.505 20.6162 -143.258 59.3965c-14.4189 -34.8281 -48.7637 -59.3965 -88.7422 -59.3965h-128
+c-39.9785 0 -74.3232 24.5684 -88.7422 59.3965c-35.7588 -38.7861 -82.2344 -59.3965 -143.258 -59.3965c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c61.5869 0 101.828 31.7129 119.384 75.3613l-70.0117 70.0117
+c-16.918 16.9189 -9.91699 45.7793 12.8359 53.0918l41.792 13.4336v140.102c0 17.6729 14.3271 32 32 32h64v40c0 13.2549 10.7451 24 24 24h144c13.2549 0 24 -10.7451 24 -24v-40h64c17.6729 0 32 -14.3271 32 -32v-140.102l41.792 -13.4336
+c22.7783 -7.32129 29.7354 -36.1914 12.8359 -53.0918zM192 320v-87.5312l118.208 37.9951c2.63574 0.847656 7.02344 1.53516 9.79199 1.53516s7.15625 -0.6875 9.79199 -1.53516l118.208 -37.9951v87.5312h-256z" />
+ <glyph glyph-name="user-secret" unicode="&#xf21b;" horiz-adv-x="448"
+d="M383.9 139.7c38.2998 -23.7002 64.0996 -65.7002 64.0996 -114.101v-44.7998c0 -24.7002 -20.0996 -44.7998 -44.7998 -44.7998h-358.4c-24.7002 0 -44.7998 20.0996 -44.7998 44.7998v44.7998c0 49.7002 27.2998 92.6006 67.4004 115.9l-25.8008 60.2002
+c-4.5 10.5996 3.2002 22.2998 14.7002 22.2998h57.5c-11 18.9004 -17.7998 40.5996 -17.7998 64v0.299805c-39.2002 7.7998 -64 19.1006 -64 31.7002c0 13.2998 27.2998 25.0996 70 33c9.2002 32.7998 27.0996 65.7998 40.5996 82.7998
+c9.5 11.9004 25.9004 15.6006 39.5 8.7998l27.6006 -13.7998c9 -4.5 19.5996 -4.5 28.5996 0l27.6006 13.7998c13.5996 6.80078 30 3.10059 39.5 -8.7998c13.5996 -17 31.3994 -50 40.5996 -82.7998c42.7998 -7.90039 70.0996 -19.7002 70.0996 -33
+c0 -12.5996 -24.7998 -23.9004 -64 -31.7002v-0.299805c0 -23.4004 -6.7998 -45.0996 -17.7998 -64h58.5c11.2998 0 19 -11.2002 15 -21.7002zM176 -32l32 120l-24 40l-49.5996 32zM272 -32l41.5996 192l-49.5996 -32l-24 -40zM313.7 266.5
+c0.799805 2.59961 6.2998 5.7002 6.39941 5.7998v10.7998c-28.2998 -3.69922 -61 -5.7998 -96 -5.7998s-67.6992 2.2002 -96 5.7998v-10.7998c0 -0.0996094 5.5 -3.2998 6.30078 -5.7998c3.7998 -11.9004 7 -24.5996 16.5 -33.4004c8 -7.39941 47 -25.1992 64 25
+c2.89941 8.40039 15.5 8.40039 18.2998 0c16 -47.3994 53.8994 -34.2998 64 -25c9.5 8.80078 12.5996 21.5 16.5 33.4004z" />
+ <glyph glyph-name="motorcycle" unicode="&#xf21c;" horiz-adv-x="640"
+d="M512.9 256c69.5996 -0.5 126.5 -57.2998 127.199 -126.9c0.600586 -71.5996 -57.5996 -129.8 -129.199 -129.1c-69.6006 0.599609 -126.301 57.5 -126.801 127.1c-0.299805 39.3008 17.2002 74.5 44.8008 98.2002l-12.5 20.7998
+c-38.7002 -31.2998 -58.3008 -77.8994 -56.2002 -125c0.599609 -13.6992 -10.2998 -25.0996 -24 -25.0996h-84.2002c-14.2998 -55.2002 -64.4004 -96 -124 -96c-71.7002 0 -129.6 58.9004 -128 131c1.59961 67.4004 55.9004 122.5 123.2 124.9
+c14.3994 0.5 28.2998 -1.30078 41.2998 -5.2002l11.2998 20.5c-9.09961 13.8994 -23.2998 24.7998 -47.7998 24.7998h-56c-13.0996 0 -23.7998 10.5 -24 23.5c-0.299805 13.5 11 24.5 24.5 24.5h55.5c55 0 82.2002 -16.9004 99.9004 -40h153.699l-19.1992 32h-66.4004
+c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h80c8.40039 0 16.2002 -4.40039 20.5996 -11.5996l22.8008 -38l37.5 41.6992c4.5 5 11 7.90039 17.7998 7.90039h45.2998c13.2998 0 24 -10.7002 24 -24v-32c0 -13.2998 -10.7002 -24 -24 -24h-82.4004
+l32.9004 -54.9004c13.2998 4.60059 27.5 7 42.4004 6.90039zM128 48c32.7002 0 60.9004 19.7998 73.2998 48h-81.2998c-18.2002 0 -29.7998 19.5996 -21 35.5996l41.5 75.4004c-4.09961 0.700195 -8.2998 1 -12.5 1c-44.0996 0 -80 -35.9004 -80 -80s35.9004 -80 80 -80z
+M591.9 123.6c2.39941 46.1006 -34.3008 84.4004 -79.9004 84.3008c-5.40039 0 -10.7002 -0.5 -15.9004 -1.60059l48.6006 -80.8994c4.5 -7.60059 2.09961 -17.5 -5.5 -22l-13.7002 -8.2002c-7.59961 -4.5 -17.5 -2.10059 -22 5.5l-49.4004 82.3994
+c-13.6992 -14.2998 -22.0996 -33.6992 -22.0996 -55.0996c0 -45.5996 38.2998 -82.4004 84.4004 -79.9004c40.5 2.10059 73.2998 34.9004 75.5 75.5z" />
+ <glyph glyph-name="street-view" unicode="&#xf21d;"
+d="M367.9 118.24c85.2295 -15.5801 144.1 -48.29 144.1 -86.2402c0 -53.0195 -114.62 -96 -256 -96s-256 42.9805 -256 96c0 37.9502 58.8701 70.6602 144.1 86.2402c4.62012 -5.2998 9.78027 -10.1006 15.9004 -13.6504v-22.9395
+c-66.5195 -9.35059 -112 -28.0508 -112 -49.6504c0 -30.9297 93.1201 -56 208 -56s208 25.0703 208 56c0 21.5996 -45.4805 40.3096 -112 49.6504v22.9395c6.12012 3.5498 11.2803 8.35059 15.9004 13.6504zM256 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64
+s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM192 128c-17.6699 0 -32 14.3301 -32 32v96c0 26.5098 21.4902 48 48 48h11.7998c11.0703 -5.03027 23.2598 -8 36.2002 -8s25.1299 2.96973 36.2002 8h11.7998c26.5098 0 48 -21.4902 48 -48v-96
+c0 -17.6699 -14.3301 -32 -32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v96z" />
+ <glyph glyph-name="heartbeat" unicode="&#xf21e;"
+d="M320.2 204.2l22.0996 -44.2002h109.101l-182.601 -186.5c-7.09961 -7.2998 -18.5996 -7.2998 -25.7002 0l-182.5 186.5h94.1006l30 71.7002l56.8994 -126.3c5.5 -12.3008 22.9004 -12.7002 28.9004 -0.600586zM473.7 374.1
+c48.7002 -49.7998 50.7998 -129.1 7.2998 -182.1h-118.9l-27.5996 55.2002c-5.90039 11.7998 -22.7002 11.7998 -28.5996 0l-49 -97.9004l-58.2002 129.3c-5.7998 12.8008 -24 12.5 -29.4004 -0.399414l-35.8994 -86.2002h-102.4c-43.5 53 -41.4004 132.3 7.2998 182.1
+l2.40039 2.40039c51.5 52.7002 135.899 52.7002 187.399 0l27.9004 -28.5l27.9004 28.5996c51.5996 52.6006 135.899 52.6006 187.399 0z" />
+ <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="288"
+d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40
+c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM64 272c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80z" />
+ <glyph glyph-name="mars" unicode="&#xf222;" horiz-adv-x="384"
+d="M372 384c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 144 144
+c28.2002 0 54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 64c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="mercury" unicode="&#xf223;" horiz-adv-x="288"
+d="M288 240c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40
+c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 44.2002 19.9004 83.7002 51.2002 110c-2.5 1.90039 -4.90039 3.7998 -7.2002 5.7998c-24.7998 21.2002 -39.7998 48.7998 -43.2002 78.9004
+c-0.899414 7.09961 4.7002 13.2998 11.9004 13.2998h40.5c5.7002 0 10.5996 -4.09961 11.7002 -9.7998c2.5 -12.5 9.59961 -24.2998 20.6992 -33.7998c15.4004 -13.2002 36.1006 -20.4004 58.4004 -20.4004s43 7.2002 58.2998 20.4004
+c11.1006 9.5 18.2998 21.2998 20.7002 33.7998c1.09961 5.7002 6 9.7998 11.7998 9.7998h40.5c7.2002 0 12.7998 -6.2002 11.9004 -13.2998c-3.40039 -30 -18.5 -57.6006 -43.2002 -78.7998c-2.2998 -2 -4.7002 -4 -7.2002 -5.80078
+c31.2998 -26.3994 51.2002 -65.8994 51.2002 -110.1zM64 240c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80z" />
+ <glyph glyph-name="transgender" unicode="&#xf224;" horiz-adv-x="384"
+d="M372 448c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -68.5 -47.9004 -125.8 -112 -140.4v-27.5996h36c6.59961 0 12 -5.40039 12 -12v-40
+c0 -6.59961 -5.40039 -12 -12 -12h-36v-28c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v28h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v27.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144
+c28.2002 0 54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 128c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="transgender-alt" unicode="&#xf225;" horiz-adv-x="480"
+d="M468 448c6.59961 0 12 -5.40039 12 -12v-79c0 -10.7002 -12.9004 -16.0996 -20.5 -8.5l-16.9004 16.9004l-80.6992 -80.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -68.5 -47.9004 -125.8 -112 -140.4v-27.5996h36c6.59961 0 12 -5.40039 12 -12v-40
+c0 -6.59961 -5.40039 -12 -12 -12h-36v-28c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v28h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v27.5996c-64.0996 14.5 -112 71.9004 -112 140.4
+c0 28.2002 8.09961 54.5 22.2002 76.5996l-16.5 16.5l-19.7998 -19.7998c-4.7002 -4.7002 -12.3008 -4.7002 -17 0l-28.3008 28.2998c-4.69922 4.7002 -4.69922 12.3008 0 17l19.8008 19.8008l-19 19l-16.9004 -16.9004c-7.59961 -7.5 -20.5 -2.2002 -20.5 8.5v79
+c0 6.59961 5.40039 12 12 12h79c10.7002 0 16.0996 -12.9004 8.40039 -20.4004l-16.9004 -16.8994l19 -19l19.7998 19.7998c4.7002 4.7002 12.2998 4.7002 17 0l28.2998 -28.2998c4.7002 -4.7002 4.7002 -12.2998 0 -17l-19.7998 -19.7998l16.5 -16.5
+c22.2002 14 48.5 22.0996 76.7002 22.0996s54.5 -8.09961 76.7002 -22.0996l80.7002 80.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM240 128c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="venus-double" unicode="&#xf226;"
+d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40
+c0 6.59961 5.40039 12 12 12h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM64 272c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80zM400 131.6v-51.5996h36
+c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h36v51.5996
+c-21.2002 4.80078 -40.5996 14.3008 -57.2002 27.3008c14 16.6992 25 36 32.1006 57.0996c14.5 -14.7998 34.6992 -24 57.0996 -24c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80c-22.2998 0 -42.5996 -9.2002 -57.0996 -24
+c-7.10059 21.0996 -18 40.4004 -32.1006 57.0996c24.6006 19.3008 55.5 30.9004 89.2002 30.9004c79.5 0 144 -64.5 144 -144c0 -68.5 -47.9004 -125.9 -112 -140.4z" />
+ <glyph glyph-name="mars-double" unicode="&#xf227;"
+d="M340 448c6.59961 0 12 -5.40039 12 -12v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-2.90039 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144
+s64.5 144 144 144c28.2002 0 54.5 -8.09961 76.7002 -22.0996l48.7002 48.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 160c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80zM500 288.1
+c6.59961 0 12 -5.39941 12 -12.0996v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-3 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144c-74.4004 0 -135.6 56.4004 -143.2 128.9
+c21.7998 2 43.2998 8.19922 63.2998 18.3994c-0.0996094 -1 -0.0996094 -2.09961 -0.0996094 -3.2002c0 -44.0996 35.9004 -80 80 -80s80 35.9004 80 80c0 44.1006 -35.9004 80 -80 80c-1 0 -2.09961 -0.0996094 -3.2002 -0.0996094
+c10.2002 20 16.2998 41.5 18.4004 63.2998c22.5 -2.39941 43.2998 -9.89941 61.5 -21.2998l48.7002 48.7002l-16.9004 16.8994c-7.5 7.60059 -2.2002 20.5 8.5 20.5h79z" />
+ <glyph glyph-name="venus-mars" unicode="&#xf228;" horiz-adv-x="576"
+d="M564 448c6.59961 0 12 -5.40039 12 -12v-79c0 -7.2002 -5.90039 -12 -12.0996 -12c-3 0 -6 1.09961 -8.40039 3.5l-16.9004 16.9004l-48.6992 -48.7002c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144
+c-33.7002 0 -64.7002 11.5 -89.2002 30.9004c14.1006 16.6992 25 36 32.1006 57.0996c14.5 -14.7998 34.7998 -24 57.0996 -24c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80c-22.4004 0 -42.5996 -9.2002 -57.0996 -24
+c-7.10059 21.0996 -18.1006 40.4004 -32.1006 57.0996c24.6006 19.3008 55.5 30.9004 89.2002 30.9004c28.2002 0 54.5 -8.09961 76.7002 -22.0996l48.7002 48.6992l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 384c79.5 0 144 -64.5 144 -144
+c0 -68.5 -47.9004 -125.8 -112 -140.4v-51.5996h36c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-36v-36c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v36h-36c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12
+h36v51.5996c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144zM144 160c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="mars-stroke" unicode="&#xf229;" horiz-adv-x="384"
+d="M372 384c6.59961 0 12 -5.40039 12.0996 -12v-78.9004c0 -10.6992 -12.8994 -16.0996 -20.5 -8.5l-16.8994 16.9004l-17.5 -17.5l14.0996 -14.0996c4.7002 -4.7002 4.7002 -12.3008 0 -17l-28.2998 -28.3008c-4.7002 -4.69922 -12.2998 -4.69922 -17 0l-14.0996 14.1006
+l-18 -18c14 -22.2002 22.0996 -48.5 22.0996 -76.7002c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 143.9 144c28.1992 0 54.5 -8.09961 76.6992 -22.0996l18 18l-14.0996 14.0996c-4.7002 4.7002 -4.7002 12.2998 0 17l28.2998 28.2002
+c4.7002 4.7002 12.2998 4.7002 17 0l14.1006 -14.1006l17.5 17.5l-16.9004 16.9004c-7.5 7.59961 -2.2002 20.5 8.5 20.5h79zM144 64c44.0996 0 80 35.9004 80 80s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="mars-stroke-v" unicode="&#xf22a;" horiz-adv-x="288"
+d="M245.8 213.8c56.2998 -56.2002 56.2998 -147.399 0 -203.6c-56.2002 -56.2002 -147.399 -56.2002 -203.6 0s-56.2002 147.399 0 203.6c19.8994 19.9004 44.2002 32.7998 69.7998 38.6006v25.3994h-20c-6.59961 0 -12 5.40039 -12 12v40c0 6.60059 5.40039 12 12 12h20
+v24.7002h-23.9004c-10.6992 0 -16.0996 12.9004 -8.5 20.5l55.9004 55.9004c4.7002 4.69922 12.2998 4.69922 17 0l55.9004 -55.8008c7.5 -7.59961 2.19922 -20.5 -8.5 -20.5h-23.9004v-24.7998h20c6.59961 0 12 -5.39941 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20
+v-25.3994c25.5996 -5.80078 49.9004 -18.7002 69.7998 -38.6006zM200.6 55.4004c31.2002 31.1992 31.2002 82 0 113.1c-31.1992 31.2002 -81.8994 31.2002 -113.1 0s-31.2002 -81.9004 0 -113.1c31.2002 -31.2002 81.9004 -31.2002 113.1 0z" />
+ <glyph glyph-name="mars-stroke-h" unicode="&#xf22b;" horiz-adv-x="479"
+d="M476.2 200.5c4.7002 -4.7002 4.7002 -12.2998 0.0996094 -17l-55.8994 -55.9004c-7.60059 -7.5 -20.5 -2.19922 -20.5 8.5v23.9004h-23.9004v-20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v20h-27.5996
+c-5.80078 -25.5996 -18.7002 -49.9004 -38.6006 -69.7998c-56.2002 -56.2002 -147.399 -56.2002 -203.6 0s-56.2002 147.399 0 203.6s147.399 56.2002 203.6 0c19.9004 -19.8994 32.7998 -44.2002 38.6006 -69.7998h27.5996v20c0 6.59961 5.40039 12 12 12h40
+c6.59961 0 12 -5.40039 12 -12v-20h23.7998v23.9004c0 10.6992 12.9004 16.0996 20.5 8.5zM200.6 135.4c31.2002 31.1992 31.2002 82 0 113.1c-31.1992 31.2002 -81.8994 31.2002 -113.1 0s-31.2002 -81.9004 0 -113.1c31.2002 -31.2002 81.9004 -31.2002 113.1 0z" />
+ <glyph glyph-name="neuter" unicode="&#xf22c;" horiz-adv-x="288"
+d="M288 272c0 -68.5 -47.9004 -125.9 -112 -140.4v-151.6c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v151.6c-64.0996 14.5 -112 71.9004 -112 140.4c0 79.5 64.5 144 144 144s144 -64.5 144 -144zM144 192c44.0996 0 80 35.9004 80 80
+s-35.9004 80 -80 80s-80 -35.9004 -80 -80s35.9004 -80 80 -80z" />
+ <glyph glyph-name="genderless" unicode="&#xf22d;" horiz-adv-x="288"
+d="M144 272c-44.0996 0 -80 -35.9004 -80 -80s35.9004 -80 80 -80s80 35.9004 80 80s-35.9004 80 -80 80zM144 336c79.5 0 144 -64.5 144 -144s-64.5 -144 -144 -144s-144 64.5 -144 144s64.5 144 144 144z" />
+ <glyph glyph-name="server" unicode="&#xf233;"
+d="M480 288h-448c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 376c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 376
+c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM480 128h-448c-17.6729 0 -32 14.3271 -32 32v64c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 216
+c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 216c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM480 -32h-448c-17.6729 0 -32 14.3271 -32 32v64
+c0 17.6729 14.3271 32 32 32h448c17.6729 0 32 -14.3271 32 -32v-64c0 -17.6729 -14.3271 -32 -32 -32zM432 56c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24zM368 56c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
+s24 10.7451 24 24s-10.7451 24 -24 24z" />
+ <glyph glyph-name="user-plus" unicode="&#xf234;" horiz-adv-x="640"
+d="M624 240c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-64v-64c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v64h-64c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h64v64c0 8.7998 7.2002 16 16 16h32
+c8.7998 0 16 -7.2002 16 -16v-64h64zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352
+c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
+ <glyph glyph-name="user-times" unicode="&#xf235;" horiz-adv-x="639"
+d="M589.6 208l45.6006 -45.5996c6.2998 -6.30078 6.2998 -16.5 0 -22.8008l-22.7998 -22.7998c-6.30078 -6.2998 -16.5 -6.2998 -22.8008 0l-45.5996 45.6006l-45.5996 -45.6006c-6.30078 -6.2998 -16.5 -6.2998 -22.8008 0l-22.7998 22.7998
+c-6.2998 6.30078 -6.2998 16.5 0 22.8008l45.6006 45.5996l-45.6006 45.5996c-6.2998 6.30078 -6.2998 16.5 0 22.8008l22.7998 22.7998c6.30078 6.2998 16.5 6.2998 22.8008 0l45.5996 -45.6006l45.5996 45.6006c6.30078 6.2998 16.5 6.2998 22.8008 0l22.7998 -22.7998
+c6.2998 -6.30078 6.2998 -16.5 0 -22.8008zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352
+c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
+ <glyph glyph-name="bed" unicode="&#xf236;" horiz-adv-x="640"
+d="M176 192c-44.1104 0 -80 35.8896 -80 80s35.8896 80 80 80s80 -35.8896 80 -80s-35.8896 -80 -80 -80zM528 320c61.8604 0 112 -50.1396 112 -112v-192c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48h-512v-48c0 -8.83984 -7.16016 -16 -16 -16
+h-32c-8.83984 0 -16 7.16016 -16 16v352c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-208h224v144c0 8.83984 7.16016 16 16 16h224z" />
+ <glyph glyph-name="train" unicode="&#xf238;" horiz-adv-x="448"
+d="M448 352v-256c0 -51.8154 -61.624 -96 -130.022 -96l62.9805 -49.7207c5.94727 -4.69629 2.60352 -14.2793 -4.95801 -14.2793h-304c-7.57812 0 -10.8916 9.59375 -4.95703 14.2793l62.9795 49.7207c-68.2021 0 -130.022 44.0459 -130.022 96v256c0 53.0186 64 96 128 96
+h192c65 0 128 -42.9814 128 -96zM400 216v112c0 13.2549 -10.7451 24 -24 24h-304c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24h304c13.2549 0 24 10.7451 24 24zM224 152c-30.9277 0 -56 -25.0723 -56 -56s25.0723 -56 56 -56s56 25.0723 56 56
+s-25.0723 56 -56 56z" />
+ <glyph glyph-name="subway" unicode="&#xf239;" horiz-adv-x="448"
+d="M448 352v-256c0 -51.8154 -61.624 -96 -130.022 -96l62.9805 -49.7207c5.94727 -4.69629 2.60352 -14.2793 -4.95801 -14.2793h-304c-7.57812 0 -10.8916 9.59375 -4.95703 14.2793l62.9795 49.7207c-68.2021 0 -130.022 44.0459 -130.022 96v256c0 53.0186 64 96 128 96
+h192c65 0 128 -42.9814 128 -96zM200 216v112c0 13.2549 -10.7451 24 -24 24h-104c-13.2549 0 -24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24h104c13.2549 0 24 10.7451 24 24zM400 216v112c0 13.2549 -10.7451 24 -24 24h-104c-13.2549 0 -24 -10.7451 -24 -24
+v-112c0 -13.2549 10.7451 -24 24 -24h104c13.2549 0 24 10.7451 24 24zM352 160c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48s-21.4902 48 -48 48zM96 160c-26.5098 0 -48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48
+s-21.4902 48 -48 48z" />
+ <glyph glyph-name="battery-full" unicode="&#xf240;" horiz-adv-x="640"
+d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
+c0 26.5098 21.4902 48 48 48h512zM512 256v-128h-416v128h416z" />
+ <glyph glyph-name="battery-three-quarters" unicode="&#xf241;" horiz-adv-x="640"
+d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
+c0 26.5098 21.4902 48 48 48h512zM416 256v-128h-320v128h320z" />
+ <glyph glyph-name="battery-half" unicode="&#xf242;" horiz-adv-x="640"
+d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
+c0 26.5098 21.4902 48 48 48h512zM320 256v-128h-224v128h224z" />
+ <glyph glyph-name="battery-quarter" unicode="&#xf243;" horiz-adv-x="640"
+d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
+c0 26.5098 21.4902 48 48 48h512zM224 256v-128h-128v128h128z" />
+ <glyph glyph-name="battery-empty" unicode="&#xf244;" horiz-adv-x="640"
+d="M544 288h-480v-192h480v64h32v64h-32v64zM560 352c26.5098 0 48 -21.4902 48 -48v-16h8c13.2549 0 24 -10.7451 24 -24v-144c0 -13.2549 -10.7451 -24 -24 -24h-8v-16c0 -26.5098 -21.4902 -48 -48 -48h-512c-26.5098 0 -48 21.4902 -48 48v224
+c0 26.5098 21.4902 48 48 48h512z" />
+ <glyph glyph-name="mouse-pointer" unicode="&#xf245;" horiz-adv-x="320"
+d="M302.189 118.874h-106.084l55.8301 -135.993c3.88965 -9.42773 -0.554688 -19.999 -9.44336 -23.999l-49.165 -21.4268c-9.16504 -4 -19.4434 0.571289 -23.332 9.71387l-53.0527 129.136l-86.6641 -89.1377c-11.5498 -11.877 -30.2783 -2.7207 -30.2783 12.8564v429.678
+c0 16.3994 19.9209 24.3945 30.2773 12.8555l284.412 -292.542c11.4717 -11.1787 3.00684 -31.1406 -12.5 -31.1406z" />
+ <glyph glyph-name="i-cursor" unicode="&#xf246;" horiz-adv-x="256"
+d="M256 395.952c0 -6.64648 -5.4043 -12.0098 -12.0498 -11.9922c-27.875 0.0712891 -83.9502 -3.20996 -83.9502 -48.1416v-111.818h36c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-36v-112c0 -44.9395 57.8887 -48.5527 83.8555 -48.2422
+c6.68652 0.0800781 12.1445 -5.31055 12.1445 -11.998v-39.6445c0 -6.5957 -5.31836 -11.957 -11.9131 -12c-35.0654 -0.228516 -78.3525 0.62207 -116.087 37.8447c-38.4688 -37.9482 -83.6211 -38.3027 -116.158 -37.8936
+c-6.56738 0.0820312 -11.8418 5.42969 -11.8418 11.999v39.9824c0 6.64648 5.4043 12.0098 12.0498 11.9932c27.875 -0.0722656 83.9502 3.02734 83.9502 47.959v112h-36c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h36v111.818
+c0 44.9385 -57.8887 48.7344 -83.8555 48.4248c-6.68652 -0.0800781 -12.1445 5.31055 -12.1445 11.998v39.6445c0 6.5957 5.31836 11.957 11.9131 12c35.0654 0.228516 78.3525 -0.62207 116.087 -37.8447c38.4688 37.9482 83.6211 38.3027 116.158 37.8926
+c6.56738 -0.0820312 11.8418 -5.42969 11.8418 -11.999v-39.9824z" />
+ <glyph glyph-name="object-group" unicode="&#xf247;"
+d="M480 320v-288h20c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v20h-384v-20c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h20v320h-20
+c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-20h384v20c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-20v-32zM96 172c0 -6.62695 5.37305 -12 12 -12h168
+c6.62695 0 12 5.37305 12 12v136c0 6.62695 -5.37305 12 -12 12h-168c-6.62695 0 -12 -5.37305 -12 -12v-136zM416 76v136c0 6.62695 -5.37305 12 -12 12h-84v-72c0 -13.2549 -10.7451 -24 -24 -24h-72v-52c0 -6.62695 5.37305 -12 12 -12h168c6.62695 0 12 5.37305 12 12z
+" />
+ <glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576"
+d="M64 128v-26c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h26v192h-26c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h52c3.31152 0 6 -2.68848 6 -6v-26h288v26c0 3.31152 2.68848 6 6 6h52
+c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-26v-192h26c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v26h-288zM544 192v-160h26c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-52
+c-3.31152 0 -6 2.68848 -6 6v26h-288v-26c0 -3.31152 -2.68848 -6 -6 -6h-52c-3.31152 0 -6 2.68848 -6 6v52c0 3.31152 2.68848 6 6 6h26v72h136v-8c0 -13.2549 10.7451 -24 24 -24h64c13.2549 0 24 10.7451 24 24v64c0 13.2549 -10.7451 24 -24 24h-8v72h104v26
+c0 3.31152 2.68848 6 6 6h52c3.31152 0 6 -2.68848 6 -6v-52c0 -3.31152 -2.68848 -6 -6 -6h-26v-32z" />
+ <glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448"
+d="M312 128c-13.2002 0 -24 -10.7998 -24 -24v-136h-264c-13.2998 0 -24 10.7002 -24 24v400c0 13.2998 10.7002 24 24 24h400c13.2998 0 24 -10.7002 24 -24v-264h-136zM441 73l-98 -98c-4.5 -4.5 -10.5996 -7 -17 -7h-6v128h128v-6.09961
+c0 -6.30078 -2.5 -12.4004 -7 -16.9004z" />
+ <glyph glyph-name="clone" unicode="&#xf24d;"
+d="M464 448c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h288zM176 32h208v-48c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v288
+c0 26.5098 21.4902 48 48 48h48v-208c0 -44.1123 35.8877 -80 80 -80z" />
+ <glyph glyph-name="balance-scale" unicode="&#xf24e;" horiz-adv-x="640"
+d="M256 112c0 -44.1797 -57.3096 -80 -128 -80s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51h0.0195312zM128 272l-72 -144h144zM639.98 112
+c0 -44.1797 -57.29 -80 -127.98 -80s-128 35.8203 -128 80h0.0195312c0 15.6699 -2.0791 7.25 85.04 181.51c17.6807 35.3604 68.2207 35.29 85.8701 0c86.3906 -172.779 85.0508 -165.33 85.0508 -181.51zM440 128h144l-72 144zM528 0c8.83984 0 16 -7.16016 16 -16v-32
+c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v294.75c-23.5195 10.29 -41.1602 31.4902 -46.3896 57.25h-129.61c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h144.36
+c14.5996 19.3203 37.5498 32 63.6396 32s49.04 -12.6797 63.6396 -32h144.36c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-129.61c-5.22949 -25.7695 -22.8799 -46.96 -46.3896 -57.25v-294.75h176z" />
+ <glyph glyph-name="hourglass-start" unicode="&#xf251;" horiz-adv-x="384"
+d="M360 448c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336
+c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336zM296 0c0 77.4834 -46.2139 144 -104 144
+c-57.7959 0 -104 -66.542 -104 -144h208z" />
+ <glyph glyph-name="hourglass-half" unicode="&#xf252;" horiz-adv-x="384"
+d="M360 448c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336
+c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336zM284.922 64
+c-17.0596 46.8037 -52.1006 80 -92.9219 80c-40.8242 0 -75.8613 -33.2031 -92.9199 -80h185.842zM284.941 320c7.07129 19.4131 11.0586 41.1953 11.0586 64h-208c0 -22.748 3.98828 -44.5479 11.0781 -64h185.863z" />
+ <glyph glyph-name="hourglass-end" unicode="&#xf253;" horiz-adv-x="384"
+d="M360 384c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24
+c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24zM192 240c57.4902 0 104 66.0547 104 144
+h-208c0 -77.4824 46.2129 -144 104 -144z" />
+ <glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384"
+d="M360 384c0 -90.9648 -51.0156 -167.734 -120.842 -192c69.8262 -24.2656 120.842 -101.035 120.842 -192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-336c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24
+c0 90.9648 51.0156 167.734 120.842 192c-69.8262 24.2656 -120.842 101.035 -120.842 192c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h336c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24z" />
+ <glyph glyph-name="hand-rock" unicode="&#xf255;"
+d="M464.8 368c26.2998 -0.400391 47.2002 -22.5 47.2002 -48.7998v-133.5c0 -12.7998 -2.5 -25.5 -7.5 -37.2998l-49 -116.301c-4.90039 -11.7998 -7.5 -24.5 -7.5 -37.2998v-2.89941c0 -13.3008 -10.7002 -24 -24 -24h-240c-13.2998 0 -24 10.6992 -24 24v6.69922
+c0 13.7002 -5.90039 26.8008 -16.0996 35.9004l-111.7 99.2998c-20.5 18.2998 -32.2002 44.4004 -32.2002 71.7998v66.4004c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-48.1006l8 -7.09961v136
+c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-31.2002h8v48c0 26.7998 21.9004 48.4004 48.7998 48c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-47.2002h8v32c0 26.7998 21.9004 48.4004 48.7998 48
+c26.2998 -0.5 47.2002 -22.5 47.2002 -48.7998v-31.2002h8c0 26.7998 21.9004 48.4004 48.7998 48z" />
+ <glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="447"
+d="M408.781 319.993c21.7305 -0.416016 39.2188 -18.1621 39.2178 -39.9932v-150.359c0 -12.2998 -2.28711 -32.001 -5.10449 -43.9746l-26.5078 -112.66c-5.10156 -21.6816 -24.4502 -37.0059 -46.7236 -37.0059h-197.59c-13.4922 0 -30.8838 8.85645 -38.8193 19.7676
+l-125.601 172.705c-12.9932 17.8672 -9.04297 42.8838 8.82129 55.877c17.8682 12.9941 42.8848 9.04297 55.877 -8.82227l31.6484 -43.5195v235.992c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-175.21h8v216
+c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-215.21h8v177c0 21.8311 17.4883 39.5771 39.2188 39.9932c22.4248 0.428711 40.7812 -18.3535 40.7812 -40.7832v-176.21h8v87.21
+c0 22.4297 18.3564 41.2119 40.7812 40.7832z" />
+ <glyph glyph-name="hand-scissors" unicode="&#xf257;"
+d="M216 8c0 22.0918 17.9092 40 40 40v8h-32c-22.0908 0 -40 17.9082 -40 40s17.9092 40 40 40h32v8h-208c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48h208v13.5723l-177.551 69.7393c-24.6738 9.69434 -36.8184 37.5557 -27.125 62.2285
+c9.69238 24.6738 37.5537 36.8174 62.2275 27.124l190.342 -74.7646l24.8721 31.0898c12.3066 15.3809 33.9785 19.5146 51.0811 9.74121l112 -64c11.125 -6.3584 20.1533 -21.917 20.1533 -34.7305v-240c0 -18.5615 -12.7695 -34.6855 -30.8379 -38.9365l-136 -32
+c-2.49414 -0.586914 -6.59668 -1.06348 -9.1582 -1.06348h-0.00390625h-80c-22.0908 0 -40 17.9082 -40 40z" />
+ <glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576"
+d="M384 -32v61.4609c0 7.28906 -4.99707 16.3711 -11.1543 20.2734l-111.748 70.8105c-6.49316 4.11523 -18.0029 7.45508 -25.6904 7.45508h-0.000976562h-147.406c-13.2549 0 -24 10.7451 -24 24v8c0 35.3457 28.6543 64 64 64h123.648
+c11.7754 0 25.0088 8.82227 29.5371 19.6924l21.4102 51.3848c4.94141 11.8555 -3.77051 24.9229 -16.6143 24.9229h-229.981c-30.9277 0 -56 25.0723 -56 56v16c0 13.2549 10.7451 24 24 24h333.544c14.6035 0 32.7852 -10.0205 40.583 -22.3682l163.04 -258.146
+c8.1875 -12.9639 14.833 -35.9297 14.833 -51.2627v-0.000976562v-116.222h-192z" />
+ <glyph glyph-name="hand-spock" unicode="&#xf259;"
+d="M481.3 350.9c21.4004 -5.10059 34.7002 -26.7002 29.7002 -48.2002l-36.2998 -152.5c-1.7002 -7.2002 -2.60059 -14.7002 -2.60059 -22.2002v-42c0 -9.2998 -1.39941 -18.4004 -4 -27.2998l-26.1992 -88.2998c-6 -20.4004 -24.7002 -34.4004 -46 -34.4004h-216.7
+c-12.2002 0 -24 4.59961 -32.9004 13l-133.7 125.9c-16.0996 15.0996 -16.7998 40.3994 -1.69922 56.5c15.0996 16.0996 40.3994 16.7998 56.5 1.69922l60.5996 -57v79.4004l-39 171.6c-4.90039 21.6006 8.59961 43 30.0996 47.9004
+c21.6006 4.90039 43 -8.59961 47.9004 -30.0996l34.7998 -152.801h9.7998l-47.5996 207c-5 21.5 8.5 43 30 47.9004c21.5996 4.90039 43 -8.5 48 -30.0996l51.7002 -224.9h15.0996l48.4004 193.7c5.39941 21.3994 27.0996 34.5 48.5 29.0996
+c21.3994 -5.39941 34.5 -27.0996 29.0996 -48.5l-43.5996 -174.3h11.0996l30.7998 129.3c5.10059 21.4004 26.7002 34.7002 48.2002 29.6006z" />
+ <glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448"
+d="M448 208v-96c0 -3.08398 -0.356445 -6.15918 -1.06348 -9.16211l-32 -136c-4.25098 -18.0684 -20.375 -30.8379 -38.9365 -30.8379h-208c-11.2432 0 -25.7363 7.37988 -32.3496 16.4727l-127.997 176c-12.9932 17.8662 -9.04297 42.8838 8.82129 55.876
+c17.8672 12.9941 42.8848 9.04297 55.877 -8.82227l31.6484 -43.5186v275.992c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-200h8v40c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-40h8v24c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-24h8
+c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40zM192 128h-8v-96h8v96zM280 128h-8v-96h8v96zM368 128h-8v-96h8v96z" />
+ <glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448"
+d="M408 232c22.0918 0 40 -17.9092 40 -40v-80v-0.00488281c0 -2.56152 -0.476562 -6.66406 -1.06348 -9.15723l-32 -136c-4.25098 -18.0684 -20.375 -30.8379 -38.9365 -30.8379h-240h-0.000976562c-12.8125 0 -28.3711 9.0293 -34.7275 20.1543l-64 112
+c-9.77441 17.1025 -5.64062 38.7744 9.74023 51.0811l31.0898 24.8721l-74.7646 190.342c-9.69336 24.6738 2.4502 52.5342 27.124 62.2266c24.6729 9.69434 52.5332 -2.4502 62.2275 -27.125l69.7393 -177.551h13.5723v208c0 26.5098 21.4902 48 48 48s48 -21.4902 48 -48
+v-208h8v32c0 22.0908 17.9082 40 40 40s40 -17.9092 40 -40v-32h8c0 22.0908 17.9082 40 40 40z" />
+ <glyph glyph-name="trademark" unicode="&#xf25c;" horiz-adv-x="640"
+d="M260.6 352c6.60059 0 12 -5.40039 11.9004 -12v-43.0996c0 -6.60059 -5.40039 -12 -12 -12h-85.0996v-240.9c0 -6.59961 -5.40039 -12 -12 -12h-54.3008c-6.59961 0 -12 5.40039 -12 12v240.9h-85.0996c-6.59961 0 -12 5.39941 -12 12v43.0996
+c0 6.59961 5.40039 12 12 12h248.6zM640 45c0.5 -7 -5 -13 -12 -13h-53.9004c-6.2998 0 -11.5996 4.90039 -12 11.2002l-9.09961 132.899c-1.7998 24.2002 0 53.7002 0 53.7002h-0.900391s-10.6992 -33.5996 -17.8994 -53.7002l-30.7002 -84.6992
+c-1.7002 -4.7002 -6.2002 -7.90039 -11.2998 -7.90039h-50.2998c-5.10059 0 -9.60059 3.2002 -11.3008 7.90039l-30.6992 84.6992c-7.2002 20.1006 -17.9004 53.7002 -17.9004 53.7002h-0.900391s1.80078 -29.5 0 -53.7002l-9.09961 -132.899
+c-0.5 -6.2998 -5.7002 -11.2002 -12 -11.2002h-54.5c-7.09961 0 -12.5996 6 -12 13l24.4004 296c0.599609 6.2002 5.7998 11 12 11h65.3994c5.10059 0 9.60059 -3.2998 11.2998 -8.09961l43.8008 -127.101c7.19922 -20.5996 16.0996 -52.7998 16.0996 -52.7998h0.900391
+s8.89941 32.2002 16.0996 52.7998l43.7998 127.101c1.60059 4.7998 6.2002 8.09961 11.2998 8.09961h65.4004c6.2998 0 11.5 -4.7998 12 -11z" />
+ <glyph glyph-name="registered" unicode="&#xf25d;"
+d="M285.363 240.525c0 -18.6006 -9.83105 -28.4316 -28.4316 -28.4316h-29.876v56.1406h23.3779c28.668 0 34.9297 -8.77344 34.9297 -27.709zM504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248z
+M363.411 87.5859c-46.7295 84.8252 -43.2988 78.6357 -44.7021 80.9805c23.4316 15.1719 37.9453 42.9785 37.9453 74.4854c0 54.2441 -31.5 89.252 -105.498 89.252h-70.667c-13.2549 0 -24 -10.7451 -24 -24v-232.304c0 -13.2549 10.7451 -24 24 -24h22.5664
+c13.2549 0 24 10.7451 24 24v71.6631h25.5566l44.1289 -82.9375c3.73828 -7.02441 13.2305 -12.7266 21.1875 -12.7266h24.4639c18.2617 0.000976562 29.8291 19.5908 21.0186 35.5869z" />
+ <glyph glyph-name="tv" unicode="&#xf26c;" horiz-adv-x="640"
+d="M592 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-234.9v-32h160c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32h-384c-17.6992 0 -32 14.2998 -32 32s14.3008 32 32 32h160v32h-245.1c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h544z
+M576 96v288h-512v-288h512z" />
+ <glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448"
+d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36
+c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM328 116c0 6.59961 -5.40039 12 -12 12h-60v60c0 6.59961 -5.40039 12 -12 12h-40
+c-6.59961 0 -12 -5.40039 -12 -12v-60h-60c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h60v-60c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12v60h60c6.59961 0 12 5.40039 12 12v40z" />
+ <glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448"
+d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36
+c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM316 64c6.59961 0 12 5.40039 12 12v40c0 6.59961 -5.40039 12 -12 12h-184
+c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h184z" />
+ <glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448"
+d="M436 288h-424c-6.59961 0 -12 5.40039 -12 12v36c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48v-36
+c0 -6.59961 -5.40039 -12 -12 -12zM12 256h424c6.59961 0 12 -5.40039 12 -12v-260c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v260c0 6.59961 5.40039 12 12 12zM269.3 96l48.1006 48.0996c4.69922 4.7002 4.69922 12.3008 0 17l-28.3008 28.3008
+c-4.69922 4.69922 -12.2998 4.69922 -17 0l-48.0996 -48.1006l-48.0996 48.1006c-4.7002 4.69922 -12.3008 4.69922 -17 0l-28.3008 -28.3008c-4.69922 -4.69922 -4.69922 -12.2998 0 -17l48.1006 -48.0996l-48.1006 -48.0996c-4.69922 -4.7002 -4.69922 -12.3008 0 -17
+l28.3008 -28.3008c4.69922 -4.69922 12.2998 -4.69922 17 0l48.0996 48.1006l48.0996 -48.1006c4.7002 -4.69922 12.3008 -4.69922 17 0l28.3008 28.3008c4.69922 4.69922 4.69922 12.2998 0 17z" />
+ <glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448"
+d="M436 288h-424c-6.62695 0 -12 5.37305 -12 12v36c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h48c26.5098 0 48 -21.4902 48 -48v-36
+c0 -6.62695 -5.37305 -12 -12 -12zM12 256h424c6.62695 0 12 -5.37305 12 -12v-260c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v260c0 6.62695 5.37305 12 12 12zM345.296 160.053l-28.1689 28.3984
+c-4.66699 4.70508 -12.2646 4.73535 -16.9697 0.0673828l-106.037 -105.184l-45.9805 46.3516c-4.66699 4.70508 -12.2656 4.73633 -16.9707 0.0683594l-28.3965 -28.1699c-4.70508 -4.66699 -4.73633 -12.2646 -0.0683594 -16.9697l82.6006 -83.2695
+c4.66699 -4.70508 12.2656 -4.73535 16.9707 -0.0673828l142.952 141.805c4.70508 4.66699 4.73633 12.2646 0.0683594 16.9697z" />
+ <glyph glyph-name="industry" unicode="&#xf275;"
+d="M475.115 284.219c15.9541 10.1514 36.8848 -1.33105 36.8848 -20.248v-271.971c0 -13.2549 -10.7451 -24 -24 -24h-464c-13.2549 0 -24 10.7451 -24 24v400c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-196.309l139.115 88.5273
+c15.9541 10.1514 36.8848 -1.33203 36.8848 -20.248v-68.2793z" />
+ <glyph glyph-name="map-pin" unicode="&#xf276;" horiz-adv-x="288"
+d="M112 131.06c10.3896 -1.91992 21.0596 -3.05957 32 -3.05957s21.6104 1.13965 32 3.05957v-156.689l-22.0098 -33.0205c-4.75 -7.11914 -15.2207 -7.11914 -19.9707 0l-22.0195 33.0205v156.689zM144 448c79.5303 0 144 -64.4697 144 -144s-64.4697 -144 -144 -144
+s-144 64.4697 -144 144s64.4697 144 144 144zM144 372c6.62012 0 12 5.37988 12 12s-5.37988 12 -12 12c-50.7197 0 -92 -41.2695 -92 -92c0 -6.62012 5.37988 -12 12 -12s12 5.37988 12 12c0 37.5 30.5 68 68 68z" />
+ <glyph glyph-name="map-signs" unicode="&#xf277;"
+d="M507.31 363.31c6.25 -6.25 6.25 -16.3691 0 -22.6299l-43.3096 -43.3096c-6.00977 -6 -14.1396 -9.37012 -22.6299 -9.37012h-385.37c-13.25 0 -24 10.75 -24 24v80c0 13.25 10.75 24 24 24h168v16c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-16
+h153.37c8.49023 0 16.6299 -3.37012 22.6299 -9.37012zM224 -48v112h64v-112c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16zM456 224c13.25 0 24 -10.75 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-385.37
+c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-43.3096 43.3096c-6.25 6.25 -6.25 16.3799 0 22.6299l43.3096 43.3203c6.00977 6 14.1396 9.37012 22.6299 9.37012h153.37v32h64v-32h168z" />
+ <glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576"
+d="M0 330.34c0.00292969 11.959 9.0166 25.2686 20.1201 29.71l139.88 55.9502v-384l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v346.32zM192 32v384l192 -64v-384zM554.06 414.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-346.32
+c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-139.88 -55.9502v384z" />
+ <glyph glyph-name="comment-alt" unicode="&#xf27a;"
+d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.7002c-7.89941 -5.7998 -19.0996 -0.0996094 -19.0996 9.7002v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z" />
+ <glyph glyph-name="pause-circle" unicode="&#xf28b;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM240 112v160c0 8.7998 -7.2002 16 -16 16h-48c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16zM352 112v160
+c0 8.7998 -7.2002 16 -16 16h-48c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16z" />
+ <glyph glyph-name="stop-circle" unicode="&#xf28d;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM352 112v160c0 8.7998 -7.2002 16 -16 16h-160c-8.7998 0 -16 -7.2002 -16 -16v-160c0 -8.7998 7.2002 -16 16 -16h160c8.7998 0 16 7.2002 16 16z" />
+ <glyph glyph-name="shopping-bag" unicode="&#xf290;" horiz-adv-x="448"
+d="M352 288h96v-272c0 -44.1826 -35.8174 -80 -80 -80h-288c-44.1826 0 -80 35.8174 -80 80v272h96v32c0 70.5801 57.4199 128 128 128c70.5791 0 128 -57.4199 128 -128v-32zM160 320v-32h128v32c0 35.29 -28.71 64 -64 64s-64 -28.71 -64 -64zM320 200
+c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM128 200c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24z" />
+ <glyph glyph-name="shopping-basket" unicode="&#xf291;" horiz-adv-x="576"
+d="M576 232v-16c0 -13.2549 -10.7451 -24 -24 -24h-8l-26.1133 -182.788c-3.37793 -23.6465 -23.6299 -41.2119 -47.5166 -41.2119h-364.74c-23.8867 0 -44.1387 17.5654 -47.5176 41.2119l-26.1123 182.788h-8c-13.2549 0 -24 10.7451 -24 24v16
+c0 13.2549 10.7451 24 24 24h67.3408l106.78 146.821c10.3945 14.292 30.4072 17.4531 44.7012 7.05762c14.293 -10.3945 17.4531 -30.4082 7.05762 -44.7012l-79.4033 -109.178h235.047l-79.4033 109.179c-10.3955 14.292 -7.23438 34.3066 7.05859 44.7012
+c14.291 10.3955 34.3066 7.23535 44.7012 -7.05762l106.779 -146.822h67.3408c13.2549 0 24 -10.7451 24 -24zM312 56v112c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24zM424 56v112
+c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24zM200 56v112c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24v-112c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24z" />
+ <glyph glyph-name="hashtag" unicode="&#xf292;" horiz-adv-x="448"
+d="M440.667 265.891c-0.974609 -5.45898 -6.2666 -9.89062 -11.8135 -9.89062h-79.0957l-22.8564 -128h74.8096c7.4707 0 13.126 -6.75391 11.8135 -14.1094l-7.14355 -40c-0.974609 -5.45898 -6.2666 -9.89062 -11.8125 -9.89062h-79.0967l-15.377 -86.1094
+c-0.974609 -5.45898 -6.2666 -9.89062 -11.8125 -9.89062h-40.6318c-7.47266 0 -13.127 6.75391 -11.8135 14.1094l14.623 81.8906h-98.6338l-15.3779 -86.1094c-0.974609 -5.45898 -6.26758 -9.89062 -11.8135 -9.89062h-40.6318
+c-7.4707 0 -13.126 6.75391 -11.8125 14.1094l14.623 81.8906h-74.8105c-7.4707 0 -13.126 6.75391 -11.8125 14.1094l7.14258 40c0.974609 5.45898 6.2666 9.89062 11.8135 9.89062h79.0957l22.8564 128h-74.8096c-7.4707 0 -13.126 6.75391 -11.8135 14.1094l7.14355 40
+c0.974609 5.45898 6.2666 9.89062 11.8125 9.89062h79.0967l15.377 86.1094c0.974609 5.45898 6.2666 9.89062 11.8125 9.89062h40.6318c7.47266 0 13.127 -6.75391 11.8135 -14.1094l-14.623 -81.8906h98.6348l15.377 86.1094
+c0.974609 5.45898 6.26758 9.89062 11.8135 9.89062h40.6318c7.4707 0 13.126 -6.75391 11.8125 -14.1094l-14.623 -81.8906h74.8105c7.4707 0 13.126 -6.75391 11.8125 -14.1094zM261.889 128l22.8574 128h-98.6338l-22.8574 -128h98.6338z" />
+ <glyph glyph-name="percent" unicode="&#xf295;" horiz-adv-x="448"
+d="M112 224c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM112 384c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48s48 21.5 48 48s-21.5 48 -48 48zM336 160c61.9004 0 112 -50.0996 112 -112
+s-50.0996 -112 -112 -112s-112 50.0996 -112 112s50.0996 112 112 112zM336 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM392.3 447.8l31.6006 0.100586c19.3994 0.0996094 30.8994 -21.8008 19.6992 -37.8008l-366.199 -463.699
+c-3.94629 -5.62793 -12.7275 -10.1973 -19.6006 -10.2002l-33.3994 -0.100586c-19.5 0 -30.9004 21.9004 -19.7002 37.8008l368 463.699c4.5 6.40039 11.7998 10.2002 19.5996 10.2002z" />
+ <glyph glyph-name="universal-access" unicode="&#xf29a;"
+d="M256 400c-114.971 0 -208 -93.0469 -208 -208c0 -114.971 93.0469 -208 208 -208c114.971 0 208 93.0469 208 208c0 114.971 -93.0469 208 -208 208zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z
+M256 384c106.039 0 192 -85.9609 192 -192s-85.9609 -192 -192 -192s-192 85.9609 -192 192s85.9609 192 192 192zM256 340c-19.8818 0 -36 -16.1182 -36 -36s16.1182 -36 36 -36s36 16.1182 36 36s-16.1182 36 -36 36zM373.741 241.977
+c8.59961 2.03027 13.9258 10.6484 11.8965 19.249c-2.03027 8.60156 -10.6494 13.9258 -19.249 11.8955c-96.4912 -22.7832 -124.089 -22.8291 -220.774 0c-8.60254 2.03125 -17.2178 -3.29395 -19.249 -11.8955c-2.03125 -8.60059 3.29492 -17.2178 11.8945 -19.249
+c28.7129 -6.7793 55.5127 -12.749 82.1416 -15.8066c-0.852539 -101.08 -12.3242 -123.08 -25.0371 -155.621c-3.61719 -9.25879 0.957031 -19.6982 10.2168 -23.3145c9.26465 -3.61914 19.7002 0.961914 23.3154 10.2168c8.72754 22.3408 17.0947 40.6982 22.2617 78.5488
+h9.68555c5.1748 -37.9131 13.5566 -56.2412 22.2617 -78.5488c3.61621 -9.25977 14.0547 -13.834 23.3154 -10.2168c9.25977 3.61621 13.834 14.0547 10.2168 23.3145c-12.7305 32.5693 -24.1855 54.5986 -25.0371 155.621c26.6299 3.05859 53.4287 9.02832 82.1406 15.8066
+z" />
+ <glyph glyph-name="blind" unicode="&#xf29d;" horiz-adv-x="383"
+d="M380.15 -62.8369c-1.05664 -0.640625 -2.91602 -1.16113 -4.15137 -1.16113c-2.48438 0 -5.54785 1.72363 -6.83789 3.84766l-125.33 206.428c4.25684 1.68848 10.0615 5.9375 12.958 9.48438l126.048 -207.607c0.641602 -1.05664 1.16211 -2.91699 1.16211 -4.15234
+c0 -2.48535 -1.72461 -5.5498 -3.84863 -6.83887zM142.803 133.662l62.8145 -153.537c6.69141 -16.3584 -1.14453 -35.042 -17.501 -41.7344c-16.3564 -6.69043 -35.04 1.1416 -41.7334 17.501l-36.1201 88.2852zM96 360c-24.3008 0 -44 19.6992 -44 44s19.6992 44 44 44
+s44 -19.6992 44 -44s-19.6992 -44 -44 -44zM250.837 190.872c8.19336 -10.374 6.44434 -25.4922 -3.96582 -33.708c-9.33984 -7.37402 -24.5635 -7.61914 -33.708 3.96484l-102.3 129.217c-0.663086 0.836914 -2.06738 1.51562 -3.13477 1.51562
+c-2.20801 0 -4 -1.79297 -4 -4.00098c0 -0.769531 0.387695 -1.88281 0.865234 -2.48535l31.4062 -39.8164v-107.196l-65.9258 -181.288c-6.04102 -16.6143 -24.4072 -25.1768 -41.0088 -19.1387c-16.6104 6.04004 -25.1787 24.4004 -19.1387 41.0098l54.0732 148.693
+v140.698l-16 -20.5713v-79.7656c0 -13.0996 -10.4951 -23.748 -23.5361 -23.9961c-13.4531 -0.254883 -24.4639 11.0811 -24.4639 24.5361v95.6943l61.0557 78.5c4.72754 6.0791 11.7979 9.23633 18.9443 9.23926v0.0263672h32v-0.015625
+c7.08691 -0.00390625 14.1035 -3.11719 18.8369 -9.1123z" />
+ <glyph glyph-name="audio-description" unicode="&#xf29e;"
+d="M162.925 209.291l8.82227 -30.6553h-25.6064l9.04102 30.6523c1.27734 4.4209 2.65137 9.99414 3.87207 15.2451c1.2207 -5.25098 2.59473 -10.8232 3.87109 -15.2422zM329.399 241.39c28.6846 0 46.1748 -16.7656 46.1748 -49.0049
+c0 -32.0977 -16.3994 -49.7754 -46.1748 -49.7754h-14.5234v98.7803h14.5234zM512 336v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416c26.5098 0 48 -21.4902 48 -48zM245.459 111.861l-57.0967 168
+c-1.52734 4.49219 -6.61719 8.13867 -11.3623 8.13867h-35.8936c-4.74512 0 -9.83594 -3.64648 -11.3623 -8.13867l-57.0967 -168c-2.64453 -7.7832 3.1416 -15.8613 11.3613 -15.8613h29.1328c4.99219 0 10.1602 3.89453 11.5352 8.69336l8.57422 29.9053h51.3672
+l8.79297 -29.9766c1.39648 -4.75977 6.55469 -8.62207 11.5146 -8.62207v0h29.1719c8.2207 0 14.0059 8.07812 11.3613 15.8613zM430.16 192.386c0 58.9775 -37.9189 95.6143 -98.96 95.6143h-57.3662c-6.62695 0 -12 -5.37305 -12 -12v-168c0 -6.62695 5.37305 -12 12 -12
+h57.3662c61.041 0 98.96 36.9326 98.96 96.3857z" />
+ <glyph glyph-name="phone-volume" unicode="&#xf2a0;" horiz-adv-x="383"
+d="M97.333 -58.9658c-129.874 129.874 -129.681 340.252 0 469.933c5.69824 5.69824 14.5273 6.63184 21.2627 2.42188l64.8174 -40.5127c4.45898 -2.78711 8.07812 -9.31641 8.07812 -14.5752c0 -1.82715 -0.550781 -4.68652 -1.22949 -6.38281l-32.4082 -81.0205
+c-2.38477 -5.96484 -9.53418 -10.8047 -15.958 -10.8047c-0.473633 0 -1.23926 0.0380859 -1.71094 0.0849609l-55.8096 5.58008c-21.0508 -58.2607 -20.6123 -122.471 0 -179.515l55.8105 5.58105c0.47168 0.046875 1.2373 0.0849609 1.71094 0.0849609
+c6.42383 0 13.5732 -4.83984 15.959 -10.8037l32.4072 -81.0225c0.678711 -1.69629 1.22949 -4.55566 1.22949 -6.38281c0 -5.25879 -3.61914 -11.7881 -8.07812 -14.5752l-64.8174 -40.5127c-2.30762 -1.44238 -6.38867 -2.6123 -9.10938 -2.6123
+c-3.92969 0 -9.375 2.25488 -12.1543 5.03418zM247.126 352.527c11.832 -20.0469 11.832 -45.0088 0 -65.0557c-3.9502 -6.69238 -13.1084 -7.95898 -18.7178 -2.58105l-5.97559 5.72656c-3.91016 3.74805 -4.79297 9.62207 -2.26074 14.4102
+c2.04883 3.87793 3.71094 10.5859 3.71094 14.9717c0 4.38672 -1.66211 11.0947 -3.71094 14.9727c-2.5332 4.78809 -1.64941 10.6621 2.26074 14.4102l5.97559 5.72656c5.60938 5.37793 14.7676 4.11133 18.7178 -2.58105zM338.913 443.714
+c60.1396 -71.6035 60.0918 -175.882 0 -247.428c-4.47363 -5.32715 -12.5303 -5.74609 -17.5518 -0.933594l-5.79785 5.55762c-4.56055 4.37109 -4.97754 11.5293 -0.930664 16.3789c49.6875 59.5381 49.6465 145.933 0 205.422
+c-4.04688 4.84961 -3.63086 12.0078 0.930664 16.3789l5.79785 5.55762c5.02148 4.8125 13.0781 4.39355 17.5518 -0.933594zM292.941 398.773c36.0498 -46.3223 36.1074 -111.149 0 -157.547c-4.39062 -5.64062 -12.6973 -6.25098 -17.8564 -1.30371l-5.81836 5.5791
+c-4.39941 4.21875 -4.99805 11.0947 -1.28418 15.9307c26.5352 34.5645 26.5332 82.5723 0 117.135c-3.71387 4.83594 -3.11523 11.7109 1.28418 15.9307l5.81836 5.5791c5.15918 4.94727 13.4658 4.33691 17.8564 -1.30371z" />
+ <glyph glyph-name="braille" unicode="&#xf2a1;" horiz-adv-x="640"
+d="M128 192c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64s64 -28.6543 64 -64zM64 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM64 416c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64
+s-64 28.6543 -64 64s28.6543 64 64 64zM224 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM224 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM224 416
+c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM448 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM448 64c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32
+s-32 14.3271 -32 32s14.3271 32 32 32zM448 416c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64zM608 224c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM608 64
+c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM608 384c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32z" />
+ <glyph glyph-name="assistive-listening-systems" unicode="&#xf2a2;"
+d="M216 188c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 44.1123 35.8877 80 80 80s80 -35.8877 80 -80c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 13.2344 -10.7666 24 -24 24s-24 -10.7656 -24 -24zM240 364c97.0469 0 176 -78.9531 176 -176
+c0 -95.9863 -71.4053 -109.798 -72 -144.226c-0.124023 -59.4463 -48.5254 -107.774 -108 -107.774c-15.4639 0 -28 12.5361 -28 28s12.5361 28 28 28c28.6729 0 52 23.3271 52 52l0.00292969 0.37793c0.988281 73.3115 71.9971 68.458 71.9971 143.622
+c0 66.168 -53.832 120 -120 120s-120 -53.832 -120 -120c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 97.0469 78.9531 176 176 176zM160 128c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM32 0
+c17.6729 0 32 -14.3271 32 -32s-14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32zM512 187.993c0 -15.4639 -12.5371 -28 -28.001 -28s-28 12.5361 -28 28c0 1.12695 -0.00683594 2.24512 -0.0332031 3.36328l-0.00292969 0.1875
+c-1.4668 91.4404 -60.1709 172.599 -146.077 201.953c-14.6318 5.00098 -22.4414 20.917 -17.4414 35.5498c5.00098 14.6328 20.917 22.4404 35.5498 17.4424c108.163 -36.959 182.082 -139.015 183.961 -253.965c0.0332031 -1.50684 0.0449219 -3.01367 0.0449219 -4.53125
+zM152.971 8.9707l-33.9404 -33.9404l-80 80l33.9404 33.9404z" />
+ <glyph glyph-name="american-sign-language-interpreting" unicode="&#xf2a3;" horiz-adv-x="639"
+d="M290.547 258.961c-20.2949 10.1494 -44.1465 11.1992 -64.7393 3.88965c42.6064 0 71.208 -20.4746 85.5781 -50.5752c8.57617 -17.8994 -5.14746 -38.0713 -23.6172 -38.0713c18.4297 0 32.2119 -20.1357 23.6172 -38.0713
+c-14.7246 -30.8457 -46.123 -50.8535 -80.2979 -50.8535c-0.556641 0 -94.4707 8.61426 -94.4707 8.61426l-66.4062 -33.3467c-9.38379 -4.69336 -19.8145 -0.378906 -23.8945 7.78125l-44.4561 88.9248c-4.16699 8.61523 -1.11133 18.8975 6.94531 23.6211l58.0723 33.0693
+l41.1221 74.1953c6.38965 57.2451 34.7314 109.768 79.7432 146.727c11.3906 9.44824 28.3408 7.78125 37.5098 -3.61328c9.44629 -11.3936 7.78027 -28.0674 -3.6123 -37.5156c-12.5029 -10.5596 -23.6172 -22.5098 -32.5088 -35.5703
+c21.6719 14.7285 46.6787 24.7324 74.1865 28.0674c14.7246 1.94434 28.0625 -8.33594 29.7295 -23.0654c1.94531 -14.7275 -8.33594 -28.0674 -23.0615 -29.7344c-16.1162 -1.94434 -31.1201 -7.50293 -44.1787 -15.2832c26.1143 5.71289 58.7119 3.1377 88.0791 -11.1152
+c13.3359 -6.66895 18.8936 -22.5088 12.2246 -35.8486c-6.38965 -13.0596 -22.5039 -18.6162 -35.5645 -12.2256zM263.318 189.489c-6.1123 12.5049 -18.3379 20.2861 -32.2314 20.2861h-0.105469c-19.5732 0 -35.46 -15.8867 -35.46 -35.46
+c0 -0.0302734 0 -0.0800781 0.000976562 -0.110352c0 -21.4277 17.8076 -35.5703 35.5645 -35.5703c13.8936 0 26.1191 7.78125 32.2314 20.2861c4.44531 9.44922 13.6133 15.0059 23.3389 15.2842c-9.72559 0.277344 -18.8936 5.83496 -23.3389 15.2842zM638.139 226.726
+c4.16797 -8.61426 1.11133 -18.8965 -6.94531 -23.6201l-58.0713 -33.0693l-41.1221 -74.1963c-6.38965 -57.2451 -34.7314 -109.767 -79.7432 -146.726c-10.9316 -9.1123 -27.7988 -8.14453 -37.5098 3.6123c-9.44629 11.3945 -7.78027 28.0674 3.61328 37.5166
+c12.5029 10.5586 23.6162 22.5088 32.5078 35.5703c-21.6719 -14.7295 -46.6787 -24.7324 -74.1865 -28.0674c-10.0205 -2.50586 -27.5518 5.64258 -29.7295 23.0645c-1.94531 14.7285 8.33594 28.0674 23.0615 29.7344c16.1162 1.94629 31.1201 7.50293 44.1787 15.2842
+c-26.1143 -5.71289 -58.7119 -3.1377 -88.0791 11.1152c-13.3359 6.66895 -18.8936 22.5088 -12.2246 35.8477c6.38965 13.0605 22.5049 18.6191 35.5654 12.2266c20.2949 -10.1484 44.1465 -11.1982 64.7393 -3.88965c-42.6064 0 -71.208 20.4746 -85.5781 50.5762
+c-8.57617 17.8984 5.14746 38.0713 23.6172 38.0713c-18.4297 0 -32.2109 20.1357 -23.6172 38.0703c14.0332 29.3965 44.0391 50.8877 81.9658 50.8545l92.8027 -8.61523l66.4062 33.3467c9.4082 4.7041 19.8281 0.354492 23.8936 -7.78027zM408.912 245.344
+c-13.8936 0 -26.1191 -7.78027 -32.2314 -20.2861c-4.44531 -9.44824 -13.6133 -15.0059 -23.3389 -15.2832c9.72559 -0.27832 18.8936 -5.83594 23.3389 -15.2842c6.1123 -12.5049 18.3379 -20.2861 32.2314 -20.2861h0.105469c19.5732 0 35.46 15.8857 35.46 35.46
+c0 0.0302734 0 0.0791016 -0.000976562 0.110352c0 21.4287 -17.8076 35.5693 -35.5645 35.5693z" />
+ <glyph glyph-name="deaf" unicode="&#xf2a4;"
+d="M216 188c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 44.1123 35.8877 80 80 80s80 -35.8877 80 -80c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 13.2344 -10.7666 24 -24 24s-24 -10.7656 -24 -24zM240 364c97.0469 0 176 -78.9531 176 -176
+c0 -95.9863 -71.4053 -109.798 -72 -144.226c-0.124023 -59.4463 -48.5254 -107.774 -108 -107.774c-15.4639 0 -28 12.5361 -28 28s12.5361 28 28 28c28.6729 0 52 23.3271 52 52l0.00292969 0.37793c0.988281 73.3115 71.9971 68.458 71.9971 143.622
+c0 66.168 -53.832 120 -120 120s-120 -53.832 -120 -120c0 -15.4639 -12.5361 -28 -28 -28s-28 12.5361 -28 28c0 97.0469 78.9531 176 176 176zM508.485 416.201c4.68652 -4.68652 4.68652 -12.2842 0 -16.9727l-87.0303 -87.0283
+c-4.68652 -4.68652 -12.2842 -4.68652 -16.9697 0l-28.2852 28.2852c-4.68652 4.68652 -4.68652 12.2842 0 16.9707l87.0283 87.0293c4.6875 4.68555 12.2842 4.68555 16.9717 0zM168.97 133.255l28.2861 -28.2842c4.68652 -4.68652 4.68652 -12.2852 0 -16.9707
+l-148.484 -148.485c-4.6875 -4.68555 -12.2842 -4.68555 -16.9717 0l-28.2852 28.2842c-4.68555 4.6875 -4.68555 12.2852 0 16.9707l148.485 148.485c4.68555 4.68652 12.2842 4.68652 16.9697 0z" />
+ <glyph glyph-name="sign-language" unicode="&#xf2a7;" horiz-adv-x="447"
+d="M91.4336 -35.9873c-0.306641 16.0186 13.1094 29.1289 29.1309 29.1289h62.293v5.71484h-125.864c-16.0215 0 -29.4375 13.1104 -29.1299 29.1289c0.296875 15.5234 12.9717 28.0146 28.5645 28.0146h126.43v5.71387h-153.722
+c-16.0205 0 -29.4365 13.1113 -29.1299 29.1289c0.296875 15.5225 12.9727 28.0137 28.5664 28.0137h154.286v5.71387h-125.151c-16.0215 0 -29.4375 13.1104 -29.1299 29.1289c0.296875 15.5215 12.9727 28.0127 28.5654 28.0127h168.566l-31.085 22.6064
+c-12.7617 9.28027 -15.583 27.1484 -6.30176 39.9121c9.28027 12.7607 27.1494 15.5811 39.9121 6.30176l123.36 -89.7148c7.79395 -5.66895 14.1201 -18.0908 14.1201 -27.7285v-141.136c0 -15.9102 -10.9463 -29.7305 -26.4326 -33.374l-80.4717 -18.9346
+c-8.55176 -2.01172 -22.624 -3.64551 -31.4102 -3.64551h-107.4c-15.5928 0.000976562 -28.2686 12.4922 -28.5664 28.0137zM164.683 189.714l-36.3711 46.71c-9.5791 12.3027 -7.51172 29.9795 4.55371 39.75c12.4502 10.083 31.0371 7.55273 40.8799 -5.08789
+l13.0039 -16.7002c-17.1426 -15.6484 -15.4092 -43.0244 3.16992 -56.5361l11.1875 -8.13574h-36.4238zM447.981 191.817c0.00976562 -0.311523 0.0175781 -0.81543 0.0175781 -1.12695c0 -9.24902 -5.92188 -21.3682 -13.2197 -27.0508l-61.0645 -47.5488v16.999
+c0 13.4834 -6.51074 26.2686 -17.415 34.1982l-123.359 89.7139c-12.6357 9.18945 -29.1934 9.16113 -41.6904 0.904297l-52.0527 66.8486c-9.84375 12.6416 -7.74121 31.2822 5.08594 40.8809c12.4297 9.30273 30.0732 6.97559 39.6523 -5.32812l77.6758 -99.7539
+l4.50879 3.51172l-94.4434 121.287c-9.84277 12.6416 -7.74121 31.2822 5.08594 40.8818c12.4307 9.30176 30.0732 6.97461 39.6533 -5.32812l94.79 -121.734l4.50879 3.51074l-76.8887 98.7451c-9.84277 12.6416 -7.74121 31.2822 5.08594 40.8809
+c12.4297 9.30273 30.0732 6.97559 39.6533 -5.32715l103.562 -133.001l-1.26172 38.4141c-0.518555 15.7715 11.8457 28.9756 27.6191 29.4932c15.7705 0.517578 28.9746 -11.8477 29.4922 -27.6191z" />
+ <glyph glyph-name="low-vision" unicode="&#xf2a8;" horiz-adv-x="576"
+d="M569.344 216.369c3.67383 -6.22461 6.65625 -17.1416 6.65625 -24.3691s-2.98242 -18.1455 -6.65723 -24.3701c-31.9746 -54.2607 -79.6484 -98.3232 -136.81 -126.301l0.00683594 -0.00878906l43.1201 -58.377c7.60156 -10.8594 4.95996 -25.8252 -5.90039 -33.4268
+l-13.1133 -9.17773c-10.8594 -7.59863 -25.8223 -4.95801 -33.4238 5.90039l-251.836 356.544c-11.1797 -5.09375 -28.5518 -14.7539 -38.7764 -21.5635l189.979 -271.399c-9.52637 -1.00488 -25.0342 -1.82031 -34.6133 -1.82031
+c-12.29 0 -32.1484 1.33984 -44.3262 2.99023l-40.6309 58.04h-0.00976562l-119.399 170.58c-8.64453 -9.25391 -21.3203 -25.3428 -28.2939 -35.9121l124.19 -177.417c-73.1172 25.4863 -134.358 76.0166 -172.858 141.349c-8.96484 15.2109 -8.76562 33.8643 0 48.7393
+c0.0107422 0.0166016 0.0234375 0.0332031 0.0332031 0.0498047c33.5459 56.8984 82.7676 99.8506 136.79 126.242l-43.1309 58.3945c-7.60156 10.8604 -4.95996 25.8252 5.90039 33.4268l13.1143 9.17773c10.8584 7.59961 25.8213 4.95801 33.4229 -5.90039
+l52.7705 -72.1689c26.3496 6.79004 53.9834 10.4092 82.4512 10.4092c119.81 0 224.96 -63.9492 281.344 -159.631zM390.026 102.06c21.1406 23.9658 33.9736 55.4365 33.9736 89.9404c0 75.1738 -60.8379 136 -136 136c-17.5117 0 -34.2422 -3.30566 -49.6084 -9.32324
+l19.0684 -27.2363c25.9883 7.96289 54.7598 5.56836 79.5098 -7.68066h-0.0292969c-23.6504 0 -42.8203 -19.1699 -42.8203 -42.8193c0 -23.4717 18.9922 -42.8203 42.8203 -42.8203c23.6494 0 42.8193 19.1699 42.8193 42.8203v0.0292969
+c18.9111 -35.3271 15.8818 -79.1123 -8.7998 -111.68z" />
+ <glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640"
+d="M434.7 384c8.5 0 16.7002 -3.40039 22.5996 -9.40039l54.6006 -54.5996v-193.5c-2.40039 2.7002 -5 5.2998 -7.90039 7.7002l-145.6 118.2l26.0996 23.8994c6.5 6 7 16.1006 1 22.6006c-5.90039 6.5 -16.0996 6.89941 -22.5996 1l-79.9004 -73.2002
+c-0.0996094 -0.100586 -0.299805 -0.100586 -0.400391 -0.200195c-16.6992 -14.9004 -43.3994 -11.2002 -56.0996 2.7002c-14.2002 15.5 -14.5 40.3994 2.09961 56c0.100586 0.0996094 0.200195 0.299805 0.300781 0.399414l98.2998 90
+c5.89941 5.40039 13.5996 8.40039 21.5996 8.40039h85.9004zM544 319.8h96v-255.899h-64c-17.7002 0 -32 14.2998 -32 32v223.899zM592 95.9004c8.7998 0 16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM0 64v255.8h96
+v-223.8c0 -17.7002 -14.2998 -32 -32 -32h-64zM48 127.9c-8.7998 0 -16 -7.10059 -16 -16c0 -8.80078 7.2002 -16 16 -16s16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16zM483.9 109.3c13.6992 -11.2002 15.7998 -31.2998 4.59961 -45.0996l-9.5 -11.7002
+c-11.0996 -13.7998 -31.2998 -15.7998 -45 -4.7002l-5.40039 4.40039l-31.3994 -38.6006c-12.9004 -15.8994 -36.4004 -18.3994 -52.2998 -5.39941l-17.9004 15.5l-0.200195 -0.200195c-22.2998 -27.4004 -62.5996 -31.5996 -90 -9.2998l-90.5 81.8994h-18.2998v223.9
+l54.7002 54.5996c6 6 14.0996 9.40039 22.5996 9.40039h83.7998l-81.7998 -74.9004c-29.2002 -26.7998 -31.2998 -72.2998 -4.39941 -101.699c26.5 -28.9004 72 -31.5 101.699 -4.40039l30 27.5z" />
+ <glyph glyph-name="envelope-open" unicode="&#xf2b6;"
+d="M512 -16c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v263.276c0 12.8955 8.2373 29.8193 18.3867 37.7754c24.9131 19.5293 45.501 35.3652 164.2 121.512c16.8252 12.2666 50.21 41.7832 73.4131 41.4336
+c23.1982 0.353516 56.5957 -29.1719 73.4131 -41.4326c118.687 -86.1377 139.303 -101.995 164.2 -121.513c10.1494 -7.95605 18.3867 -24.8799 18.3867 -37.7754v-263.276zM446.334 180.605c-2.5625 3.72754 -7.7002 4.59473 -11.3389 1.90625
+c-22.8447 -16.873 -55.4619 -40.7051 -105.582 -77.0791c-16.8252 -12.2656 -50.21 -41.7803 -73.4131 -41.4297c-23.2109 -0.34375 -56.5586 29.1436 -73.4131 41.4297c-50.1143 36.3701 -82.7344 60.2041 -105.582 77.0791
+c-3.63867 2.68848 -8.77637 1.82129 -11.3389 -1.90625l-9.07227 -13.1963c-0.777344 -1.13086 -1.4082 -3.16113 -1.4082 -4.5332c0 -2.22754 1.45508 -5.11035 3.24707 -6.43359c22.8877 -16.8994 55.4541 -40.6904 105.304 -76.8682
+c20.2734 -14.7812 56.5234 -47.8135 92.2637 -47.5732c35.7236 -0.242188 71.9609 32.7715 92.2627 47.5732c49.8506 36.1787 82.418 59.9697 105.304 76.8682c1.79199 1.32324 3.24707 4.20605 3.24707 6.43359c0 1.37207 -0.630859 3.40234 -1.4082 4.5332z" />
+ <glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448"
+d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48
+h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM208 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM320 83.2002v19.2002
+c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199
+c12.4004 0 22.4004 8.59961 22.4004 19.2002z" />
+ <glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576"
+d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM176 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM288 83.2002v19.2002
+c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199
+c12.4004 0 22.4004 8.59961 22.4004 19.2002zM512 136v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM512 200v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16
+c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM512 264v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 344c-48.5996 0 -88 -39.4004 -88 -88s39.4004 -88 88 -88s88 39.4004 88 88s-39.4004 88 -88 88zM248 0c58.7002 0 111.3 26.5996 146.5 68.2002
+c-18.7998 35.3994 -55.5996 59.7998 -98.5 59.7998c-2.40039 0 -4.7998 -0.400391 -7.09961 -1.09961c-12.9004 -4.2002 -26.6006 -6.90039 -40.9004 -6.90039s-27.9004 2.7002 -40.9004 6.90039c-2.2998 0.699219 -4.69922 1.09961 -7.09961 1.09961
+c-42.9004 0 -79.7002 -24.4004 -98.5 -59.7998c35.2002 -41.6006 87.7998 -68.2002 146.5 -68.2002z" />
+ <glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384"
+d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM144 416c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h96c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16h-96zM192 288
+c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM304 51.2002v19.2002c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5
+c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199c12.4004 0 22.4004 8.59961 22.4004 19.2002z" />
+ <glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576"
+d="M528 416c26.5 0 48 -21.5 48 -48v-16h-576v16c0 26.5 21.5 48 48 48h480zM0 16v304h576v-304c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48zM352 248v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-144
+c-4.40039 0 -8 -3.59961 -8 -8zM352 184v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8zM352 120v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8v16
+c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8zM176 256c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM67.0996 51.7998c-3.19922 -9.7998 5.2002 -19.7998 15.6006 -19.7998h186.6
+c10.4004 0 18.7998 9.90039 15.6006 19.7998c-8.40039 25.7002 -32.5 44.2002 -60.9004 44.2002h-8.2002c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-8.2002c-28.4004 0 -52.5 -18.5 -60.9004 -44.2002z" />
+ <glyph glyph-name="thermometer-full" unicode="&#xf2c7;" horiz-adv-x="256"
+d="M224 352v-203.347c19.9121 -22.5635 32 -52.1943 32 -84.6533c0 -70.6963 -57.3018 -128 -128 -128c-0.298828 0 -0.610352 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1973 12.2227 61.5771 31.998 83.9863
+v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96zM128 -16c44.1123 0 80 35.8877 80 80c0 34.3379 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7334 -14.4277 -31.8262 -32.0996 -31.999 -66.0801
+c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199zM192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v232.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-232.583c19.124 -11.0684 32 -31.7324 32 -55.417z" />
+ <glyph glyph-name="thermometer-three-quarters" unicode="&#xf2c8;" horiz-adv-x="256"
+d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v168.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-168.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533
+c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z
+M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312
+c44.1123 0 80 35.8877 80 80z" />
+ <glyph glyph-name="thermometer-half" unicode="&#xf2c9;" horiz-adv-x="256"
+d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v104.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-104.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533
+c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z
+M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312
+c44.1123 0 80 35.8877 80 80z" />
+ <glyph glyph-name="thermometer-quarter" unicode="&#xf2ca;" horiz-adv-x="256"
+d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64c0 23.6846 12.876 44.3486 32 55.417v40.583c0 17.6729 14.3271 32 32 32s32 -14.3271 32 -32v-40.583c19.124 -11.0684 32 -31.7324 32 -55.417zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533
+c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347z
+M208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312
+c44.1123 0 80 35.8877 80 80z" />
+ <glyph glyph-name="thermometer-empty" unicode="&#xf2cb;" horiz-adv-x="256"
+d="M192 64c0 -35.3457 -28.6543 -64 -64 -64s-64 28.6543 -64 64s28.6543 64 64 64s64 -28.6543 64 -64zM224 148.653c19.9121 -22.5635 32 -52.1943 32 -84.6533c0 -70.6963 -57.3027 -128 -128 -128c-0.298828 0 -0.609375 0.000976562 -0.90918 0.00292969
+c-70.3018 0.488281 -127.448 58.3613 -127.089 128.664c0.164062 32.1982 12.2227 61.5781 31.998 83.9863v203.347c0 53.0186 42.9814 96 96 96s96 -42.9814 96 -96v-203.347zM208 64c0 34.3389 -19.3701 52.1904 -32 66.502v221.498c0 26.4668 -21.5332 48 -48 48
+s-48 -21.5332 -48 -48v-221.498c-12.7324 -14.4277 -31.8252 -32.0996 -31.999 -66.0801c-0.223633 -43.876 35.5635 -80.1162 79.4229 -80.4199l0.576172 -0.00195312c44.1123 0 80 35.8877 80 80z" />
+ <glyph glyph-name="shower" unicode="&#xf2cc;"
+d="M389.66 312.4l-158.061 -158.061c-9.36914 -9.37012 -24.5693 -9.37012 -33.9395 0l-11.3203 11.3203c-9.37012 9.37012 -9.37012 24.5703 0 33.9395l0.110352 0.110352c-34.0303 40.21 -35.1602 98.9404 -3.39062 140.38
+c-11.9697 7.5498 -26.1396 11.9102 -41.2998 11.9102c-42.8799 0 -77.7598 -34.8799 -77.7598 -77.7598v-306.24h-64v306.24c0 78.1699 63.5898 141.76 141.76 141.76c36.9307 0 70.6104 -14.2002 95.8604 -37.4199c35.8994 11.5098 76.5 4.5 106.67 -21.0303
+l0.110352 0.110352c9.36914 9.37012 24.5693 9.37012 33.9395 0l11.3203 -11.3203c9.37012 -9.37012 9.37012 -24.5703 0 -33.9395zM384 240c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM416 240c0 8.83691 7.16309 16 16 16
+s16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16zM512 240c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM352 208c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16z
+M400 224c8.83691 0 16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16zM480 208c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 176c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16
+s7.16309 16 16 16s16 -7.16309 16 -16zM352 176c0 8.83691 7.16309 16 16 16s16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16zM448 176c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 144
+c0 8.83691 7.16309 16 16 16s16 -7.16309 16 -16s-7.16309 -16 -16 -16s-16 7.16309 -16 16zM416 144c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 112c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16
+s7.16309 16 16 16s16 -7.16309 16 -16zM384 112c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM352 80c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16zM320 48
+c0 -8.83691 -7.16309 -16 -16 -16s-16 7.16309 -16 16s7.16309 16 16 16s16 -7.16309 16 -16z" />
+ <glyph glyph-name="bath" unicode="&#xf2cd;"
+d="M488 192c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-8v-32c0 -28.4297 -12.3623 -53.9688 -32 -71.5469v-32.4531c0 -13.2549 -10.7451 -24 -24 -24h-16c-13.2549 0 -24 10.7451 -24 24v8h-256v-8c0 -13.2549 -10.7451 -24 -24 -24h-16
+c-13.2549 0 -24 10.7451 -24 24v32.4531c-19.6377 17.5781 -32 43.1172 -32 71.5469v32h-8c-13.2549 0 -24 10.7451 -24 24v16c0 13.2549 10.7451 24 24 24h8v144c0 44.1123 35.8877 80 80 80c27.2119 0 51.2812 -13.667 65.7393 -34.4873
+c21.8838 6.06445 46.2285 1.10449 64.1777 -15.3643c4.71289 4.1748 11.916 4.02051 16.4277 -0.491211l11.3145 -11.3145c4.68555 -4.68652 4.68555 -12.2852 0 -16.9707l-95.0303 -95.0293c-4.68652 -4.68555 -12.2852 -4.68555 -16.9707 0l-11.3145 11.3145
+c-4.51172 4.51172 -4.66699 11.7148 -0.491211 16.4277c-21.5244 23.459 -23.3291 57.8281 -6.83789 83.0352c-5.68262 8.93457 -15.6641 14.8799 -27.0146 14.8799c-17.6445 0 -32 -14.3555 -32 -32v-144h408z" />
+ <glyph glyph-name="podcast" unicode="&#xf2ce;" horiz-adv-x="448"
+d="M267.429 -40.5635c-5.14258 -19.0098 -24.5703 -23.4365 -43.4287 -23.4365c-18.8574 0 -38.2861 4.42676 -43.4277 23.4365c-7.64551 28.4297 -20.5723 99.665 -20.5723 132.813c0 35.1562 31.1416 43.75 64 43.75s64 -8.59375 64 -43.75
+c0 -32.9492 -12.8711 -104.179 -20.5713 -132.813zM156.867 159.446c2.6748 -2.61914 2.39941 -6.98535 -0.628906 -9.18555c-9.3125 -6.76465 -16.4609 -15.3418 -21.2354 -25.3623c-1.74219 -3.65723 -6.5 -4.6582 -9.45312 -1.8877
+c-28.0176 26.2891 -45.5498 63.6279 -45.5498 104.989c0 80.7852 66.8691 146.247 148.163 143.941c76.1982 -2.16113 137.938 -64.1631 139.793 -140.369c1.04199 -42.7822 -16.6846 -81.5225 -45.5107 -108.565c-2.95215 -2.76855 -7.70801 -1.7627 -9.44922 1.8916
+c-4.77441 10.0195 -11.9219 18.5977 -21.2344 25.3623c-3.02832 2.20117 -3.30273 6.56738 -0.62793 9.1875c17.8018 17.4355 28.8662 41.7246 28.8662 68.5518c0 54.1934 -45.1377 98.042 -99.793 95.9258c-49.7295 -1.9248 -90.0703 -42.1572 -92.124 -91.8809
+c-1.17383 -28.4258 10.0908 -54.291 28.7842 -72.5986zM224 448c123.815 0 224 -100.205 224 -224c0 -90.1865 -52.7734 -165.727 -125.739 -201.407c-4.33203 -2.11914 -9.2666 1.54297 -8.53516 6.31055c2.55566 16.6416 4.625 33.1924 5.62402 47.2295
+c48.4922 31.377 80.6504 85.9355 80.6504 147.867c0 97.2031 -79.207 176.253 -176.468 175.999c-96.2393 -0.250977 -174.938 -78.6621 -175.529 -174.899c-0.376953 -61.3311 30.7871 -115.541 78.1875 -147.347c1.52832 -1.02637 2.53125 -2.67578 2.67773 -4.51172
+c1.06348 -13.3936 3.02344 -28.8271 5.40625 -44.3389c0.731445 -4.7666 -4.20215 -8.42871 -8.53516 -6.31055c-73.1377 35.7607 -125.739 111.416 -125.739 201.408c0 123.815 100.204 224 224 224zM224 288c35.3457 0 64 -28.6543 64 -64s-28.6543 -64 -64 -64
+s-64 28.6543 -64 64s28.6543 64 64 64z" />
+ <glyph glyph-name="window-maximize" unicode="&#xf2d0;"
+d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM448 256v84c0 6.59961 -5.40039 12 -12 12h-360c-6.59961 0 -12 -5.40039 -12 -12v-84h384z" />
+ <glyph glyph-name="window-minimize" unicode="&#xf2d1;"
+d="M464 96c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48h416z" />
+ <glyph glyph-name="window-restore" unicode="&#xf2d2;"
+d="M512 400v-288c0 -26.5 -21.5 -48 -48 -48h-48v208c0 44.0996 -35.9004 80 -80 80h-208v48c0 26.5 21.5 48 48 48h288c26.5 0 48 -21.5 48 -48zM384 272v-288c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h288
+c26.5 0 48 -21.5 48 -48zM316 244c0 6.59961 -5.40039 12 -12 12h-228c-6.59961 0 -12 -5.40039 -12 -12v-52h252v52z" />
+ <glyph glyph-name="microchip" unicode="&#xf2db;"
+d="M416 400v-416c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h224c26.5098 0 48 -21.4902 48 -48zM512 342v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42
+c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 246v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 150v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6
+c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM512 54v-12c0 -3.31152 -2.68848 -6 -6 -6h-18v-6c0 -3.31152 -2.68848 -6 -6 -6h-42v48h42c3.31152 0 6 -2.68848 6 -6v-6h18c3.31152 0 6 -2.68848 6 -6zM30 72h42
+v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6zM30 168h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6
+c0 3.31152 2.68848 6 6 6zM30 264h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6zM30 360h42v-48h-42c-3.31152 0 -6 2.68848 -6 6v6h-18c-3.31152 0 -6 2.68848 -6 6v12
+c0 3.31152 2.68848 6 6 6h18v6c0 3.31152 2.68848 6 6 6z" />
+ <glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448"
+d="M440.3 102.8c7.40039 -4.2002 9.90039 -13.7002 5.60059 -21l-15.5 -26.7998c-4.30078 -7.40039 -13.7002 -10 -21.1006 -5.7002l-33.7998 19.5l7 -26c2.2002 -8.2002 -2.7002 -16.7002 -10.9004 -18.8994l-14.8994 -4
+c-8.2002 -2.2002 -16.7002 2.69922 -18.9004 10.8994l-19 70.7998l-62.7998 36.2002v-77.5l53.4004 -53.7002c6.19922 -6.19922 6.19922 -16.3994 0 -22.5996l-11.3008 -11.2998c-6.19922 -6.2002 -16.3994 -6.2002 -22.5996 0l-19.7002 19.7002v-40.4004
+c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v40.2998l-19.7002 -19.7002c-6.19922 -6.19922 -16.3994 -6.19922 -22.5996 0l-11.2998 11.3008c-6.2998 6.19922 -6.2998 16.3994 0 22.5996l53.7002 53.7002v77.5l-62.8008 -36.2002l-19 -70.7998
+c-2.19922 -8.2002 -10.6992 -13.1006 -18.8994 -10.9004l-14.9004 4c-8.2002 2.2002 -13.0996 10.7002 -10.8994 18.9004l7 26l-33.8008 -19.5c-7.39941 -4.2002 -16.7998 -1.7002 -21.0996 5.7002l-15.5 26.7998c-4.2002 7.39941 -1.7002 16.7998 5.7002 21.0996
+l33.7998 19.6006l-26 7c-8.2002 2.19922 -13.0996 10.6992 -10.9004 18.8994l4 14.9004c2.2002 8.2002 10.7002 13.0996 18.9004 10.8994l70.7998 -19l63.7998 36.9004l-63.7998 36.9004l-70.7998 -19c-8.2002 -2.2002 -16.7002 2.69922 -18.9004 10.8994l-4 14.9004
+c-2.19922 8.2998 2.7002 16.7998 11 19l26 7l-33.7998 19.5c-7.39941 4.2998 -10 13.7002 -5.7002 21.0996l15.5 26.7002c4.30078 7.40039 13.7002 10 21.1006 5.7002l33.7998 -19.5l-7 26c-2.2002 8.2002 2.7002 16.7002 10.9004 18.8994l14.8994 4
+c8.2002 2.2002 16.7002 -2.69922 18.9004 -10.8994l19 -70.7998l62.7998 -36.2002v77.5l-53.7002 53.7002c-6.2998 6.19922 -6.2998 16.3994 0 22.5996l11.4004 11.2998c6.2002 6.2002 16.3994 6.2002 22.5996 0l19.7002 -19.7002v40.4004c0 8.7998 7.2002 16 16 16h32
+c8.7998 0 16 -7.2002 16 -16v-40.4004l19.7998 19.7002c6.2002 6.2002 16.4004 6.2002 22.6006 0l11.2998 -11.2998c6.2002 -6.2002 6.2002 -16.4004 0 -22.5996l-53.7002 -53.7002v-77.5l62.7998 36.2002l19 70.7998c2.2002 8.2002 10.7002 13.0996 18.9004 10.8994
+l14.8994 -4c8.2002 -2.19922 13.1006 -10.6992 10.9004 -18.8994l-7 -26l33.7998 19.5c7.40039 4.2002 16.7998 1.7002 21.1006 -5.7002l15.5 -26.7998c4.19922 -7.40039 1.69922 -16.7998 -5.7002 -21.1006l-33.7998 -19.5l26 -7
+c8.19922 -2.19922 13.0996 -10.6992 10.8994 -18.8994l-4 -14.9004c-2.2002 -8.2002 -10.7002 -13.0996 -18.8994 -10.8994l-70.8008 19l-63.7998 -36.9004l63.9004 -37l70.7998 19c8.2002 2.2002 16.7002 -2.7002 18.9004 -10.9004l4 -14.8994
+c2.19922 -8.2002 -2.7002 -16.7002 -10.9004 -18.9004l-26 -7z" />
+ <glyph glyph-name="utensil-spoon" unicode="&#xf2e5;"
+d="M480.1 416.1c55.1006 -55 34.5 -164.899 -28.5 -227.8c-49.2998 -49.2998 -110 -55.0996 -160.399 -28.7998l-192.4 -214.4c-10.3994 -11.5996 -28.5 -12.0996 -39.5 -1.09961l-51.2998 51.2998c-11.0996 11 -10.5996 29 1 39.5l214.5 192.4
+c-26.2998 50.3994 -20.5 111.1 28.7998 160.399c62.9004 63 172.8 83.6006 227.8 28.5z" />
+ <glyph glyph-name="utensils" unicode="&#xf2e7;" horiz-adv-x="416"
+d="M207.9 432.8c0.799805 -4.7002 16.0996 -94.5 16.0996 -128.8c0 -52.2998 -27.7998 -89.5996 -68.9004 -104.6l12.9004 -238.101c0.700195 -13.7002 -10.2002 -25.2998 -24 -25.2998h-64c-13.7002 0 -24.7002 11.5 -24 25.2998l12.9004 238.101
+c-41.2002 15 -68.9004 52.3994 -68.9004 104.6c0 34.4004 15.2998 124.1 16.0996 128.8c3.2002 20.2998 45.3008 20.6006 47.9004 -1.09961v-141.2c1.2998 -3.40039 15.0996 -3.2002 16 0c1.40039 25.2998 7.90039 139.2 8 141.8c3.2998 20.7998 44.7002 20.7998 47.9004 0
+c0.199219 -2.7002 6.59961 -116.5 8 -141.8c0.899414 -3.2002 14.7998 -3.40039 16 0v141.2c2.59961 21.5996 44.7998 21.3994 48 1.09961zM327.1 147.1c-156.5 122.4 -17.5996 300.9 64.9004 300.9c13.2998 0 24 -10.7998 24 -24v-464c0 -13.2998 -10.7002 -24 -24 -24h-56
+c-14 0 -25.0996 12 -23.9004 26z" />
+ <glyph glyph-name="undo-alt" unicode="&#xf2ea;"
+d="M255.545 440c136.809 0.245117 248.456 -111.193 248.455 -248.002c-0.000976562 -136.965 -111.034 -247.998 -248 -247.998c-63.9258 0 -122.202 24.1865 -166.178 63.9082c-5.11328 4.61816 -5.35449 12.5605 -0.482422 17.4326l39.6621 39.6621
+c4.46191 4.46094 11.625 4.71387 16.3682 0.552734c30.6328 -26.8779 69.5029 -41.5557 110.63 -41.5557c93.8164 0 167.236 75.9912 167.994 166.552c0.798828 95.4648 -77.0859 170.24 -169.484 169.442c-42.4287 -0.366211 -82.3662 -16.374 -113.229 -45.2734
+l41.75 -41.75c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-134.059c-13.2549 0 -24 10.7451 -24 24v134.059c0 21.3828 25.8506 32.0908 40.9707 16.9707l35.7139 -35.7139c44.4229 42.4512 104.592 68.5654 170.86 68.6846z" />
+ <glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448"
+d="M32 -16v336h384v-336c0 -26.4961 -21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48zM304 240v-224c0 -8.83203 7.16797 -16 16 -16s16 7.16797 16 16v224c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM208 240v-224c0 -8.83203 7.16797 -16 16 -16
+s16 7.16797 16 16v224c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM112 240v-224c0 -8.83203 7.16797 -16 16 -16s16 7.16797 16 16v224c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16zM432 416c8.83203 0 16 -7.16797 16 -16v-32
+c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002
+h120z" />
+ <glyph glyph-name="sync-alt" unicode="&#xf2f1;"
+d="M370.72 314.72c-31.2617 29.2725 -71.832 45.3184 -114.872 45.2803c-77.458 -0.0683594 -144.328 -53.1777 -162.791 -126.85c-1.34375 -5.36328 -6.12207 -9.15039 -11.6504 -9.15039h-57.3037c-7.49707 0 -13.1934 6.80664 -11.8066 14.1758
+c21.6367 114.9 122.518 201.824 243.704 201.824c66.4482 0 126.791 -26.1357 171.315 -68.6846l35.7148 35.7148c15.1191 15.1191 40.9697 4.41113 40.9697 -16.9717v-134.059c0 -13.2549 -10.7451 -24 -24 -24h-134.059c-21.3828 0 -32.0908 25.8506 -16.9717 40.9707z
+M32 152h134.059c21.3828 0 32.0908 -25.8506 16.9717 -40.9707l-41.75 -41.75c31.2617 -29.2734 71.835 -45.3193 114.876 -45.2803c77.418 0.0703125 144.314 53.1436 162.787 126.849c1.34375 5.36328 6.12207 9.15039 11.6504 9.15039h57.3047
+c7.49805 0 13.1934 -6.80664 11.8066 -14.1758c-21.6377 -114.898 -122.519 -201.822 -243.705 -201.822c-66.4482 0 -126.791 26.1357 -171.315 68.6846l-35.7148 -35.7148c-15.1191 -15.1191 -40.9697 -4.41113 -40.9697 16.9717v134.059c0 13.2549 10.7451 24 24 24z" />
+ <glyph glyph-name="stopwatch" unicode="&#xf2f2;" horiz-adv-x="448"
+d="M432 144c0 -114.9 -93.0996 -208 -208 -208s-208 93.0996 -208 208c0 104 76.2998 190.2 176 205.5v34.5h-28c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h120c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-28v-34.5
+c37.5 -5.7998 71.7002 -21.5996 99.7002 -44.5996l27.5 27.5c4.7002 4.69922 12.2998 4.69922 17 0l28.2998 -28.3008c4.7002 -4.69922 4.7002 -12.2998 0 -17l-29.4004 -29.3994l-0.599609 -0.600586c21.2002 -32.3994 33.5 -71.2998 33.5 -113.1zM256 108v151.5
+c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-151.5c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="sign-out-alt" unicode="&#xf2f5;" horiz-adv-x="503"
+d="M497 175l-168 -168c-15 -15 -41 -4.5 -41 17v96h-136c-13.2998 0 -24 10.7002 -24 24v96c0 13.2998 10.7002 24 24 24h136v96c0 21.4004 25.9004 32 41 17l168 -168c9.2998 -9.40039 9.2998 -24.5996 0 -34zM192 12c0 -6.59961 -5.40039 -12 -12 -12h-84
+c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h84c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-84c-17.7002 0 -32 -14.2998 -32 -32v-192c0 -17.7002 14.2998 -32 32 -32h84c6.59961 0 12 -5.40039 12 -12v-40z" />
+ <glyph glyph-name="sign-in-alt" unicode="&#xf2f6;"
+d="M416 0h-84c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84c17.7002 0 32 14.2998 32 32v192c0 17.7002 -14.2998 32 -32 32h-84c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h84c53 0 96 -43 96 -96v-192c0 -53 -43 -96 -96 -96z
+M369 201c9.2998 -9.40039 9.2998 -24.5996 0 -34l-168 -168c-15 -15 -41 -4.5 -41 17v96h-136c-13.2998 0 -24 10.7002 -24 24v96c0 13.2998 10.7002 24 24 24h136v96c0 21.5 26 32 41 17z" />
+ <glyph glyph-name="redo-alt" unicode="&#xf2f9;" horiz-adv-x="511"
+d="M256.455 440c66.2686 -0.119141 126.437 -26.2334 170.859 -68.6846l35.7148 35.7148c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-134.059c0 -13.2549 -10.7451 -24 -24 -24h-134.059c-21.3828 0 -32.0908 25.8506 -16.9717 40.9707l41.75 41.75
+c-30.8633 28.8994 -70.8008 44.9072 -113.229 45.2734c-92.3984 0.797852 -170.283 -73.9775 -169.484 -169.442c0.757812 -90.5605 74.1777 -166.552 167.994 -166.552c41.127 0 79.9971 14.6777 110.629 41.5557c4.74316 4.16113 11.9062 3.9082 16.3682 -0.552734
+l39.6621 -39.6621c4.87207 -4.87207 4.63086 -12.8145 -0.482422 -17.4326c-43.9746 -39.7217 -102.251 -63.9082 -166.177 -63.9082c-136.966 0 -247.999 111.033 -248 247.998c-0.000976562 136.809 111.646 248.247 248.455 248.002z" />
+ <glyph glyph-name="poo" unicode="&#xf2fe;"
+d="M451.4 78.9004c34.2998 -5.5 60.5996 -35 60.5996 -70.9004c0 -39.7998 -32.2002 -72 -72 -72h-368c-39.7998 0 -72 32.2002 -72 72c0 35.9004 26.2998 65.4004 60.5996 70.9004c-17.2998 13.0996 -28.5996 33.6992 -28.5996 57.0996c0 39.7998 32.2002 72 72 72h14.0996
+c-13.3994 11.7002 -22.0996 28.7998 -22.0996 48c0 35.2998 28.7002 64 64 64h16c44.2002 0 80 35.7998 80 80c0 17.4004 -5.7002 33.4004 -15.0996 46.5c4.89941 0.799805 9.89941 1.5 15.0996 1.5c53 0 96 -43 96 -96c0 -11.2998 -2.2998 -21.9004 -5.90039 -32h5.90039
+c35.2998 0 64 -28.7002 64 -64c0 -19.2002 -8.7002 -36.2998 -22.0996 -48h14.0996c39.7998 0 72 -32.2002 72 -72c0 -23.4004 -11.2998 -44 -28.5996 -57.0996zM192 192c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32z
+M351.5 53c2 5.2998 -2 11 -7.7998 11h-175.4c-5.7998 0 -9.7998 -5.7002 -7.7998 -11c10.5 -27.9004 58.5 -53 95.5 -53s85 25.0996 95.5 53zM320 128c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576"
+d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-208c0 -44.1123 35.8877 -80 80 -80h336zM576 112c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256
+c0 26.5098 21.4902 48 48 48h384c26.5098 0 48 -21.4902 48 -48v-256zM256 320c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48s48 21.4902 48 48zM160 176v-48h352v112l-87.5137 87.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0
+l-135.515 -135.515l-39.5137 39.5146c-4.6875 4.68652 -12.2852 4.68652 -16.9717 0z" />
+ <glyph glyph-name="pencil-alt" unicode="&#xf303;"
+d="M497.9 305.9l-46.1006 -46.1006c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-111 111c-4.7002 4.7002 -4.7002 12.2998 0 17l46.1006 46.1006c18.6992 18.6992 49.0996 18.6992 67.8994 0l60.1006 -60.1006c18.7998 -18.7002 18.7998 -49.0996 0 -67.8994zM284.2 348.2
+c4.7002 4.7002 12.2998 4.7002 17.0996 0l111 -111c4.7002 -4.7002 4.7002 -12.2998 0 -17l-262.6 -262.601l-121.5 -21.2998c-16.4004 -2.7998 -30.7002 11.4004 -27.7998 27.7998l21.1992 121.5zM124.1 108.1c5.5 -5.5 14.3008 -5.5 19.8008 0l154 154
+c5.5 5.5 5.5 14.3008 0 19.8008s-14.3008 5.5 -19.8008 0l-154 -154c-5.5 -5.5 -5.5 -14.3008 0 -19.8008zM88 24v48h-36.2998l-11.2998 -64.5l31.0996 -31.0996l64.5 11.2998v36.2998h-48z" />
+ <glyph glyph-name="pen" unicode="&#xf304;"
+d="M290.74 354.76l128.02 -128.02l-277.99 -277.99l-114.14 -12.5996c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l12.7002 114.22zM497.94 373.82c18.75 -18.75 18.75 -49.1504 0 -67.9102l-56.5508 -56.5498l-128.02 128.02l56.5498 56.5498
+c18.75 18.75 49.1602 18.75 67.9102 0z" />
+ <glyph glyph-name="pen-alt" unicode="&#xf305;"
+d="M497.94 373.83c18.75 -18.7598 18.75 -49.1602 0 -67.9102l-56.5508 -56.5498l-128.02 128.02l56.5498 56.5508c18.75 18.75 49.1602 18.75 67.9102 0zM251.14 394.36l84.8506 -84.8506l82.7695 -82.7695l-196.79 -196.79
+c-44.8223 -44.8203 -132.335 -86.8428 -195.34 -93.7998c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l0.0302734 0.229492c7.00195 62.9189 49.0156 150.315 93.7803 195.08l151.56 151.55l-22.6299 22.6201l-101.82 -101.819
+c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6299 22.6299c-6.25 6.24023 -6.25 16.3701 0 22.6201l118.78 118.79c15.6201 15.6201 40.9395 15.6201 56.5596 0z" />
+ <glyph glyph-name="long-arrow-alt-down" unicode="&#xf309;" horiz-adv-x="255"
+d="M168 102.059h46.0576c21.3828 0 32.0908 -25.8516 16.9717 -40.9707l-86.0596 -86.0586c-9.37207 -9.37305 -24.5674 -9.37305 -33.9404 0l-86.0596 86.0586c-15.1191 15.1201 -4.41113 40.9707 16.9717 40.9707h46.0586v301.941c0 6.62695 5.37305 12 12 12h56
+c6.62695 0 12 -5.37305 12 -12v-301.941z" />
+ <glyph glyph-name="long-arrow-alt-left" unicode="&#xf30a;" horiz-adv-x="448"
+d="M134.059 152v-46.0576c0 -21.3828 -25.8516 -32.0908 -40.9707 -16.9717l-86.0586 86.0596c-9.37305 9.37207 -9.37305 24.5674 0 33.9404l86.0586 86.0596c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-46.0586h301.941c6.62695 0 12 -5.37305 12 -12v-56
+c0 -6.62695 -5.37305 -12 -12 -12h-301.941z" />
+ <glyph glyph-name="long-arrow-alt-right" unicode="&#xf30b;" horiz-adv-x="448"
+d="M313.941 232v46.0576c0 21.3828 25.8516 32.0908 40.9707 16.9717l86.0586 -86.0596c9.37305 -9.37207 9.37305 -24.5674 0 -33.9404l-86.0586 -86.0596c-15.1201 -15.1191 -40.9707 -4.41113 -40.9707 16.9717v46.0586h-301.941c-6.62695 0 -12 5.37305 -12 12v56
+c0 6.62695 5.37305 12 12 12h301.941z" />
+ <glyph glyph-name="long-arrow-alt-up" unicode="&#xf30c;" horiz-adv-x="256"
+d="M88 281.941h-46.0576c-21.3828 0 -32.0908 25.8516 -16.9717 40.9707l86.0596 86.0586c9.37207 9.37305 24.5674 9.37305 33.9404 0l86.0596 -86.0586c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-46.0586v-301.941c0 -6.62695 -5.37305 -12 -12 -12h-56
+c-6.62695 0 -12 5.37305 -12 12v301.941z" />
+ <glyph glyph-name="expand-arrows-alt" unicode="&#xf31e;" horiz-adv-x="448"
+d="M448.1 104v-112c0 -13.2998 -10.6992 -24 -24 -24h-112c-21.3994 0 -32.0996 25.9004 -17 41l36.2002 36.2002l-107.3 107.2l-107.2 -107.301l36.2002 -36.0996c15.0996 -15.0996 4.40039 -41 -17 -41h-112c-13.2998 0 -24 10.7002 -24 24v112
+c0 21.4004 25.9004 32.0996 41 17l36.2002 -36.2002l107.3 107.2l-107.3 107.3l-36.2002 -36.2998c-15.0996 -15.0996 -41 -4.40039 -41 17v112c0 13.2998 10.7002 24 24 24h112c21.4004 0 32.0996 -25.9004 17 -41l-36.2002 -36.2002l107.2 -107.2l107.3 107.301
+l-36.2002 36.0996c-15.0996 15.0996 -4.39941 41 17 41h112c13.3008 0 24 -10.7002 24 -24v-112c0 -21.4004 -25.8994 -32.0996 -41 -17l-36.1992 36.2002l-107.301 -107.2l107.301 -107.3l36.1992 36.2002c15.1006 15.1992 41 4.5 41 -16.9004z" />
+ <glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384"
+d="M384 336v-352c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h80c0 35.29 28.71 64 64 64s64 -28.71 64 -64h80c26.5098 0 48 -21.4902 48 -48zM192 408c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
+s24 10.7451 24 24s-10.7451 24 -24 24zM288 294v20c0 3.31152 -2.68848 6 -6 6h-180c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h180c3.31152 0 6 2.68848 6 6z" />
+ <glyph glyph-name="arrows-alt-h" unicode="&#xf337;"
+d="M377.941 278.059c0 21.3828 25.8516 32.0908 40.9707 16.9707l86.0586 -86.0596c9.37305 -9.37305 9.37305 -24.5674 0 -33.9404l-86.0586 -86.0596c-15.1201 -15.1191 -40.9707 -4.41113 -40.9707 16.9717v46.0586h-243.883v-46.0576
+c0 -21.3828 -25.8516 -32.0908 -40.9707 -16.9717l-86.0586 86.0596c-9.37305 9.37305 -9.37305 24.5674 0 33.9404l86.0586 86.0596c15.1201 15.1191 40.9707 4.41113 40.9707 -16.9717v-46.0586h243.883v46.0586z" />
+ <glyph glyph-name="arrows-alt-v" unicode="&#xf338;" horiz-adv-x="256"
+d="M214.059 70.0586c21.3828 0 32.0908 -25.8516 16.9707 -40.9707l-86.0596 -86.0586c-9.37305 -9.37305 -24.5674 -9.37305 -33.9404 0l-86.0596 86.0586c-15.1191 15.1201 -4.41113 40.9707 16.9717 40.9707h46.0586v243.883h-46.0576
+c-21.3828 0 -32.0908 25.8516 -16.9717 40.9707l86.0596 86.0586c9.37305 9.37305 24.5674 9.37305 33.9404 0l86.0596 -86.0586c15.1191 -15.1201 4.41113 -40.9707 -16.9717 -40.9707h-46.0586v-243.883h46.0586z" />
+ <glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;"
+d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM212 308v-116h-70.9004c-10.6992 0 -16.0996 -13 -8.5 -20.5l114.9 -114.3c4.7002 -4.7002 12.2002 -4.7002 16.9004 0l114.899 114.3c7.60059 7.59961 2.2002 20.5 -8.5 20.5
+h-70.7998v116c0 6.59961 -5.40039 12 -12 12h-64c-6.59961 0 -12 -5.40039 -12 -12z" />
+ <glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;"
+d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM372 236h-116v70.9004c0 10.6992 -13 16.0996 -20.5 8.5l-114.3 -114.9c-4.7002 -4.7002 -4.7002 -12.2002 0 -16.9004l114.3 -114.899
+c7.59961 -7.60059 20.5 -2.2002 20.5 8.5v70.7998h116c6.59961 0 12 5.40039 12 12v64c0 6.59961 -5.40039 12 -12 12z" />
+ <glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;"
+d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM140 148h116v-70.9004c0 -10.6992 13 -16.0996 20.5 -8.5l114.3 114.9c4.7002 4.7002 4.7002 12.2002 0 16.9004l-114.3 115c-7.59961 7.59961 -20.5 2.19922 -20.5 -8.5
+v-70.9004h-116c-6.59961 0 -12 -5.40039 -12 -12v-64c0 -6.59961 5.40039 -12 12 -12z" />
+ <glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;"
+d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM300 76v116h70.9004c10.6992 0 16.0996 13 8.5 20.5l-114.9 114.3c-4.7002 4.7002 -12.2002 4.7002 -16.9004 0l-115 -114.3c-7.59961 -7.59961 -2.19922 -20.5 8.5 -20.5
+h70.9004v-116c0 -6.59961 5.40039 -12 12 -12h64c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="external-link-alt" unicode="&#xf35d;" horiz-adv-x="576"
+d="M576 424v-127.984c0 -21.4609 -25.96 -31.9795 -40.9707 -16.9707l-35.707 35.709l-243.523 -243.522c-9.37305 -9.37305 -24.5674 -9.37305 -33.9404 0l-22.627 22.627c-9.37305 9.37305 -9.37305 24.5684 0 33.9404l243.524 243.525l-35.7031 35.7051
+c-15.0703 15.0703 -4.39648 40.9707 16.9717 40.9707h127.976c13.2549 0 24 -10.7451 24 -24zM407.029 177.206c15.1191 15.1201 40.9707 4.41211 40.9707 -16.9697v-176.236c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352
+c0 26.5098 21.4902 48 48 48h296c21.3809 0 32.0889 -25.8506 16.9697 -40.9707l-16 -16c-3.87988 -3.87988 -11.4824 -7.0293 -16.9697 -7.0293h-264v-320h320v144.235v0.000976562c0 5.4873 3.14941 13.0898 7.0293 16.9697z" />
+ <glyph glyph-name="external-link-square-alt" unicode="&#xf360;" horiz-adv-x="448"
+d="M448 368v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48zM360 352h-111.971c-21.3135 0 -32.0801 -25.8613 -16.9717 -40.9707l31.9844 -31.9873l-195.527 -195.527
+c-4.68555 -4.68555 -4.68555 -12.2832 0 -16.9707l31.0293 -31.0293c4.6875 -4.68555 12.2852 -4.68555 16.9707 0l195.526 195.526l31.9883 -31.9912c15.0283 -15.0264 40.9707 -4.47461 40.9707 16.9717v111.979c0 13.2549 -10.7451 24 -24 24z" />
+ <glyph glyph-name="exchange-alt" unicode="&#xf362;"
+d="M0 280v16c0 13.2549 10.7451 24 24 24h360v48c0 21.3672 25.8994 32.042 40.9707 16.9707l80 -80c9.37207 -9.37305 9.37207 -24.5684 0 -33.9404l-80 -80c-15.0146 -15.0127 -40.9707 -4.48633 -40.9707 16.9697v48h-360c-13.2549 0 -24 10.7451 -24 24zM488 128
+c13.2549 0 24 -10.7451 24 -24v-16c0 -13.2549 -10.7451 -24 -24 -24h-360v-48c0 -21.4365 -25.9434 -31.9971 -40.9707 -16.9697l-80 80c-9.37207 9.37207 -9.37207 24.5674 0 33.9404l80 80c15.1084 15.1094 40.9707 4.34375 40.9707 -16.9707v-48h360z" />
+ <glyph glyph-name="cloud-download-alt" unicode="&#xf381;" horiz-adv-x="640"
+d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160
+c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996zM404.7 132.7c10.0996 10.0996 2.89941 27.2998 -11.2998 27.2998h-65.4004v112c0 8.7998 -7.2002 16 -16 16
+h-48c-8.7998 0 -16 -7.2002 -16 -16v-112h-65.4004c-14.1992 0 -21.3994 -17.2002 -11.2998 -27.2998l105.4 -105.4c6.2002 -6.2002 16.3994 -6.2002 22.5996 0z" />
+ <glyph glyph-name="cloud-upload-alt" unicode="&#xf382;" horiz-adv-x="640"
+d="M537.6 221.4c58.4004 -11.8008 102.4 -63.5 102.4 -125.4c0 -70.7002 -57.2998 -128 -128 -128h-368c-79.5 0 -144 64.5 -144 144c0 62.7998 40.2002 116.2 96.2002 135.9c-0.100586 2.69922 -0.200195 5.39941 -0.200195 8.09961c0 88.4004 71.5996 160 160 160
+c59.2998 0 111 -32.2002 138.7 -80.2002c15.2002 10.2002 33.5996 16.2002 53.2998 16.2002c53 0 96 -43 96 -96c0 -12.2002 -2.2998 -23.9004 -6.40039 -34.5996zM393.4 160c14.1992 0 21.3994 17.2002 11.2998 27.2998l-105.4 105.4
+c-6.2002 6.2002 -16.3994 6.2002 -22.5996 0l-105.4 -105.4c-10.0996 -10.0996 -3 -27.2998 11.2998 -27.2998h65.4004v-112c0 -8.7998 7.2002 -16 16 -16h48c8.7998 0 16 7.2002 16 16v112h65.4004z" />
+ <glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576"
+d="M485.5 448l90.5 -160h-101.1l-69.2002 160h79.7998zM357.5 448l69.2002 -160h-277.4l69.2002 160h139zM90.5 448h79.7998l-69.2002 -160h-101.1zM0 256h100.7l123 -251.7c1.5 -3.09961 -2.7002 -5.89941 -5 -3.2998zM148.2 256h279.6l-137 -318.2
+c-1 -2.39941 -4.5 -2.39941 -5.5 0zM352.3 4.2998l123 251.7h100.7l-218.7 -254.9c-2.2998 -2.69922 -6.5 0.100586 -5 3.2002z" />
+ <glyph glyph-name="level-down-alt" unicode="&#xf3be;" horiz-adv-x="320"
+d="M313.553 55.6689l-103.966 -112.003c-9.48535 -10.2139 -25.6758 -10.2295 -35.1738 0l-103.975 112.003c-14.2061 15.2998 -3.37695 40.3311 17.5869 40.3311h63.9746v272h-83.9756h-0.00195312c-2.74316 0 -6.54395 1.5752 -8.4834 3.51465l-56 56
+c-7.56055 7.55957 -2.20605 20.4854 8.48535 20.4854h195.976c13.2549 0 24 -10.7451 24 -24v-328h63.9658c20.8779 0 31.8516 -24.9688 17.5869 -40.3311z" />
+ <glyph glyph-name="level-up-alt" unicode="&#xf3bf;" horiz-adv-x="320"
+d="M313.553 328.331c14.2646 -15.3623 3.29102 -40.3311 -17.5869 -40.3311h-63.9658v-328c0 -13.2549 -10.7451 -24 -24 -24h-195.976c-10.6914 0 -16.0459 12.9258 -8.48535 20.4854l56 56c1.93945 1.93945 5.74023 3.51465 8.4834 3.51465h0.00195312h83.9756v272
+h-63.9746c-20.9639 0 -31.793 25.0312 -17.5869 40.3311l103.975 112.003c9.49805 10.2295 25.6885 10.2139 35.1738 0z" />
+ <glyph glyph-name="lock-open" unicode="&#xf3c1;" horiz-adv-x="576"
+d="M423.5 448c84 0.299805 152.5 -68 152.5 -152v-80c0 -13.2998 -10.7002 -24 -24 -24h-32c-13.2998 0 -24 10.7002 -24 24v80c0 39.9004 -32.7002 72.4004 -72.7002 72c-39.5996 -0.400391 -71.2998 -33.2998 -71.2998 -72.9004v-71.0996h48c26.5 0 48 -21.5 48 -48v-192
+c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v192c0 26.5 21.5 48 48 48h224v70.5c0 84 67.5 153.2 151.5 153.5z" />
+ <glyph glyph-name="map-marker-alt" unicode="&#xf3c5;" horiz-adv-x="384"
+d="M172.268 -53.6699c-145.298 210.639 -172.268 232.257 -172.268 309.67c0 106.039 85.9609 192 192 192s192 -85.9609 192 -192c0 -77.4131 -26.9697 -99.0312 -172.268 -309.67c-9.53516 -13.7744 -29.9307 -13.7734 -39.4648 0zM192 176c44.1826 0 80 35.8174 80 80
+s-35.8174 80 -80 80s-80 -35.8174 -80 -80s35.8174 -80 80 -80z" />
+ <glyph glyph-name="microphone-alt" unicode="&#xf3c9;" horiz-adv-x="352"
+d="M336 256c8.83984 0 16 -7.16016 16 -16v-48c0 -88.9004 -66.29 -162.47 -152 -174.23v-33.7695h56c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56v34.1504
+c-88.0303 12.1396 -152 92.0498 -152 181.689v40.1602c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-42.2998c0 -66.8105 48.71 -126.59 115.21 -133.08c76.2998 -7.44043 140.79 52.5801 140.79 127.38v48c0 8.83984 7.16016 16 16 16h16zM176 96
+c-53.0195 0 -96 42.9805 -96 96v160c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16
+c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301c0 -53.0195 -42.9805 -96 -96 -96z" />
+ <glyph glyph-name="mobile-alt" unicode="&#xf3cd;" horiz-adv-x="320"
+d="M272 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-224c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h224zM160 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM272 76v312
+c0 6.59961 -5.40039 12 -12 12h-200c-6.59961 0 -12 -5.40039 -12 -12v-312c0 -6.59961 5.40039 -12 12 -12h200c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640"
+d="M352 160c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-64c-4.41992 0 -8 3.58008 -8 8v16c0 4.41992 3.58008 8 8 8h16v55.4404l-0.469727 -0.310547c-1.1123 -0.741211 -3.09961 -1.34375 -4.43652 -1.34375
+c-2.36328 0 -5.34375 1.59668 -6.65332 3.56348l-8.88086 13.3105c-0.741211 1.1123 -1.34375 3.09961 -1.34375 4.43555c0 2.36328 1.59668 5.34473 3.56445 6.6543l15.3301 10.2197c3.93945 2.62988 8.56934 4.03027 13.3096 4.03027h13.5801c4.41992 0 8 -3.58008 8 -8
+v-88h16zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM48 48h64c0 35.3496 -28.6504 64 -64 64v-64zM48 272c35.3496 0 64 28.6504 64 64h-64v-64zM320 80
+c53 0 96 50.1299 96 112c0 61.8604 -42.9805 112 -96 112s-96 -50.1396 -96 -112c0 -61.8496 42.9805 -112 96 -112zM592 48v64c-35.3496 0 -64 -28.6504 -64 -64h64zM592 272v64h-64c0 -35.3496 28.6504 -64 64 -64z" />
+ <glyph glyph-name="phone-slash" unicode="&#xf3dd;" horiz-adv-x="640"
+d="M268.2 66.5996c11.5 5.40039 22.7002 11.6006 33.5996 18.1006l80 -61.7998c-76 -54.5 -169 -86.9004 -269.7 -86.9004c-11.2998 0 -20.8994 7.7998 -23.3994 18.5996l-24 104c-2.60059 11.4004 3.2002 22.9004 13.8994 27.5l112 48
+c9.80078 4.2002 21.2002 1.40039 28 -6.89941zM633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002
+c5.5 7 15.5 8.2002 22.5 2.7998l353.9 -273.5c18.0996 22.5 33.7998 46.7002 46 72.8008l-60.6006 49.5996c-8.2998 6.7002 -11.0996 18.2002 -6.89941 28l48 112c4.59961 10.5996 16.1992 16.5 27.5 13.9004l104 -24c10.8994 -2.5 18.5996 -12.2002 18.5996 -23.4004
+c0 -108.9 -38.0996 -208.4 -100.9 -287.5z" />
+ <glyph glyph-name="portrait" unicode="&#xf3e0;" horiz-adv-x="384"
+d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM192 320c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM304 83.2002v19.2002
+c0 31.7998 -30.0996 57.5996 -67.2002 57.5996h-5c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-5c-37.1006 0 -67.2002 -25.7998 -67.2002 -57.5996v-19.2002c0 -10.6006 10 -19.2002 22.4004 -19.2002h179.199
+c12.4004 0 22.4004 8.59961 22.4004 19.2002z" />
+ <glyph glyph-name="reply" unicode="&#xf3e5;"
+d="M8.30859 258.164l176.005 151.985c15.4053 13.3047 39.6865 2.50391 39.6865 -18.1641v-80.0537c160.629 -1.83887 288 -34.0312 288 -186.258c0 -61.4404 -39.5811 -122.309 -83.333 -154.132c-13.6533 -9.93066 -33.1113 2.5332 -28.0771 18.6309
+c45.3438 145.012 -21.5068 183.51 -176.59 185.742v-87.915c0 -20.7002 -24.2998 -31.4531 -39.6865 -18.1641l-176.005 152c-11.0703 9.5625 -11.0859 26.7529 0 36.3281z" />
+ <glyph glyph-name="shield-alt" unicode="&#xf3ed;"
+d="M466.5 364.3c17.7998 -7.39941 29.5 -24.8994 29.5 -44.2998c0 -221.3 -135.9 -344.6 -221.6 -380.3c-11.8008 -4.90039 -25.1006 -4.90039 -36.9004 0c-107 44.5996 -221.5 181.8 -221.5 380.3c0 19.4004 11.7002 36.9004 29.5996 44.2998l192 80
+c4.89062 2.0293 13.1562 3.6748 18.4502 3.6748c5.29492 0 13.5596 -1.64551 18.4502 -3.6748zM256.1 1.7002c93.7002 46.5996 172.5 156.3 175.801 307.7l-175.9 73.2998z" />
+ <glyph glyph-name="tablet-alt" unicode="&#xf3fa;" horiz-adv-x="448"
+d="M400 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h352zM224 -32c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM400 76v312
+c0 6.59961 -5.40039 12 -12 12h-328c-6.59961 0 -12 -5.40039 -12 -12v-312c0 -6.59961 5.40039 -12 12 -12h328c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="tachometer-alt" unicode="&#xf3fd;" horiz-adv-x="576"
+d="M288 416c159.06 0 288 -128.94 288 -288c0 -52.7998 -14.25 -102.26 -39.0596 -144.8c-5.61035 -9.62012 -16.3008 -15.2002 -27.4404 -15.2002h-443c-11.1396 0 -21.8301 5.58008 -27.4404 15.2002c-24.8096 42.54 -39.0596 92 -39.0596 144.8
+c0 159.06 128.94 288 288 288zM288 352c-17.6699 0 -31.9902 -14.3301 -31.9902 -32s14.3301 -32 32 -32c6.66992 0 12.5098 2.51953 17.6406 6.00977l9.21973 27.6699c0.80957 2.44043 2.33984 4.41016 3.4502 6.66992c-3.74023 13.5205 -15.6104 23.6504 -30.3203 23.6504
+zM96 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM144 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM390.77 296.41c4.18066 12.5703 -2.59961 26.1699 -15.1699 30.3594
+c-12.6299 4.28027 -26.1895 -2.60938 -30.3594 -15.1699l-61.3398 -184.01c-33.4004 -2.16016 -59.9004 -29.6494 -59.9004 -63.5898c0 -11.7197 3.37988 -22.5498 8.87988 -32h110.24c5.5 9.4502 8.87988 20.2803 8.87988 32c0 19.46 -8.87012 36.6699 -22.5596 48.4102z
+M405.43 239.21c5.68066 -8.94043 15.1904 -15.21 26.5703 -15.2197c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32c-3.91992 0 -7.58008 -0.94043 -11.0498 -2.23047zM480 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z
+" />
+ <glyph glyph-name="ticket-alt" unicode="&#xf3ff;" horiz-adv-x="576"
+d="M128 288h320v-192h-320v192zM528 192c0 -26.5098 21.4902 -48 48 -48v-96c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v96c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48v96c0 26.5098 21.4902 48 48 48h480c26.5098 0 48 -21.4902 48 -48
+v-96c-26.5098 0 -48 -21.4902 -48 -48zM480 296c0 13.2549 -10.7451 24 -24 24h-336c-13.2549 0 -24 -10.7451 -24 -24v-208c0 -13.2549 10.7451 -24 24 -24h336c13.2549 0 24 10.7451 24 24v208z" />
+ <glyph glyph-name="user-alt" unicode="&#xf406;"
+d="M256 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144s-64.5 -144 -144 -144zM384 128c70.7002 0 128 -57.2998 128 -128v-16c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v16c0 70.7002 57.2998 128 128 128h55.0996
+c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h55.0996z" />
+ <glyph glyph-name="window-close" unicode="&#xf410;"
+d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM380.4 125.5l-67.1006 66.5l67.1006 66.5c4.7998 4.7998 4.7998 12.5996 0 17.4004l-40.5 40.5
+c-4.80078 4.7998 -12.6006 4.7998 -17.4004 0l-66.5 -67.1006l-66.5 67.1006c-4.7998 4.7998 -12.5996 4.7998 -17.4004 0l-40.5 -40.5c-4.7998 -4.80078 -4.7998 -12.6006 0 -17.4004l67.1006 -66.5l-67.1006 -66.5c-4.7998 -4.7998 -4.7998 -12.5996 0 -17.4004
+l40.5 -40.5c4.80078 -4.7998 12.6006 -4.7998 17.4004 0l66.5 67.1006l66.5 -67.1006c4.7998 -4.7998 12.5996 -4.7998 17.4004 0l40.5 40.5c4.7998 4.80078 4.7998 12.6006 0 17.4004z" />
+ <glyph glyph-name="baseball-ball" unicode="&#xf433;" horiz-adv-x="495"
+d="M368.5 84.0996c12.9004 -26.6992 30.2998 -50.1992 51.4004 -70.5996c-44.6006 -43 -105.101 -69.5 -171.9 -69.5c-66.9004 0 -127.5 26.5996 -172 69.7002c21.2002 20.3994 38.5996 44 51.5 70.7002l-28.7998 13.8994c-11.1006 -23 -26.1006 -43.2998 -44.2998 -61
+c-34 42.4004 -54.4004 96.1006 -54.4004 154.7s20.4004 112.3 54.4004 154.8c17.7998 -17.2998 32.5 -37.0996 43.5 -59.3994l28.6992 14.0996c-12.7998 25.9004 -30 48.9004 -50.6992 68.7998c44.5996 43.1006 105.199 69.7002 172.1 69.7002
+c67 0 127.6 -26.7002 172.2 -69.7998c-20.7998 -20 -38 -43 -50.7998 -69l28.6992 -14.1006c11 22.4004 25.8008 42.2002 43.6006 59.5c33.7998 -42.3994 54.2002 -96.0996 54.2002 -154.6c0 -58.5996 -20.5 -112.4 -54.5 -154.9c-18.1006 17.7002 -33 38 -44.1006 60.9004z
+M140.2 116.1c17.2998 53.9004 14.2998 108.2 -0.700195 153.801l-30.4004 -10c13.3008 -40.2002 15.5 -87.6006 0.600586 -134zM356.5 269.5c-15 -45.5 -18 -99.7998 -0.700195 -153.8l30.5 9.7998c-14.8994 46.5 -12.5996 93.9004 0.600586 134z" />
+ <glyph glyph-name="basketball-ball" unicode="&#xf434;" horiz-adv-x="496"
+d="M212.3 437.7c-1.5 -50 -17 -95.4004 -44.7998 -131.2l-77.4004 77.4004c36 29.6992 78.4004 47.5 122.2 53.7998zM248 226l-46.2998 46.2998c37.2002 45.4004 57.5 103.8 58.7002 167.7c51.8994 -2.59961 103.1 -21.0996 145.5 -56.0996zM56.0996 349.9l77.4004 -77.4004
+c-35.7002 -27.7998 -81.2002 -43.2998 -131.2 -44.7998c6.2998 43.7998 24.1006 86.2002 53.7998 122.2zM328.3 145.7l-46.2998 46.2998l157.9 157.9c35 -42.4004 53.5 -93.6006 56.0996 -145.5c-64 -1.30078 -122.4 -21.6006 -167.7 -58.7002zM248 158l46.2998 -46.2998
+c-37.0996 -45.2998 -57.3994 -103.7 -58.7002 -167.7c-51.8994 2.59961 -103.1 21.2002 -145.5 56.0996zM439.9 34.0996l-77.4004 77.4004c35.7002 27.7002 81.0996 43.2002 131.2 44.7998c-6.2998 -43.7998 -24.1006 -86.2002 -53.7998 -122.2zM167.7 238.3
+l46.2998 -46.2998l-157.9 -157.9c-35 42.4004 -53.5 93.6006 -56.0996 145.5c63.9004 1.10059 122.3 21.5 167.7 58.7002zM283.7 -53.7002c1.59961 50 17.0996 95.5 44.7998 131.2l77.4004 -77.4004c-36 -29.6992 -78.4004 -47.5 -122.2 -53.7998z" />
+ <glyph glyph-name="bowling-ball" unicode="&#xf436;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM120 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM184 352c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32
+s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM232 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="chess" unicode="&#xf439;" horiz-adv-x="514"
+d="M76.0996 237.8l-34.5996 95.1006c-2.7998 7.7998 3 16.0996 11.2998 16.0996h51.2002v30.2002h-21.5996c-3.30078 0 -6 2.7002 -6 6v22.3994c0 3.30078 2.69922 6 6 6h28.3994v28.4004c0 3.2998 2.7002 6 6 6h22.4004c3.2998 0 6 -2.7002 6 -6v-28.4004h28.3994
+c3.30078 0 6 -2.69922 6 -6v-22.3994c0 -3.2998 -2.69922 -6 -6 -6h-21.5996v-30.2002h51.0996c8.30078 0 14.1006 -8.2998 11.3008 -16.0996l-34.6006 -95.1006h-103.7zM313.3 147.1c-1.09961 0.700195 -1.7002 1.90039 -1.89941 3.10059v69.8994
+c0 2.2002 1.7998 3.90039 3.89941 3.90039h27.7002c2.2002 0 3.90039 -1.7998 3.90039 -3.90039v-31.5h22.6992v31.5c0 2.2002 1.80078 3.90039 3.90039 3.90039h52.9004c2.19922 0 3.89941 -1.7998 3.89941 -3.90039v-31.5h22.7002v31.5
+c0 2.2002 1.7998 3.90039 3.90039 3.90039h27.6992c2.2002 0 3.90039 -1.7998 3.90039 -3.90039v-69.8994c0 -1.2998 -0.599609 -2.5 -1.7002 -3.2002l-24.8994 -16.9004c-0.100586 -18.1992 0.199219 -64 11.8994 -114.5h-147.5c11.7002 50.6006 12 96.4004 11.9004 114.5z
+M384.8 95.0996h0.100586v-30.2998h30.2998v30.2998c0 8.40039 -6.7998 15.2002 -15.2002 15.2002s-15.2002 -6.7998 -15.2002 -15.2002zM504.6 -22.0996c1 -0.700195 1.5 -1.80078 1.5 -2.90039v-35c0 -2.2002 -1.7998 -3.90039 -3.89941 -3.90039h-204.5
+c-2.2002 0 -3.90039 1.80078 -3.90039 3.90039v35c0 1.09961 0.600586 2.2998 1.5 3l13.7002 10.5996v15.6006c0 2.2002 1.7998 3.89941 3.90039 3.89941h174.199c2.2002 0 3.90039 -1.7998 3.90039 -3.89941v-15.6006zM244.8 -11.2998
+c1.7998 -1.10059 2.7998 -3 2.7998 -5.10059v-41.5996c0 -3.2998 -2.69922 -6 -6 -6h-227.199c-3.30078 0 -6 2.7002 -6 6v41.5996c0 2.10059 1.09961 4 2.7998 5.10059l22.0996 14.2002v28.0996c0 3.2998 2.7002 6 6 6h177.4c3.2998 0 6 -2.7002 6 -6v-28.0996z
+M199.8 197.6h-25.7998c0 -31.6992 -2.2002 -96.1992 17.4004 -153.199h-126.801c19.9004 58.0996 17.4004 124.399 17.4004 153.199h-25.7998c-3.2998 0 -6 2.7002 -6 6v20.8008c0 3.2998 2.7002 6 6 6h143.6c3.2998 0 6 -2.7002 6 -6v-20.8008c0 -3.2998 -2.7002 -6 -6 -6z
+" />
+ <glyph glyph-name="chess-bishop" unicode="&#xf43a;" horiz-adv-x="320"
+d="M123.158 370.119c-15.7891 5.35059 -27.1582 20.2842 -27.1582 37.8809c0 22.0908 17.9092 40 40 40h47.7959c22.0908 0 40 -17.9092 40 -40c0 -17.541 -11.2949 -32.4336 -27.0049 -37.8291c23.9932 -16.6572 48.5771 -46.8389 68.7031 -82.0498l-120.565 -120.564
+c-0.969727 -0.969727 -1.75684 -2.87012 -1.75684 -4.24219s0.787109 -3.27246 1.75684 -4.24219l14.1426 -14.1426c0.969727 -0.969727 2.87012 -1.75684 4.24219 -1.75684s3.27246 0.787109 4.24219 1.75684l113.345 113.345
+c17.7578 -38.2979 29.3711 -79.4434 29.3711 -114.273c0 -53.7861 -22.8975 -75.7881 -58.4463 -86.0332v-57.9678h-183.651v57.9697c-35.543 10.2461 -58.4346 32.249 -58.4346 86.0303c0 78.0293 58.2803 187.766 113.419 226.119zM320 -52
+c0 -6.62695 -5.37305 -12 -12 -12h-296c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h296c6.62695 0 12 -5.37305 12 -12v-24z" />
+ <glyph glyph-name="chess-board" unicode="&#xf43c;"
+d="M192 192h64v-64h-64v64zM512 128h-64v64h64v-64zM0 256h64v-64h-64v64zM512 256h-64v64h64v-64zM512 0h-64v64h64v-64zM256 192v64h64v-64h-64zM0 -64v64h64v-64h-64zM128 -64v64h64v-64h-64zM384 448v-64h-64v64h64zM128 448v-64h-64v64h64zM256 -64v64h64v-64h-64z
+M0 384h64v-64h-64v64zM0 128h64v-64h-64v64zM256 448v-64h-64v64h64zM384 -64v64h64v-64h-64zM64 64h64v-64h-64v64zM320 64h64v-64h-64v64zM256 256h-64v64h64v-64zM384 64v64h64v-64h-64zM128 192v-64h-64v64h64zM384 192v64h64v-64h-64zM512 448v-64h-64v64h64zM128 320
+v-64h-64v64h64zM384 384h64v-64h-64v64zM192 64h64v-64h-64v64zM128 128h64v-64h-64v64zM256 128h64v-64h-64v64zM192 256v-64h-64v64h64zM320 320h-64v64h64v-64zM192 320h-64v64h64v-64zM320 256v64h64v-64h-64zM320 128v64h64v-64h-64z" />
+ <glyph glyph-name="chess-king" unicode="&#xf43f;" horiz-adv-x="448"
+d="M416 -28v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12zM407.967 296c27.5742 0 46.8789 -27.2441 37.7383 -53.2588l-85.2871 -242.741h-272.836l-85.2871 242.741
+c-9.14062 26.0146 10.1641 53.2588 37.7383 53.2588h159.967v48h-50c-3.31152 0 -6 2.68848 -6 6v36c0 3.31152 2.68848 6 6 6h50v50c0 3.31152 2.68848 6 6 6h36c3.31152 0 6 -2.68848 6 -6v-50h50c3.31152 0 6 -2.68848 6 -6v-36c0 -3.31152 -2.68848 -6 -6 -6h-50v-48
+h159.967z" />
+ <glyph glyph-name="chess-knight" unicode="&#xf441;" horiz-adv-x="384"
+d="M352 224v-224h-320v46.5566c0 30.3027 17.1201 58.0029 44.2227 71.5547l57.2432 28.6221c14.6465 7.32324 26.5342 26.5566 26.5342 42.9326v0v50.334l-22.127 -11.0635c-5.4502 -2.72461 -11.0723 -9.7334 -12.5498 -15.6445l-11.835 -47.3379
+c-0.822266 -3.28613 -4.04102 -6.97363 -7.18555 -8.23145l-29.6006 -11.8398c-1.18457 -0.473633 -3.18066 -0.858398 -4.45703 -0.858398c-1.40527 0 -3.58887 0.463867 -4.87305 1.03418l-60.2461 26.7744c-3.93359 1.74805 -7.12598 6.66113 -7.12598 10.9658v0v158.26
+c0 6.36523 2.5293 12.4707 7.03027 16.9717l8.96973 8.96973l-14.2109 28.4219c-0.987305 1.97461 -1.78906 5.36914 -1.78906 7.57617v0.00195312c0 6.62695 5.37305 12 12 12h148c106.039 0 192 -85.9609 192 -192zM372 -16c6.62695 0 12 -5.37305 12 -12v-24
+c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360zM52 320c-11.0459 0 -20 -8.9541 -20 -20s8.9541 -20 20 -20s20 8.9541 20 20s-8.9541 20 -20 20z" />
+ <glyph glyph-name="chess-pawn" unicode="&#xf443;" horiz-adv-x="320"
+d="M264 0h-208s60 42.7432 60 176h-32c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h40.209c-28.4883 13.4404 -48.209 42.4121 -48.209 76c0 46.3916 37.6084 84 84 84s84 -37.6084 84 -84c0 -33.5879 -19.7207 -62.5596 -48.209 -76h40.209
+c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-32c0 -133.257 60 -176 60 -176zM292 -16c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-264c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h264z" />
+ <glyph glyph-name="chess-queen" unicode="&#xf445;"
+d="M436 -64h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12zM255.579 448c30.9277 0 56 -25.0723 56 -56s-25.0723 -56 -56 -56s-56 25.0723 -56 56s25.0723 56 56 56z
+M460.147 293.366l39.3564 -20.7734c3.53223 -1.86426 6.39941 -6.61816 6.39941 -10.6123c0 -1.29883 -0.398438 -3.33008 -0.889648 -4.53223l-105.014 -257.448h-288l-105.014 257.449c-0.491211 1.20215 -0.889648 3.2334 -0.889648 4.53223
+c0 3.99414 2.86719 8.74805 6.39941 10.6123l39.1787 20.6797c5.6416 2.97754 12.6328 1.02637 15.8994 -4.45312c10.6074 -17.8018 23.7334 -38.0254 44.4248 -38.0254c28.7539 0 30.6357 19.8975 31.6875 57.5391c0.182617 6.49316 5.5 11.667 11.9951 11.667h41.0049
+c5.17578 0 9.75488 -3.32812 11.3887 -8.23828c8.89062 -26.709 26.0732 -40.9912 47.9248 -40.9912s39.0352 14.2822 47.9248 40.9912c1.63379 4.91016 6.21289 8.23828 11.3887 8.23828h41.0059c6.49414 0 11.8115 -5.17188 11.9951 -11.6641
+c1.06055 -37.7383 2.97168 -57.542 31.6855 -57.542c21.3184 0 35.4492 22.2852 44.0654 37.8008c3.16602 5.70215 10.3135 7.81543 16.082 4.77051z" />
+ <glyph glyph-name="chess-rook" unicode="&#xf447;" horiz-adv-x="384"
+d="M81.2412 232.973l-45.4209 42.3154c-2.43652 2.26953 -3.82031 5.4502 -3.82031 8.78027v119.932c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-44h47.999v44c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-44h48v44
+c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-119.933v-0.000976562c0 -2.88184 -1.71094 -6.81543 -3.82031 -8.7793l-45.418 -42.3125c0.285156 -44.0625 3.82129 -133.371 33.2217 -232.975h-287.982c29.4111 99.9238 32.957 189.08 33.2412 232.973z
+M160 192v-64.0039h64v64.0039c0 17.6729 -14.3271 32 -32 32s-32 -14.3271 -32 -32zM384 -28v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12z" />
+ <glyph glyph-name="dumbbell" unicode="&#xf44b;" horiz-adv-x="640"
+d="M104 352c13.2998 0 24 -10.7002 24 -24v-272c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v104h-24c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h24v104c0 13.2998 10.7002 24 24 24h48zM632 224c4.40039 0 8 -3.59961 8 -8v-48
+c0 -4.40039 -3.59961 -8 -8 -8h-24v-104c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v272c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-104h24zM456 416c13.2998 0 24 -10.7002 24 -24v-400c0 -13.2998 -10.7002 -24 -24 -24h-48
+c-13.2998 0 -24 10.7002 -24 24v168h-128v-168c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v400c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-168h128v168c0 13.2998 10.7002 24 24 24h48z" />
+ <glyph glyph-name="football-ball" unicode="&#xf44e;" horiz-adv-x="496"
+d="M481.5 387.7c6.2998 -23.9004 13.7002 -61 14.5 -104.5l-156.6 156.8c43.5996 -0.900391 80.8994 -8.5 104.8 -14.9004c18.2002 -4.89941 32.5 -19.1992 37.2998 -37.3994zM14.5 -3.7002c-6.2998 23.9004 -13.7002 61 -14.5 104.5l156.6 -156.8
+c-43.5996 0.900391 -80.8994 8.5 -104.8 14.9004c-18.2002 4.89941 -32.5 19.1992 -37.2998 37.3994zM4.2002 164.6c22.5996 152.7 138.899 252 271.399 271.4l216.301 -216.6c-22.7002 -152.7 -139 -252 -271.5 -271.4zM321.5 288.2l-28.2998 -28.5l-28.2998 28.2998
+c-3.10059 3.09961 -8.2002 3.09961 -11.3008 0l-11.2998 -11.2998c-3.09961 -3.10059 -3.09961 -8.2002 0 -11.2998l28.2998 -28.3008l-22.5996 -22.5996l-28.2998 28.2998c-3.10059 3.10059 -8.2002 3.10059 -11.2998 0l-11.3008 -11.2998
+c-3.09961 -3.09961 -3.09961 -8.2002 0 -11.2998l28.3008 -28.2998l-22.6006 -22.6006l-28.2998 28.2998c-3.09961 3.10059 -8.2002 3.10059 -11.2998 0l-11.2998 -11.2998c-3.10059 -3.09961 -3.10059 -8.2002 0 -11.2998l28.2998 -28.2002l-28.2998 -28.2998
+c-3.10059 -3.09961 -3.10059 -8.2002 0 -11.2998l11.2998 -11.2998c3.09961 -3.10059 8.2002 -3.10059 11.2998 0l28.2998 28.2998l28.2998 -28.2998c3.10059 -3.10059 8.2002 -3.10059 11.3008 0l11.2998 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998
+l-28.2998 28.2998l22.5996 22.6006l28.2998 -28.3008c3.10059 -3.09961 8.2002 -3.09961 11.2998 0l11.3008 11.3008c3.09961 3.09961 3.09961 8.19922 0 11.2998l-28.3008 28.2998l22.6006 22.7002l28.2998 -28.2998c3.09961 -3.10059 8.2002 -3.10059 11.2998 0
+l11.2998 11.2998c3.10059 3.09961 3.10059 8.2002 0 11.2998l-28.2998 28.2998l28.2998 28.2998c3.10059 3.10059 3.10059 8.2002 0 11.3008l-11.2998 11.2998c-3.09961 3.09961 -8.2002 3.09961 -11.2998 0z" />
+ <glyph glyph-name="golf-ball" unicode="&#xf450;" horiz-adv-x="416"
+d="M96 32h224c0 -17.7002 -14.2998 -32 -32 -32h-16c-17.7002 0 -32 -14.2998 -32 -32v-20c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v20c0 17.7002 -14.2998 32 -32 32h-16c-17.7002 0 -32 14.2998 -32 32zM416 240
+c0 -74.2002 -39 -139.2 -97.5 -176h-221c-58.5 36.7998 -97.5 101.8 -97.5 176c0 114.9 93.0996 208 208 208s208 -93.0996 208 -208zM235.9 196.1c18.2998 0 33.0996 14.8008 33.0996 33.1006c0 14.3994 -9.2998 26.2998 -22.0996 30.8994
+c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006zM285 149.2c0 14.3994 -9.2998 26.2998 -22.0996 30.8994c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994
+c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006c18.2998 0 33.0996 14.9004 33.0996 33.1006zM349 213.2c0 14.3994 -9.2998 26.2998 -22.0996 30.8994c9.59961 -26.7998 -15.6006 -51.2998 -41.9004 -41.8994c4.59961 -12.7998 16.5 -22.1006 30.9004 -22.1006
+c18.2998 0 33.0996 14.9004 33.0996 33.1006z" />
+ <glyph glyph-name="hockey-puck" unicode="&#xf453;"
+d="M0 288c0 53 114.6 96 256 96s256 -43 256 -96s-114.6 -96 -256 -96s-256 43 -256 96zM0 205.8c113.5 -82.3994 398.6 -82.2998 512 0v-109.8c0 -53 -114.6 -96 -256 -96s-256 43 -256 96v109.8z" />
+ <glyph glyph-name="quidditch" unicode="&#xf458;" horiz-adv-x="639"
+d="M256.5 231.2l86.7002 -109.2s-16.6006 -102.4 -76.6006 -150.1c-59.8994 -47.7002 -266.6 -34.1006 -266.6 -34.1006s3.7998 23.1006 11 55.4004l94.5996 112.2c4 4.69922 -0.899414 11.5996 -6.59961 9.5l-60.4004 -22.1006c14.4004 41.7002 32.7002 80 54.6006 97.5
+c59.8994 47.7998 163.3 40.9004 163.3 40.9004zM494.5 96.2002c44 0 79.7998 -35.7002 79.7998 -79.9004c0 -44.0996 -35.7002 -79.8994 -79.7998 -79.8994s-79.7998 35.7998 -79.7998 79.8994c0 44.1006 35.7998 79.9004 79.7998 79.9004zM636.5 417
+c5.5 -6.90039 4.40039 -17 -2.5 -22.5l-232.5 -177.9l34.0996 -42.8994c5.10059 -6.40039 1.7002 -15.9004 -6.2998 -17.6006l-58.7998 -12.3994l-86.7002 109.2l25.2998 54.5996c3.5 7.40039 13.5 8.59961 18.6006 2.2002l34.0996 -43l232.5 177.899
+c6.90039 5.40039 16.9004 4.30078 22.4004 -2.59961z" />
+ <glyph glyph-name="square-full" unicode="&#xf45c;"
+d="M512 -64h-512v512h512v-512z" />
+ <glyph glyph-name="table-tennis" unicode="&#xf45d;"
+d="M496.2 151.5c-64.1006 43.2002 -149.5 27.9004 -195.601 -34.2002l-211.5 211.5l56 56.1006c83.9004 84.0996 220 84.0996 303.9 0c63 -63.1006 78.7002 -155.601 47.2002 -233.4zM278.3 71.7998c-3.7002 -12.7002 -6.2998 -25.8994 -6.2002 -39.7002
+c0 -19.5 3.90039 -38.0996 11 -55.0996c-25.6992 2.7998 -50.5996 13.5996 -70.2998 33.2998l-35.7002 35.7002l-89.2998 -103.3c-7.5 -8.60059 -20.7002 -9.10059 -28.7002 -1l-53.3994 53.5c-8.10059 8.09961 -7.60059 21.2998 1 28.7998l103 89.4004l-34.5 34.5996
+c-39 39.0996 -44.6006 98.7998 -17.2998 144.1zM416 128c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96z" />
+ <glyph glyph-name="volleyball-ball" unicode="&#xf45f;" horiz-adv-x="495"
+d="M223.3 204.6c-71.8994 -44.3994 -123.399 -113 -146.1 -192.199c-24 22.7998 -43.5 50.2998 -56.9004 81.0996c22.7998 94.4004 89.5 174.4 180.3 216.8c14.1006 -32.8994 21.8008 -68.7002 22.7002 -105.7zM186.4 339c-84 -39.5 -149 -108.4 -182.4 -191.5
+c-19.7998 109.3 34 212.4 125 262.2c22.9004 -20.6006 42.4004 -44.2998 57.4004 -70.7002zM374 173.9c-35.5996 4.19922 -70.4004 15.5 -102.9 33.1992c-2.5 84.5 -36.1992 163.4 -93.5 222.7c47.3008 14 84.2002 10.2002 98.9004 8.5
+c70.2002 -66.8994 106.1 -164.6 97.5 -264.399zM249.3 164.4c49.7002 -26.8008 104 -40.8008 158.601 -40.9004c27.1992 0 54.2998 3.7998 80.8994 10.4004c-8 -33.1006 -22.5 -63.5 -42.2002 -89.9004c-93 -27.2998 -195.5 -9.5 -277.5 47.7998
+c21.5 28.7002 48.6006 53.2998 80.2002 72.6006zM151 64.7002c53.5996 -37.2998 144 -78.2002 256.9 -62.1006c-43.2002 -36.5 -98.9004 -58.5996 -159.9 -58.5996c-47.4004 0 -91.5 13.5 -129.1 36.5c6.39941 29.7998 16.8994 58.2002 32.0996 84.2002zM331.3 425.3
+c95.9004 -34.2998 164.601 -125.6 164.601 -233.399c0 -2 -0.300781 -4 -0.300781 -6c-29.1992 -9.40039 -59.3994 -14.4004 -89.6992 -14.2002c7.89941 92.3994 -19.3008 183.2 -74.6006 253.6z" />
+ <glyph glyph-name="allergies" unicode="&#xf461;" horiz-adv-x="448"
+d="M416 336c17.5996 0 32 -14.4004 32 -32v-176.1c-0.200195 -14 -1.90039 -28.6006 -5.09961 -42.3008l-26.5 -112.699c-5.10059 -21.7002 -24.4004 -37 -46.7002 -37h-197.601c-15.2998 0 -29.7998 7.39941 -38.7998 19.7998l-125.6 172.7
+c-13 17.8994 -9.10059 42.8994 8.7998 55.8994s42.9004 9.10059 55.9004 -8.7998l23.5996 -32.5v241c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-152c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v184c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-184
+c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v152c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-152c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v72c0 17.5996 14.4004 32 32 32zM176 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16
+s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM176 128c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM240 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM240 96c8.7998 0 16 7.2002 16 16
+s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM304 64c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM336 0c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM368 128
+c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16z" />
+ <glyph glyph-name="band-aid" unicode="&#xf462;" horiz-adv-x="640"
+d="M0 288c0 35.2998 28.7002 64 64 64h96v-320h-96c-35.2998 0 -64 28.7002 -64 64v192zM576 352c35.2998 0 64 -28.7002 64 -64v-192c0 -35.2998 -28.7002 -64 -64 -64h-96v320h96zM192 32v320h256v-320h-256zM368 264c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24
+s24 10.7002 24 24s-10.7002 24 -24 24zM368 168c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 264c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 168
+c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24z" />
+ <glyph glyph-name="box" unicode="&#xf466;"
+d="M509.5 263.4c0.799805 -2.40039 0.799805 -4.90039 1.2002 -7.40039h-238.7v192h141.4c20.6992 0 39 -13.2002 45.5 -32.7998zM240 448v-192h-238.7c0.400391 2.5 0.400391 5 1.2002 7.40039l50.5996 151.8c6.5 19.5996 24.8008 32.7998 45.5 32.7998h141.4zM0 224h512
+v-240c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v240z" />
+ <glyph glyph-name="boxes" unicode="&#xf468;" horiz-adv-x="576"
+d="M560 160c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96l32 21.2998l32 -21.2998v96h80zM176 224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96
+l32 21.2998l32 -21.2998v96h80c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224zM240 160c8.7998 0 16 -7.2002 16 -16v-192c0 -8.7998 -7.2002 -16 -16 -16h-224c-8.7998 0 -16 7.2002 -16 16v192c0 8.7998 7.2002 16 16 16h80v-96l32 21.2998
+l32 -21.2998v96h80z" />
+ <glyph glyph-name="briefcase-medical" unicode="&#xf469;"
+d="M464 320c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h80v48c0 26.5 21.5 48 48 48h160c26.5 0 48 -21.5 48 -48v-48h80zM192 352v-32h128v32h-128zM352 104v48c0 4.40039 -3.59961 8 -8 8h-56v56
+c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="burn" unicode="&#xf46a;" horiz-adv-x="384"
+d="M192 448c111.8 -100.9 192 -220.6 192 -300.5c0 -124.5 -79 -211.5 -192 -211.5s-192 87 -192 211.5c0 79.5996 79.7002 199.2 192 300.5zM192 0c56.5 0 96 39 96 94.7998c0 13.5 -4.59961 61.5 -96 161.2c-91.4004 -99.7002 -96 -147.7 -96 -161.2
+c0 -55.7998 39.5 -94.7998 96 -94.7998z" />
+ <glyph glyph-name="capsules" unicode="&#xf46b;" horiz-adv-x="575"
+d="M555.3 147.9c36.2002 -51.7002 23.7002 -123 -28 -159.2c-20 -14 -42.7998 -20.7002 -65.5 -20.7002c-36.0996 0 -71.5996 17 -93.7998 48.7998l-131.2 187.3c-5.5 7.90039 -9.5 16.4004 -12.7998 25v-149.1c0 -61.9004 -50.0996 -112 -112 -112s-112 50.0996 -112 112
+v224c0 61.9004 50.0996 112 112 112c60 0 108.5 -47.2002 111.4 -106.5c7.7998 21 21.7998 40 41.5 53.7998c20 14 42.8994 20.7002 65.5 20.7002c36 0 71.5 -17 93.7998 -48.7998zM160 192v112c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-112h96zM354.8 147.1
+l82.5 57.7002l-65.5996 93.7002c-9.40039 13.5 -24.7998 21.5 -41.2998 21.5c-10.3008 0 -20.3008 -3.09961 -28.8008 -9.09961c-11 -7.7002 -18.3994 -19.3008 -20.6992 -32.5c-2.40039 -13.2002 0.599609 -26.6006 8.2998 -37.6006z" />
+ <glyph glyph-name="clipboard-check" unicode="&#xf46c;" horiz-adv-x="384"
+d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
+s-10.7002 24 -24 24zM313.2 176.2c4.7002 4.7002 4.7998 12.2002 0.0996094 17l-28.2002 28.3994c-4.69922 4.7002 -12.2998 4.80078 -17 0.100586l-106 -105.2l-46 46.4004c-4.69922 4.69922 -12.2998 4.7998 -17 0.0996094l-28.3994 -28.2002
+c-4.7002 -4.7002 -4.7998 -12.2998 -0.100586 -17l82.6006 -83.2998c4.7002 -4.7002 12.2998 -4.7998 17 -0.0996094z" />
+ <glyph glyph-name="clipboard-list" unicode="&#xf46d;" horiz-adv-x="384"
+d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM96 24c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24
+s10.7002 -24 24 -24zM96 120c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24zM96 216c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24zM192 408c-13.2998 0 -24 -10.7002 -24 -24
+s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM320 40v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM320 136v16c0 4.40039 -3.59961 8 -8 8h-144
+c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8zM320 232v16c0 4.40039 -3.59961 8 -8 8h-144c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h144c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="diagnoses" unicode="&#xf470;" horiz-adv-x="640"
+d="M496 192c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM320 272c-48.5 0 -88 39.5 -88 88s39.5 88 88 88s88 -39.5 88 -88s-39.5 -88 -88 -88zM59.7998 84l-17.7002 26.7002c-8.7998 13.2998 -7.59961 34.5996 10 45.0996
+c7.40039 4.40039 17.5 10 28.7002 16c31.6006 -27.2998 79 -4.2002 79.2002 36c47.0996 17.7002 103 32.2002 160 32.2002c45.0996 0 89.2998 -9.2002 129.2 -21.7998c-11.7002 -52.9004 59.5996 -81.2002 87.7002 -35.1006
+c21.3994 -10.3994 39.1992 -20.2998 51.0996 -27.3994c17.5996 -10.5 18.7998 -31.9004 10 -45.1006l-17.7998 -26.6992c-10.2002 -15.1006 -29.2998 -17.8008 -42.9004 -9.80078c-16.2002 9.60059 -56.2002 31.8008 -105.3 48.6006v-90.7002h-224v90.7998
+c-49.0996 -16.8994 -89.0996 -39 -105.3 -48.5996c-13.6006 -8 -32.7002 -5.5 -42.9004 9.7998zM368 104c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24s-10.7002 24 -24 24zM272 200c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24
+s24 10.7002 24 24s-10.7002 24 -24 24zM112 192c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM624 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32
+c0 8.7998 7.2002 16 16 16h608z" />
+ <glyph glyph-name="dna" unicode="&#xf471;" horiz-adv-x="448"
+d="M0.0996094 -46.0996c5.2002 42.8994 31.4004 153.899 159.9 238.1c-128.6 84.2002 -154.7 195.2 -159.9 238.1c-1.09961 9.5 6.40039 17.8008 16 17.8008l32.3008 0.0996094c8.09961 0.0996094 14.8994 -5.90039 16 -13.9004
+c0.699219 -5 1.7998 -11.0996 3.39941 -18.0996h312.4c1.59961 7 2.7002 13.2002 3.39941 18.0996c1.10059 8 7.90039 13.9004 16 13.9004l32.4004 -0.0996094c9.59961 0 17 -8.30078 15.9004 -17.8008c-5.80078 -47.8994 -37.4004 -181.199 -209.5 -266.699
+c-31.7002 -15.8008 -57.4004 -33.3008 -78.7002 -51.4004h127.6c-5.59961 4.7998 -10.7998 9.59961 -17 14.2002c21.4004 11.2002 40.9004 23 58.5 35.3994c93.2998 -78.6992 114.3 -169.8 118.9 -207.699c1.2002 -9.5 -6.2998 -17.8008 -15.9004 -17.8008
+l-32.2998 -0.0996094c-8.09961 -0.0996094 -14.9004 5.90039 -16 13.9004c-0.599609 4.89941 -1.90039 11.1992 -3.5 18.0996h-312.3c-1.60059 -7 -2.7002 -13.2002 -3.40039 -18.0996c-1.09961 -8 -7.89941 -13.9004 -16 -13.9004l-32.2998 0.0996094
+c-9.59961 0 -17 8.30078 -15.9004 17.8008zM224 228.4c25.0996 13.5996 46.4004 28.3994 64.2002 43.5996h-128.5c17.8994 -15.2002 39.2002 -29.9004 64.2998 -43.5996zM355.1 352h-262.1c5.7002 -10.4004 12.7002 -21.0996 21 -32h220.1
+c8.2002 10.9004 15.2002 21.5996 21 32zM92.9004 32h261.6c-5.7998 10.4004 -12.9004 21.0996 -21.2002 32h-219.399c-8.2002 -10.9004 -15.2002 -21.5996 -21 -32z" />
+ <glyph glyph-name="dolly" unicode="&#xf472;" horiz-adv-x="576"
+d="M294.2 170.3l-53 159.4c-2.7998 8.2998 1.7002 17.3994 10.0996 20.2002l61.6006 20.5l33.0996 -99.4004l60.7002 20.0996l-33.1006 99.4004l61.1006 20.4004c8.2998 2.7998 17.3994 -1.7002 20.2002 -10.1006l60.3994 -181.2
+c2.7998 -8.2998 -1.7002 -17.3994 -10.0996 -20.1992l-161.5 -53.8008c-14.7998 11.3008 -31.5 19.7002 -49.5 24.7002zM575.2 121.6c2.7998 -8.39941 -1.7998 -17.3994 -10.1006 -20.1992l-213.3 -71.2002c-1.09961 -57.7998 -53.2002 -103.3 -113.399 -92.6006
+c-39.4004 6.90039 -71.2002 39.8008 -77.3008 79.2002c-5.69922 36.9004 9.90039 70.1006 36 90.5l-92.1992 276.7h-88.9004c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h112c13.7998 0 26 -8.7998 30.4004 -21.9004l99.3994 -298.199
+c29.9004 -0.600586 56.2998 -15 73.5 -37l213.5 71.1992c8.2998 2.80078 17.4004 -1.69922 20.2002 -10.0996zM256 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
+ <glyph glyph-name="dolly-flatbed" unicode="&#xf474;" horiz-adv-x="640"
+d="M208 128c-8.7998 0 -16 7.2002 -16 16v256c0 8.7998 7.2002 16 16 16h144v-128l48 32l48 -32v128h144c8.7998 0 16 -7.2002 16 -16v-256c0 -8.7998 -7.2002 -16 -16 -16h-384zM624 64c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-82.7998
+c1.7002 -5 2.89941 -10.4004 2.89941 -16c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 5.59961 1.10059 11 2.90039 16h-197.9c1.7002 -5 2.90039 -10.4004 2.90039 -16c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 5.59961 1.09961 11 2.90039 16h-82.9004
+c-8.7998 0 -16 7.2002 -16 16v368h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16v-368h496z" />
+ <glyph glyph-name="file-medical" unicode="&#xf477;" horiz-adv-x="384"
+d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136z
+M288 152c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56
+c4.40039 0 8 3.59961 8 8v48z" />
+ <glyph glyph-name="file-medical-alt" unicode="&#xf478;" horiz-adv-x="448"
+d="M288 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v168h70.0996l34.8008 -69.5c2.89941 -5.90039 11.3994 -5.90039 14.2998 0l56.7998 113.7l22.0996 -44.2002h89.9004c8.7998 0 16 7.2002 16 16
+s-7.2002 16 -16 16h-70.2002l-34.7002 69.5c-2.89941 5.90039 -11.3994 5.90039 -14.2998 0l-56.7998 -113.7l-19.9004 39.7998c-1.39941 2.7002 -4.19922 4.40039 -7.19922 4.40039h-140.9c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h56v232
+c0 13.2998 10.7002 24 24 24h200v-136zM441 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
+ <glyph glyph-name="first-aid" unicode="&#xf479;" horiz-adv-x="576"
+d="M0 368c0 26.5 21.5 48 48 48h48v-448h-48c-26.5 0 -48 21.5 -48 48v352zM128 -32v448h320v-448h-320zM192 216v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8v48
+c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8zM528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-48v448h48z" />
+ <glyph glyph-name="hospital-alt" unicode="&#xf47d;" horiz-adv-x="576"
+d="M544 352c17.7002 0 32 -14.2998 32 -32v-368c0 -8.7998 -7.2002 -16 -16 -16h-544c-8.7998 0 -16 7.2002 -16 16v368c0 17.7002 14.2998 32 32 32h128v64c0 17.7002 14.2998 32 32 32h192c17.7002 0 32 -14.2998 32 -32v-64h128zM160 12v40c0 6.59961 -5.40039 12 -12 12
+h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM160 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM320 12v40
+c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM320 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40
+c6.59961 0 12 5.40039 12 12zM336 310v20c0 3.2998 -2.7002 6 -6 6h-26v26c0 3.2998 -2.7002 6 -6 6h-20c-3.2998 0 -6 -2.7002 -6 -6v-26h-26c-3.2998 0 -6 -2.7002 -6 -6v-20c0 -3.2998 2.7002 -6 6 -6h26v-26c0 -3.2998 2.7002 -6 6 -6h20c3.2998 0 6 2.7002 6 6v26h26
+c3.2998 0 6 2.7002 6 6zM480 12v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12zM480 140v40c0 6.59961 -5.40039 12 -12 12h-40c-6.59961 0 -12 -5.40039 -12 -12v-40
+c0 -6.59961 5.40039 -12 12 -12h40c6.59961 0 12 5.40039 12 12z" />
+ <glyph glyph-name="hospital-symbol" unicode="&#xf47e;"
+d="M256 448c141.4 0 256 -114.6 256 -256s-114.6 -256 -256 -256s-256 114.6 -256 256s114.6 256 256 256zM368 72v240c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-88h-96v88c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-240
+c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v88h96v-88c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="id-card-alt" unicode="&#xf47f;" horiz-adv-x="576"
+d="M528 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h144v-96h192v96h144zM288 224c-35.2998 0 -64 -28.7002 -64 -64s28.7002 -64 64 -64s64 28.7002 64 64s-28.7002 64 -64 64zM381.3 0
+c10.4004 0 18.7998 10 15.6006 19.7998c-8.40039 25.7002 -32.5 44.2002 -60.9004 44.2002h-8.2002c-12.2002 -5.09961 -25.7002 -8 -39.7998 -8s-27.5 2.90039 -39.7998 8h-8.2002c-28.5 0 -52.5996 -18.5996 -60.9004 -44.2002
+c-3.19922 -9.7998 5.2002 -19.7998 15.6006 -19.7998h186.6zM352 416v-96h-128v96c0 17.7002 14.2998 32 32 32h64c17.7002 0 32 -14.2998 32 -32z" />
+ <glyph glyph-name="notes-medical" unicode="&#xf481;" horiz-adv-x="384"
+d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
+s-10.7002 24 -24 24zM288 104v48c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8v-48c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8
+v56h56c4.40039 0 8 3.59961 8 8zM288 296v16c0 4.40039 -3.59961 8 -8 8h-176c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h176c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="pallet" unicode="&#xf482;" horiz-adv-x="640"
+d="M144 192c-8.7998 0 -16 7.2002 -16 16v224c0 8.7998 7.2002 16 16 16h112v-128l64 32l64 -32v128h112c8.7998 0 16 -7.2002 16 -16v-224c0 -8.7998 -7.2002 -16 -16 -16h-352zM624 64h-48v-64h48c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608
+c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v64h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16zM288 0v64h-160v-64h160zM512 0v64h-160v-64h160z" />
+ <glyph glyph-name="pills" unicode="&#xf484;" horiz-adv-x="575"
+d="M112 416c61.9004 0 112 -50.0996 112 -112v-224c0 -61.9004 -50.0996 -112 -112 -112s-112 50.0996 -112 112v224c0 61.9004 50.0996 112 112 112zM160 192v112c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-112h96zM299.7 221.7l210.8 -210.8
+c3.5 -3.5 3.2002 -9.40039 -0.799805 -12.3008c-62.5 -45.2998 -150.101 -40.3994 -206.4 15.9004s-61.2002 143.9 -15.8994 206.4c2.89941 3.89941 8.7998 4.2998 12.2998 0.799805zM529.5 240.7c56.4004 -56.2998 61.2002 -143.8 15.9004 -206.4
+c-2.90039 -3.89941 -8.80078 -4.2998 -12.3008 -0.799805l-210.8 210.8c-3.5 3.5 -3.2002 9.40039 0.799805 12.2998c62.5 45.3008 150.101 40.4004 206.4 -15.8994z" />
+ <glyph glyph-name="prescription-bottle" unicode="&#xf485;" horiz-adv-x="384"
+d="M32 256v64h320v-352c0 -17.5996 -14.4004 -32 -32 -32h-256c-17.5996 0 -32 14.4004 -32 32v64h120c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-120v64h120c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-120v64h120c4.40039 0 8 3.59961 8 8v16
+c0 4.40039 -3.59961 8 -8 8h-120zM360 448c13.2002 0 24 -10.7998 24 -24v-48c0 -13.2002 -10.7998 -24 -24 -24h-336c-13.2002 0 -24 10.7998 -24 24v48c0 13.2002 10.7998 24 24 24h336z" />
+ <glyph glyph-name="prescription-bottle-alt" unicode="&#xf486;" horiz-adv-x="384"
+d="M360 448c13.2002 0 24 -10.7998 24 -24v-48c0 -13.2002 -10.7998 -24 -24 -24h-336c-13.2002 0 -24 10.7998 -24 24v48c0 13.2002 10.7998 24 24 24h336zM32 -32v352h320v-352c0 -17.5996 -14.4004 -32 -32 -32h-256c-17.5996 0 -32 14.4004 -32 32zM96 152v-48
+c0 -4.40039 3.59961 -8 8 -8h56v-56c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v56h56c4.40039 0 8 3.59961 8 8v48c0 4.40039 -3.59961 8 -8 8h-56v56c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8v-56h-56c-4.40039 0 -8 -3.59961 -8 -8z
+" />
+ <glyph glyph-name="procedures" unicode="&#xf487;" horiz-adv-x="640"
+d="M528 224c61.9004 0 112 -50.0996 112 -112v-160c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v48h-512v-48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v352c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-240h192
+v144c0 8.7998 7.2002 16 16 16h256zM136 352c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h140.9c3.09961 0 5.7998 -1.7002 7.19922 -4.40039l19.9004 -39.7998l49.7002 99.4004c5.89941 11.7998 22.7002 11.7998 28.5996 0l27.6006 -55.2002h102.1
+c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16h-121.9l-22.0996 44.2002l-49.7002 -99.4004c-5.89941 -11.7998 -22.7002 -11.7998 -28.5996 0l-27.6006 55.2002h-126.1zM160 96c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64
+s-28.7002 -64 -64 -64z" />
+ <glyph glyph-name="shipping-fast" unicode="&#xf48b;" horiz-adv-x="640"
+d="M624 96c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48c0 -53 -43 -96 -96 -96s-96 43 -96 96h-128c0 -53 -43 -96 -96 -96s-96 43 -96 96v128h152c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-208c-4.40039 0 -8 3.59961 -8 8v16
+c0 4.40039 3.59961 8 8 8h240c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-208c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h240c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-272c-4.40039 0 -8 3.59961 -8 8v16
+c0 4.40039 3.59961 8 8 8h56v48c0 26.5 21.5 48 48 48h256c26.5 0 48 -21.5 48 -48v-48h44.0996c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l99.9004 -99.9004c9 -9 14.0996 -21.2002 14.0996 -33.9004v-108.1h16zM160 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48
+s-48 -21.5 -48 -48s21.5 -48 48 -48zM480 -16c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM560 192v12.0996l-99.9004 99.9004h-44.0996v-112h144z" />
+ <glyph glyph-name="smoking" unicode="&#xf48d;" horiz-adv-x="640"
+d="M632 96c4.40039 0 8 -3.59961 8 -8v-144c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v144c0 4.40039 3.59961 8 8 8h48zM553.3 360.9c54.2998 -36.4004 86.7002 -97.1006 86.7002 -162.601v-30.2998c0 -4.40039 -3.59961 -8 -8 -8h-48
+c-4.40039 0 -8 3.59961 -8 8v30.2998c0 50.2002 -25.2002 96.7002 -67.4004 124c-18.3994 12 -28.5996 33.4004 -28.5996 55.4004v62.2998c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-62.2998c0 -6.7998 3.59961 -13 9.2998 -16.7998zM432 96
+c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-384c-26.5 0 -48 21.5 -48 48v64c0 26.5 21.5 48 48 48h384zM400 -16v64h-176v-64h176zM487.7 306.4c35.2998 -24.7002 56.2998 -64.8008 56.2998 -108.101v-30.2998c0 -4.40039 -3.59961 -8 -8 -8h-48
+c-4.40039 0 -8 3.59961 -8 8v30.2998c0 27.4004 -13.2998 52.9004 -35.7002 68.6006c-35.7002 25.0996 -60.2998 63 -60.2998 106.699v66.4004c0 4.40039 3.59961 8 8 8h48c4.40039 0 8 -3.59961 8 -8v-62.2998c0 -29 15.7998 -54.7002 39.7002 -71.2998zM536 96
+c4.40039 0 8 -3.59961 8 -8v-144c0 -4.40039 -3.59961 -8 -8 -8h-48c-4.40039 0 -8 3.59961 -8 8v144c0 4.40039 3.59961 8 8 8h48z" />
+ <glyph glyph-name="syringe" unicode="&#xf48e;"
+d="M201.5 273.2l64.9004 65l135.699 -135.7l-181.899 -181.9c-17.5 -17.5996 -41.5 -25.5996 -65.4004 -23l-63.5996 7.10059l-66.2998 -66.2998c-3.10059 -3.10059 -8.2002 -3.10059 -11.3008 0l-11.2998 11.2998c-3.09961 3.09961 -3.09961 8.2002 0 11.2998
+l66.4004 66.4004l-7.10059 63.5996c-2.59961 24.2998 5.7002 48.0996 23 65.4004l26.4004 26.3994l55.7998 -55.8994c3.10059 -3.10059 8.2002 -3.10059 11.2998 0l11.3008 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998l-55.8008 55.7998l45.3008 45.2998
+l55.6992 -55.7998c3.10059 -3.09961 8.2002 -3.09961 11.3008 0l11.2998 11.2998c3.09961 3.10059 3.09961 8.2002 0 11.3008zM509.7 366.5c3.09961 -3.2002 3.09961 -8.2002 0 -11.4004l-11.2998 -11.2998c-3.10059 -3.09961 -8.2002 -3.09961 -11.3008 0l-28.2998 28.2998
+l-45.2998 -45.2998l73.5 -73.5c3.09961 -3.09961 3.09961 -8.2002 0 -11.2998l-33.9004 -34c-3.09961 -3.09961 -8.19922 -3.09961 -11.2998 0l-17 17l-135.7 135.9l-17 17c-3.09961 3.09961 -3.09961 8.19922 0 11.2998l33.9004 33.8994
+c3.09961 3.10059 8.2002 3.10059 11.2998 0l17 -17l56.6006 -56.5996l45.2998 45.2998l-28.2998 28.2998c-3.10059 3.10059 -3.10059 8.2002 0 11.3008l11.2998 11.2998c3.09961 3.09961 8.2002 3.09961 11.2998 0z" />
+ <glyph glyph-name="tablets" unicode="&#xf490;" horiz-adv-x="639"
+d="M160 256c81.0996 0 147.5 -58.5 160 -134.7c0.799805 -4.7998 -3.2998 -9.2998 -8.2998 -9.2998h-303.3c-5 0 -9.10059 4.5 -8.30078 9.2998c12.4004 76.2002 78.8008 134.7 159.9 134.7zM311.6 80c5 0 9.10059 -4.5 8.30078 -9.2998
+c-12.4004 -76.2002 -78.8008 -134.7 -159.9 -134.7s-147.5 58.5 -159.9 134.7c-0.799805 4.7998 3.30078 9.2998 8.30078 9.2998h303.199zM593.4 401.4c56.5 -56.5 61.3994 -144.2 15.8994 -206.9c-2.7998 -4 -8.7998 -4.2998 -12.2998 -0.799805l-211.3 211.399
+c-3.5 3.40039 -3.2002 9.40039 0.799805 12.3008c62.7002 45.3994 150.4 40.5 206.9 -16zM363 382.3l211.3 -211.3c3.5 -3.40039 3.2002 -9.40039 -0.799805 -12.2998c-62.7002 -45.5 -150.4 -40.6006 -206.9 15.8994c-56.3994 56.5 -61.2998 144.2 -15.8994 206.9
+c2.7998 4 8.7998 4.2998 12.2998 0.799805z" />
+ <glyph glyph-name="thermometer" unicode="&#xf491;"
+d="M476.8 427.6c49.4004 -40.6992 42.1006 -107.3 7.2002 -142.199l-254.2 -253.301h-99.8994l-89 -89c-9.30078 -9.39941 -24.5 -9.39941 -33.9004 0c-9.40039 9.30078 -9.40039 24.5 0 33.9004l89 89v100.9l45.2998 45.6992l50.1006 -50.1992
+c3.09961 -3.10059 8.19922 -3.10059 11.2998 0l11.2998 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998l-50.0996 50.2002l45.0996 45.3994l50.2998 -50.1992c3.10059 -3.10059 8.2002 -3.10059 11.2998 0l11.3008 11.2998c3.09961 3.09961 3.09961 8.2002 0 11.2998
+l-50.3008 50.4004l45.1006 45.3994l50.3994 -50.5c3.10059 -3.09961 8.2002 -3.09961 11.3008 0l11.2998 11.2998c3.09961 3.10059 3.09961 8.2002 0 11.3008l-50.5 50.5l45.7002 46c36.3994 36.5 94.3994 40.8994 131.899 10.1992z" />
+ <glyph glyph-name="vial" unicode="&#xf492;" horiz-adv-x="480"
+d="M477.7 261.9c3.09961 -3.10059 3.09961 -8.2002 0 -11.2002l-34 -33.9004c-3.10059 -3.09961 -8.2002 -3.09961 -11.2998 0l-11.2002 11.1006l-246.3 -245.7c-20.1006 -20.1006 -46.5 -30.1006 -72.9004 -30.1006c-28.9004 -0.0996094 -57.7998 11.9004 -78.4004 35.9004
+c-35.6992 41.5 -29.3994 104.8 9.40039 143.5l242.4 241.9l-11.2002 11.0996c-3.10059 3.09961 -3.10059 8.2002 0 11.2998l34 33.9004c3.09961 3.09961 8.2002 3.09961 11.2998 0zM318 192l69.5 69.4004l-78.5 78.2998l-148 -147.7h157z" />
+ <glyph glyph-name="vials" unicode="&#xf493;" horiz-adv-x="640"
+d="M72 384c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h208c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-24v-240c0 -44.0996 -35.9004 -80 -80 -80s-80 35.9004 -80 80v240h-24zM144 384v-96h64v96h-64zM624 0c8.7998 0 16 -7.2002 16 -16
+v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608zM360 384c-4.40039 0 -8 3.59961 -8 8v48c0 4.40039 3.59961 8 8 8h208c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-24v-240
+c0 -44.0996 -35.9004 -80 -80 -80s-80 35.9004 -80 80v240h-24zM432 384v-96h64v96h-64z" />
+ <glyph glyph-name="warehouse" unicode="&#xf494;" horiz-adv-x="640"
+d="M504 96c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-367.7c-4.39941 0 -8 3.59961 -8 8l0.100586 48c0 4.40039 3.59961 8 8 8h367.6zM504 0c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-368c-4.40039 0 -8 3.59961 -8 8
+l0.0996094 48c0 4.40039 3.60059 8 8 8h367.9zM504 192c4.40039 0 8 -3.59961 8 -8v-48c0 -4.40039 -3.59961 -8 -8 -8h-367.5c-4.40039 0 -8 3.59961 -8 8l0.0996094 48c0 4.40039 3.60059 8 8 8h367.4zM610.5 331c17.7998 -7.5 29.5 -24.9004 29.5 -44.2998v-342.7
+c0 -4.40039 -3.59961 -8 -8 -8h-80c-4.40039 0 -8 3.59961 -8 8v248c0 17.5996 -14.5996 32 -32.5996 32h-382.801c-18 0 -32.5996 -14.4004 -32.5996 -32v-248c0 -4.40039 -3.59961 -8 -8 -8h-80c-4.40039 0 -8 3.59961 -8 8v342.7c0 19.3994 11.7002 36.7998 29.5 44.2998
+l272 113.3c4.89062 2.0293 13.1553 3.6748 18.4502 3.6748c5.29395 0 13.5596 -1.64551 18.4502 -3.6748z" />
+ <glyph glyph-name="weight" unicode="&#xf496;"
+d="M448 384c35.29 0 64 -28.71 64 -64v-320c0 -35.29 -28.71 -64 -64 -64h-384c-35.29 0 -64 28.71 -64 64v320c0 35.29 28.71 64 64 64h25.9805c-16.4209 -28.2803 -25.9805 -61.0098 -25.9805 -96c0 -105.87 86.1299 -192 192 -192s192 86.1299 192 192
+c0 34.9902 -9.55957 67.7197 -25.9805 96h25.9805zM256 128c-88.3701 0 -160 71.6299 -160 160s71.6299 160 160 160s160 -71.6299 160 -160s-71.6299 -160 -160 -160zM255.7 279.94c-21.9404 -0.170898 -39.7002 -17.96 -39.7002 -39.9404c0 -22.0898 17.9102 -40 40 -40
+s40 17.9102 40 40c0 10.5498 -4.26953 20 -10.9502 27.1602l33.6699 78.5498c3.4707 8.11035 -0.290039 17.5205 -8.41016 21c-8.08984 3.50977 -17.5293 -0.240234 -21.0293 -8.41016z" />
+ <glyph glyph-name="x-ray" unicode="&#xf497;" horiz-adv-x="640"
+d="M240 64c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16zM400 32c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM624 448c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16
+h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h608zM624 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-608c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v352h512v-352h48zM480 200v16c0 4.40039 -3.59961 8 -8 8
+h-136v32h104c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-104v24c0 4.40039 -3.59961 8 -8 8h-16c-4.40039 0 -8 -3.59961 -8 -8v-24h-104c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h104v-32h-136c-4.40039 0 -8 -3.59961 -8 -8v-16
+c0 -4.40039 3.59961 -8 8 -8h136v-32h-104c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h104v-32h-64c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48s48 21.5 48 48v16h64v-16c0 -26.5 21.5 -48 48 -48s48 21.5 48 48s-21.5 48 -48 48h-64v32h104
+c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-104v32h136c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="box-open" unicode="&#xf49e;" horiz-adv-x="640"
+d="M425.7 192c4.5 0 9 0.599609 13.2998 1.90039l137 39.0996v-178c0 -14.5996 -10 -27.4004 -24.2002 -31l-216.399 -54.0996c-10.1006 -2.5 -20.8008 -2.5 -31 0l-216.2 54.0996c-14.2002 3.5 -24.2002 16.2998 -24.2002 31v178l137 -39.2002
+c4.2998 -1.2998 8.7998 -1.89941 13.2998 -1.89941c16.9004 0 32.7998 9 41.5 23.5l64.2002 106.6l64.2998 -106.6c8.60059 -14.4004 24.5 -23.4004 41.4004 -23.4004zM638.3 304.2c4.5 -9.2002 -0.299805 -20.2002 -10.2002 -23.1006l-197.899 -56.5
+c-7.10059 -2 -14.7002 1 -18.5 7.30078l-91.7002 152.1l250.1 31.9004c6.90039 0.899414 13.6006 -2.7002 16.7002 -8.90039zM53.2002 407c3.09961 6.2002 9.7002 9.7002 16.5996 8.90039l250.2 -31.9004l-91.7998 -152c-3.7998 -6.2998 -11.4004 -9.2998 -18.5 -7.2998
+l-197.9 56.5c-9.7998 2.7998 -14.7002 13.7998 -10.0996 23z" />
+ <glyph glyph-name="comment-dots" unicode="&#xf4ad;"
+d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002
+c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208zM128 176c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 176c17.7002 0 32 14.2998 32 32
+s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM384 176c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="comment-slash" unicode="&#xf4b3;" horiz-adv-x="640"
+d="M64 208c0 18.5996 3.2998 36.5 8.90039 53.5996l325.5 -251.6c-24.7002 -6.40039 -51 -10 -78.4004 -10c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.90039 -7.2998 4.7998
+c-1.2998 3 -0.700195 6.40039 1.5 8.7002c0.5 0.599609 42.2002 45.5 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7zM633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7
+c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l105.1 -81.2998c45.2002 32.6006 104.301 52.7002 169.4 52.7002c141.4 0 256 -93.0996 256 -208c0 -49.2002 -21.4004 -94.0996 -56.5996 -129.7z" />
+ <glyph glyph-name="couch" unicode="&#xf4b8;" horiz-adv-x="640"
+d="M160 224c0 35.2998 -28.7002 64 -64 64h-32c0 53 43 96 96 96h320c53 0 96 -43 96 -96h-32c-35.2998 0 -64 -28.7002 -64 -64v-64h-320v64zM576 256c35.2998 0 64 -28.7002 64 -64c0 -23.5996 -13 -44 -32 -55.0996v-120.9c0 -8.7998 -7.2002 -16 -16 -16h-64
+c-8.7998 0 -16 7.2002 -16 16v16h-384v-16c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v120.9c-19 11.0996 -32 31.5 -32 55.0996c0 35.2998 28.7002 64 64 64h32c17.7002 0 32 -14.2998 32 -32v-96h384v96c0 17.7002 14.2998 32 32 32h32z" />
+ <glyph glyph-name="donate" unicode="&#xf4b9;"
+d="M256 32c-114.9 0 -208 93.0996 -208 208s93.0996 208 208 208s208 -93.0996 208 -208s-93.0996 -208 -208 -208zM233.8 350.6c-32.7002 -0.899414 -59 -28.3994 -59.0996 -62.3994c0 -27.7002 18 -52.4004 43.7002 -60.1006l62.2998 -18.6992
+c7.09961 -2.10059 12.0996 -9.40039 12.0996 -17.6006c0 -10.0996 -7.2998 -18.2998 -16.2998 -18.2998h-38.9004c-6.39941 0 -12.3994 1.7002 -17.7998 5.09961c-4.5 2.80078 -10.2002 2.7002 -14 -1l-16.2998 -15.5c-5 -4.7998 -4.40039 -13 1.2002 -17.0996
+c12.5 -9.2998 27.5 -14.5996 43 -15.4004v-17c0 -9.19922 7.39941 -16.5996 16.5996 -16.5996h11.1006c9.19922 0 16.5996 7.40039 16.5996 16.5996v16.8008c32.7002 0.899414 59.0996 28.3994 59.0996 62.3994c0 27.7002 -18 52.4004 -43.6992 60.1006l-62.3008 18.6992
+c-7.09961 2.10059 -12.0996 9.40039 -12.0996 17.6006c0 10.0996 7.2998 18.2998 16.2998 18.2998h38.9004c6.39941 0 12.3994 -1.7002 17.7998 -5.09961c4.5 -2.80078 10.2002 -2.7002 14 1l16.2998 15.5c5 4.7998 4.40039 13 -1.2002 17.0996
+c-12.5 9.2998 -27.5 14.5996 -43 15.4004v17c0 9.19922 -7.39941 16.5996 -16.5996 16.5996h-11.0996c-9.2002 0 -16.6006 -7.40039 -16.6006 -16.5996v-16.8008zM480 96c17.7002 0 32 -14.2998 32 -32v-96c0 -17.7002 -14.2998 -32 -32 -32h-448
+c-17.7002 0 -32 14.2998 -32 32v96c0 17.7002 14.2998 32 32 32h32.4004c19.6992 -26 44.5996 -47.7002 73 -64h-63.8008c-5.2998 0 -9.59961 -3.59961 -9.59961 -8v-16c0 -4.40039 4.2998 -8 9.59961 -8h364.7c5.2998 0 9.60059 3.59961 9.60059 8v16
+c0 4.40039 -4.30078 8 -9.60059 8h-63.7998c28.4004 16.2998 53.4004 38 73 64h32.5z" />
+ <glyph glyph-name="dove" unicode="&#xf4ba;"
+d="M288 280.8c-50.7998 10.5 -96.5996 36.7998 -130.8 75.1006c11.2002 32.3994 27.7998 61.5996 48.8994 86.5c8.80078 10.5 25.7002 5.19922 27.8008 -8.30078c7 -45.8994 25.8994 -88.8994 54.0996 -125.199v-28.1006zM400 384h112l-32 -64v-160.1
+c0 -88.4004 -71.5996 -159.9 -160 -159.9h-76.9004l-65.1992 -56.0996c-6.10059 -5.30078 -14.1006 -8.2002 -22.1006 -7.90039c-92.7998 3.7998 -135.8 49.4004 -153.2 76.2998c-6 9.2998 -1.19922 21.7002 9.5 24.4004l143.9 36
+c-12.7998 9.59961 -25.7002 20.0996 -38.9004 32.7998c-51 49 -85.0996 115.1 -85.0996 185.9c0 41.3994 9.40039 80.5996 26 115.699c5.7998 12.3008 23.5 11.6006 29 -0.899414c40 -91.2002 128.6 -155.5 233 -161.7v59.4004c0 44.1992 35.7998 80.0996 80 80.0996z
+M400 287.9c8.7998 0 16 7.19922 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z" />
+ <glyph glyph-name="hand-holding" unicode="&#xf4bd;" horiz-adv-x="576"
+d="M565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002c21 17 47.0996 26.2998 74.0996 26.2998h160
+c19.5 0 34.9004 -17.4004 31.5996 -37.4004c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004c12.3994 10 30.7998 10.6992 42.5996 0z" />
+ <glyph glyph-name="hand-holding-heart" unicode="&#xf4be;" horiz-adv-x="576"
+d="M275.3 197.5l-108.899 114.2c-31.6006 33.2002 -29.7002 88.2002 5.59961 118.8c30.7998 26.7002 76.7002 21.9004 104.9 -7.7998l11.0996 -11.6006l11.2002 11.7002c28.2002 29.6006 74.0996 34.4004 104.899 7.7002c35.4004 -30.5996 37.2002 -85.5996 5.60059 -118.8
+l-108.9 -114.2c-7.09961 -7.40039 -18.5 -7.40039 -25.5 0zM565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002
+c21 17 47.0996 26.2998 74.0996 26.2998h160c19.5 0 34.9004 -17.4004 31.5996 -37.4004c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004
+c12.3994 10 30.7998 10.6992 42.5996 0z" />
+ <glyph glyph-name="hand-holding-usd" unicode="&#xf4c0;" horiz-adv-x="543"
+d="M257.6 303.7c-22.1992 6.39941 -40 24.7002 -42.8994 47.7002c-4 32 19 59.3994 49.2998 63v17.5996c0 8.7998 7.2002 16 16 16h16c8.7998 0 16 -7.2002 16 -16v-17.7002c11.5 -1.39941 22.2998 -5.2002 31.7998 -11.5c6.2002 -4.09961 6.7998 -13.0996 1.5 -18.3994
+l-17.5 -17.5c-3.7002 -3.7002 -9.2998 -4.2002 -14.0996 -2c-3.2002 1.39941 -6.7002 2.19922 -10.2998 2.19922h-32.8008c-4.59961 0 -8.39941 -3.7998 -8.39941 -8.39941c0 -3.7002 2.5 -7.10059 6.09961 -8.10059l50 -14.2998
+c22.2002 -6.39941 40 -24.7002 42.9004 -47.7002c4 -32 -19 -59.3994 -49.2998 -63v-17.5996c0 -8.7998 -7.2002 -16 -16 -16h-16c-8.80078 0 -16 7.2002 -16 16v17.7002c-11.5 1.39941 -22.3008 5.2002 -31.8008 11.5c-6.19922 4.09961 -6.7998 13.0996 -1.5 18.3994
+l17.5 17.5c3.7002 3.7002 9.30078 4.2002 14.1006 2c3.2002 -1.39941 6.7002 -2.19922 10.2998 -2.19922h32.7998c4.60059 0 8.40039 3.7998 8.40039 8.39941c0 3.7002 -2.5 7.10059 -6.10059 8.10059zM533.9 119.9c14.1992 -13.6006 13.0996 -36.8008 -1.30078 -48.9004
+l-142.8 -121c-10.7998 -9.09961 -24.0996 -14 -37.7998 -14h-336.9c-8.2998 0 -15.0996 7.2002 -15.0996 16v96c0 8.7998 6.7998 16 15.0996 16h52.4004l43.9004 37.7002c19.6992 17 44.3994 26.2998 69.8994 26.2998h151.101c18.2998 0 32.8994 -17.4004 29.7998 -37.4004
+c-2.40039 -15.6992 -16.2998 -26.5996 -31.4004 -26.5996h-73.8994c-8.30078 0 -15.1006 -7.2002 -15.1006 -16s6.7998 -16 15.1006 -16h111.699c13.8008 0 27.1006 4.90039 37.8008 14l87.1992 73.9004c11.8008 10 29.1006 10.6992 40.3008 0z" />
+ <glyph glyph-name="hands" unicode="&#xf4c2;" horiz-adv-x="640"
+d="M204.8 217.6l57.6006 -76.7998c16.5996 -22.2002 25.5996 -49.0996 25.5996 -76.7998v-112c0 -8.7998 -7.2002 -16 -16 -16h-131.7c-7.2002 0 -13.5 4.7002 -15.2998 11.5996c-2 7.80078 -5.40039 15.2002 -10.4004 21.7002l-104.1 134.3
+c-6.7998 8.5 -10.5 19.1006 -10.5 30v218.4c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-148.4l89.7998 -107.8c6 -7.2998 16.9004 -7.7998 23.6006 -1.09961l12.7998 12.7998c5.59961 5.59961 6.2998 14.5 1.5 20.9004l-38.1006 50.7998
+c-10.5996 14.0996 -7.69922 34.2002 6.40039 44.7998s34.2002 7.7002 44.7998 -6.40039zM608 384c17.7002 0 32 -14.2998 32 -32v-218.4c0 -10.8994 -3.7002 -21.5 -10.5 -30l-104.1 -134.3c-5 -6.5 -8.40039 -13.8994 -10.4004 -21.7002
+c-1.7998 -6.89941 -8.2002 -11.5996 -15.2998 -11.5996h-131.7c-8.7998 0 -16 7.2002 -16 16v112c0 27.7002 9 54.5996 25.5996 76.7998l57.6006 76.7998c10.5996 14.1006 30.7002 17 44.7998 6.40039s17 -30.7002 6.40039 -44.7998l-38.1006 -50.7998
+c-4.7998 -6.40039 -4.09961 -15.3008 1.5 -20.9004l12.7998 -12.7998c6.60059 -6.60059 17.6006 -6.10059 23.6006 1.09961l89.7998 107.8v148.4c0 17.7002 14.2998 32 32 32z" />
+ <glyph glyph-name="hands-helping" unicode="&#xf4c4;" horiz-adv-x="640"
+d="M488 256c13.2998 0 24 -10.7002 24 -24v-48c0 -13.2998 -10.7002 -24 -24 -24h-8v-64c0 -17.7002 -14.2998 -32 -32 -32h-16c0 -35.2998 -28.7002 -64 -64 -64h-136.6l-103.4 -59.7002c-15.2998 -8.7998 -34.9004 -3.59961 -43.7002 11.7002l-80 138.6
+c-8.89941 15.3008 -3.59961 34.9004 11.7002 43.7002l80 46.2002v47.2998c0 22.4004 11.7998 43.2998 31.0996 54.7998l64.9004 39v-121.6c0 -39.7002 32.2998 -72 72 -72s72 32.2998 72 72v56h152zM635.7 293.4c8.7998 -15.3008 3.59961 -34.8008 -11.7002 -43.7002
+l-80 -46.2002v28.5c0 30.9004 -25.0996 56 -56 56h-184v-88c0 -22.0996 -17.9004 -40 -40 -40s-40 17.9004 -40 40v126.3c0 11 5.59961 21.2998 15 27.1006l33.5 20.8994c10.2002 6.2998 21.9004 9.7002 33.9004 9.7002h102.199l103.4 59.7002
+c15.2998 8.7998 34.9004 3.59961 43.7002 -11.7002z" />
+ <glyph glyph-name="parachute-box" unicode="&#xf4cd;"
+d="M511.9 273c1.09961 -9.2002 -6.80078 -17 -16.1006 -17h-8.7002l-136.8 -151.9c0.700195 -2.69922 1.60059 -5.19922 1.60059 -8.09961v-128c0 -17.7002 -14.3008 -32 -32 -32h-128c-17.7002 0 -32 14.2998 -32 32v128c0 2.90039 0.899414 5.5 1.59961 8.09961
+l-136.7 151.9h-8.7002c-9.19922 0 -17.0996 7.90039 -16 17c9.10059 75.5 78.4004 132.3 158.301 158.7c-36.4004 -39.4004 -62.4004 -100.601 -62.4004 -175.7h-28.0996l116.6 -129.5c2.5 0.599609 4.7998 1.5 7.5 1.5h48v128h-112c0 115.2 68.9004 192 128 192
+s128 -76.7998 128 -192h-112v-128h48c2.7002 0 5 -0.900391 7.5 -1.5l116.6 129.5h-28.0996c0 75.0996 -26 136.3 -62.4004 175.7c79.9004 -26.2998 149.2 -83.1006 158.301 -158.7z" />
+ <glyph glyph-name="people-carry" unicode="&#xf4ce;" horiz-adv-x="640"
+d="M128 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM512 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM637.7 -20.0996c6.59961 -16.4004 -1.40039 -35 -17.7998 -41.6006
+c-3.90039 -1.59961 -7.90039 -2.2998 -11.9004 -2.2998c-12.7002 0 -24.7002 7.59961 -29.7002 20.0996l-27.7002 69.2002l2 18.2002l41.1006 46.4004zM603.5 189.7c4.59961 -20 -0.799805 -41.2002 -14.4004 -56.7002l-67.1992 -75.9004l-10.1006 -92.5996
+c-1.7998 -16.4004 -15.7002 -28.5 -31.7998 -28.5c-1.2002 0 -2.2998 0.0996094 -3.5 0.200195c-17.5 1.89941 -30.2002 17.7002 -28.2998 35.2998l10.0996 92.7998c1.5 13 6.90039 25.1006 15.6006 35l43.2998 49l-17.6006 70.2998l-6.7998 -20.3994
+c-4.09961 -12.6006 -11.8994 -23.4004 -24.5 -32.6006l-51.0996 -32.5c-4.60059 -2.89941 -12.1006 -4.59961 -17.2002 -5h-160c-5.09961 0.400391 -12.5996 2.10059 -17.2002 5l-51.0996 32.5c-12.6006 9.2002 -20.4004 20.1006 -24.5 32.6006l-6.7998 20.3994
+l-17.6006 -70.2998l43.2998 -49c8.7002 -9.89941 14.1006 -22 15.6006 -35l10.0996 -92.7998c1.90039 -17.5996 -10.7002 -33.4004 -28.2998 -35.2998c-1.2002 -0.100586 -2.2998 -0.200195 -3.5 -0.200195c-16.2002 0 -30 12.2002 -31.7998 28.5l-10.1006 92.5996
+l-67.1992 75.9004c-13.7002 15.5 -19 36.7002 -14.4004 56.7002l18.4004 80.2002c4.59961 20 18.5996 36.7998 37.5 44.8994c18.5 8 38.8994 6.7002 56.0996 -3.2998c22.7002 -13.4004 39.7998 -34.4004 48.0996 -59.4004l11.3008 -33.8994l16.0996 -10.2002v96
+c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16v-96l16 10.2002l11.2998 33.8994c8.40039 24.9004 25.4004 46 48.1006 59.4004c17.0996 10 37.5996 11.2998 56.0996 3.2998c18.9004 -8.09961 32.9004 -24.8994 37.5 -44.8994zM46.2998 89.9004l41.1006 -46.4004
+l2 -18.2002l-27.7002 -69.2002c-6.5 -16.0996 -24.7998 -24.3994 -41.6006 -17.7998c-16.3994 6.60059 -24.3994 25.2002 -17.7998 41.6006z" />
+ <glyph glyph-name="piggy-bank" unicode="&#xf4d3;" horiz-adv-x="576"
+d="M560 224c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-48.7002c-9 -11.9004 -19.5 -22.4004 -31.2998 -31.2998v-80.7002c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v48h-128v-48c0 -8.7998 -7.2002 -16 -16 -16h-64
+c-8.7998 0 -16 7.2002 -16 16v80.7002c-38.5996 29.2002 -64 75.0996 -64 127.3h-40c-33.2998 0 -59.9004 29.2002 -55.5 63.4004c3.59961 28.1992 29 48.5996 57.5 48.5996c3.2998 0 6 -2.7002 6 -6v-20c0 -3.2998 -2.7002 -6 -6 -6h-1
+c-11.5996 0 -22.2998 -7.7998 -24.5 -19.2002c-3 -15.2998 8.7002 -28.7998 23.5 -28.7998h43.2002c14.8994 73 79.3994 128 156.8 128h128c7.90039 0 15.4004 -1.2002 23 -2.2998c17.5996 20.7998 43.5996 34.2998 73 34.2998h32l-18.9004 -75.5
+c15.8008 -14.7998 28.6006 -32.5 37.4004 -52.5h29.5zM432 160c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 352c-16.4004 0 -32.2002 -2.2998 -47.4004 -6.2002c-0.0996094 2.10059 -0.599609 4.10059 -0.599609 6.2002
+c0 53 43 96 96 96s96 -43 96 -96c0 -0.299805 -0.0996094 -0.5 -0.0996094 -0.799805c-5.2002 0.399414 -10.5 0.799805 -15.9004 0.799805h-128z" />
+ <glyph glyph-name="ribbon" unicode="&#xf4d6;" horiz-adv-x="448"
+d="M6.09961 3.7002l117.2 130l79.2002 -87.9004l-91.7998 -101.899c-8 -8.80078 -21.4004 -10.5 -31.2998 -3.80078l-68.8008 27.9004c-12 8.09961 -14.0996 24.9004 -4.5 35.7002zM441.9 3.7002c9.69922 -10.7998 7.59961 -27.6006 -4.30078 -35.6006l-68.7998 -27.8994
+c-9.89941 -6.7002 -23.2998 -5.10059 -31.2998 3.7998l-248.1 275.3c-48.6006 53.7998 -13 113.5 -11.5 116l43.5996 73.2002c4.2998 7.2002 9.90039 13.2998 16.7998 18c44 29.7002 130.7 27.5996 171.4 0c6.89941 -4.7002 12.5 -10.7998 16.7998 -18l43.7002 -73.5
+c21.8994 -36.9004 17.2998 -83.5996 -11.4004 -115.5l-34.2002 -38l-79.0996 87.7002s52.7002 59 56 64.5996c-15.4004 8.40039 -40.2002 17.9004 -77.5 17.9004s-62.0996 -9.5 -77.5 -17.9004c3.40039 -5.5 295.4 -330.1 295.4 -330.1z" />
+ <glyph glyph-name="route" unicode="&#xf4d7;"
+d="M416 128c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96h-277.8c13.5 16.2998 31.2998 39.2002 47.2998 64h230.5c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32h-96c-52.9004 0 -96 43.0996 -96 96s43.0996 96 96 96h45.2998
+c-23.0996 32.5996 -45.2998 70.5 -45.2998 96c0 53 43 96 96 96s96 -43 96 -96s-96 -160 -96 -160h-96c-17.5996 0 -32 -14.4004 -32 -32s14.4004 -32 32 -32h96zM416 384c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM96 192
+c53 0 96 -43 96 -96s-96 -160 -96 -160s-96 107 -96 160s43 96 96 96zM96 64c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="seedling" unicode="&#xf4d8;"
+d="M64 352c123.7 0 224 -100.3 224 -224v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v144c-123.7 0 -224 100.3 -224 224h64zM448 416h64c0 -115.9 -88 -211.1 -200.7 -222.8c-10.7998 40.7002 -31.2998 77.3994 -59 107.6
+c38.2998 68.7002 111.5 115.2 195.7 115.2z" />
+ <glyph glyph-name="sign" unicode="&#xf4d9;"
+d="M496 384c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-368v-368c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v368h-48c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h48v48c0 8.7998 7.2002 16 16 16h32
+c8.7998 0 16 -7.2002 16 -16v-48h368zM160 64v224h320v-224h-320z" />
+ <glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496"
+d="M0 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM200 240c0 17.7002 -14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32zM358.5 223.5l9.7002 -8.5c8.39941 -7.5 21.5 -0.299805 19.7998 10.7998
+c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM157.8 122.2c-13.3994 16.2998 -38.0996 -4.10059 -24.5996 -20.4004
+c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7002c13.5 16.2998 -11 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002s-67.7998 15.2998 -90.2002 42.2002z" />
+ <glyph glyph-name="tape" unicode="&#xf4db;" horiz-adv-x="640"
+d="M224 256c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64zM624 32c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-400c-123.7 0 -224 100.3 -224 224s100.3 224 224 224s224 -100.3 224 -224
+c0 -62.7002 -25.9004 -119.3 -67.4004 -160h243.4zM224 96c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96z" />
+ <glyph glyph-name="truck-loading" unicode="&#xf4de;" horiz-adv-x="640"
+d="M50.2002 72.4004l-49.6006 185.5c-2.2998 8.5 2.80078 17.2998 11.3008 19.5996l77.2998 20.7002l24.7998 -92.7002l61.7998 16.5l-24.7998 92.7002l77.2002 20.7998c8.5 2.2998 17.2998 -2.7998 19.5996 -11.2998l49.7002 -185.5
+c2.2998 -8.5 -2.7998 -17.2998 -11.2998 -19.6006l-216.4 -58c-8.5 -2.2998 -17.2998 2.80078 -19.5996 11.3008zM384 448h256v-400c0 -61.9004 -50.0996 -112 -112 -112c-60.4004 0 -109.2 47.9004 -111.6 107.7l-393.7 -107.4
+c-4.2002 -1.2002 -8.60059 1.2998 -9.7998 5.60059l-12.6006 46.2998c-1.2002 4.2002 1.2998 8.59961 5.60059 9.7998l346.1 94.4004v323.6c0 17.7002 14.2998 32 32 32zM528 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
+ <glyph glyph-name="truck-moving" unicode="&#xf4df;" horiz-adv-x="640"
+d="M621.3 210.7c12 -12 18.7002 -28.2002 18.7002 -45.2002v-85.5c0 -8.7998 -7.2002 -16 -16 -16h-17.5996c1 -5.2002 1.59961 -10.5 1.59961 -16c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 5.5 0.5 10.7998 1.59961 16h-163.199
+c1 -5.2002 1.59961 -10.5 1.59961 -16c0 -44.2002 -35.7998 -80 -80 -80c-26.2998 0 -49.4004 12.7998 -64 32.4004c-14.5996 -19.5 -37.7002 -32.4004 -64 -32.4004c-44.2002 0 -80 35.7998 -80 80v336c0 17.7002 14.2998 32 32 32h416c17.7002 0 32 -14.2998 32 -32
+v-96.0996h37.5c17 0 33.2998 -6.7002 45.2998 -18.7002zM80 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM208 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM480 240v-48
+h92.0996l-43.2998 43.2998c-3 3 -7 4.7002 -11.2998 4.7002h-37.5zM528 16c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32z" />
+ <glyph glyph-name="video-slash" unicode="&#xf4e2;" horiz-adv-x="640"
+d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.7998 -22.4004l-19.5996 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-178.5 138l-373.3 288.6l-36.5 28.2002c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998
+l78.4004 -60.5996h244.3c26.3994 0 47.7998 -21.4004 47.7998 -47.7998v-178l32 -24.7002v137.2l109.6 75.5996c21.3008 14.6006 50.4004 -0.299805 50.4004 -25.7998v-257c0 -17.4004 -13.7998 -29.7002 -29.2002 -31.0996zM32 47.7998v245.5l365.8 -282.8
+c-8.2002 -6.5 -18.3994 -10.5 -29.5996 -10.5h-288.4c-26.3994 0 -47.7998 21.4004 -47.7998 47.7998z" />
+ <glyph glyph-name="wine-glass" unicode="&#xf4e3;" horiz-adv-x="288"
+d="M216 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-208c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h40v117.18c-68.4697 15.8906 -118.05 79.9102 -111.4 154.16l15.96 178.11c0.730469 8.24023 7.55078 14.5498 15.7002 14.5498h223.48
+c8.16016 0 14.9697 -6.30957 15.71 -14.5498l15.9502 -178.101c6.64941 -74.25 -42.9307 -138.27 -111.4 -154.159v-117.19h40z" />
+ <glyph glyph-name="user-alt-slash" unicode="&#xf4fa;" horiz-adv-x="640"
+d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l135.5 -104.8
+c16 62.1006 71.9004 108.2 139 108.2c79.5 0 144 -64.5 144 -144c0 -54.0996 -30.2002 -100.7 -74.4004 -125.3zM198.4 128h47.3994l248.4 -192h-382.2c-26.5 0 -48 21.5 -48 48v9.59961c0 74.2002 60.2002 134.4 134.4 134.4z" />
+ <glyph glyph-name="user-astronaut" unicode="&#xf4fb;" horiz-adv-x="448"
+d="M64 224c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h13.5c24.7002 56.5 80.9004 96 146.5 96s121.8 -39.5 146.5 -96h13.5c8.7998 0 16 -7.2002 16 -16v-96c0 -8.7998 -7.2002 -16 -16 -16h-13.5c-24.7002 -56.5 -80.9004 -96 -146.5 -96
+s-121.8 39.5 -146.5 96h-13.5zM104 312v-24c0 -53 43 -96 96 -96h48c53 0 96 43 96 96v24c0 22.0996 -21.5 40 -48 40h-144c-26.5 0 -48 -17.9004 -48 -40zM176 240l-12 36l-36 12l36 12l12 36l12 -36l36 -12l-36 -12zM327.6 126.6c67.5 -7.09961 120.4 -63.5996 120.4 -133
+v-9.59961c0 -26.5 -21.5 -48 -48 -48h-80v64c0 17.7002 -14.2998 32 -32 32h-128c-17.7002 0 -32 -14.2998 -32 -32v-64h-80c-26.5 0 -48 21.5 -48 48v9.59961c0 69.4004 52.9004 125.9 120.4 133c29.8994 -19.2998 65.3994 -30.5996 103.6 -30.5996
+s73.7002 11.2998 103.6 30.5996zM272 0c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16zM176 0c8.7998 0 16 -7.2002 16 -16v-48h-32v48c0 8.7998 7.2002 16 16 16z" />
+ <glyph glyph-name="user-check" unicode="&#xf4fc;" horiz-adv-x="640"
+d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996
+c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992zM636.6 288.4c4.60059 -4.60059 4.5 -12.1006 -0.0996094 -16.8008l-141.3 -140.199c-4.7002 -4.60059 -12.2002 -4.60059 -16.7998 0.0996094
+l-81.7002 82.2998c-4.60059 4.7002 -4.60059 12.2002 0.0996094 16.7998l28.1006 27.9004c4.69922 4.59961 12.1992 4.59961 16.7998 -0.0996094l45.5 -45.8008l104.8 104c4.7002 4.60059 12.2002 4.60059 16.7998 -0.0996094z" />
+ <glyph glyph-name="user-clock" unicode="&#xf4fd;" horiz-adv-x="640"
+d="M496 224c79.5996 0 144 -64.4004 144 -144s-64.4004 -144 -144 -144s-144 64.4004 -144 144s64.4004 144 144 144zM560 73.7002v12.5996c0 5.2998 -4.40039 9.7002 -9.7002 9.7002h-38.2998v54.2998c0 5.2998 -4.40039 9.7002 -9.7002 9.7002h-12.5996
+c-5.2998 0 -9.7002 -4.40039 -9.7002 -9.7002v-76.5996c0 -5.2998 4.40039 -9.7002 9.7002 -9.7002h60.5996c5.2998 0 9.7002 4.40039 9.7002 9.7002zM320 80c0 -59.5 29.7998 -112.1 75.0996 -144h-347.1c-26.5 0 -48 21.5 -48 48v41.5996
+c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992c8.40039 0 16.6006 -1 24.6006 -2.5c-11.5 -23.4004 -18.2002 -49.7002 -18.2002 -77.5zM224 192c-70.7002 0 -128 57.2998 -128 128
+s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128z" />
+ <glyph glyph-name="user-cog" unicode="&#xf4fe;" horiz-adv-x="639"
+d="M610.5 74.7002l25.7998 -14.9004c2.90039 -1.7002 4.2998 -5.2002 3.2998 -8.5c-6.69922 -21.5996 -18.1992 -41.2002 -33.1992 -57.3994c-2.30078 -2.5 -6.10059 -3.10059 -9 -1.40039l-25.8008 14.9004c-10.8994 -9.30078 -23.3994 -16.5 -36.8994 -21.3008v-29.7998
+c0 -3.39941 -2.40039 -6.39941 -5.7002 -7.09961c-21.2002 -4.7998 -43.9004 -5 -66.2002 0c-3.2998 0.700195 -5.7002 3.7002 -5.7002 7.09961v29.7998c-13.5 4.80078 -26 12 -36.8994 21.3008l-25.7998 -14.9004c-3 -1.7002 -6.7002 -1.09961 -9 1.40039
+c-15 16.2998 -26.5 35.7998 -33.2002 57.3994c-1 3.2998 0.299805 6.7998 3.2998 8.5l25.7998 14.9004c-2.59961 14.0996 -2.59961 28.5 0 42.5996l-25.7998 14.9004c-2.90039 1.7002 -4.2998 5.2002 -3.2998 8.5c6.7002 21.5996 18.2002 41.2002 33.2002 57.3994
+c2.2998 2.5 6.09961 3.10059 9 1.40039l25.7998 -14.9004c10.8994 9.30078 23.3994 16.5 36.8994 21.3008v29.7998c0 3.39941 2.40039 6.39941 5.7002 7.09961c21.2002 4.7998 43.9004 5 66.2002 0c3.2998 -0.700195 5.7002 -3.7002 5.7002 -7.09961v-29.7998
+c13.5 -4.80078 26 -12 36.8994 -21.3008l25.8008 14.9004c3 1.7002 6.69922 1.09961 9 -1.40039c15 -16.1992 26.5 -35.7998 33.1992 -57.3994c1 -3.2998 -0.299805 -6.7998 -3.2998 -8.5l-25.7998 -14.9004c2.59961 -14.0996 2.59961 -28.5 0 -42.5996zM496 47.5
+c26.7998 0 48.5 21.7998 48.5 48.5s-21.7998 48.5 -48.5 48.5s-48.5 -21.7998 -48.5 -48.5s21.7002 -48.5 48.5 -48.5zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM425.2 -34.5v-9.2002
+c0 -4.09961 0.799805 -8 2 -11.7998c-7.7002 -5.2998 -17.1006 -8.5 -27.2002 -8.5h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992
+c3.90039 0 7.60059 -0.900391 11.4004 -1.2002c-1 -2.89941 -2.2998 -5.7998 -3.2002 -8.7002c-5.5 -17.6992 1.90039 -36.5 17.9004 -45.6992l7.89941 -4.60059c-0.0996094 -2.59961 -0.0996094 -5.2002 0 -7.7998l-7.89941 -4.59961
+c-16 -9.30078 -23.4004 -28 -17.9004 -45.7002c7.90039 -25.7002 21.9004 -49.7998 40.2002 -69.6006c7.5 -8 18 -12.5996 28.9004 -12.5996c6.7998 0 13.5996 1.90039 19.5996 5.2998l7.90039 4.60059c2.19922 -1.30078 4.5 -2.7002 6.7998 -3.90039z" />
+ <glyph glyph-name="user-edit" unicode="&#xf4ff;" horiz-adv-x="639"
+d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM313.6 160c39.9004 0 75.4004 -17.7998 99.9004 -45.5l-77.2998 -77.2998l-7.90039 -7.90039l-1.2002 -11.0996l-6.7998 -60.9004
+c-0.799805 -7.2998 0.200195 -14.5 2.60059 -21.2998h-274.9c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992zM358.9 14.7002l137.899 137.8l71.7002 -71.7002
+l-137.9 -137.899l-60.8994 -6.80078c-10.1006 -1.19922 -18.7002 7.40039 -17.6006 17.6006zM633 179.1c9.2998 -9.39941 9.2998 -24.5 0 -33.8994l-41.7998 -41.7998l-71.7998 71.6992l4.09961 4.10059l37.7998 37.7998c9.2998 9.2998 24.5 9.2998 33.7998 0z" />
+ <glyph glyph-name="user-friends" unicode="&#xf500;" horiz-adv-x="640"
+d="M192 192c-61.9004 0 -112 50.0996 -112 112s50.0996 112 112 112s112 -50.0996 112 -112s-50.0996 -112 -112 -112zM268.8 160c63.6006 0 115.2 -51.5996 115.2 -115.2v-28.7998c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v28.7998
+c0 63.6006 51.5996 115.2 115.2 115.2h8.2998c20.9004 -10 43.9004 -16 68.5 -16s47.7002 6 68.5 16h8.2998zM480 192c-53 0 -96 43 -96 96s43 96 96 96s96 -43 96 -96s-43 -96 -96 -96zM528 160c61.9004 0 112 -50.0996 112 -112c0 -26.5 -21.5 -48 -48 -48h-176.6
+c0.0996094 2.09961 0.599609 4.2002 0.599609 6.40039v38.3994c0 38.6006 -15.2998 73.5 -39.7002 99.7998c16.5 9.5 35.2998 15.4004 55.7002 15.4004h3.7998c13.9004 -4.7998 28.6006 -8 44.2002 -8s30.2998 3.2002 44.2002 8h3.7998z" />
+ <glyph glyph-name="user-graduate" unicode="&#xf501;" horiz-adv-x="448"
+d="M319.4 127.4c71.5 -3.10059 128.6 -61.6006 128.6 -133.801v-9.59961c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v9.59961c0 72.2002 57.0996 130.7 128.6 133.801l95.4004 -95.4004zM13.5996 368.2c-18.0996 4.39941 -18.0996 27.2002 0 31.5996
+l190.601 45.9004c13 3.09961 26.7002 3.09961 39.7002 0l190.399 -46c18.2002 -4.40039 18.2002 -27.1006 0 -31.5l-96.2998 -23.2002c8.7002 -17.2002 14 -36.4004 14 -57c0 -70.7002 -57.2998 -128 -128 -128s-128 57.2998 -128 128c0 20.5996 5.40039 39.7998 14 57
+l-66 15.9004v-52.6006c7 -4.2002 12 -11.5 12 -20.2998c0 -8.40039 -4.59961 -15.4004 -11.0996 -19.7002l15.5996 -62.2998c1.7002 -6.90039 -2.09961 -14 -7.59961 -14h-41.8008c-5.5 0 -9.2998 7.09961 -7.59961 14l15.5996 62.2998
+c-6.5 4.2998 -11.0996 11.2998 -11.0996 19.7002c0 8.7998 5 16.0996 12 20.2998v58.4004z" />
+ <glyph glyph-name="user-lock" unicode="&#xf502;" horiz-adv-x="640"
+d="M320 128v-160c0 -11.7002 3.40039 -22.5 8.90039 -32h-280.9c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992c5 0 9.7002 -1 14.5 -1.5
+c-5 -9.09961 -8.09961 -19.4004 -8.09961 -30.5zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM608 160c17.7002 0 32 -14.2998 32 -32v-160c0 -17.7002 -14.2998 -32 -32 -32h-224
+c-17.7002 0 -32 14.2998 -32 32v160c0 17.7002 14.2998 32 32 32h32v48c0 44.2002 35.7998 80 80 80s80 -35.7998 80 -80v-48h32zM528 160v48c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32v-48h64z" />
+ <glyph glyph-name="user-minus" unicode="&#xf503;" horiz-adv-x="640"
+d="M624 240c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-192c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h192zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128z
+M313.6 160c74.2002 0 134.4 -60.2002 134.4 -134.4v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992z" />
+ <glyph glyph-name="user-ninja" unicode="&#xf504;" horiz-adv-x="448"
+d="M325.4 158.8c68.5996 -6.09961 122.6 -63 122.6 -133.2v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 70.2002 54 127.101 122.6 133.2l101.4 -101.399zM32 256c0 33.4004 17.0996 62.7998 43.0996 80
+c-26 17.2002 -43.0996 46.5996 -43.0996 80c32 0 60.0996 -15.7998 77.5 -39.7998c20.9004 42.3994 64.0996 71.7998 114.5 71.7998c70.7002 0 128 -57.2998 128 -128s-57.2998 -128 -128 -128c-58.7998 0 -107.7 39.7998 -122.8 93.7002
+c-17.4004 -18.2002 -41.9004 -29.7002 -69.2002 -29.7002zM176 352c-17.7002 0 -32 -14.2998 -32 -32h160c0 17.7002 -14.2998 32 -32 32h-96z" />
+ <glyph glyph-name="user-shield" unicode="&#xf505;" horiz-adv-x="640"
+d="M622.3 176.9c10.7002 -4.2002 17.7002 -14 17.7002 -24.9004c0 -124.5 -81.5996 -193.9 -132.9 -213.9c-4.19922 -1.59961 -12.5996 -3.69922 -22.1992 0c-64.2002 25.1006 -132.9 102.301 -132.9 213.9c0 10.9004 7 20.7002 17.7002 24.9004l115.2 45
+c9.59961 3.69922 18.0996 1.59961 22.1992 0zM496 -14.4004c34.5996 16.4004 89.9004 64.7002 95.5 151.801l-95.5 37.2998v-189.101zM224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM320 152
+c0 -95.2998 45.2002 -169.1 99.2002 -212c-5.90039 -2.5 -12.4004 -4 -19.2002 -4h-352c-26.5 0 -48 21.5 -48 48v41.5996c0 74.2002 60.2002 134.4 134.4 134.4h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16s50.7002 5.7998 72.9004 16h16.6992
+c2.60059 0 5 -0.700195 7.5 -0.799805c-0.299805 -2.40039 -1.09961 -4.7002 -1.09961 -7.2002z" />
+ <glyph glyph-name="user-slash" unicode="&#xf506;" horiz-adv-x="640"
+d="M633.8 -10.0996c7 -5.40039 8.2998 -15.5 2.90039 -22.3008l-19.6006 -25.2998c-5.5 -7 -15.5 -8.2002 -22.5 -2.7998l-588.399 454.7c-7 5.39941 -8.2002 15.3994 -2.7998 22.3994l19.5996 25.2002c5.5 7 15.5 8.2002 22.5 2.7998l147.6 -114
+c5.40039 65.6006 59.8008 117.4 126.9 117.4c70.7002 0 128 -57.2998 128 -128c0 -55.7998 -35.9004 -102.7 -85.7002 -120.3zM96 25.5996c0 66.4004 48.2002 121.101 111.4 132.101l286.8 -221.7h-350.2c-26.5 0 -48 21.5 -48 48v41.5996z" />
+ <glyph glyph-name="user-tag" unicode="&#xf507;" horiz-adv-x="639"
+d="M630.6 83.0996c12.5 -12.5 12.5 -32.6992 -0.0996094 -45.1992l-92.5 -92.5c-12.5 -12.5 -32.7998 -12.5 -45.2998 0l-90.2998 90.1992c-12 12 -18.7002 28.2002 -18.7002 45.2002v79.2002c0 17.7002 14.2998 32 32 32h79.2998c17 0 33.2998 -6.7002 45.2998 -18.7002z
+M447.8 104.1c13.2998 0 24 10.8008 24 24c0 13.3008 -10.7002 24 -24 24s-24 -10.6992 -24 -24c0 -13.2998 10.7002 -24 24 -24zM224 192.1c-70.7002 0 -128 57.3008 -128 127.9c0 70.7002 57.2998 128 128 128s128 -57.2998 128 -127.9c0 -70.6992 -57.2998 -128 -128 -128
+zM351.8 80.9004c0 -25.7002 10 -49.8008 28.1006 -67.9004l58 -58c-8.80078 -11.4004 -22.4004 -18.9004 -37.9004 -18.9004h-352c-26.5 0 -48 21.5 -48 48v41.6006c0 74.2002 60.2002 134.399 134.4 134.5h16.6992c22.3008 -10.2002 46.9004 -16 72.9004 -16
+s50.7002 5.7998 72.9004 16h16.6992c13.3008 0 26 -2.60059 38.2002 -6.2002v-73.0996z" />
+ <glyph glyph-name="user-tie" unicode="&#xf508;" horiz-adv-x="448"
+d="M224 192c-70.7002 0 -128 57.2998 -128 128s57.2998 128 128 128s128 -57.2998 128 -128s-57.2998 -128 -128 -128zM319.8 159.4c71.2998 -3.40039 128.2 -61.7002 128.2 -133.801v-41.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v41.5996
+c0 72.1006 56.9004 130.4 128.2 133.801l47.7998 -191.4l32 136l-32 56h96l-32 -56l32 -136z" />
+ <glyph glyph-name="users-cog" unicode="&#xf509;" horiz-adv-x="639"
+d="M610.5 106.7l25.7998 -14.9004c2.90039 -1.7002 4.2998 -5.2002 3.2998 -8.5c-6.69922 -21.5996 -18.1992 -41.2002 -33.1992 -57.3994c-2.30078 -2.5 -6.10059 -3.10059 -9 -1.40039l-25.8008 14.9004c-10.8994 -9.30078 -23.3994 -16.5 -36.8994 -21.3008v-29.7998
+c0 -3.39941 -2.40039 -6.39941 -5.7002 -7.09961c-21.2002 -4.7998 -43.9004 -5 -66.2002 0c-3.2998 0.700195 -5.7002 3.7002 -5.7002 7.09961v29.7998c-13.5 4.80078 -26 12 -36.8994 21.3008l-25.7998 -14.9004c-3 -1.7002 -6.7002 -1.09961 -9 1.40039
+c-15 16.2998 -26.5 35.7998 -33.2002 57.3994c-1 3.2998 0.299805 6.7998 3.2998 8.5l25.7998 14.9004c-2.59961 14.0996 -2.59961 28.5 0 42.5996l-25.7998 14.9004c-2.90039 1.7002 -4.2998 5.2002 -3.2998 8.5c6.7002 21.5996 18.2002 41.2002 33.2002 57.3994
+c2.2998 2.5 6.09961 3.10059 9 1.40039l25.7998 -14.9004c10.8994 9.30078 23.3994 16.5 36.8994 21.3008v29.7998c0 3.39941 2.40039 6.39941 5.7002 7.09961c21.2002 4.7998 43.9004 5 66.2002 0c3.2998 -0.700195 5.7002 -3.7002 5.7002 -7.09961v-29.7998
+c13.5 -4.80078 26 -12 36.8994 -21.3008l25.8008 14.9004c3 1.7002 6.69922 1.09961 9 -1.40039c15 -16.1992 26.5 -35.7998 33.1992 -57.3994c1 -3.2998 -0.299805 -6.7998 -3.2998 -8.5l-25.7998 -14.9004c2.59961 -14.0996 2.59961 -28.5 0 -42.5996zM496 79.5
+c26.7998 0 48.5 21.7998 48.5 48.5s-21.7998 48.5 -48.5 48.5s-48.5 -21.7998 -48.5 -48.5s21.7002 -48.5 48.5 -48.5zM96 224c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM320 192c-61.9004 0 -112 50.0996 -112 112
+s50 111.9 111.9 111.9c61.8994 0 112 -50.1006 112 -112c0 -17.2002 -4.2002 -33.4004 -11.2002 -48c-0.799805 -0.5 -1.60059 -0.900391 -2.40039 -1.40039l-7.89941 4.59961c-5.90039 3.5 -12.7002 5.30078 -19.6006 5.30078c-11 0 -21.5 -4.60059 -28.8994 -12.6006
+c-15.8008 -17.0996 -28 -37.5 -36.3008 -59.2002c-1.89941 -0.0996094 -3.69922 -0.599609 -5.59961 -0.599609zM425.2 -2.5v-9.2002c0 -7.5 2.5 -14.2998 6.2002 -20.2998h-255.4c-26.5 0 -48 21.5 -48 48v28.7998c0 63.6006 51.5996 115.2 115.3 115.2h8.2998
+c20.9004 -10 43.9004 -16 68.5 -16c3.30078 0 6.5 0.400391 9.80078 0.599609c2.7998 -3.09961 6 -5.89941 9.7998 -8.09961l7.89941 -4.59961c-0.0996094 -2.60059 -0.0996094 -5.2002 0 -7.80078c-0.899414 -0.599609 -36.5 -15.7998 -25.7998 -50.2998
+c7.90039 -25.7002 21.9004 -49.7998 40.2002 -69.5996c7.5 -8 18 -12.6006 28.9004 -12.6006c12.1992 0 19.2998 5 27.5 9.80078c2.19922 -1.30078 4.5 -2.7002 6.7998 -3.90039zM173.1 173.4c-40.2998 -22.1006 -68.8994 -62 -75.1992 -109.4h-65.9004
+c-17.7002 0 -32 14.2998 -32 32v32c0 35.2998 28.7002 64 64 64h64c17.5996 0 33.5 -7.09961 45.0996 -18.5996z" />
+ <glyph glyph-name="blender" unicode="&#xf517;"
+d="M416 64c35.3496 0 64 -28.6504 64 -64v-32c0 -17.6699 -14.3301 -32 -32 -32h-320c-17.6699 0 -32 14.3301 -32 32v32c0 35.3496 28.6504 64 64 64h256zM288 -32c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM328 384
+c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h157.82l-17.46 -64h-140.36c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h131.64l-17.46 -64h-114.18c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h105.46l-17.46 -64
+h-256l-8.73047 96h-103.27c-26.5098 0 -48 21.4902 -48 48v160c0 26.5098 21.4902 48 48 48h464l-17.46 -64h-166.54zM64 256h81.46l-11.6396 128h-69.8203v-128z" />
+ <glyph glyph-name="book-open" unicode="&#xf518;" horiz-adv-x="575"
+d="M542.22 415.95c18.4199 1.04004 33.7803 -12.9902 33.7705 -30.7002v-337.84c0 -16.2305 -13.1299 -29.7705 -30.0205 -30.6602c-49.4697 -2.59961 -149.52 -12.0996 -218.7 -46.9199c-10.6494 -5.36035 -23.2793 1.93945 -23.2793 13.4902v363.87
+c0 5.2793 2.62988 10.3291 7.26953 13.1699c67.2402 41.1592 176.16 52.4795 230.96 55.5898zM264.73 360.36c4.64941 -2.85059 7.26953 -7.7002 7.26953 -12.9902v-364.12c0 -11.5195 -12.5898 -18.8096 -23.21 -13.46c-69.1797 34.8398 -169.28 44.3496 -218.771 46.9502
+c-16.8896 0.879883 -30.0195 14.4199 -30.0195 30.6602v337.85c0 17.71 15.3604 31.7402 33.7803 30.7002c54.7998 -3.12012 163.72 -14.4307 230.95 -55.5898z" />
+ <glyph glyph-name="broadcast-tower" unicode="&#xf519;" horiz-adv-x="640"
+d="M150.94 256c-7.01074 0 -13.46 4.5 -15.4004 11.2402c-4.90039 16.9697 -7.54004 34.6396 -7.54004 52.7598s2.63965 35.79 7.53027 52.7695c1.9502 6.74023 8.39941 11.2305 15.4102 11.2305h33.7295c11.0098 0 18.6201 -10.8301 14.8604 -21.1797
+c-4.93066 -13.5801 -7.5498 -27.9805 -7.5498 -42.8203s2.61914 -29.2402 7.5498 -42.8203c3.75 -10.3496 -3.85059 -21.1797 -14.8604 -21.1797h-33.7295zM89.9199 424.66c-16.54 -31.1406 -49.6104 -115.97 0.169922 -209.29
+c5.66016 -10.6299 -1.92969 -23.3701 -13.9502 -23.3701h-34.8398c-6.18945 0 -11.9902 3.50977 -14.6094 9.13965c-23.5703 50.5303 -26.6904 94.1104 -26.6904 118.86c0 42.3496 9.40039 82.46 25.8896 118.69c2.60059 5.71973 8.4707 9.30957 14.7402 9.30957h35.3301
+c12.0098 0 19.5996 -12.7197 13.96 -23.3398zM614.06 438.71c16.5205 -36.2295 25.9404 -76.3496 25.9404 -118.71s-9.42969 -82.4805 -25.96 -118.71c-2.59961 -5.70996 -8.45996 -9.29004 -14.7305 -9.29004h-35.2295c-12.1104 0 -19.6299 12.8398 -13.9102 23.5195
+c48.1396 89.8105 17.9902 174.94 -0.280273 209.23c-5.63965 10.5898 2.04004 23.25 14.0205 23.25h35.4199c6.26953 0 12.1299 -3.58008 14.7295 -9.29004zM489.06 384c7.01074 0 13.46 -4.49023 15.4004 -11.2402c4.90039 -16.9697 7.54004 -34.6396 7.54004 -52.7598
+s-2.62988 -35.79 -7.53027 -52.7598c-1.9502 -6.75 -8.38965 -11.2402 -15.4102 -11.2402h-33.7295c-11.0098 0 -18.6201 10.8301 -14.8604 21.1797c4.93066 13.5801 7.5498 27.9805 7.5498 42.8203s-2.61914 29.2402 -7.5498 42.8203
+c-3.75 10.3496 3.85059 21.1797 14.8604 21.1797h33.7295zM372.76 283.88l130.5 -313.41c3.39062 -8.14941 -0.459961 -17.5195 -8.60938 -20.9199l-29.5107 -12.3096c-8.14941 -3.40039 -17.5098 0.450195 -20.9092 8.60938l-49.2002 118.15h-150.07l-49.1904 -118.15
+c-3.38965 -8.14941 -12.7598 -12.0098 -20.9092 -8.60938l-29.5107 12.3096c-8.14941 3.40039 -12.0098 12.7705 -8.60938 20.9199l130.5 313.41c-7.0498 10.29 -11.2002 22.71 -11.2002 36.1201c0 35.3496 28.6396 64 63.96 64c35.3301 0 63.96 -28.6504 63.96 -64
+c0 -13.4102 -4.15039 -25.8301 -11.2002 -36.1201zM271.62 128h96.7598l-48.3799 116.19z" />
+ <glyph glyph-name="broom" unicode="&#xf51a;" horiz-adv-x="640"
+d="M256.47 231.23l86.7305 -109.181s-16.6006 -102.359 -76.5703 -150.12c-59.9697 -47.7793 -266.63 -34.1201 -266.63 -34.1201s3.7998 23.1406 11 55.4307l94.6201 112.17c3.96973 4.7002 -0.870117 11.6201 -6.65039 9.5l-60.3994 -22.0898
+c14.4395 41.6602 32.7197 80.04 54.5996 97.4697c59.9697 47.7598 163.3 40.9404 163.3 40.9404zM636.53 416.97c5.48926 -6.91016 4.33984 -16.96 -2.5498 -22.4395l-232.48 -177.8l34.0898 -42.9209c5.08008 -6.39941 1.66016 -15.9092 -6.33984 -17.5996
+l-58.7998 -12.4502l-86.7305 109.181l25.3301 54.5498c3.4502 7.41992 13.5 8.62012 18.5898 2.20996l34.1406 -42.9697l232.479 177.8c6.89062 5.48926 16.9199 4.33984 22.4102 -2.56055z" />
+ <glyph glyph-name="chalkboard" unicode="&#xf51b;" horiz-adv-x="640"
+d="M96 384v-352h-64v376c0 22.0596 17.9404 40 40 40h496c22.0596 0 40 -17.9404 40 -40v-376h-64v352h-448zM624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h272v64h192v-64
+h144z" />
+ <glyph glyph-name="chalkboard-teacher" unicode="&#xf51c;" horiz-adv-x="640"
+d="M208 96c62.0596 0 112.33 -50.4805 112 -112.62c-0.139648 -26.2598 -21.7305 -47.3799 -48 -47.3799h-224c-26.2695 0 -47.8604 21.1201 -48 47.3799c-0.330078 62.1396 49.9404 112.62 112 112.62c2.38965 0 4.76953 -0.349609 7.0498 -1.08984
+c12.9697 -4.20996 26.6006 -6.91016 40.9502 -6.91016s27.9805 2.7002 40.9404 6.91016c2.2793 0.740234 4.66992 1.08984 7.05957 1.08984zM160 128c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96s-42.9805 -96 -96 -96zM592 448
+c26.4697 0 48 -22.25 48 -49.5898v-316.82c0 -27.3398 -21.5303 -49.5898 -48 -49.5898h-244.55c-6.57031 25.2695 -20.5898 47.3096 -39.6904 64h76.2402v64h128v-64h64v288h-352v-49.7998c-18.9004 11.0195 -40.5801 17.7998 -64 17.7998v46.4102
+c0 27.3398 21.5303 49.5898 48 49.5898h384z" />
+ <glyph glyph-name="church" unicode="&#xf51d;" horiz-adv-x="640"
+d="M464.46 201.32c9.63965 -5.78027 15.54 -16.2002 15.54 -27.4404v-237.88h-96v96c0 35.3496 -28.6504 64 -64 64s-64 -28.6504 -64 -64v-96h-96v237.88c0 10.0029 6.96191 22.2959 15.54 27.4404l112.46 67.4795v51.2002h-48c-8.83984 0 -16 7.16016 -16 16v32
+c0 8.83984 7.16016 16 16 16h48v48c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-48h48c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-48v-51.2002zM0 52.04c0.00195312 11.6455 8.68945 24.8252 19.3896 29.4199l108.61 46.54
+v-192h-112c-8.83984 0 -16 7.16016 -16 16v100.04zM620.61 81.46c11.7598 -5.0498 19.3896 -16.6201 19.3896 -29.4199v-100.04c0 -8.83984 -7.16016 -16 -16 -16h-112v192z" />
+ <glyph glyph-name="coins" unicode="&#xf51e;"
+d="M0 42.7002c41.2998 -29.1006 116.8 -42.7002 192 -42.7002s150.7 13.5996 192 42.7002v-42.7002c0 -35.2998 -86 -64 -192 -64s-192 28.7002 -192 64v42.7002zM320 320c-106 0 -192 28.7002 -192 64s86 64 192 64s192 -28.7002 192 -64s-86 -64 -192 -64zM0 147.6
+c41.2998 -34 116.9 -51.5996 192 -51.5996s150.7 17.5996 192 51.5996v-51.5996c0 -35.2998 -86 -64 -192 -64s-192 28.7002 -192 64v51.5996zM416 136.6v63.6006c38.7002 6.89941 72.7998 18.0996 96 34.5v-42.7002c0 -23.7002 -38.7002 -44.2998 -96 -55.4004zM192 288
+c106 0 192 -35.7998 192 -80s-86 -80 -192 -80s-192 35.7998 -192 80s86 80 192 80zM411.3 231.7c-8.7998 23.7002 -30.5 42.8994 -60 57.2002c64.2002 3.19922 125.2 16.6992 160.7 41.7998v-42.7002c0 -24.2998 -40.7002 -45.5 -100.7 -56.2998z" />
+ <glyph glyph-name="compact-disc" unicode="&#xf51f;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM88 192c0 88.2002 71.7998 160 160 160v32c-105.9 0 -192 -86.0996 -192 -192h32zM248 96c53 0 96 43 96 96s-43 96 -96 96s-96 -43 -96 -96s43 -96 96 -96zM248 224
+c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
+ <glyph glyph-name="crow" unicode="&#xf520;" horiz-adv-x="640"
+d="M544 416c53.0195 0 96 -28.6504 96 -64l-96 -16v-80c0 -87.2598 -58.2598 -160.8 -137.97 -184.14l41.2393 -111.53c2.27051 -6.23047 -0.939453 -13.1104 -7.16992 -15.3799l-22.5498 -8.20996c-6.22949 -2.27051 -13.1094 0.939453 -15.3799 7.16992l-44.5098 120.38
+c-1.90039 -0.0595703 -3.75 -0.290039 -5.66016 -0.290039h-39.0596l38.3291 -103.68c2.27051 -6.23047 -0.939453 -13.1104 -7.16992 -15.3799l-22.5498 -8.20996c-6.22949 -2.27051 -13.1094 0.939453 -15.3799 7.16992l-44.4102 120.1h-96.4902l-121.539 -60.7695
+c-20.0908 -10.04 -43.7305 4.56934 -43.7305 27.0293c0.00195312 8.33984 5.41797 19.168 12.0898 24.1699l371.91 292.59v20.9805c0 44.1797 35.8203 80 80 80c26.0898 0 49.04 -12.6797 63.6396 -32h16.3604zM464 344c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
+s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
+ <glyph glyph-name="crown" unicode="&#xf521;" horiz-adv-x="640"
+d="M528 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-416c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h416zM592 320c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48c-2.59961 0 -5.2002 0.400391 -7.7002 0.799805l-72.2998 -192.8h-384
+l-72.2998 192.8c-2.5 -0.399414 -5.10059 -0.799805 -7.7002 -0.799805c-26.5 0 -48 21.5 -48 48s21.5996 48 48.0996 48s48 -21.5 48 -48c0 -7.09961 -1.69922 -13.7998 -4.39941 -19.7998l72.2998 -43.4004c15.2998 -9.2002 35.2998 -4 44.2002 11.6006l81.5 142.6
+c-10.7002 8.7998 -17.7002 22 -17.7002 37c0 26.5 21.5 48 48 48s48 -21.5 48 -48c0 -15 -7 -28.2002 -17.7002 -37l81.5 -142.6c8.90039 -15.6006 28.7998 -20.8008 44.2002 -11.6006l72.4004 43.4004c-2.80078 6.09961 -4.40039 12.7002 -4.40039 19.7998
+c0 26.5 21.5 48 48 48z" />
+ <glyph glyph-name="dice" unicode="&#xf522;" horiz-adv-x="640"
+d="M592 256c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v46.4199l136.26 136.26c24.1201 24.1201 29.6904 59.7305 17 89.3203h118.74zM480 72c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
+s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM433.63 258.7c19.1602 -19.1602 19.1602 -50.2305 0 -69.4004l-174.939 -174.93c-19.1602 -19.1602 -50.2305 -19.1602 -69.3906 0l-174.93 174.939c-19.1602 19.1602 -19.1602 50.2305 0 69.3906l174.939 174.93
+c19.1602 19.1602 50.2305 19.1602 69.3906 0zM96 200c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM224 72c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z
+M224 200c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM224 328c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM352 200c13.25 0 24 10.75 24 24
+c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
+ <glyph glyph-name="dice-five" unicode="&#xf523;" horiz-adv-x="448"
+d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256
+c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM224 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="dice-four" unicode="&#xf524;" horiz-adv-x="448"
+d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256
+c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="dice-one" unicode="&#xf525;" horiz-adv-x="448"
+d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM224 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="dice-six" unicode="&#xf526;" horiz-adv-x="448"
+d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 160
+c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="dice-three" unicode="&#xf527;" horiz-adv-x="448"
+d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM224 160
+c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="dice-two" unicode="&#xf528;" horiz-adv-x="448"
+d="M384 416c35.3496 0 64 -28.6504 64 -64v-320c0 -35.3496 -28.6504 -64 -64 -64h-320c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h320zM128 256c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM320 64
+c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="divide" unicode="&#xf529;" horiz-adv-x="448"
+d="M224 96c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64s-64 28.6504 -64 64s28.6504 64 64 64zM224 288c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM416 240c17.6699 0 32 -14.3301 32 -32v-32
+c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384z" />
+ <glyph glyph-name="door-closed" unicode="&#xf52a;" horiz-adv-x="640"
+d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h111.99v397.2c0 28.0195 21.5293 50.7998 48 50.7998h288.01c26.4697 0 48 -22.7803 48 -50.7998v-397.2h112zM415.99 160
+c17.6797 0 32.0098 14.3301 32 32c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="door-open" unicode="&#xf52b;" horiz-adv-x="640"
+d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-144v384h-96v64h112c26.4697 0 48 -22.1904 48 -49.4502v-334.55h80zM312.24 446.99c20.2002 5.24023 39.7598 -10.5898 39.7598 -32.1699v-478.82h-336c-8.83984 0 -16 7.16016 -16 16v32
+c0 8.83984 7.16016 16 16 16h80v365.08c0 15.2197 9.99023 28.4795 24.2402 32.1699zM264 160c13.25 0 24 14.3301 24 32s-10.75 32 -24 32s-24 -14.3301 -24 -32s10.75 -32 24 -32z" />
+ <glyph glyph-name="equals" unicode="&#xf52c;" horiz-adv-x="448"
+d="M416 144c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h384zM416 336c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-384c-17.6699 0 -32 14.3301 -32 32
+v32c0 17.6699 14.3301 32 32 32h384z" />
+ <glyph glyph-name="feather" unicode="&#xf52d;"
+d="M467.14 403.16c50.5703 -50.5205 61.7002 -124.9 16.2607 -199.36l-131.54 -43.7998h97.7793c-9.92969 -10.6797 3.68066 3.07031 -46.3096 -46.8604l-147.57 -49.1396h98.1904c-74.9502 -73.1104 -194.53 -70.6504 -246.83 -54.9404l-66.1006 -66.0293
+c-9.37988 -9.37012 -24.5996 -9.37012 -33.9795 0s-9.37988 24.5693 0 33.9395l259.52 259.25c6.25 6.25 6.25 16.3799 0 22.6299s-16.3896 6.25 -22.6494 0l-178.44 -178.25c-6.75 60.3408 3.18066 150.78 63.6406 211.17c24.7695 24.7402 7.13965 7.14062 85.75 85.6602
+c90.6094 90.5107 189.729 88.21 252.279 25.7305z" />
+ <glyph glyph-name="frog" unicode="&#xf52e;" horiz-adv-x="576"
+d="M446.53 350.57c0 0 58.4297 -19.0605 98.9893 -41.2803c18.7607 -10.2803 30.4805 -29.8301 30.4805 -51.2305v-0.00292969c0 -18.8037 -13.3105 -41.5283 -29.71 -50.7266l-154.44 -86.6504l98.5205 -104.68h53.6299c17.6699 0 32 -14.3301 32 -32
+c0 -8.83984 -7.16016 -16 -16 -16h-90.3799l-118.53 125.94c5.07031 54.1494 -29.9297 85.0596 -40.7998 93.21c-36.8496 27.6191 -88.29 27.6592 -125.13 0l-34.7803 -26.0908c-7.07031 -5.2998 -8.49023 -15.3291 -3.18945 -22.4092
+c5.31934 -7.10059 15.3496 -8.5 22.4092 -3.19043l32.7607 24.5898c20.6895 15.5303 48.3496 20.8105 72.2393 10.8799c44.0605 -18.3193 57.8506 -70.3701 33.71 -106.6l-35.7998 -48.3301h79.4902c17.6699 0 32 -14.3301 32 -32c0 -8.83984 -7.16016 -16 -16 -16h-304
+c-34.9199 0 -63.8896 28.0996 -64 63.0195c-0.5 166.86 126.75 304.021 289.46 319.44c6.82031 37.25 39.3096 65.54 78.54 65.54c39.1904 0 71.6699 -28.2305 78.5303 -65.4297zM368 312c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
+c-13.2598 0 -24 -10.7402 -24 -24c0 -13.25 10.7402 -24 24 -24z" />
+ <glyph glyph-name="gas-pump" unicode="&#xf52f;"
+d="M336 0c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-320c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h320zM493.2 340.7c12 -12 18.7998 -28.2998 18.7998 -45.2998v-223.4c0 -42.2002 -36.5 -76 -79.5 -71.7002
+c-37.5 3.90039 -64.5 38.2002 -64.5 75.9004v27.7998c0 22.0996 -17.9004 40 -40 40h-8v-112h-288v352c0 35.2998 28.7002 64 64 64h160c35.2998 0 64 -28.7002 64 -64v-192h8c48.5996 0 88 -39.4004 88 -88v-32c0 -13.2002 10.7998 -24 24 -24s24 10.7998 24 24v160.8
+c-27.0996 3.90039 -48 27.1006 -48 55.2002v62.0996l-37.7002 37.7002c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l11.2998 11.2998c6.2002 6.2002 16.4004 6.2002 22.6006 0zM256 256v128h-160v-128h160z" />
+ <glyph glyph-name="glasses" unicode="&#xf530;" horiz-adv-x="576"
+d="M574.1 167.63c1.26074 -5.07031 1.90039 -10.2695 1.90039 -15.5v-70.25c0 -62.8896 -51.5801 -113.88 -115.2 -113.88h-37.1201c-60.2793 0 -110.37 45.9404 -114.87 105.37l-2.92969 38.6299h-35.75l-2.92969 -38.6299
+c-4.50977 -59.4297 -54.6006 -105.37 -114.88 -105.37h-37.1201c-63.6201 0 -115.2 50.9902 -115.2 113.89v70.25c0.000976562 4.33984 0.852539 11.2793 1.90039 15.4902l45.3398 181.73c5.91016 23.6895 21.5898 44.0293 43 55.7998
+c21.4395 11.7402 46.9697 14.1094 70.1895 6.33008l15.25 -5.08008c8.39062 -2.79004 12.9199 -11.8604 10.1201 -20.2402l-5.05957 -15.1797c-2.79004 -8.37988 -11.8506 -12.9102 -20.2305 -10.1201l-13.1699 4.38965
+c-10.8701 3.62012 -22.9902 3.57031 -33.1494 -1.72949c-10.29 -5.36035 -17.5908 -14.5605 -20.3809 -25.8105l-38.46 -153.83c22.1904 6.81055 49.79 12.46 81.21 12.46c34.7803 0 73.9902 -7.00977 114.86 -26.75h73.1797
+c40.8701 19.7207 80.0801 26.7402 114.851 26.7402c31.4102 0 59.0098 -5.64941 81.2002 -12.46l-38.46 153.82c-2.80078 11.2598 -10.0801 20.4502 -20.3701 25.8193c-10.1602 5.30078 -22.29 5.35059 -33.1602 1.73047l-13.1797 -4.38965
+c-8.38086 -2.79004 -17.4404 1.73926 -20.2305 10.1201l-5.05957 15.1797c-2.80078 8.37988 1.72949 17.4502 10.1191 20.2402l15.25 5.08008c23.2207 7.7793 48.75 5.39941 70.1904 -6.33008c21.4102 -11.7607 37.0898 -32.1104 43 -55.8105zM203.38 78.21l3.12988 41.2197
+c-22.6699 8.58984 -46.0693 12.9199 -69.9297 12.9199c-29.1602 0 -54.46 -6.42969 -72.5801 -12.9199v-37.54c0 -27.5098 22.9697 -49.8896 51.2002 -49.8896h37.1201c26.6602 0 49.0898 20.2998 51.0596 46.21zM512 81.8799l-0.00976562 37.54
+c-18.1201 6.49023 -43.4307 12.9297 -72.5498 12.9297c-23.8701 0 -47.2803 -4.33008 -69.9502 -12.9199l3.12988 -41.2197c1.95996 -25.9102 24.3896 -46.21 51.0596 -46.21h37.1201c28.2305 0 51.2002 22.3701 51.2002 49.8799z" />
+ <glyph glyph-name="greater-than" unicode="&#xf531;" horiz-adv-x="384"
+d="M365.52 238.15c11.2803 -5.25 18.4805 -16.5605 18.4902 -29.0107v-34.2295c-0.00195312 -11.2529 -8.28027 -24.2451 -18.4795 -29l-306.471 -142.91c-16.0195 -7.46973 -35.0596 -0.540039 -42.5293 15.4805l-13.5205 29
+c-7.46973 16.0195 -0.540039 35.0596 15.4805 42.5293l218.47 101.891l-218.43 101.85c-16.0605 7.49023 -23.0107 26.5801 -15.5205 42.6396l13.5703 29.0801c7.49023 16.0605 26.5801 23.0107 42.6396 15.5205z" />
+ <glyph glyph-name="greater-than-equal" unicode="&#xf532;" horiz-adv-x="448"
+d="M55.2197 340.31c-18.29 6 -27.7393 24.2607 -21.0996 40.79l12.0303 29.9199c6.63965 16.5303 26.8594 25.0605 45.1494 19.0605l301.72 -119.98c13.7705 -4.51953 22.9805 -16.6094 22.9805 -30.1699v-15.96c0 -13.5596 -9.20996 -25.6494 -22.9805 -30.1699
+l-301.409 -119.859c-18.3906 -6.04004 -38.7002 2.54004 -45.3799 19.1494l-12.0908 30.0801c-6.67969 16.6104 2.81055 34.9697 21.2002 41l175.44 68.0498zM424 48c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-400c-13.25 0 -24 10.75 -24 24v48
+c0 13.2598 10.75 24 24 24h400z" />
+ <glyph glyph-name="helicopter" unicode="&#xf533;" horiz-adv-x="640"
+d="M304 64c-8.83105 0 -20.3018 5.73438 -25.5996 12.7998l-86.4004 115.2l-160 64l-31.5098 108.12c-2.53027 10.0996 5.10938 19.8799 15.5195 19.8799h39.9902c5.03027 0 9.78027 -2.37012 12.7998 -6.40039l43.2002 -57.5996h208v64h-176c-8.83984 0 -16 7.16016 -16 16
+v32c0 8.83984 7.16016 16 16 16h416c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-176v-64c123.71 0 224 -100.29 224 -224c0 -17.6699 -14.3301 -32 -32 -32h-272zM416 252.49v-124.49h124.79c-12.7598 62.5596 -62.2402 111.7 -124.79 124.49z
+M635.37 -10.8096c6.58984 -6.61035 6.04004 -17.5205 -0.980469 -23.6602c-33.1494 -29.0498 -53.5693 -29.5205 -68.4492 -29.5205h-325.94c-8.83984 0 -16 7.18066 -16 16.0303v32.0596c0 8.85059 7.16016 16.0303 16 16.0303h325.94
+c10.7998 0 17.5498 4.48047 24.6396 11.25c6.40039 6.11035 16.3896 6.27051 22.6396 0.00976562z" />
+ <glyph glyph-name="infinity" unicode="&#xf534;" horiz-adv-x="640"
+d="M471.1 352c93.1006 0 168.9 -71.7998 168.9 -160s-75.7998 -160 -168.9 -160c-66.0996 0 -117.8 41.2998 -151.1 78.5996c-33.2998 -37.2998 -85 -78.5996 -151.1 -78.5996c-93.1006 0 -168.9 71.7998 -168.9 160s75.7998 160 168.9 160
+c66.0996 0 117.8 -41.2998 151.1 -78.5996c33.2998 37.2998 85 78.5996 151.1 78.5996zM168.9 128c38.0996 0 73.5996 36.4004 94 64c-20.6006 27.9004 -55.8008 64 -94 64c-40.2002 0 -72.9004 -28.7002 -72.9004 -64s32.7002 -64 72.9004 -64zM471.1 128
+c40.2002 0 72.9004 28.7002 72.9004 64s-32.7002 64 -72.9004 64c-38.0996 0 -73.5996 -36.4004 -94 -64c20.6006 -27.9004 55.8008 -64 94 -64z" />
+ <glyph glyph-name="kiwi-bird" unicode="&#xf535;" horiz-adv-x="576"
+d="M575.81 230.02c0.300781 -5.7793 0.160156 -246.02 0.160156 -246.02c0 -7.30957 -4.95996 -13.7002 -12.0498 -15.5c-1.30957 -0.339844 -2.63965 -0.5 -3.9502 -0.5c-5.75 0 -11.1895 3.11035 -14.0498 8.33984l-74.4102 136.44
+c-7.04004 -0.470703 2.43066 -0.780273 -23.0498 -0.780273c-54.5996 0 -106.39 -19.25 -152.13 -49.0596c-12.46 -8.12012 -26.0996 -14.4502 -40.3398 -19.5107v-59.4297c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v49.1797
+c-5.32031 -0.449219 -10.5605 -1.17969 -16 -1.17969c-16.6006 0 -32.6406 2.2998 -48 6.25977v-54.2598c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v73.9902c-57.3105 33.21 -95.9502 95.0596 -95.9902 166.01
+c-0.0800781 145.76 129.3 182.88 147.31 186.94c57.1709 12.9199 111.221 0.259766 153.21 -28.7002c43.4902 -29.9902 94.9209 -46.2402 147.74 -46.2402h9.37012c60.6504 0 115.01 -45.4102 118.18 -105.98zM463.97 200c13.25 0 24 10.75 24 24
+c0 13.2598 -10.75 24 -24 24s-24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24zM543.97 46.75v99.0596c-11.1299 -11.3799 -24.7393 -20.1494 -39.8594 -25.9795z" />
+ <glyph glyph-name="less-than" unicode="&#xf536;" horiz-adv-x="384"
+d="M365.46 90.2598c16.0703 -7.49023 23.0205 -26.5801 15.5303 -42.6396l-13.5605 -29.0801c-7.48926 -16.0596 -26.5801 -23.0098 -42.6396 -15.5205l-306.31 142.83c-11.2705 5.25 -18.4805 16.5605 -18.4805 29v34.2402c0.00488281 11.252 8.2832 24.2432 18.4805 29
+l306.46 142.91c16.0195 7.46973 35.0596 0.540039 42.5293 -15.4805l13.5205 -29c7.46973 -16.0195 0.540039 -35.0596 -15.4805 -42.5293l-218.47 -101.88z" />
+ <glyph glyph-name="less-than-equal" unicode="&#xf537;" horiz-adv-x="448"
+d="M54.9805 233.8c-13.7705 4.52051 -22.9805 16.6104 -22.9805 30.1699v15.96c0 13.5703 9.20996 25.6602 22.9805 30.1807l301.71 119.96c18.29 6 38.5098 -2.53027 45.1494 -19.0605l12.0303 -29.9199c6.63965 -16.5195 -2.81055 -34.79 -21.1006 -40.79
+l-175.56 -68.0898l175.44 -68.0498c18.3896 -6.03027 27.8896 -24.3906 21.21 -41l-12.0908 -30.0801c-6.66992 -16.6104 -26.9893 -25.1797 -45.3799 -19.1504zM424 48c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-400c-13.25 0 -24 10.75 -24 24v48
+c0 13.2598 10.75 24 24 24h400z" />
+ <glyph glyph-name="memory" unicode="&#xf538;" horiz-adv-x="640"
+d="M640 317.06c-18.5996 -6.60938 -32 -24.1895 -32 -45.0596s13.4004 -38.4502 32 -45.0596v-98.9404h-640v98.9404c18.5996 6.60938 32 24.1895 32 45.0596s-13.4004 38.4502 -32 45.0596v34.9404c0 17.6699 14.3301 32 32 32h576c17.6699 0 32 -14.3301 32 -32v-34.9404z
+M224 192v128h-64v-128h64zM352 192v128h-64v-128h64zM480 192v128h-64v-128h64zM0 0v96h640v-96h-64v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699
+c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-128v26.6699c0 8.83984 -7.16016 16 -16 16s-16 -7.16016 -16 -16v-26.6699h-64z" />
+ <glyph glyph-name="microphone-alt-slash" unicode="&#xf539;" horiz-adv-x="640"
+d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
+c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l178.53 -138v45.3604c0 53.0195 42.9805 96 96 96s96 -42.9805 96 -96h-85.3301c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.3301
+c-5.88965 0 -10.6699 -3.58008 -10.6699 -8v-16c0 -4.41992 4.78027 -8 10.6699 -8h85.3301v-32h-85.0596l41.3994 -32h43.6699c0 -10.4502 -2.17969 -20.2705 -5.2793 -29.6699l26.5498 -20.5205c6.75977 15.4004 10.7197 32.2803 10.7197 50.2002v48
+c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-48c0 -28.9805 -7.25977 -56.21 -19.7402 -80.3301zM400 -16c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h56
+v34.1504c-88.0303 12.1396 -152 92.0498 -152 181.689v6.85059l52.0303 -40.2207c12.4395 -53.2197 55.3301 -96.3994 111.18 -101.85c6.94043 -0.669922 13.6396 -0.200195 20.3496 0.200195l50.4004 -38.96c-10.8604 -3.80078 -22.25 -6.45996 -33.96 -8.08008v-33.7803
+h56z" />
+ <glyph glyph-name="money-bill-wave" unicode="&#xf53a;" horiz-adv-x="640"
+d="M621.16 393.54c11.6094 -4.87012 18.8398 -16.8301 18.8496 -29.4697v-317.25c0 -18.4902 -15.04 -31.8105 -32.25 -31.8105c-3.39941 0 -6.87988 0.520508 -10.3496 1.62012c-30.8906 9.7998 -61.7598 13.7197 -92.6504 13.7197
+c-123.17 0 -246.34 -62.3496 -369.51 -62.3496c-38.7998 0 -77.6201 6.19043 -116.41 22.4697c-11.6094 4.86035 -18.8398 16.8301 -18.8398 29.46v317.261c0 18.4893 15.04 31.8096 32.25 31.8096c3.40039 0 6.87988 -0.519531 10.3496 -1.62012
+c30.8906 -9.7998 61.7607 -13.7197 92.6504 -13.7197c123.17 0 246.33 62.3496 369.5 62.3398c38.7998 0 77.6201 -6.19043 116.41 -22.46zM48 315.78v-60.4707c31 0 56.8398 22.1504 62.7197 51.54c-21.5996 1.36035 -42.5996 3.89062 -62.7197 8.93066zM48 30.7803
+c20.1201 -7.31055 41.1797 -11.8105 63.71 -13.6201c-1.53027 34.1299 -29.3398 61.3994 -63.71 61.3994v-47.7793zM320 96c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96zM592 68.2197v57.7207
+c-26.8203 -3.40039 -48.4502 -23.2002 -54.3203 -49.2803c18.6104 -1.58984 36.8008 -4.0498 54.3203 -8.44043zM592 304.33v48.8896c-17.7197 6.43066 -36.2695 10.4902 -55.8096 12.6602c0.949219 -31.8496 24.9199 -57.6396 55.8096 -61.5498z" />
+ <glyph glyph-name="money-bill-wave-alt" unicode="&#xf53b;" horiz-adv-x="640"
+d="M621.16 393.54c11.6094 -4.87012 18.8398 -16.8301 18.8496 -29.4697v-317.25c0 -18.4902 -15.04 -31.8105 -32.25 -31.8105c-3.39941 0 -6.87988 0.520508 -10.3496 1.62012c-30.8906 9.7998 -61.7598 13.7197 -92.6504 13.7197
+c-123.17 0 -246.34 -62.3496 -369.51 -62.3496c-38.7998 0 -77.6201 6.19043 -116.41 22.4697c-11.6094 4.86035 -18.8398 16.8301 -18.8398 29.46v317.261c0 18.4893 15.04 31.8096 32.25 31.8096c3.40039 0 6.87988 -0.519531 10.3496 -1.62012
+c30.8906 -9.7998 61.7607 -13.7197 92.6504 -13.7197c123.17 0 246.33 62.3496 369.5 62.3398c38.7998 0 77.6201 -6.19043 116.41 -22.46zM320 96c44.1699 0 80 42.9697 80 96c0 53.0195 -35.8203 96 -80 96s-80 -42.9805 -80 -96c0 -53.0098 35.8096 -96 80 -96z" />
+ <glyph glyph-name="money-check" unicode="&#xf53c;" horiz-adv-x="640"
+d="M0 0v320h640v-320c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32zM448 208v-32c0 -8.83984 7.16016 -16 16 -16h96c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-96c-8.83984 0 -16 -7.16016 -16 -16zM448 88v-16
+c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8zM64 184v-16c0 -4.41992 3.58008 -8 8 -8h304c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-304c-4.41992 0 -8 -3.58008 -8 -8z
+M64 88v-16c0 -4.41992 3.58008 -8 8 -8h176c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-176c-4.41992 0 -8 -3.58008 -8 -8zM624 416c8.83984 0 16 -7.16016 16 -16v-48h-640v48c0 8.83984 7.16016 16 16 16h608z" />
+ <glyph glyph-name="money-check-alt" unicode="&#xf53d;" horiz-adv-x="640"
+d="M608 416c17.6699 0 32 -14.3301 32 -32v-384c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v384c0 17.6699 14.3301 32 32 32h576zM176 120.12c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896
+l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21
+c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703
+c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973
+c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16.1201zM416 136v16
+c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8zM576 136v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8z
+M576 232v16c0 4.41992 -3.58008 8 -8 8h-272c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h272c4.41992 0 8 3.58008 8 8z" />
+ <glyph glyph-name="not-equal" unicode="&#xf53e;" horiz-adv-x="448"
+d="M416 240h-98.4199l-74.5303 -96h172.95c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32h-247.48l-82.0898 -105.73c-5.37012 -7.00977 -15.4102 -8.34961 -22.4297 -2.96973l-25.4102 19.46c-7.00977 5.37988 -8.33984 15.4199 -2.96973 22.4307
+l51.8701 66.8096h-55.4902c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h130.03l74.5293 96h-204.56c-17.6699 0 -32 14.3301 -32 32v32c0 17.6699 14.3301 32 32 32h279.09l82.0801 105.73c5.37988 7.00977 15.4199 8.34961 22.4404 2.96973
+l25.4092 -19.46c7.01074 -5.37012 8.34082 -15.4102 2.9707 -22.4307l-51.8701 -66.8096h23.8799c17.6699 0 32 -14.3301 32 -32v-32c0 -17.6699 -14.3301 -32 -32 -32z" />
+ <glyph glyph-name="palette" unicode="&#xf53f;"
+d="M204.3 443c163.8 31.9004 307.2 -92.0996 307.7 -249.7c-0.0996094 -35.7002 -29.0996 -65.2998 -64.9004 -65.2998h-79.6992c-51 0 -84 -53 -60.9004 -98.4004c18.9004 -37.0996 -1.2998 -85.2998 -42.5 -91.6992c-127.1 -19.7002 -295.8 119.699 -258.8 306.699
+c19.5996 99.1006 99.7002 179 199.1 198.4zM96 128c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM128 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 320
+c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM384 256c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="parking" unicode="&#xf540;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM240 128c52.9004 0 96 43.0996 96 96s-43.0996 96 -96 96h-96c-8.7998 0 -16 -7.2002 -16 -16v-224c0 -8.7998 7.2002 -16 16 -16h32
+c8.7998 0 16 7.2002 16 16v48h48zM240 256c17.5996 0 32 -14.4004 32 -32s-14.4004 -32 -32 -32h-48v64h48z" />
+ <glyph glyph-name="percentage" unicode="&#xf541;" horiz-adv-x="384"
+d="M109.25 274.75c-24.9902 -25 -65.5098 -25 -90.5098 0c-24.9902 24.9902 -24.9902 65.5195 0 90.5098s65.5195 24.9902 90.5098 0s24.9902 -65.5195 0 -90.5098zM365.25 109.26c25 -25 25 -65.5195 0 -90.5098c-24.9902 -24.9902 -65.5195 -24.9902 -90.5098 0
+s-24.9902 65.5195 0 90.5098s65.5195 24.9902 90.5098 0zM363.31 340.69c12.5 -12.5 12.5 -32.7607 0 -45.25l-274.75 -274.75c-12.4893 -12.5 -32.75 -12.5 -45.25 0l-22.6191 22.6191c-12.5 12.4902 -12.5 32.75 0 45.25l274.75 274.75c12.4893 12.5 32.75 12.5 45.25 0z
+" />
+ <glyph glyph-name="project-diagram" unicode="&#xf542;" horiz-adv-x="640"
+d="M384 128c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-128c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h128zM192 416v-32h224v-64h-224v-47.5098l64.2803 -112.49h-0.280273c-23.5996 0 -44.0195 -12.9805 -55.1201 -32.04
+l-73.1602 128.04h-95.7197c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h128c17.6699 0 32 -14.3301 32 -32zM608 448c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-128c-17.6699 0 -32 14.3301 -32 32v128
+c0 17.6699 14.3301 32 32 32h128z" />
+ <glyph glyph-name="receipt" unicode="&#xf543;" horiz-adv-x="384"
+d="M358.4 444.8c10.5996 7.90039 25.5996 0.400391 25.5996 -12.7998v-480c0 -13.2002 -15.0996 -20.7002 -25.5996 -12.7998l-38.4004 44.7998l-54.4004 -44.7998c-2.35059 -1.78027 -6.65137 -3.22559 -9.59961 -3.22559s-7.24902 1.44531 -9.59961 3.22559
+l-54.4004 44.7998l-54.4004 -44.7998c-2.35059 -1.78027 -6.65137 -3.22559 -9.59961 -3.22559s-7.24902 1.44531 -9.59961 3.22559l-54.4004 44.7998l-38.4004 -44.7998c-10.5996 -7.90039 -25.5996 -0.400391 -25.5996 12.7998v480c0 13.2002 15 20.7002 25.5996 12.7998
+l38.4004 -44.7998l54.4004 44.7998c2.35059 1.78027 6.65137 3.22559 9.59961 3.22559s7.24902 -1.44531 9.59961 -3.22559l54.4004 -44.7998l54.4004 44.7998c2.35059 1.78027 6.65137 3.22559 9.59961 3.22559s7.24902 -1.44531 9.59961 -3.22559l54.4004 -44.7998z
+M320 88v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8zM320 184v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240
+c4.40039 0 8 3.59961 8 8zM320 280v16c0 4.40039 -3.59961 8 -8 8h-240c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h240c4.40039 0 8 3.59961 8 8z" />
+ <glyph glyph-name="robot" unicode="&#xf544;" horiz-adv-x="640"
+d="M0 192c0 17.7002 14.2998 32 32 32h32v-192h-32c-17.7002 0 -32 14.2998 -32 32v128zM464 352c44.2002 0 80 -35.7998 80 -80v-272c0 -35.2998 -28.7002 -64 -64 -64h-320c-35.2998 0 -64 28.7002 -64 64v272c0 44.2002 35.7998 80 80 80h112v64
+c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-64h112zM256 32v32h-64v-32h64zM224 152c22.0996 0 40 17.9004 40 40s-17.9004 40 -40 40s-40 -17.9004 -40 -40s17.9004 -40 40 -40zM352 32v32h-64v-32h64zM448 32v32h-64v-32h64zM416 152c22.0996 0 40 17.9004 40 40
+s-17.9004 40 -40 40s-40 -17.9004 -40 -40s17.9004 -40 40 -40zM608 224c17.7002 0 32 -14.2998 32 -32v-128c0 -17.7002 -14.2998 -32 -32 -32h-32v192h32z" />
+ <glyph glyph-name="ruler" unicode="&#xf545;" horiz-adv-x="640"
+d="M635.7 280.8c8.7998 -15 3.59961 -34.2002 -11.6006 -42.7998l-496.8 -281.9c-15.2002 -8.59961 -34.7002 -3.5 -43.5 11.5l-79.5996 135.601c-8.7998 15 -3.5 34.0996 11.7002 42.7998l69 39.0996l59.6992 -101.399c2.2002 -3.7998 7.10059 -5.10059 10.9004 -2.90039
+l13.7998 7.7998c3.7998 2.2002 5.10059 7 2.90039 10.7002l-59.7002 101.7l55.2002 31.2998l27.8994 -47.5c2.2002 -3.7998 7.10059 -5.09961 10.9004 -2.89941l13.7998 7.7998c3.7998 2.2002 5.10059 6.89941 2.90039 10.7002l-27.9004 47.3994l55.2002 31.2998
+l59.7002 -101.699c2.2002 -3.80078 7.09961 -5.10059 10.8994 -2.90039l13.8008 7.7998c3.7998 2.2002 5.09961 7 2.89941 10.7002l-59.7998 101.7l55.2002 31.2998l27.8994 -47.2998c2.2002 -3.7998 7.10059 -5.10059 10.9004 -2.90039l13.7998 7.7998
+c3.7998 2.2002 5.10059 6.90039 2.90039 10.7002l-27.9004 47.4004l55.2002 31.2998l59.7002 -101.6c2.2002 -3.80078 7.09961 -5.10059 10.8994 -2.90039l13.8008 7.7998c3.7998 2.2002 5.09961 6.90039 2.89941 10.7002l-59.7002 101.7l69 39.0996
+c15.2002 8.60059 34.7002 3.5 43.5 -11.5z" />
+ <glyph glyph-name="ruler-combined" unicode="&#xf546;"
+d="M160 160v-41.3799l-158.43 -158.42c-0.660156 2.55957 -1.57031 5.03027 -1.57031 7.7998v448c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32v-32h-56c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56v-64h-56
+c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56v-64h-56c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h56zM480 96c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-448
+c-2.75977 0 -5.24023 0.910156 -7.7998 1.57031l158.43 158.43h41.3701v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v56h64v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v56h64v-56c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8
+v56h32z" />
+ <glyph glyph-name="ruler-horizontal" unicode="&#xf547;" horiz-adv-x="576"
+d="M544 320c17.6699 0 32 -14.3301 32 -32v-192c0 -17.6699 -14.3301 -32 -32 -32h-512c-17.6699 0 -32 14.3301 -32 32v192c0 17.6699 14.3301 32 32 32h48v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16
+c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h64v-88c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v88h48z" />
+ <glyph glyph-name="ruler-vertical" unicode="&#xf548;" horiz-adv-x="256"
+d="M168 32h88v-64c0 -17.6699 -14.3301 -32 -32 -32h-192c-17.6699 0 -32 14.3301 -32 32v448c0 17.6699 14.3301 32 32 32h192c17.6699 0 32 -14.3301 32 -32v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88
+c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h88v-64h-88c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8z" />
+ <glyph glyph-name="school" unicode="&#xf549;" horiz-adv-x="640"
+d="M0 224c0 17.6699 14.3301 32 32 32h64v-320h-80c-8.83984 0 -16 7.16016 -16 16v272zM360 272c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v64c0 4.41992 3.58008 8 8 8h16c4.41992 0 8 -3.58008 8 -8v-40h24z
+M497.75 335.96c8.90039 -5.92969 14.25 -15.9297 14.25 -26.6299v-373.33h-128v144c0 8.83984 -7.16016 16 -16 16h-96c-8.83984 0 -16 -7.16016 -16 -16v-144h-128v373.34c0.00195312 9.45117 6.38574 21.377 14.25 26.6201l160 106.67
+c4.4502 2.96484 12.4023 5.37012 17.75 5.37012s13.2998 -2.40527 17.75 -5.37012zM320 192c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM608 256c17.6699 0 32 -14.3301 32 -32v-272c0 -8.83984 -7.16016 -16 -16 -16h-80
+v320h64z" />
+ <glyph glyph-name="screwdriver" unicode="&#xf54a;"
+d="M448 448l64 -64l-96 -128h-62.0596l-83.0303 -83.0303c-4.25 6.79004 -9.07031 13.2705 -14.8701 19.0703c-5.7998 5.80957 -12.2803 10.6201 -19.0703 14.8701l83.0303 83.0303v62.0596zM128 169.41c29.1104 29.1094 76.2998 29.1094 105.41 0
+c29.1094 -29.1104 29.1094 -76.2998 0 -105.41l-117.08 -117.08c-14.5605 -14.5596 -38.1504 -14.5596 -52.71 0l-52.7002 52.7002c-14.5498 14.5596 -14.5498 38.1602 0 52.71z" />
+ <glyph glyph-name="shoe-prints" unicode="&#xf54b;" horiz-adv-x="640"
+d="M192 288c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64h32v-128h-32zM0 32c0 35.3496 28.6504 64 64 64h32v-128h-32c-35.3496 0 -64 28.6504 -64 64zM337.46 160c90.3604 0 174.54 -32 174.54 -96c0 -45.2197 -39.0996 -97.2998 -148.58 -120.82
+c-31.9795 -6.87012 -64.8896 -8.50977 -97.5801 -6.19922c-27.2998 1.92969 -54.0996 7.76953 -80.3096 15.0498l-57.5303 15.9697v128c60.21 0 79.9404 15.6201 104.73 32c28.5693 18.8799 69.8193 32 104.729 32zM491.42 440.81
+c109.48 -23.5098 148.58 -75.5898 148.58 -120.81c0 -64 -84.1797 -96 -174.54 -96c-34.9102 0 -76.1602 13.1201 -104.729 32c-24.79 16.3799 -44.5303 32 -104.73 32v128l57.5303 15.9697c26.21 7.27051 53.0098 13.1104 80.3096 15.04
+c32.6904 2.32031 65.6006 0.669922 97.5801 -6.2002z" />
+ <glyph glyph-name="skull" unicode="&#xf54c;"
+d="M256 448c141.4 0 256 -100.3 256 -224c0 -70.0996 -36.9004 -132.6 -94.5 -173.7c-9.7002 -6.89941 -15.2002 -18.2002 -13.5 -29.8994l9.40039 -66.2002c1.39941 -9.60059 -6 -18.2002 -15.7002 -18.2002h-77.7002v56c0 4.40039 -3.59961 8 -8 8h-16
+c-4.40039 0 -8 -3.59961 -8 -8v-56h-64v56c0 4.40039 -3.59961 8 -8 8h-16c-4.40039 0 -8 -3.59961 -8 -8v-56h-77.7002c-9.7002 0 -17.0996 8.59961 -15.7002 18.2002l9.40039 66.2002c1.7002 11.7998 -3.90039 23 -13.5 29.8994
+c-57.5996 41.1006 -94.5 103.601 -94.5 173.7c0 123.7 114.6 224 256 224zM160 128c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM352 128c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64
+s28.7002 -64 64 -64z" />
+ <glyph glyph-name="smoking-ban" unicode="&#xf54d;"
+d="M96 144v64c0 8.7998 7.2002 16 16 16h21.5l96 -96h-117.5c-8.7998 0 -16 7.2002 -16 16zM256 448c141.4 0 256 -114.6 256 -256s-114.6 -256 -256 -256s-256 114.6 -256 256s114.6 256 256 256zM256 0c41.4004 0 79.7002 13.2998 111.1 35.7002l-267.399 267.399
+c-22.4004 -31.3994 -35.7002 -69.6992 -35.7002 -111.1c0 -105.9 86.0996 -192 192 -192zM301.2 192l32 -32h50.7998v32h-82.7998zM412.3 80.9004c22.4004 31.3994 35.7002 69.6992 35.7002 111.1c0 105.9 -86.0996 192 -192 192
+c-41.4004 0 -79.7002 -13.2998 -111.1 -35.7002l124.3 -124.3h130.8c8.7998 0 16 -7.2002 16 -16v-64c0 -8.7998 -7.2002 -16 -16 -16h-34.7998zM320.6 320c32.1006 0 58.7002 -23.7002 63.3008 -54.5996c0.699219 -4.90039 -3 -9.40039 -8 -9.40039h-16.2002
+c-3.7002 0 -7 2.5 -7.7002 6.09961c-2.7998 14.7002 -15.7998 25.9004 -31.4004 25.9004c-32.0996 0 -58.6992 23.7002 -63.2998 54.5996c-0.700195 4.90039 3 9.40039 8 9.40039h16.2002c3.7002 0 7 -2.5 7.7002 -6.09961
+c2.7998 -14.7002 15.7998 -25.9004 31.3994 -25.9004z" />
+ <glyph glyph-name="store" unicode="&#xf54e;" horiz-adv-x="616"
+d="M602 329.4c33.5996 -53.6006 3.7998 -128 -59 -136.4c-4.5 -0.599609 -9 -0.900391 -13.7002 -0.900391c-29.5 0 -55.7002 13 -73.7998 33.1006c-18 -20.1006 -44.2002 -33.1006 -73.7998 -33.1006c-29.5 0 -55.7998 13 -73.7998 33.1006
+c-18 -20.1006 -44.2002 -33.1006 -73.8008 -33.1006c-29.5 0 -55.7998 13 -73.7998 33.1006c-18 -20.1006 -44.2002 -33.1006 -73.7998 -33.1006c-4.59961 0 -9.2002 0.300781 -13.7002 0.900391c-62.5996 8.5 -92.2998 82.9004 -58.7998 136.4l64.9004 103.6
+c5.7998 9.2998 16.0996 15 27.0996 15h404c11 0 21.2998 -5.7002 27.0996 -15zM529.5 160c6.09961 0 12.0996 0.400391 18.2002 1.2002c5.59961 0.700195 11 2 16.3994 3.59961v-196.8c0 -17.7002 -14.2998 -32 -32 -32h-448c-17.6992 0 -32 14.2998 -32 32v196.8
+c5.30078 -1.5 10.8008 -2.7998 16.4004 -3.59961c5.90039 -0.799805 12 -1.2002 18 -1.2002c10 0 19.9004 1.59961 29.5 3.7998v-99.7998h384v99.7998c9.59961 -2.2998 19.5 -3.7998 29.5 -3.7998z" />
+ <glyph glyph-name="store-alt" unicode="&#xf54f;" horiz-adv-x="640"
+d="M320 64v160h64v-256c0 -17.7002 -14.2998 -32 -32 -32h-256c-17.7002 0 -32 14.2998 -32 32v256h64v-160h192zM634.6 305.8c14.1006 -21.2998 -1.09961 -49.7998 -26.5996 -49.7998h-575.9c-25.5996 0 -40.7998 28.5 -26.5996 49.7998l85.2998 128
+c5.90039 8.90039 15.9004 14.2002 26.6006 14.2002h405.199c10.7002 0 20.7002 -5.2998 26.7002 -14.2002zM512 -48v272h64v-272c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16z" />
+ <glyph glyph-name="stream" unicode="&#xf550;"
+d="M16 320c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h416c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416zM496 240c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16
+v64c0 8.83984 7.16016 16 16 16h416zM432 64c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h416z" />
+ <glyph glyph-name="stroopwafel" unicode="&#xf551;"
+d="M188.12 237.26l45.25 -45.2598l-45.2598 -45.25l-45.25 45.25zM301.25 259.88l-45.25 -45.25l-45.25 45.2598l45.25 45.25zM210.75 124.12l45.25 45.25l45.2598 -45.25l-45.2598 -45.2598zM256 448c141.38 0 256 -114.62 256 -256s-114.62 -256 -256 -256
+s-256 114.62 -256 256s114.62 256 256 256zM442.68 152.4c1.29199 1.29492 2.34082 3.83008 2.34082 5.65918c0 1.83008 -1.04883 4.36523 -2.34082 5.66016l-28.29 28.2803l28.2705 28.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096
+c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-28.29 -28.29l-45.25 45.2607l33.9404 33.9395l16.9697 -16.9697c3.12012 -3.12012 8.18945 -3.12012 11.3096 0l11.3105 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-16.9707 16.9697l16.9707 16.9697
+c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096c-3.12012 3.12012 -8.18945 3.12012 -11.3096 0l-16.9697 -16.9697l-16.9707 16.9697c-3.12012 3.12012 -8.18945 3.12012 -11.3096 0l-11.3105 -11.3096c-3.11914 -3.12012 -3.11914 -8.19043 0 -11.3105
+l16.9707 -16.9697l-33.9404 -33.9404l-45.2598 45.25l28.29 28.29c3.12012 3.12012 3.12012 8.19043 0 11.3105l-11.3105 11.3096c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-28.29 -28.29l-28.3096 28.2705c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0
+l-11.3096 -11.3105c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l28.29 -28.29l-45.2607 -45.25l-33.9395 33.9404l16.9697 16.9697c3.12012 3.12012 3.12012 8.18945 0 11.3096l-11.3096 11.3105c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-16.9697 -16.9707
+l-16.9697 16.9707c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-11.3096 -11.3105c-3.12012 -3.12012 -3.12012 -8.18945 0 -11.3096l16.9697 -16.9697l-16.9697 -16.9707c-3.12012 -3.12012 -3.12012 -8.18945 0 -11.3096l11.3096 -11.3105
+c3.12012 -3.11914 8.19043 -3.11914 11.3105 0l16.9697 16.9707l33.9404 -33.9404l-45.25 -45.2598l-28.29 28.29c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-11.3096 -11.3105c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l28.29 -28.29l-28.29 -28.29
+c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3096l11.3398 -11.3301c3.12012 -3.12012 8.18945 -3.12012 11.3096 0l28.29 28.29l45.25 -45.25l-33.9395 -33.9404l-16.9707 16.9697c-3.11914 3.12012 -8.18945 3.12012 -11.3096 0l-11.3096 -11.3096
+c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l16.9697 -16.9697l-16.9697 -16.9697c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l11.3096 -11.3096c3.12012 -3.12012 8.19043 -3.12012 11.3096 0l16.9707 16.9697l16.9697 -16.9697
+c3.12012 -3.12012 8.19043 -3.12012 11.3096 0l11.3105 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3105l-16.9697 16.9697l33.9395 33.9404l45.25 -45.2598l-28.29 -28.29c-3.12012 -3.12012 -3.12012 -8.19043 0 -11.3105l11.3105 -11.3096
+c3.11914 -3.12012 8.18945 -3.12012 11.3096 0l28.29 28.29l28.3096 -28.2705c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l11.3096 11.3105c3.12012 3.11914 3.12012 8.18945 0 11.3096l-28.29 28.29l45.2607 45.2598l33.9395 -33.9395l-16.9697 -16.9707
+c-3.12012 -3.11914 -3.12012 -8.18945 0 -11.3096l11.3096 -11.3096c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l16.9697 16.9697l16.9697 -16.9697c3.12012 -3.12012 8.19043 -3.12012 11.3105 0l11.3096 11.3096c3.12012 3.12012 3.12012 8.19043 0 11.3096
+l-16.9697 16.9707l16.9697 16.9697c3.12012 3.12012 3.12012 8.19043 0 11.3096l-11.3096 11.3105c-3.12012 3.12012 -8.19043 3.12012 -11.3105 0l-16.9697 -16.9697l-33.9404 33.9395l45.25 45.25l28.29 -28.29c3.12012 -3.12012 8.19043 -3.12012 11.3105 0zM278.63 192
+l45.2598 45.2598l45.25 -45.2598l-45.25 -45.25z" />
+ <glyph glyph-name="toolbox" unicode="&#xf552;"
+d="M502.63 233.37c6 -6 9.37012 -14.1396 9.37012 -22.6201v-82.75h-128v16c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-16h-128v16c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-16h-128v82.7402
+c0 8.49023 3.37012 16.6299 9.37012 22.6299l45.25 45.2598c6.00977 6 14.1396 9.37012 22.6299 9.37012h50.75v80c0 26.5098 21.4902 48 48 48h160c26.5098 0 48 -21.4902 48 -48v-80.0098h50.75c8.49023 0 16.6299 -3.37012 22.6299 -9.37012zM320 288v64h-128v-64h128z
+M384 80v16h128v-96c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v96h128v-16c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v16h128v-16c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16z" />
+ <glyph glyph-name="tshirt" unicode="&#xf553;" horiz-adv-x="640"
+d="M631.2 351.5c7.89941 -3.90039 11.0996 -13.5996 7.09961 -21.5l-57.2998 -114.4c-4 -8 -13.5996 -11.1992 -21.5 -7.19922l-56.5996 27.6992c-10.6006 5.2002 -23 -2.59961 -23 -14.3994v-253.7c0 -17.7002 -14.3008 -32 -32 -32h-256c-17.7002 0 -32 14.2998 -32 32
+v253.6c0 11.9004 -12.4004 19.6006 -23 14.4004l-56.6006 -27.7002c-7.89941 -3.89941 -17.5 -0.700195 -21.5 7.2002l-57.2002 114.5c-3.89941 7.90039 -0.699219 17.5 7.2002 21.5l194.7 96.5c20.0996 -27.7998 64.5996 -47.2002 116.5 -47.2002
+s96.4004 19.4004 116.5 47.2002z" />
+ <glyph glyph-name="walking" unicode="&#xf554;" horiz-adv-x="320"
+d="M208 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM302.5 202.9c15.7002 -7.90039 22 -27.3008 14.2998 -43c-7.89941 -15.8008 -26.8994 -22.2002 -42.5 -14.3008l-23.2998 11.8008c-15 7.59961 -26.4004 20.8994 -31.7002 37
+l-5.5 16.5l-17.2002 -68.7002l45.5 -49.7002c7.2002 -7.7998 12.3008 -17.4004 14.9004 -27.7002l22.2002 -89c4.2998 -17.0996 -6.2002 -34.5 -23.2998 -38.7998c-17.1006 -4.2998 -34.5 6.2002 -38.8008 23.2998l-18.2998 73.2998
+c-2.59961 10.3008 -7.7002 19.8008 -14.8994 27.7002l-59.9004 65.4004c-14.5 15.8994 -20.0996 38 -14.9004 58.7998l15.2002 60.7002l-26.7998 -10.7998c-7.2002 -2.90039 -13 -8.40039 -16.5 -15.4004l-6.7002 -13.5996
+c-7.89941 -15.8008 -26.8994 -22.2002 -42.5 -14.3008c-15.7002 7.90039 -22 27.1006 -14.2002 42.9004l6.7002 13.5996c10.4004 21 28.1006 37.5 49.7002 46.2002c37.4004 15.1006 57.2998 25.2998 93.2998 25.2002c46.5 -0.0996094 87.5 -31.2998 102.2 -75.9004
+l9.7002 -29.3994zM73.5996 62.2002l20.7002 51.5c8.7002 -11.9004 -7.89941 6.59961 47.4004 -53.7002l-13.5 -33.7998c-3.2998 -8.10059 -8.10059 -15.4004 -14.2002 -21.5l-59.4004 -59.4004c-12.5 -12.5 -32.6992 -12.5 -45.1992 0s-12.5 32.7998 0 45.2998l50 50.1006
+c6.19922 6.09961 11 13.3994 14.1992 21.5z" />
+ <glyph glyph-name="wallet" unicode="&#xf555;"
+d="M461.2 320c28.0195 0 50.7998 -21.5303 50.7998 -48v-256c0 -26.4697 -22.7803 -48 -50.7998 -48h-397.2c-35.3496 0 -64 28.6504 -64 64v320c0 35.3496 28.6504 64 64 64h368c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-384
+c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h381.2zM416 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 208c0 -17.7002 14.4004 -32 32.0996 -32c17.7002 0 32 14.2998 32 32c0 2.90039 -1 5.5 -1.69922 8.2002c0.599609 0 1.19922 -0.200195 1.69922 -0.200195
+c6.90039 0 13.2002 4.5 15.3008 11.4004c2.59961 8.39941 -2.2002 17.3994 -10.7002 19.8994l-80 24c-8.5 2.5 -17.4004 -2.2002 -19.9004 -10.7002c-2.59961 -8.39941 2.2002 -17.3994 10.7002 -19.8994l31 -9.2998c-6.40039 -5.90039 -10.5 -14.1006 -10.5 -23.4004z
+M304 53.7998c13.4004 -16.0996 38.2998 4 24.5 20.5c-20 24 -49.4004 37.7998 -80.5996 37.7998c-31.2002 0 -60.6006 -13.7998 -80.6006 -37.7998c-13.5996 -16.2998 11.1006 -36.7998 24.6006 -20.5c27.8994 33.4004 84.2998 33.4004 112.1 0zM380.6 240.7
+c8.5 2.5 13.3008 11.3994 10.8008 19.8994c-2.5 8.40039 -11.5 13.2002 -19.9004 10.7002l-80 -24c-8.40039 -2.5 -13.2002 -11.3994 -10.7002 -19.8994c2.10059 -6.90039 8.40039 -11.4004 15.2998 -11.4004c0.600586 0 1.10059 0.0996094 1.7002 0.200195
+c-0.799805 -2.60059 -1.7002 -5.2998 -1.7002 -8.2002c0 -17.7002 14.3008 -32 32 -32c17.7002 0 32 14.2998 32 32c0 9.2998 -4.19922 17.5996 -10.5 23.4004z" />
+ <glyph glyph-name="archway" unicode="&#xf557;" horiz-adv-x="576"
+d="M560 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-159.98c-8.83984 0 -16 7.16016 -16 16v16l-0.0195312 160c0 53.0195 -42.9805 96 -96 96s-96 -42.9805 -96 -96v-176c0 -8.83984 -7.16016 -16 -16 -16h-159.98
+c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h15.9805v352h512v-352h16zM560 448c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-544c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h544z" />
+ <glyph glyph-name="atlas" unicode="&#xf558;" horiz-adv-x="448"
+d="M318.38 240c-5.28027 -31.2197 -25.5898 -57.1699 -53.2998 -70.4102c7.66992 19.0605 12.7197 43.3799 14.21 70.4102h39.0898zM318.38 272h-39.0898c-1.49023 27.0303 -6.53027 51.3496 -14.21 70.4102c27.71 -13.2402 48.0098 -39.1904 53.2998 -70.4102zM224 350.69
+c7.69043 -7.4502 20.7695 -34.4307 23.4404 -78.6904h-46.8701c2.66016 44.2695 15.7393 71.2402 23.4297 78.6904zM182.92 342.41c-7.67969 -19.0605 -12.7197 -43.3799 -14.21 -70.4102h-39.0898c5.28027 31.2197 25.5898 57.1699 53.2998 70.4102zM182.92 169.59
+c-27.71 13.2402 -48.0195 39.1904 -53.2998 70.4102h39.0898c1.49023 -27.0303 6.53027 -51.3496 14.21 -70.4102zM247.43 240c-2.66016 -44.2598 -15.7393 -71.2402 -23.4395 -78.6904c-7.69043 7.4502 -20.7705 34.4307 -23.4307 78.6904h46.8701zM448 89.5996
+c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320c0 54.4004 41.5996 96 96 96
+h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM224 384c-70.6904 0 -128 -57.3096 -128 -128s57.3096 -128 128 -128s128 57.3096 128 128s-57.3096 128 -128 128zM384 0v64h-288c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h288z" />
+ <glyph glyph-name="award" unicode="&#xf559;" horiz-adv-x="384"
+d="M97.1201 85.3701c13.79 -13.7803 32.1104 -21.3701 51.6104 -21.3701c12.4395 0 24.4697 3.54004 35.3096 9.58008l-52.0498 -127.62c-4.39062 -10.7695 -18.4307 -13.4004 -26.4307 -4.95996l-36.2393 38.2803l-52.6904 -2.01074
+c-11.6201 -0.439453 -19.8203 11.2607 -15.4297 22.0303l45.3701 111.24c7.55957 -5.87012 15.9199 -10.7705 25.4297 -13.3203c20.96 -5.60938 16.4297 -3.16016 25.1201 -11.8496zM382.8 -0.700195c4.39062 -10.7598 -3.80957 -22.4697 -15.4297 -22.0303
+l-52.6904 2.01074l-36.25 -38.2803c-7.98926 -8.44043 -22.04 -5.80957 -26.4297 4.95996l-52.0498 127.62c10.8398 -6.03027 22.8701 -9.58008 35.3096 -9.58008c19.5 0 37.8301 7.58984 51.6201 21.3701c8.66992 8.66992 4.0498 6.20996 25.1201 11.8496
+c9.50977 2.5498 17.8701 7.44043 25.4297 13.3203zM263 108c-13.2305 -13.4697 -33.8398 -15.8799 -49.7305 -5.82031c-5.37305 3.41211 -14.8994 6.18066 -21.2646 6.18066c-6.36426 0 -15.8916 -2.76855 -21.2646 -6.18066
+c-15.9004 -10.0596 -36.5098 -7.64941 -49.7402 5.82031c-14.7305 15 -16.4004 14.04 -38.7803 20.1396c-13.8896 3.79004 -24.75 14.8408 -28.4697 28.9805c-7.48047 28.3994 -5.54004 24.9697 -25.9502 45.75c-10.1699 10.3604 -14.1396 25.4502 -10.4199 39.5898
+c7.48047 28.4199 7.46973 24.46 0 52.8203c-3.72949 14.1396 0.25 29.2295 10.4199 39.5801c20.4102 20.7793 18.4805 17.3594 25.9502 45.75c3.71973 14.1396 14.5801 25.1895 28.4697 28.9795c27.8906 7.61035 24.5303 5.62988 44.9404 26.4102
+c10.1699 10.3604 25 14.4004 38.8896 10.6104c27.9199 -7.61035 24.0303 -7.60059 51.9004 0c13.8896 3.79004 28.7197 -0.260742 38.8896 -10.6104c20.4297 -20.79 17.0703 -18.7998 44.9502 -26.4102c13.8896 -3.79004 24.75 -14.8398 28.4697 -28.9795
+c7.48047 -28.3906 5.54004 -24.9707 25.9502 -45.75c10.1699 -10.3506 14.1396 -25.4404 10.4199 -39.5801c-7.47949 -28.4102 -7.46973 -24.4502 0 -52.8301c3.71973 -14.1406 -0.25 -29.2305 -10.4199 -39.5801c-20.4102 -20.7803 -18.4697 -17.3506 -25.9502 -45.75
+c-3.71973 -14.1396 -14.5801 -25.1904 -28.4697 -28.9805c-21.7598 -5.92969 -23.5098 -4.58984 -38.79 -20.1396zM97.6602 272.04c0 -53.0303 42.2402 -96.0205 94.3398 -96.0205s94.3398 42.9902 94.3398 96.0205s-42.2402 96.0195 -94.3398 96.0195
+s-94.3398 -42.9893 -94.3398 -96.0195z" />
+ <glyph glyph-name="backspace" unicode="&#xf55a;" horiz-adv-x="640"
+d="M576 384c35.3496 0 64 -28.6504 64 -64v-256c0 -35.3496 -28.6504 -64 -64 -64h-370.75c-16.9697 0 -33.25 6.75 -45.25 18.75l-150.63 150.63c-12.5 12.4902 -12.5 32.75 0 45.25l150.63 150.62c10.3438 10.3496 30.6143 18.75 45.2471 18.75h0.0126953h370.74z
+M491.31 129.94l-62.0596 62.0596l62.0596 62.0596c6.25 6.25 6.25 16.3809 0 22.6309l-22.6191 22.6191c-6.25 6.25 -16.3809 6.25 -22.6309 0l-62.0596 -62.0596l-62.0596 62.0596c-6.25 6.25 -16.3809 6.25 -22.6309 0l-22.6191 -22.6191
+c-6.25 -6.25 -6.25 -16.3809 0 -22.6309l62.0596 -62.0596l-62.0596 -62.0596c-6.25 -6.25 -6.25 -16.3809 0 -22.6309l22.6191 -22.6191c6.25 -6.25 16.3809 -6.25 22.6309 0l62.0596 62.0596l62.0596 -62.0596c6.25 -6.25 16.3809 -6.25 22.6309 0l22.6191 22.6191
+c6.25 6.25 6.25 16.3809 0 22.6309z" />
+ <glyph glyph-name="bezier-curve" unicode="&#xf55b;" horiz-adv-x="640"
+d="M368 416c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM208 360v-72c0 -9.4502 2.17969 -18.3604 5.87988 -26.4404c-34.2695 -24.3496 -59.7402 -59.9492 -71.04 -101.56
+h-49.3994c13.6797 64.6797 54.1699 119.48 109.54 152h-79.7305c-9.5 -23.4404 -32.4102 -40 -59.25 -40c-35.3398 0 -64 28.6504 -64 64s28.6602 64 64 64c26.8398 0 49.75 -16.5596 59.25 -40h84.75zM160 128c17.6699 0 32 -14.3301 32 -32v-96
+c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96zM576 400c35.3398 0 64 -28.6504 64 -64s-28.6602 -64 -64 -64c-26.8398 0 -49.75 16.5596 -59.25 40h-79.7305c55.3701 -32.5195 95.8604 -87.3203 109.54 -152
+h-49.3994c-11.2998 41.6104 -36.7705 77.21 -71.04 101.56c3.68945 8.08008 5.87988 16.9902 5.87988 26.4404v72h84.75c9.5 23.4404 32.4102 40 59.25 40zM576 128c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32
+v96c0 17.6699 14.3301 32 32 32h96z" />
+ <glyph glyph-name="bong" unicode="&#xf55c;" horiz-adv-x="447"
+d="M302.5 -64h-221c-23.1699 0 -44.4199 12.5801 -56 32.6602c-16.1904 28.0703 -25.5 60.5898 -25.5 95.3398c0 71.0303 38.6699 132.9 96 166.11v153.93l-15.9697 -0.0205078c-8.85059 -0.00976562 -16.0303 7.16016 -16.0205 16.0107l0.0400391 31.7295
+c0.00976562 8.82031 7.16016 15.9707 15.9805 15.9805l223.939 0.259766c8.85059 0.00976562 16.0303 -7.16992 16.0205 -16.0195l-0.0400391 -31.7207c-0.00976562 -8.81934 -7.16016 -15.9697 -15.9805 -15.9795l-15.9697 -0.0205078v-154.16
+c14.1201 -8.17969 27.0898 -18.1396 38.6504 -29.5098l39.4092 39.4102l-9.37988 9.37988c-6.25 6.25 -6.25 16.3799 0 22.6299l11.3105 11.3105c6.25 6.25 16.3799 6.25 22.6299 0l52.6895 -52.6904c6.25 -6.25 6.25 -16.3799 0 -22.6299l-11.2998 -11.3203
+c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-9.37988 9.37988l-43.4404 -43.4395c17.3604 -28.8105 27.4404 -62.5 27.4404 -98.6201c0 -34.75 -9.30957 -67.2598 -25.5 -95.3398c-11.5703 -20.0801 -32.8203 -32.6602 -56 -32.6602zM120.06 188.57
+c-24.8096 -14.3701 -44.1094 -35.7305 -56.5596 -60.5703h257c-12.4404 24.8398 -31.75 46.2002 -56.5596 60.5703l-23.9404 13.8701v181.76l-96 -0.110352v-181.649z" />
+ <glyph glyph-name="brush" unicode="&#xf55d;" horiz-adv-x="384"
+d="M352 448c17.6699 0 32 -14.3301 32 -32v-224h-384v224c0 17.6699 14.3301 32 32 32h320zM0 128v32h384v-32c0 -35.3496 -28.6602 -64 -64 -64h-64v-64c0 -35.3496 -28.6602 -64 -64 -64s-64 28.6504 -64 64v64h-64c-35.3398 0 -64 28.6504 -64 64zM192 24
+c-13.25 0 -24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24s24 10.75 24 24c0 13.2598 -10.75 24 -24 24z" />
+ <glyph glyph-name="bus-alt" unicode="&#xf55e;"
+d="M488 320c13.25 0 24 -10.7402 24 -24v-80c0 -13.25 -10.75 -24 -24 -24h-8v-166.4c0 -12.7998 -9.59961 -25.5996 -25.5996 -25.5996h-6.40039v-32c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32
+c-17.6699 0 -32 14.3301 -32 32v32c-17.6699 0 -32 14.3301 -32 32v160h-8c-13.25 0 -24 10.75 -24 24v80c0 13.2598 10.75 24 24 24h8v48c0 44.7998 99.2002 80 224 80s224 -35.2002 224 -80v-48h8zM160 376v-16c0 -4.41992 3.58008 -8 8 -8h176c4.41992 0 8 3.58008 8 8
+v16c0 4.41992 -3.58008 8 -8 8h-176c-4.41992 0 -8 -3.58008 -8 -8zM112 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM240 160v160h-112c-17.6699 0 -32 -14.3301 -32 -32v-96c0 -17.6699 14.3301 -32 32 -32h112zM272 160
+h112c17.6699 0 32 14.3301 32 32v96c0 17.6699 -14.3301 32 -32 32h-112v-160zM400 48c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="cannabis" unicode="&#xf55f;"
+d="M503.47 87.75c5.24023 -2.75977 8.52051 -8.20996 8.53027 -14.1504c0.00976562 -5.92969 -3.26953 -11.3691 -8.50977 -14.1494c-2.4502 -1.29004 -60.7705 -31.7197 -133.49 -31.7197c-6.12988 0 -11.96 0.0996094 -17.5 0.30957
+c11.3604 -22.2305 16.5195 -38.3096 16.8096 -39.2197c1.80078 -5.68066 0.290039 -11.8906 -3.90918 -16.1104c-2.5918 -2.60059 -7.67578 -4.71094 -11.3467 -4.71094c-1.34277 0 -3.47168 0.322266 -4.75391 0.720703c-1.83008 0.580078 -37.7197 11.9902 -77.2998 39.29
+v-64.0098c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v64.0195c-39.5801 -27.2998 -75.4697 -38.7197 -77.2998 -39.2891c-1.28223 -0.398438 -3.41113 -0.72168 -4.75391 -0.72168c-3.6709 0 -8.75488 2.11035 -11.3467 4.71094
+c-4.19922 4.2207 -5.70996 10.4307 -3.90918 16.1104c0.290039 0.910156 5.43945 16.9902 16.8096 39.2197c-5.54004 -0.209961 -11.3604 -0.30957 -17.5 -0.30957c-72.7305 0 -131.04 30.4297 -133.49 31.7197c-4.69629 2.48926 -8.50879 8.82422 -8.50879 14.1396
+c0 5.32422 3.82129 11.6641 8.5293 14.1504c1.56934 0.820312 32.3896 16.8896 76.7793 25.8096c-64.25 75.1201 -84.0498 161.671 -84.9297 165.641c-0.210938 0.947266 -0.382812 2.50488 -0.382812 3.47559c0 3.65039 2.09375 8.71094 4.67285 11.2939
+c3.03027 3.04004 7.12012 4.7002 11.3203 4.7002c1.14941 0 2.2998 -0.129883 3.43945 -0.379883c3.89062 -0.860352 86.5508 -19.5996 160.58 -79.7598c0 1.45996 -0.00976562 2.92969 -0.00976562 4.39941c0 118.79 59.9805 213.721 62.5303 217.7
+c2.93945 4.58984 8.01953 7.37012 13.4697 7.37012h0.00195312c4.82812 0 10.8574 -3.30176 13.458 -7.37012c2.5498 -3.97949 62.5303 -98.9102 62.5303 -217.7c0 -1.46973 0 -2.93945 -0.00976562 -4.39941c74.0391 60.1699 156.699 78.9102 160.579 79.7598
+c1.15039 0.259766 2.30078 0.379883 3.44043 0.379883c4.2002 0 8.29004 -1.66016 11.3203 -4.7002c3.85938 -3.87012 5.47949 -9.43945 4.2998 -14.7695c-0.879883 -3.96973 -20.6797 -90.5205 -84.9297 -165.641c44.3896 -8.91992 75.2197 -24.9893 76.7793 -25.8096z" />
+ <glyph glyph-name="check-double" unicode="&#xf560;"
+d="M504.5 276.05c10 -10.0596 10 -26.3594 0 -36.4199l-294.4 -296.09c-9.98926 -10.0596 -26.1992 -10.0596 -36.1992 0l-166.4 167.36c-10 10.0498 -10 26.3594 0 36.4092l36.2002 36.4102c9.99023 10.0605 26.2002 10.0605 36.2002 0l112.1 -112.739l240.1 241.479
+c9.99023 10.0498 26.2002 10.0498 36.2002 0zM166.57 165.29l-122.601 123.5c-6.83984 7.01953 -6.83984 18.3604 0.180664 25.2002l42.1299 41.7695c7.01953 6.83984 18.3594 6.83984 25.2002 -0.179688l68.2295 -68.7705l157.16 156.08
+c7.03027 6.84082 18.3701 6.84082 25.21 -0.179688l41.9502 -42.1201c6.83984 -7.03027 6.83984 -18.3701 -0.180664 -25.21l-212.069 -210.27c-7.03027 -6.84082 -18.3701 -6.84082 -25.21 0.179688z" />
+ <glyph glyph-name="cocktail" unicode="&#xf561;" horiz-adv-x="576"
+d="M296 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v125.22l-168.74 168.73c-15.5195 15.5195 -4.5293 42.0498 17.4199 42.0498h366.641c21.9492 0 32.9395 -26.5303 17.4199 -42.0498
+l-168.74 -168.73v-125.22h56zM432 448c79.5303 0 144 -64.4697 144 -144s-64.4697 -144 -144 -144c-27.4102 0 -52.7695 8.08008 -74.5801 21.3799l35.2598 35.2598c12.0303 -5.43945 25.2803 -8.63965 39.3203 -8.63965c52.9297 0 96 43.0596 96 96s-43.0703 96 -96 96
+c-35.3701 0 -65.9902 -19.4502 -82.6396 -48h-52.54c19.8301 55.7998 72.5693 96 135.18 96z" />
+ <glyph glyph-name="concierge-bell" unicode="&#xf562;"
+d="M288 317.46c108.51 -15.5703 192 -108.64 192 -221.46h-448c0 112.82 83.4902 205.89 192 221.46v18.54h-16c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-16v-18.54zM496 64
+c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" />
+ <glyph glyph-name="cookie" unicode="&#xf563;"
+d="M510.37 193.21c4.37988 -27.6602 -0.110352 -56 -12.8203 -80.96l-35.0996 -68.8701c-10.7695 -21.1328 -36.6592 -47.0273 -57.79 -57.7998l-69.1201 -35.21c-24.8301 -12.6396 -53.0098 -17.1104 -80.5205 -12.75l-76.6992 12.1396
+c-23.3896 3.70801 -55.9639 20.3066 -72.71 37.0498l-54.7607 54.75c-16.7959 16.8027 -33.4443 49.4844 -37.1592 72.9502l-12.0801 76.2705c-0.901367 5.68848 -1.63281 14.9805 -1.63281 20.7412c0 17.5723 6.47461 44.541 14.4521 60.1982l35.1006 68.8799
+c10.7666 21.1357 36.6562 47.0303 57.79 57.8008l69.1201 35.21c24.8291 12.6494 53.0098 17.1201 80.5195 12.7598l76.7002 -12.1504c27.5303 -4.34961 52.9795 -17.3301 72.71 -37.0498l54.7598 -54.75c16.7969 -16.8027 33.4443 -49.4844 37.1602 -72.9502zM176 80
+c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM208 240c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM368 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="cookie-bite" unicode="&#xf564;"
+d="M510.52 192.18c4.10059 -27.3301 -0.349609 -55.2695 -12.9092 -79.9102l-35.1006 -68.8799c-10.7656 -21.1367 -36.6562 -47.0361 -57.79 -57.8096l-69.1299 -35.21c-24.8301 -12.6504 -53.0195 -17.1201 -80.5303 -12.7598l-76.71 12.1494
+c-23.3916 3.70801 -55.9658 20.3105 -72.71 37.0605l-54.7695 54.7598c-16.7969 16.8057 -33.4443 49.4912 -37.1602 72.96l-12.0801 76.2695c-0.900391 5.68945 -1.63184 14.9824 -1.63184 20.7422c0 17.5752 6.47461 44.5479 14.4521 60.208l35.0996 68.8799
+c10.7646 21.1396 36.6543 47.0391 57.79 57.8105l69.1299 35.2197c24.5898 12.5205 52.46 16.96 79.7207 12.8203c0.859375 -69.96 57.6895 -126.45 127.859 -126.45c0 -70.1699 56.5 -127.01 126.47 -127.86zM176 80c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32
+s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM208 240c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM368 112c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="crop-alt" unicode="&#xf565;"
+d="M488 96c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-40v-40c0 -13.25 -10.75 -24 -24 -24h-48c-13.25 0 -24 10.75 -24 24v328h-160v96h224c17.6699 0 32 -14.3301 32 -32v-256h40zM160 424v-328h160v-96h-224c-17.6699 0 -32 14.3301 -32 32v256h-40
+c-13.25 0 -24 10.75 -24 24v48c0 13.2598 10.75 24 24 24h40v40c0 13.2598 10.75 24 24 24h48c13.25 0 24 -10.7402 24 -24z" />
+ <glyph glyph-name="digital-tachograph" unicode="&#xf566;" horiz-adv-x="640"
+d="M608 352c17.6699 0 32 -14.3301 32 -32v-256c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v256c0 17.6699 14.3301 32 32 32h576zM304 96v8c0 4.41992 -3.58008 8 -8 8h-224c-4.41992 0 -8 -3.58008 -8 -8v-8c0 -4.41992 3.58008 -8 8 -8h224
+c4.41992 0 8 3.58008 8 8zM72 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM136 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16
+c-4.41992 0 -8 -3.58008 -8 -8v-16zM200 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM264 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8
+h-16c-4.41992 0 -8 -3.58008 -8 -8v-16zM304 224v48c0 8.83984 -7.16016 16 -16 16h-208c-8.83984 0 -16 -7.16016 -16 -16v-48c0 -8.83984 7.16016 -16 16 -16h208c8.83984 0 16 7.16016 16 16zM576 96v8c0 4.41992 -3.58008 8 -8 8h-224c-4.41992 0 -8 -3.58008 -8 -8v-8
+c0 -4.41992 3.58008 -8 8 -8h224c4.41992 0 8 3.58008 8 8z" />
+ <glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM152 233.4l28.7002 -28.7002c14.7002 -14.7998 37.7998 7.39941 22.5996 22.5996l-28.7002 28.7002l28.7002 28.7002c15 14.8994 -7.59961 37.5996 -22.5996 22.5996
+l-28.7002 -28.7002l-28.7002 28.7002c-14.8994 15 -37.5996 -7.59961 -22.5996 -22.5996l28.7002 -28.7002l-28.7002 -28.7002c-15.2002 -15.0996 7.7998 -37.3994 22.5996 -22.5996zM248 32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64
+s28.7002 -64 64 -64zM395.3 227.3l-28.7002 28.7002l28.7002 28.7002c15 14.8994 -7.59961 37.5996 -22.5996 22.5996l-28.7002 -28.7002l-28.7002 28.7002c-14.8994 15 -37.5996 -7.59961 -22.5996 -22.5996l28.7002 -28.7002l-28.7002 -28.7002
+c-15.2002 -15.0996 7.7998 -37.3994 22.5996 -22.5996l28.7002 28.7002l28.7002 -28.7002c14.7002 -14.7998 37.7998 7.39941 22.5996 22.5996z" />
+ <glyph glyph-name="drafting-compass" unicode="&#xf568;" horiz-adv-x="511"
+d="M457.01 103.58l54.9805 -95.2305l-7.02051 -58.25c-1.2793 -10.5898 -12.3594 -16.9893 -22.1699 -12.7998l-53.9502 23.04l-54.3799 94.1904c29.9102 11.8701 57.4902 28.7197 82.54 49.0498zM499.5 198.14c-52.6201 -83.1299 -144.45 -134.14 -243.5 -134.14
+c-35.3799 0 -69.8701 6.71973 -102.06 18.96l-70.8008 -122.63l-53.9492 -23.04c-9.81055 -4.19043 -20.8906 2.20996 -22.1709 12.7998l-7.01953 58.25l71.2803 123.46c-21.29 17.8105 -40.4102 38.3799 -55.9805 62.0205
+c-4.99023 7.56934 -2.20996 17.9297 5.64062 22.4697l27.75 16.0703c7.40918 4.29004 16.5898 1.76953 21.3799 -5.33008c9.71973 -14.4102 21.1299 -27.3906 33.6797 -39l68.2998 118.31c-7.43945 13.6299 -12.0498 29.0303 -12.0498 45.6602c0 53.0195 42.9805 96 96 96
+s96 -42.9805 96 -96c0 -16.6299 -4.61035 -32.0303 -12.0596 -45.6602l51.79 -89.71c-23.0508 -23.1699 -51.3809 -39.96 -82.6104 -48.9199l-51.0898 88.5c-0.69043 -0.0195312 -1.33984 -0.209961 -2.04004 -0.209961s-1.33984 0.19043 -2.04004 0.209961
+l-67.3604 -116.68c22.1797 -7.28027 45.4805 -11.5303 69.4102 -11.5303c76.25 0 147.01 38.8496 188.12 102.38c4.64941 7.17969 13.7803 9.87012 21.2598 5.71973l28.0703 -15.5693c7.93945 -4.40039 10.9102 -14.7207 6.0498 -22.3906zM256 384
+c-17.6699 0 -32 -14.3301 -32 -32s14.3301 -32 32 -32s32 14.3301 32 32s-14.3301 32 -32 32z" />
+ <glyph glyph-name="drum" unicode="&#xf569;" horiz-adv-x="576"
+d="M458.08 327.12c71.3799 -23.29 117.91 -60.75 117.92 -103.13v-160.83c0 -30.46 -24.0303 -58.4004 -64 -80.3701v96.3701c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32v-122.41c-37.4004 -11.1299 -81 -18.4404 -128 -20.75v111.16c0 17.5996 -14.4004 32 -32 32
+s-32 -14.4004 -32 -32v-111.15c-47 2.31055 -90.5996 9.62012 -128 20.75v122.41c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32v-96.3701c-39.9697 21.9697 -64 49.9102 -64 80.3701v160.83c0 70.6904 128.94 128 288 128
+c21.8467 -0.00585938 57.167 -2.2373 78.8398 -4.98047l160.69 96.4102c15.1699 9.10059 34.8096 4.18066 43.9102 -10.9697c9.08984 -15.1602 4.18945 -34.8203 -10.9707 -43.9102zM288 144c132.54 0 240 35.8096 240 79.9902c0 30.2695 -50.4502 56.5996 -124.82 70.1895
+l-162.71 -97.6201c-14.3994 -8.63965 -34.3496 -4.95996 -43.9102 10.9707c-9.08984 15.1602 -4.18945 34.8193 10.9707 43.9102l87.4102 52.4395c-2.32031 0.0205078 -4.60059 0.120117 -6.94043 0.120117c-132.55 0 -240 -35.8203 -240 -80s107.45 -80 240 -80z" />
+ <glyph glyph-name="drum-steelpan" unicode="&#xf56a;" horiz-adv-x="576"
+d="M288 416c159.06 0 288 -57.3096 288 -128v-192c0 -70.6904 -128.94 -128 -288 -128s-288 57.3096 -288 128v192c0 70.6904 128.94 128 288 128zM205.01 257.64c5.11035 19.0605 2.49023 38.96 -7.37012 56.0508l-25.5996 44.3398
+c-73.9297 -13.6406 -124.04 -39.8701 -124.04 -70.0303c0 -30.7803 52.2305 -57.46 128.7 -70.8398c13.7695 9.91016 23.8594 23.8701 28.3096 40.4795zM288 208c21.0801 0 41.4102 1 60.8896 2.7002c-8.05957 26.1299 -32.1494 45.2998 -60.8896 45.2998
+s-52.8301 -19.1699 -60.8896 -45.2998c19.4795 -1.7002 39.8096 -2.7002 60.8896 -2.7002zM352 352v13.04c-20.4004 1.87988 -41.7998 2.95996 -64 2.95996s-43.5996 -1.08008 -64 -2.95996v-13.04c0 -35.29 28.71 -64 64 -64s64 28.71 64 64zM398.93 217.1
+c76.6699 13.3604 129.07 40.0703 129.07 70.9004c0 30.21 -50.2803 56.5 -124.44 70.0996l-25.6494 -44.4199c-9.87012 -17.0801 -12.4902 -36.9795 -7.37988 -56.04c4.45996 -16.6396 14.5898 -30.6299 28.3994 -40.54z" />
+ <glyph glyph-name="feather-alt" unicode="&#xf56b;"
+d="M512 448c-1.80957 -26.2598 -11.71 -132.86 -53.6201 -234.79l-106.54 -53.21h81.1406c-9.08008 -16.4102 -19.2002 -32.2305 -30.4502 -47.1201l-146.79 -48.8799h100.95c-35.5605 -30.0703 -79.1006 -51.0996 -132.58 -56.54
+c-41.8105 -4.83008 -83.8701 -7.21973 -125.96 -7.36035l-57.1309 -57.0693c-9.38965 -9.37012 -24.5996 -9.37012 -33.9795 0s-9.37988 24.5693 0 33.9395l259.5 259.24c6.25 6.25 6.25 16.3799 0 22.6299s-16.4004 6.25 -22.6504 0l-178.87 -178.689
+c1.15039 26.7998 2.90039 53.5801 5.99023 80.2393c25.4307 249.41 389.21 284.051 440.99 287.61z" />
+ <glyph glyph-name="file-contract" unicode="&#xf56c;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8
+h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 312v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM256.81 64c-4.19922 0 -8.13965 2.44043 -10.1592 6.5
+c-11.9502 23.8604 -46.2305 30.3496 -66 14.1602l-13.8809 41.6396c-3.28906 9.82031 -12.4297 16.4102 -22.7695 16.4102s-19.4805 -6.59961 -22.7803 -16.4102l-18.1895 -54.6396c-1.53027 -4.58008 -5.81055 -7.66016 -10.6406 -7.66016h-12.3896
+c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h12.3896c18.6201 0 35.1104 11.8701 41 29.5303l10.6104 31.8799l16.8301 -50.46c2.03027 -6.14062 7.58008 -10.4404 14.0303 -10.8906c0.389648 -0.0292969 0.759766 -0.0498047 1.13965 -0.0498047h0.00976562
+c5.45508 0 11.8613 3.96094 14.2998 8.83984l7.6709 15.3408c2.7998 5.59961 7.93945 6.18945 10.0195 6.18945s7.21973 -0.599609 10.1699 -6.51953c7.37012 -14.7207 22.1904 -23.8604 38.6396 -23.8604h47.1904c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16h-47.1904z
+M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
+ <glyph glyph-name="file-download" unicode="&#xf56d;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM300.45 100.64c10.1299 10.0703 3.00977 27.3604 -11.2705 27.3604h-65.1797v80
+c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-80h-65.1797c-14.2803 0 -21.4004 -17.29 -11.25 -27.3604l96.4199 -95.6992c6.64941 -6.61035 17.3896 -6.61035 24.04 0zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961
+c6.40039 0 12.5 -2.5 17 -7z" />
+ <glyph glyph-name="file-export" unicode="&#xf56e;" horiz-adv-x="575"
+d="M384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004zM571 140c6.59961 -6.59961 6.59961 -17.4004 0 -24l-95.7002 -96.5c-10.0996 -10.0996 -27.3994 -3 -27.3994 11.2998v65.2002h-64v64h64v65.0996
+c0 14.3008 17.2998 21.4004 27.3994 11.3008zM192 112c0 -8.7998 7.2002 -16 16 -16h176v-136c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24h136v-128h-176
+c-8.7998 0 -16 -7.2002 -16 -16v-32z" />
+ <glyph glyph-name="file-import" unicode="&#xf56f;"
+d="M16 160h112v-64h-112c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16zM505 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM352 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24
+h-336c-13.2998 0 -24 10.7002 -24 24v136h127.9v-65.0996c0 -14.3008 17.2998 -21.4004 27.3994 -11.3008l95.7002 96.4004c6.59961 6.59961 6.59961 17.2998 0 24l-95.5996 96.5c-10.1006 10.0996 -27.4004 3 -27.4004 -11.2998v-65.2002h-128v264
+c0 13.2998 10.7002 24 24 24h200v-136z" />
+ <glyph glyph-name="file-invoice" unicode="&#xf570;" horiz-adv-x="384"
+d="M288 192v-64h-192v64h192zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464
+c0 13.2998 10.7002 24 24 24h200v-136zM64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 312v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16
+c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM320 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8zM320 208c0 8.83984 -7.16016 16 -16 16h-224
+c-8.83984 0 -16 -7.16016 -16 -16v-96c0 -8.83984 7.16016 -16 16 -16h224c8.83984 0 16 7.16016 16 16v96z" />
+ <glyph glyph-name="file-invoice-dollar" unicode="&#xf571;" horiz-adv-x="384"
+d="M377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7zM224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136z
+M64 376v-16c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8zM64 296c0 -4.41992 3.58008 -8 8 -8h80c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-80c-4.41992 0 -8 -3.58008 -8 -8
+v-16zM208 32.1201c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104
+c4.55957 0 8.94922 -1.29004 12.8193 -3.71973c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v24.29c0 4.41992 -3.58008 8 -8 8h-16
+c-4.41992 0 -8 -3.58008 -8 -8v-24.1201c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104
+c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-24.29c0 -4.41992 3.58008 -8 8 -8h16
+c4.41992 0 8 3.58008 8 8v24.1201z" />
+ <glyph glyph-name="file-prescription" unicode="&#xf572;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM292.53 132.52c-6.25 6.25 -16.3799 6.25 -22.6299 0l-29.9004 -29.8994l-33.46 33.46
+c19.8398 10.8701 33.46 31.7002 33.46 55.9199c0 35.3496 -28.6504 64 -64 64h-80c-8.83984 0 -16 -7.16016 -16 -16v-160c0 -8.83984 7.16016 -16 16 -16h16c8.83984 0 16 7.16016 16 16v48h18.7402l59.3193 -59.3096l-30.0596 -30.0605
+c-6.25 -6.25 -6.25 -16.3799 0 -22.6299l11.3096 -11.3096c6.25 -6.25 16.3809 -6.25 22.6309 0l30.0596 30.0596l30.0596 -30.0703c6.25 -6.25 16.3809 -6.25 22.6309 0l11.3096 11.3105c6.25 6.25 6.25 16.3799 0 22.6299l-30.0596 30.0596l29.8994 29.9004
+c6.25 6.25 6.25 16.3799 0 22.6299zM176 176h-48v32h48c8.82031 0 16 -7.17969 16 -16s-7.17969 -16 -16 -16zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004z" />
+ <glyph glyph-name="file-signature" unicode="&#xf573;" horiz-adv-x="576"
+d="M218.17 23.8604c7.25 -14.4707 21.71 -23.4404 37.8301 -23.75l128 -0.110352v-40c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136c0 -13.2002 10.7998 -24 24 -24h136.01v-46.5498l-128 -127.09
+v-82.1201c-3.87012 0.30957 -7.46973 2.47949 -9.35938 6.25977c-11.9404 23.8604 -46.25 30.3496 -66 14.1602l-13.8809 41.6396c-3.28906 9.82031 -12.4297 16.4102 -22.7695 16.4102s-19.4805 -6.59961 -22.7803 -16.4102l-18.1895 -54.6396
+c-1.53027 -4.58008 -5.81055 -7.66016 -10.6406 -7.66016h-12.3896c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16h12.3896c18.6201 0 35.1104 11.8701 41 29.5303l10.6104 31.8799l16.8301 -50.4697c4.4502 -13.46 23.1104 -14.8701 29.4795 -2.09082
+l7.6709 15.3408c2.7998 5.59961 7.93945 6.18945 10.0195 6.18945s7.21973 -0.599609 10.1699 -6.51953zM384 326.1v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7l97.9004 -98c4.5 -4.5 7 -10.5996 7 -16.9004zM288 101.04l162.79 161.62l67.8799 -67.8799
+l-161.68 -162.78h-68.9902v69.04zM568.54 280.67c9.9502 -9.93945 9.9502 -26.0703 0 -36.0098l-27.25 -27.25l-67.8799 67.8799l27.25 27.25c9.93945 9.94043 26.0703 9.94043 36.0098 0z" />
+ <glyph glyph-name="file-upload" unicode="&#xf574;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM289.18 95.9902c14.2803 0 21.4004 17.29 11.25 27.3594l-96.4199 95.7002
+c-6.64941 6.61035 -17.3896 6.61035 -24.04 0l-96.4199 -95.7002c-10.1396 -10.0693 -3.00977 -27.3594 11.2705 -27.3594h65.1797v-80c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v80h65.1797zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004v-6.09961h-128
+v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
+ <glyph glyph-name="fill" unicode="&#xf575;"
+d="M502.63 230.94c12.4902 -12.5 12.4902 -32.7607 0 -45.2607l-221.57 -221.569c-18.75 -18.75 -43.3096 -28.1201 -67.8799 -28.1201c-24.5596 0 -49.1201 9.37988 -67.8701 28.1201l-117.189 117.189c-37.4902 37.4902 -37.4902 98.2598 0 135.75l94.7598 94.7598
+l-86.1895 86.1807c-6.24023 6.25 -6.24023 16.3799 0 22.6299l22.6191 22.6104c6.24023 6.25 16.3809 6.25 22.6201 0l86.1807 -86.1807l81.5801 81.5801c6.23926 6.25 14.4297 9.37012 22.6191 9.37012c8.19043 0 16.3809 -3.12012 22.6309 -9.37012zM386.41 159.97
+l48.3496 48.3398l-162.45 162.44l-58.9492 -58.9502l58.6094 -58.5996c12.4902 -12.4902 12.4902 -32.75 0 -45.2402c-12.4893 -12.4902 -32.75 -12.4902 -45.2393 0l-58.6104 58.5996l-81.6104 -81.6094l-13.1494 -13.1504
+c-3.86035 -3.84961 -6.07031 -7.99023 -7.43066 -11.8301h320.48z" />
+ <glyph glyph-name="fill-drip" unicode="&#xf576;" horiz-adv-x="576"
+d="M512 128c0 0 64 -92.6504 64 -128s-28.6602 -64 -64 -64s-64 28.6504 -64 64s64 128 64 128zM502.63 230.94c12.4902 -12.5 12.4902 -32.75 -0.00976562 -45.25l-221.57 -221.57c-18.7402 -18.75 -43.2998 -28.1201 -67.8701 -28.1201
+c-24.5596 0 -49.1299 9.37988 -67.8701 28.1201l-117.189 117.189c-37.4902 37.4902 -37.4902 98.2705 0 135.75l94.7598 94.7607l-86.1895 86.1797c-6.24023 6.24023 -6.24023 16.3701 0 22.6201l22.6191 22.6201c6.24023 6.25 16.3701 6.25 22.6201 0l86.1807 -86.1904
+l81.5801 81.5801c6.23926 6.25 14.4297 9.37012 22.6191 9.37012c8.19043 0 16.3809 -3.12012 22.6309 -9.37012zM386.41 159.97l48.3398 48.3398l-162.44 162.44l-58.9492 -58.9502l58.5996 -58.5996c12.4902 -12.4902 12.4902 -32.75 0 -45.2402
+s-32.75 -12.4902 -45.2402 0l-58.5996 58.5996l-81.6104 -81.6094l-13.1494 -13.1504c-3.86035 -3.84961 -6.07031 -7.99023 -7.43066 -11.8301h320.48z" />
+ <glyph glyph-name="fingerprint" unicode="&#xf577;"
+d="M256.12 202.04c13.2598 0 24 -10.75 23.9902 -24c1.55957 -99.1104 -15.9502 -176.61 -29.4805 -224.521c-2.97949 -10.5996 -12.6104 -17.5195 -23.0898 -17.5195c-20.9697 0 -25.8496 20.7695 -23.1201 30.4902c19.5605 69.6494 28.8398 139.3 27.7002 211.55
+c0 13.2598 10.75 24 24 24zM255.26 283.77c56.9707 -0.839844 104.03 -46.9199 104.91 -102.72c0.790039 -50.8994 -2.99023 -102.08 -11.2695 -152.109c-0.770508 -4.6709 -7.61035 -23.1006 -27.5801 -19.7705c-13.0703 2.16016 -21.9307 14.5205 -19.7607 27.5801
+c7.80078 47.2197 11.3809 95.5 10.6104 143.55c-0.469727 30.1299 -26.3096 55 -57.6201 55.4697c-34.5303 0.150391 -54.8594 -26.3896 -54.4502 -52.3398c0.800781 -51.4395 -4.0293 -102.93 -14.3691 -153.02c-2.69043 -12.9805 -15.3105 -21.3105 -28.3604 -18.6406
+c-12.9697 2.6709 -21.3301 15.3809 -18.6396 28.3604c9.61914 46.6396 14.1191 94.6104 13.3691 142.55c-0.849609 54.0205 41.9004 101.16 103.16 101.09zM144.57 303.55c10.2793 -8.37012 11.8398 -23.4795 3.48926 -33.7598
+c-18.7998 -23.0898 -28.4697 -51.0898 -28 -80.9697c0.640625 -40.6699 -2.66992 -81.4902 -9.85938 -121.33c-0.820312 -4.5498 -7.78027 -22.8604 -27.8906 -19.3604c-13.0498 2.36035 -21.6992 14.8398 -19.3594 27.8896c6.63965 36.7803 9.7002 74.4707 9.10938 112.051
+c-0.639648 40.7197 13.1309 80.5 38.75 112c8.39062 10.2793 23.46 11.8193 33.7607 3.47949zM254.04 365.88c101.09 -1.5 184.6 -83.0801 186.16 -181.83c0.0615234 -3.97852 0.111328 -10.4375 0.111328 -14.417c0 -29.1934 -2.68848 -76.4277 -6.00195 -105.433
+c-1.06934 -9.23047 -9.85938 -23.0605 -26.5791 -21.1104c-13.1602 1.5 -22.6104 13.4102 -21.1104 26.5801c4.2998 37.5205 6.16992 75.75 5.58008 113.63c-1.15039 73.0801 -63.4502 133.45 -138.88 134.58c-11.5303 0.0800781 -22.9502 -1.08008 -34 -3.68945
+c-12.8906 -3 -25.8301 4.93945 -28.8906 17.8291c-3.04004 12.9102 4.94043 25.8301 17.8301 28.8906c14.9102 3.53027 30.3701 5.37988 45.7803 4.96973zM506.11 244.43c6.22949 -28.2295 6.00977 -50.1602 5.83008 -72.3398
+c-0.110352 -13.1895 -10.8301 -23.7998 -24 -23.7998h-0.200195c-13.25 0.110352 -23.9102 10.9297 -23.7998 24.2002c0.209961 24.1895 0.00976562 40.1895 -4.7002 61.5996c-2.86035 12.9502 5.31934 25.75 18.2598 28.6104
+c13.0996 2.92969 25.75 -5.35059 28.6104 -18.2705zM465.99 335.15c7.62012 -10.8408 5 -25.8105 -5.83984 -33.4307c-10.8604 -7.58984 -25.8105 -5 -33.4199 5.86035c-39.8906 56.8301 -105.171 91.3604 -174.62 92.3896
+c-56.3408 0.810547 -108.92 -20.0596 -147.681 -58.8594c-37.1201 -37.1406 -57.1094 -86.5 -56.2793 -139l-0.160156 -23.6406c-0.379883 -13 -11.0498 -23.2998 -23.9707 -23.2998c-0.239258 0 -0.489258 0 -0.719727 0.0205078
+c-13.25 0.379883 -23.6699 11.4395 -23.2803 24.6895l0.120117 21.4697c-1.04004 65.6104 23.9502 127.28 70.3203 173.71c48.0098 48.0303 112.56 73.7607 182.35 72.9209c84.79 -1.27051 164.48 -43.4404 213.181 -112.83z" />
+ <glyph glyph-name="fish" unicode="&#xf578;" horiz-adv-x="576"
+d="M327.1 352c137.46 0 248.9 -128 248.9 -160s-111.44 -160 -248.9 -160c-89.9697 0 -168.55 54.7695 -212.279 101.62l-87.3301 -66.0498c-12.1299 -9.16992 -30.2402 0.599609 -27.1406 14.6602l24.1904 109.77l-24.1797 109.76
+c-3.10059 14.0605 15.0098 23.8398 27.1396 14.6602l87.3301 -66.0498c43.7295 46.8604 122.3 101.63 212.27 101.63zM414.53 168c13.25 0 24 10.75 24 24c0 13.2598 -10.7402 24 -24 24c-13.25 0 -24 -10.7402 -24 -24c0 -13.25 10.75 -24 24 -24z" />
+ <glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496"
+d="M344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248
+s-248 111 -248 248s111 248 248 248zM80 224c0 -39.7998 32.2002 -72 72 -72s72 32.2002 72 72s-32.2002 72 -72 72s-72 -32.2002 -72 -72zM312 48c21.2002 0 21.2002 32 0 32h-128c-21.2002 0 -21.2002 -32 0 -32h128zM344 152c39.7998 0 72 32.2002 72 72
+s-32.2002 72 -72 72s-72 -32.2002 -72 -72s32.2002 -72 72 -72z" />
+ <glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM323.3 56.7002c11.4004 -3.5 22.5 6.2002 20.5 18.0996
+c-7 39.9004 -60.0996 61.2002 -95.7998 61.2002s-88.7998 -21.2002 -95.7998 -61.2002c-2 -11.7998 9 -21.5996 20.5 -18.0996c31.2002 9.59961 59.3994 15.2998 75.2998 15.2998s44.0996 -5.7002 75.2998 -15.2998zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32
+s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="glass-martini-alt" unicode="&#xf57b;"
+d="M502.05 390.4l-214.05 -214.04v-192.36h56c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-240c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h56v192.36l-214.05 214.04c-21.25 21.2598 -6.2002 57.5996 23.8496 57.5996h444.4
+c30.0498 0 45.0996 -36.3398 23.8496 -57.5996zM443.77 400h-375.529l48 -48h279.529z" />
+ <glyph glyph-name="globe-africa" unicode="&#xf57c;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM408 224.5c0 8.55957 6.94043 15.5 15.5 15.5h18.4297c-19.0693 76.9805 -82.6992 136.37 -161.92 149.21v-21.7002c0 -8.55957 -6.93945 -15.5 -15.5 -15.5
+h-24.21c-5.17969 0 -10.0195 -2.58984 -12.8896 -6.89941l-8.08008 -12.1104c-2.13965 -3.20996 -5.40039 -5.5 -9.13965 -6.44043l-14.4502 -3.60938c-6.90039 -1.73047 -11.7402 -7.93066 -11.7402 -15.04v-4.40039c0 -8.55957 6.94043 -15.5 15.5 -15.5h90.0498
+h0.00292969c3.54297 0 8.45215 -2.0332 10.957 -4.54004l6.91992 -6.91992c2.91016 -2.91016 6.85059 -4.54004 10.96 -4.54004h10.0908c8.55957 0 15.5 -6.93945 15.5 -15.5c0 -6.66992 -4.27051 -12.5898 -10.6006 -14.7002l-47.3096 -15.7695
+c-3.90039 -1.2998 -8.15039 -1 -11.8301 0.839844l-14.7207 7.36035c-7.5791 3.7998 -15.9492 5.76953 -24.4297 5.76953h-0.889648c-10.0527 -0.00195312 -24.7383 -4.89941 -32.7803 -10.9297l-27.5801 -20.6904c-13.75 -10.3193 -21.8496 -26.5098 -21.8496 -43.6992
+v-14.0605c0.00195312 -12.4902 7.16992 -29.7959 16 -38.6299c10.25 -10.2402 24.1396 -16 38.6299 -16h25.8799c8.55957 0 15.5 -6.94043 15.5 -15.5v-29.8896v-0.00390625c0 -10.2822 3.73145 -26.0898 8.33008 -35.2861
+c4.7002 -9.40039 14.3096 -15.3398 24.8203 -15.3398c8.19824 0.000976562 18.542 5.53809 23.0898 12.3594l13.0293 19.5498c5.9248 8.88477 17.125 21.9482 25 29.1602c2.4707 2.27051 4.14062 5.27051 4.76074 8.56055l4.2998 22.8301
+c0.439453 2.3291 1.41016 4.5293 2.83008 6.42969l18.7402 24.9795c2.00977 2.68066 3.09961 5.9502 3.09961 9.30078v11.3398c0 8.55957 -6.94043 15.5 -15.5 15.5h-8.20996c-5.17969 0 -10.0205 2.58984 -12.8896 6.89941l-13.2402 19.8604
+c-5.66992 8.50977 -1.70996 20.0703 7.99023 23.2998l2.64941 0.879883c1.31641 0.4375 3.50977 0.792969 4.89746 0.792969c2.5918 0 6.44531 -1.16602 8.60254 -2.60254l18.21 -12.1396c2.15527 -1.43945 6.00781 -2.60742 8.59961 -2.60742
+c2.01953 0 5.125 0.733398 6.93066 1.63672l15.3896 7.7002c5.25 2.62012 8.57031 7.99023 8.57031 13.8604v6.92969z" />
+ <glyph glyph-name="globe-americas" unicode="&#xf57d;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM330.29 82.4004c7.56934 7.52832 13.7168 22.3037 13.7197 32.9795v0.00488281c0 6.97266 -4 16.6338 -8.92969 21.5654l-13.6904 13.6895
+c-6.00977 6 -14.1396 9.37012 -22.6299 9.37012h-66.75c-9.41016 4.70996 -21.4795 32 -32 32c-10.5195 0 -20.8994 2.4502 -30.3096 7.16016l-11.0801 5.54004c-4.0498 2.03027 -6.61035 6.16016 -6.61035 10.6904v0.00292969c0 4.75391 3.66016 9.83301 8.16992 11.3369
+l31.1699 10.3896c1.3584 0.452148 3.62305 0.818359 5.05469 0.818359c3.30078 0 8.00293 -1.75488 10.4961 -3.91797l9.2793 -8.06055c1.4502 -1.25977 3.31055 -1.95996 5.24023 -1.95996h5.63965c5.94043 0 9.81055 6.25977 7.15039 11.5801l-15.5898 31.1904
+c-0.464844 0.931641 -0.84082 2.53223 -0.84082 3.57227c0 1.86621 1.08398 4.43555 2.4209 5.7373l9.91992 9.65039c1.5 1.45996 3.5 2.26953 5.58008 2.26953h8.99023h0.00292969c1.82812 0 4.3623 1.04883 5.65625 2.33984l8 8
+c3.12012 3.12012 3.12012 8.19043 0 11.3105l-4.68945 4.68945c-3.12012 3.12012 -3.12012 8.19043 0 11.3105l10.3398 10.3398l4.69043 4.67969c6.25 6.25 6.25 16.3799 0 22.6299l-28.3008 28.3008c-8.26953 -0.310547 -16.3994 -1.12988 -24.3896 -2.41992v-11.3008
+c0 -11.8994 -12.5195 -19.6299 -23.1602 -14.3096l-24.0098 12.0098c-45.8398 -19.8496 -82.7305 -56.3896 -103.2 -101.89c9.92969 -14.7197 25.21 -37.3701 34.5898 -51.1406c4.29395 -6.3252 12.3848 -15.6172 18.0605 -20.7393l0.799805 -0.720703
+c9.5498 -8.60938 20.1699 -15.9697 31.6504 -21.75c14 -7.0498 34.4395 -18.1592 48.8096 -26.1094c10.1904 -5.62988 16.46 -16.3301 16.46 -27.9707v-32.0098c0 -8.49023 3.37012 -16.6299 9.37012 -22.6299c14.9902 -14.9902 24.3203 -38.6299 22.6299 -51.25v-27.3799
+c14.6504 0 28.8896 1.69043 42.6504 4.69043l17.3896 46.8496c2.04004 5.49023 3.25977 11.21 4.76953 16.8701c1.07031 4.00977 3.18066 7.70996 6.1709 10.71c3.31934 3.33008 7.40918 7.39941 11.3096 11.2803zM417 173.75l29.1797 -7.29004
+c1.08008 8.37988 1.82031 16.8701 1.82031 25.54c0 32.1299 -7.7998 62.4102 -21.3203 89.3301l-12.9795 -6.49023c-3.74023 -1.85938 -6.91992 -4.67969 -9.24023 -8.14941l-19.5898 -29.3809c-2.22754 -3.33594 -4.03516 -9.29883 -4.03516 -13.3096
+s1.80762 -9.97363 4.03516 -13.3096l17.9795 -26.9707c3.31055 -4.96973 8.36035 -8.51953 14.1504 -9.96973z" />
+ <glyph glyph-name="globe-asia" unicode="&#xf57e;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM236.66 199.77l17.3701 28.9502c1.7998 2.99023 6.2002 2.82031 7.75977 -0.299805c1.34961 -2.70996 4.12012 -4.41992 7.15039 -4.41992h3.05957
+c4.41992 0 8 3.58008 8 8v78.1201c0 6.05957 -3.41992 11.5996 -8.83984 14.3096l-10.8301 5.41016c-5.49023 2.75 -5.96973 10.4004 -0.860352 13.8105l50.1602 38.5293c-19.4297 6.31055 -40.1201 9.82031 -61.6299 9.82031c-110.28 0 -200 -89.7197 -200 -200
+c0 -10.9199 1.12012 -21.5498 2.80957 -31.9902h62.5703c4.24023 0 8.31055 1.69043 11.3105 4.69043l19.4697 19.46c3.85938 3.85938 10.3701 2.7998 12.8096 -2.08008l22.6201 -45.2305c2.70996 -5.42969 8.25 -8.84961 14.3105 -8.84961h6.10938
+c8.83984 0 16 7.16016 16 16v9.37012c0 4.24023 -1.68945 8.30957 -4.68945 11.3096l-5.66016 5.66016c-3.12012 3.12012 -3.12012 8.19043 0 11.3105l5.66016 5.65918c3 3 7.06934 4.69043 11.3096 4.69043h0.310547c5.61914 0 10.8291 2.9502 13.7197 7.76953z
+M408 89.5703l-0.00976562 24.5996c0 4.24023 -1.69043 8.31055 -4.69043 11.3105l-11.9102 11.9092c-1.5 1.5 -2.33984 3.54004 -2.33984 5.66016v12.9307c0 2.20996 -1.79004 4 -4 4h-6.05957c-1.78027 0 -3.33984 -1.1709 -3.83984 -2.88086l-4.2002 -14.4697
+c-0.490234 -1.7002 -2.06055 -2.87988 -3.83984 -2.87988h-3.80078c-1.4707 0.000976562 -3.12305 1.10254 -3.68945 2.45996l-5.35059 12.8496c-1.23926 2.99023 -4.15918 4.93066 -7.38965 4.93066h-12.0898h-0.0117188c-1.4082 0 -3.48145 -0.663086 -4.62793 -1.48047
+l-23.71 -16.8896c-1.73047 -1.23047 -3.61035 -2.25977 -5.59082 -3.0498l-39.3398 -15.7402c-3.04004 -1.21973 -5.0293 -4.16016 -5.0293 -7.42969v-10.2002v-0.00292969c0 -1.8291 1.04785 -4.36328 2.33984 -5.65723l11.9102 -11.9102
+c3 -3 7.06934 -4.68945 11.3096 -4.68945h10.3398c1.31055 0 2.61035 0.15918 3.87988 0.479492l21.2705 5.32031c1.76465 0.441406 4.67383 0.798828 6.49316 0.798828c6.12012 0 14.5986 -3.51172 18.9268 -7.83887l13.0098 -13.0098
+c3 -3 7.07031 -4.69043 11.3096 -4.69043h15.1602c4.24023 0 8.31055 1.69043 11.3105 4.69043l9.56934 9.56934c3 3 4.69043 7.07031 4.69043 11.3105z" />
+ <glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM144 48v40h-40v-8c0 -17.7002 14.2998 -32 32 -32h8zM144 104v40h-8c-17.7002 0 -32 -14.2998 -32 -32v-8h40zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32
+s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM208 48v40h-48v-40h48zM208 104v40h-48v-40h48zM272 48v40h-48v-40h48zM272 104v40h-48v-40h48zM336 48v40h-48v-40h48zM336 104v40h-48v-40h48zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32
+s14.2998 -32 32 -32zM392 80v8h-40v-40h8c17.7002 0 32 14.2998 32 32zM392 104v8c0 17.7002 -14.2998 32 -32 32h-8v-40h40z" />
+ <glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
+s32 14.2998 32 32s-14.2998 32 -32 32zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.39941 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002
+c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
+ <glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM311.7 311.3c-12.4004 -18.3994 -15.2002 -36.8994 -15.7002 -55.2998c0.599609 -18.4004 3.2998 -36.9004 15.7002 -55.2998c8 -11.7002 25.0996 -11.4004 32.7002 0
+c12.3994 18.3994 15.1992 36.8994 15.6992 55.2998c-0.599609 18.4004 -3.2998 36.9004 -15.6992 55.2998c-8 11.7002 -25.1006 11.4004 -32.7002 0zM151.7 311.3c-12.4004 -18.3994 -15.2002 -36.8994 -15.7002 -55.2998
+c0.599609 -18.4004 3.2998 -36.9004 15.7002 -55.2998c8 -11.7002 25.0996 -11.4004 32.7002 0c12.3994 18.3994 15.1992 36.8994 15.6992 55.2998c-0.599609 18.4004 -3.2998 36.9004 -15.6992 55.2998c-8 11.7002 -25.1006 11.4004 -32.7002 0zM248 16
+c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004
+c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
+ <glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7998 -11.7998 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006
+c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM168 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17
+c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998
+c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.3008 3.7002 -22.7002 -6 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
+ <glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="504"
+d="M456 320c-26.5 0 -48 21 -48 47c0 20 28.5 60.4004 41.5996 77.7998c3.2002 4.2998 9.60059 4.2998 12.8008 0c13.0996 -17.3994 41.5996 -57.7998 41.5996 -77.7998c0 -26 -21.5 -47 -48 -47zM456 288c6.7998 0 13.2002 1.09961 19.5 2.59961
+c13.0996 -30.1992 20.5 -63.5 20.5 -98.5996c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248c50.2998 0 97 -15.0996 136.1 -40.7998c-7.7998 -18 -8.09961 -27.7998 -8.09961 -32.2002c0 -43.5996 35.9004 -79 80 -79zM328 296
+c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7998 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5
+c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM168 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
+c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7002 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002
+s-92.9004 5.5 -123.1 15.2002c-11.4004 3.7002 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
+ <glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM90.4004 264.4c-7.7002 -20.2002 3.7998 -41.8008 24.1992 -47.2002l70.2002 -18.2002c4.60059 -1.2002 9.2998 1.5 10.5 6l19.4004 69.9004
+c5.59961 20.2998 -7.40039 41.0996 -28.7998 44.5c-18.7002 3 -36.5 -9.80078 -41.5 -27.9004l-2 -7.09961l-7.10059 1.89941c-18.2002 4.7998 -38.2002 -4.2998 -44.8994 -21.8994zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998
+c1.90039 11.7998 -9.2998 21.5 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998zM381.4 217.3
+c20.3994 5.2998 31.8994 26.9004 24.1992 47.2002c-6.69922 17.5996 -26.6992 26.5996 -44.8994 21.9004l-7.10059 -1.90039l-2 7.09961c-5.09961 18.1006 -22.8994 30.9004 -41.5 27.9004c-21.3994 -3.40039 -34.3994 -24.2002 -28.7998 -44.5l19.4004 -69.9004
+c1.2998 -4.5 6 -7.19922 10.5 -6z" />
+ <glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 250.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998
+c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 280.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM248 16
+c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7002 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.3008 3.7002 -22.7002 -6 -20.7002 -17.9004
+c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
+ <glyph glyph-name="grin-squint-tears" unicode="&#xf586;"
+d="M409.6 336.1c-5.59961 -0.799805 -10.2998 3.90039 -9.5 9.40039c3.30078 22.5996 12 73.5 26.8008 88.2998c19.0996 19.2002 50.6992 18.9004 70.2998 -0.700195c19.5996 -19.5996 19.8994 -51 0.700195 -70.1992
+c-14.8008 -14.8008 -65.7002 -23.6006 -88.3008 -26.8008zM102.4 47.9004c5.59961 0.799805 10.2998 -3.90039 9.5 -9.40039c-3.30078 -22.5996 -12 -73.5 -26.8008 -88.2998c-19.1992 -19.2002 -50.5996 -18.9004 -70.1992 0.700195
+c-19.6006 19.5996 -19.9004 51.0996 -0.800781 70.1992c14.8008 14.8008 65.7002 23.6006 88.3008 26.8008zM414.1 304.4c24 3.5 42.1006 7.39941 56.5 11.5c54.8008 -94.9004 42 -218.2 -39.1992 -299.301c-81.2002 -81.0996 -204.5 -94 -299.301 -39.1992
+c4.10059 14.3994 8.10059 32.5 11.5 56.5c2.90039 20.5 -12.5 49.5996 -45.6992 45.6992c-24.1006 -3.5 -42.1006 -7.39941 -56.5 -11.5c-54.8008 94.9004 -41.9004 218.2 39.1992 299.301c81.2002 81.0996 204.5 94 299.301 39.1992
+c-4.10059 -14.3994 -8.10059 -32.5 -11.5 -56.5c-2.90039 -20.5996 12.6992 -49.5996 45.6992 -45.6992zM255.7 342l-22.5 -90.5996c-2.2002 -8.60059 5.59961 -16.7002 14.5 -14.5l90.5 22.5996c13.0996 3.2998 11.5996 22.4004 -1.7998 23.5996l-52.3008 4.80078
+l-4.7998 52.2998c-1.2002 13.2998 -20.2998 15 -23.5996 1.7998zM164.8 111.7c1.2998 -13.4004 20.4004 -14.9004 23.5 -1.7002l22.6006 90.5c2.19922 8.7002 -5.7002 16.7002 -14.5 14.5l-90.5 -22.5996c-13.1006 -3.30078 -11.6006 -22.4004 1.7998 -23.6006
+l52.2998 -4.7998zM380.5 67.5c42.7998 42.9004 68 122.3 35.7002 167.6c-7.10059 9.90039 -21.9004 8.5 -27.2998 -2c-14.6006 -28.1992 -42.4004 -63.8994 -76.3008 -97.7998c-33.8994 -33.8994 -69.5 -61.7002 -97.7998 -76.2998
+c-10.7002 -5.40039 -11.7998 -20.2998 -2 -27.2002c14.4004 -10.2002 32.1006 -14.7002 51 -14.7002c41 0 87.4004 21.1006 116.7 50.4004z" />
+ <glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM94.5996 279.1c-6.19922 -1 -8.89941 -8.59961 -4.2998 -13.2998l25.4004 -24.5996l-6 -34.9004c-1 -6.2002 5.2998 -11 11 -7.89941l31.2998 16.2998l31.2002 -16.2002
+c5.7002 -3.09961 12 1.7002 11 7.90039l-6 34.8994l25.3994 24.6006c4.60059 4.59961 1.90039 12.1992 -4.2998 13.1992l-34.8994 5l-15.5 31.6006c-2.90039 5.7998 -11 5.7998 -13.9004 0l-15.5 -31.6006zM248 16c60.5996 0 134.5 38.2998 143.8 93.2998
+c1.90039 11.7998 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998zM405.7 265.9
+c4.59961 4.59961 1.89941 12.1992 -4.40039 13.0996l-34.8994 5l-15.5 31.5996c-2.90039 5.80078 -11 5.80078 -13.9004 0l-15.5 -31.5996l-34.9004 -5c-6.19922 -1 -8.7998 -8.59961 -4.2998 -13.2002l25.4004 -24.5996l-6 -34.9004c-1 -6.2002 5.2998 -11 11 -7.89941
+l31.2998 16.2998l31.2998 -16.2002c5.7002 -3.09961 12 1.7002 11 7.90039l-6 34.8994z" />
+ <glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="639"
+d="M102.4 191.9c5.59961 0.799805 10.2998 -3.90039 9.5 -9.40039c-3.30078 -22.5996 -12 -73.5 -26.8008 -88.2998c-19.1992 -19.2002 -50.5996 -18.9004 -70.1992 0.700195c-19.6006 19.5996 -19.9004 51.0996 -0.800781 70.1992
+c14.8008 14.8008 65.7002 23.6006 88.3008 26.8008zM625.8 165.1c19.2002 -19.0996 18.7998 -50.6992 -0.799805 -70.2998c-19.5996 -19.5996 -51 -19.8994 -70.2002 -0.700195c-14.7998 14.8008 -23.5996 65.7002 -26.7998 88.3008c-0.799805 5.59961 4 10.2998 9.5 9.5
+c22.5996 -3.30078 73.5 -12 88.2998 -26.8008zM496.4 177.9c11.7998 -82.3008 29.8994 -100.4 35.7998 -106.301c0.899414 -1 2 -1.59961 3 -2.5c-42.7002 -74.6992 -123 -125.1 -215.2 -125.1s-172.5 50.4004 -215.2 125c1 0.900391 2.10059 1.59961 3 2.5
+c5.90039 6 24 24.0996 35.7998 106.4c2.90039 20.3994 -12.5 49.5996 -45.6992 45.6992c-8.90039 -1.2998 -16.8008 -2.69922 -24.3008 -4.09961c13.7002 124 118.7 220.5 246.4 220.5s232.7 -96.5 246.4 -220.5c-7.5 1.40039 -15.4004 2.7998 -24.3008 4.09961
+c-26.5996 3.80078 -49.5 -19.0996 -45.6992 -45.6992zM400 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
+c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM240 296c-23.7998 0 -52.7002 -29.2998 -55.7998 -71.4004c-0.700195 -8.5 10.7002 -11.8994 14.8994 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006
+c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.5 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004zM320 16c60.5996 0 134.5 38.2998 143.8 93.2998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004
+c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.7002 -22.7002 -6.2002 -20.7002 -17.9004c9.2998 -55 83.2002 -93.2998 143.8 -93.2998z" />
+ <glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5c24.7002 16.2002 43.5 38.0996 47.7998 63.7998c1.90039 11.7998 -9.2998 21.5 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002
+s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM168 208
+c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078v-64
+c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998
+c3.5 15.4004 20.2002 24.1006 34.5996 17.6006z" />
+ <glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496"
+d="M293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078v-64c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006
+l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998c3.5 15.4004 20.2002 24.1006 34.5996 17.6006zM248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5
+c24.7002 16.2002 43.5 38.0996 47.7998 63.7998c1.90039 11.7998 -9.2998 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.5 3.59961 -22.7002 -6.10059 -20.7002 -17.9004
+c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM214.2 229.7c7.7002 4.7002 7.7002 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18
+l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18zM377.2 199.7l-33.6006 40.2998l33.6006 40.2998c8.5 10.2998 -3.7002 24.9004 -15.4004 18l-80 -48c-7.7998 -4.7002 -7.7998 -15.8994 0 -20.5996l80 -48
+c11.5 -6.7998 24.1006 7.59961 15.4004 18z" />
+ <glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496"
+d="M344 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248c0 -106.3 -67 -196.7 -161 -232c5.59961 12.2002 9 25.7002 9 40v45.5c24.7002 16.2002 43.5 38.0996 47.7998 63.7998
+c1.90039 11.7998 -9.2002 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002c-11.4004 3.59961 -22.7002 -6.10059 -20.7002 -17.9004c4.2998 -25.7002 23.0996 -47.5996 47.7998 -63.7998v-45.5
+c0 -14.2998 3.40039 -27.7998 9 -40c-94 35.2998 -161 125.7 -161 232c0 137 111 248 248 248zM192 215c8.40039 -7.40039 21.5996 -0.299805 20 10.7998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006
+c-1.7998 -11.0996 11.2998 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM344 176c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM293.1 73.4004c0.800781 -0.400391 -0.5 0.299805 19 -9.30078
+v-64c0 -35.5996 -29.1992 -64.5 -64.8994 -64c-35.1006 0.400391 -63.1006 29.7002 -63.1006 64.9004v63c19.2002 9.59961 18 9 18.9004 9.40039c14.4004 6.5 31.0996 -2.2002 34.5996 -17.6006l1.80078 -7.7998c2.09961 -9.2002 15.1992 -9.2002 17.2998 0l1.7998 7.7998
+c3.5 15.4004 20.2002 24.1006 34.5996 17.6006z" />
+ <glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496"
+d="M0 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM200 240c0 17.7002 -14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32zM368 215c8.5 -7.40039 21.5996 -0.200195 20 10.7998
+c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM124.9 127.2c-11.4004 3.7002 -22.7002 -6 -20.7002 -17.9004
+c9.2998 -55 83.2002 -93.2998 143.8 -93.2998s134.6 38.2998 143.8 93.2998c1.90039 11.9004 -9.39941 21.6006 -20.7002 17.9004c-30.1992 -9.7002 -75.0996 -15.2002 -123.1 -15.2002s-92.9004 5.5 -123.1 15.2002z" />
+ <glyph glyph-name="grip-horizontal" unicode="&#xf58d;" horiz-adv-x="448"
+d="M96 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM256 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64
+c0 17.6699 14.3301 32 32 32h64zM416 160c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM96 352c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64
+c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM256 352c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM416 352c17.6699 0 32 -14.3301 32 -32v-64
+c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64z" />
+ <glyph glyph-name="grip-vertical" unicode="&#xf58e;" horiz-adv-x="320"
+d="M96 416c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM96 256c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64
+c0 17.6699 14.3301 32 32 32h64zM96 96c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 416c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64
+c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 256c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64zM288 96c17.6699 0 32 -14.3301 32 -32v-64
+c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h64z" />
+ <glyph glyph-name="headphones-alt" unicode="&#xf58f;"
+d="M160 160c17.6699 0 32 -14.3496 32 -32.0596v-127.881c0 -17.6992 -14.3301 -32.0596 -32 -32.0596h-16c-35.3496 0 -64 28.71 -64 64.1201v63.7598c0 35.4199 28.6504 64.1201 64 64.1201h16zM368 160c35.3496 0 64 -28.71 64 -64.1201v-63.7598
+c0 -35.4102 -28.6504 -64.1201 -64 -64.1201h-16c-17.6699 0 -32 14.3604 -32 32.0596v127.881c0 17.71 14.3301 32.0596 32 32.0596h16zM256 416c143.09 0 251.43 -119.13 256 -256v-112c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v112
+c0 114.67 -93.3301 207.8 -208 207.82c-114.67 -0.0205078 -208 -93.1504 -208 -207.82v-112c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v112c4.57031 136.87 112.91 256 256 256z" />
+ <glyph glyph-name="headset" unicode="&#xf590;"
+d="M192 240v-112c0 -17.6699 -14.3301 -32 -32 -32h-16c-35.3496 0 -64 28.6504 -64 64v48c0 35.3496 28.6504 64 64 64h16c17.6699 0 32 -14.3301 32 -32zM368 96h-16c-17.6699 0 -32 14.3301 -32 32v112c0 17.6699 14.3301 32 32 32h16c35.3496 0 64 -28.6504 64 -64v-48
+c0 -35.3496 -28.6504 -64 -64 -64zM256 448c142.82 0 251.42 -118.83 256 -256v-165.72c0 -49.8604 -40.4199 -90.2803 -90.2803 -90.2803h-181.72c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48h32c26.5098 0 48 -21.4902 48 -48h101.72
+c23.3506 0 42.2803 18.9297 42.2803 42.2803c0 0 -0.0400391 163.29 -0.120117 165.72h0.120117c0 114.69 -93.3096 208 -208 208s-208 -93.3096 -208 -208v-16c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v16c4.58008 137.17 113.18 256 256 256z
+" />
+ <glyph glyph-name="highlighter" unicode="&#xf591;" horiz-adv-x="544"
+d="M0 -31.9805l68.3301 70.4707l67.04 -67.04l-35.4502 -35.4502zM124.61 208.03l41.5195 35.4395l173.34 -173.34l-35.5498 -41.6396c-9.5 -10.7705 -24.4199 -14.9805 -38.1504 -10.7803l-42.7393 13.0801l-50.8604 -50.8604l-96.2295 96.2305l50.9297 50.9395
+l-13.0498 42.8301c-0.876953 2.87891 -1.58887 7.65625 -1.58887 10.665c0 9.11328 5.5459 21.4043 12.3789 27.4355zM527.92 368.73c20.5 -20.5 21.5303 -53.3906 2.34961 -75.1309l-169.949 -199.06l-169.771 169.78l199.05 169.96
+c21.7402 19.1699 54.6309 18.1396 75.1201 -2.35059z" />
+ <glyph glyph-name="hot-tub" unicode="&#xf593;"
+d="M414.21 270.35c-3.15039 25.3906 -14.6104 47.9707 -31.9697 62.1406c-27.7305 22.6299 -45.79 58.0498 -50.1299 97.1602c-1.09082 9.7793 6.48926 18.3496 16 18.3496h16.1201c7.98926 0 14.7295 -6.13965 15.7393 -14.3398
+c3.16016 -25.4004 14.6104 -47.9805 31.9805 -62.1504c27.7295 -22.6299 45.79 -58.0498 50.1299 -97.1602c1.08008 -9.7793 -6.49023 -18.3496 -16 -18.3496h-16.1201c-8 0 -14.7295 6.13965 -15.75 14.3496zM306.21 270.35
+c-3.15039 25.3906 -14.6104 47.9707 -31.9697 62.1406c-27.7305 22.6299 -45.79 58.0498 -50.1299 97.1602c-1.09082 9.7793 6.48926 18.3496 16 18.3496h16.1201c7.98926 0 14.7295 -6.13965 15.7393 -14.3398c3.16016 -25.4004 14.6104 -47.9805 31.9805 -62.1504
+c27.7295 -22.6299 45.79 -58.0498 50.1299 -97.1602c1.08008 -9.7793 -6.49023 -18.3496 -16 -18.3496h-16.1201c-8 0 -14.7295 6.13965 -15.75 14.3496zM480 192c17.6699 0 32 -14.3301 32 -32v-160c0 -35.3496 -28.6504 -64 -64 -64h-384c-35.3496 0 -64 28.6504 -64 64
+v224c0 35.3496 28.6504 64 64 64h42.6699h0.00292969c11.7754 0 28.9775 -5.73438 38.3975 -12.7998l110.93 -83.2002h224zM128 8v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM224 8v112
+c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM320 8v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM416 8
+v112c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-112c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8zM64 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64z" />
+ <glyph glyph-name="hotel" unicode="&#xf594;" horiz-adv-x="576"
+d="M560 384h-16v-384h16c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-240v80c0 8.7998 -7.2002 16 -16 16h-32c-8.7998 0 -16 -7.2002 -16 -16v-80h-240c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h15.9805v384h-15.9805
+c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h544c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16zM256 339.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004
+c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM256 243.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004
+c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM128 339.2v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004
+c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998zM179.2 192c6.39941 0 12.7998 6.40039 12.7998 12.7998v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004zM192 64h192c0 53.0195 -42.9805 96 -96 96s-96 -42.9805 -96 -96zM448 204.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998zM448 300.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-38.4004
+c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h38.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998z" />
+ <glyph glyph-name="joint" unicode="&#xf595;" horiz-adv-x="640"
+d="M444.34 266.9c-35.7803 25.0693 -60.3398 63.0098 -60.3398 106.699v66.4004c0 4.41992 3.58008 8 8 8h48c4.41992 0 8 -3.58008 8 -8v-62.3096c0 -29.0303 15.8496 -54.71 39.6602 -71.3203c35.3301 -24.6504 56.3398 -64.8203 56.3398 -108.061v-30.3096
+c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v30.3096c0 27.4307 -13.2803 52.9102 -35.6602 68.5908zM194.97 89.0195c22.3701 3.60059 45.0801 -4.30957 59.8203 -21.5098l112.72 -131.51h-88.5693c-98.6406 0 -195.29 27.7197 -278.94 80
+c59.6904 37.3096 126.03 61.9297 194.97 73.0195zM553.28 360.91c54.3096 -36.4102 86.7197 -97.1602 86.7197 -162.601v-30.3096c0 -4.41992 -3.58008 -8 -8 -8h-48c-4.41992 0 -8 3.58008 -8 8v30.3096c0 50.1504 -25.21 96.6504 -67.3604 123.99
+c-18.4697 11.9805 -28.6396 33.3701 -28.6396 55.3906v62.3096c0 4.41992 3.58008 8 8 8h48c4.41992 0 8 -3.58008 8 -8v-62.3096c0 -6.82031 3.61035 -12.9805 9.28027 -16.7803zM360.89 95.9502h0.108398c16.2441 0 38.0049 -10.0127 48.5723 -22.3506l117.949 -137.6
+h-88.4492h-0.00292969c-16.248 0 -38.0146 10.0127 -48.5869 22.3496l-117.801 137.431c1.40039 0.0195312 53.8105 0.109375 88.21 0.169922zM616 96c13.25 0 24 -10.7402 24 -24v-112c0 -13.25 -10.75 -24 -24 -24h-17.4199h-0.00292969
+c-16.248 0 -38.0146 10.0127 -48.5869 22.3496l-117.99 137.65h184z" />
+ <glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM304 52c0 13 -13.4004 27.2998 -35.2002 36.4004
+c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44c-8.40039 1.09961 -12.2002 -11.8008 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002c-6.10059 -2.59961 -6 -12.2998 0 -14.7998
+l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32
+s14.2998 -32 32 -32z" />
+ <glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM209 220.1c4.2002 -7.5 15.5996 -4 15.0996 4.5c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004
+c-0.699219 -8.5 10.7002 -11.8994 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006zM304 52c0 13 -13.4004 27.2998 -35.2002 36.4004c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44
+c-8.40039 1.09961 -12.2002 -11.8008 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002c-6.10059 -2.59961 -6 -12.2998 0 -14.7998l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5
+l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM369 220.1c4.2002 -7.5 15.5996 -4 15.0996 4.5c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004
+c-0.699219 -8.5 10.8008 -11.7998 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006z" />
+ <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="503"
+d="M501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941l8.40039 2.2002
+c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM323.5 49.5c0 0 23.5996 -83.9004 23.9004 -84.5996c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248c0 -31.7998 -6.2002 -62.0996 -17.0996 -90
+c-6 1.5 -12.2002 2.7998 -18.6006 2.90039c-29.0996 49.7998 -98.0996 50.5996 -127.8 4.2998c-11.2998 -17.7002 -14.5996 -39.4004 -9 -59.7002zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM288 52
+c0 13 -13.4004 27.2998 -35.2002 36.4004c21.7998 8.69922 35.2002 23 35.2002 36c0 19.1992 -28.7002 41.5 -71.5 44c-8.2002 1.19922 -12.4004 -11.7002 -3.59961 -15.4004l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.2002
+c-5.7002 -2.5 -6 -12.2998 0 -14.7998l17 -7.2002c13 -5.5 20.7998 -13.5 20.7998 -21.5s-7.7998 -16 -20.7998 -21.5l-17 -7.19922c-8.5 -3.60059 -4.90039 -16.2002 3.59961 -15.4004c42.7998 2.5 71.5 24.7998 71.5 44zM304 231l9.7002 8.5
+c14.7998 13.2002 46.2002 13.2002 61 0l9.5 -8.5c8.5 -7.5 21.5 -0.299805 19.7998 10.7998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-1.7998 -11.2002 11.5 -18.2002 19.7998 -10.7998z" />
+ <glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM168 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32
+s32 14.2998 32 32s-14.2998 32 -32 32zM256 16c73.4004 0 134 55 142.9 126c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16z" />
+ <glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM272 240.6c-0.700195 -8.59961 10.9004 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
+c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM112 240.6c-0.700195 -8.5 10.7998 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006
+c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM398.9 142c1.19922 9.59961 -6.30078 18 -15.9004 18h-270
+c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" />
+ <glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 278.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998
+c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 308.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM398.9 142
+c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" />
+ <glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM268.1 241.9c-1.69922 -11.2002 11.5 -18.3008 19.9004 -10.9004l9.59961 8.59961c14.8008 13.2002 46.2002 13.2002 61 0l9.5 -8.5
+c8.40039 -7.5 21.5 -0.299805 19.8008 10.8008c-4 25.1992 -34.2002 42.0996 -59.9004 42.0996s-55.9004 -16.9004 -59.9004 -42.0996zM168 288c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM398.9 142
+c1.19922 9.59961 -6.30078 18 -15.9004 18h-270c-9.59961 0 -17.0996 -8.5 -15.9004 -18c8.90039 -71 69.5 -126 142.9 -126h16c73.4004 0 134 55 142.9 126z" />
+ <glyph glyph-name="luggage-cart" unicode="&#xf59d;" horiz-adv-x="640"
+d="M224 128c-17.6699 0 -32 14.3301 -32 32v160c0 17.6699 14.3301 32 32 32h32v-224h-32zM576 160c0 -17.6699 -14.3301 -32 -32 -32h-32v224h32c17.6699 0 32 -14.3301 32 -32v-160zM624 64c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-82.9404
+c1.79004 -5.03027 2.94043 -10.3604 2.94043 -16c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48c0 5.63965 1.15039 10.9697 2.94043 16h-197.881c1.79004 -5.03027 2.94043 -10.3604 2.94043 -16c0 -26.5098 -21.4902 -48 -48 -48s-48 21.4902 -48 48
+c0 5.63965 1.15039 10.9697 2.94043 16h-82.9404c-8.83984 0 -16 7.16016 -16 16v368h-48c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-368h496zM480 352v-224h-192v272c0 26.5098 21.4902 48 48 48h96
+c26.5098 0 48 -21.4902 48 -48v-48zM432 352v48h-96v-48h96z" />
+ <glyph glyph-name="map-marked" unicode="&#xf59f;" horiz-adv-x="576"
+d="M288 448c69.5898 0 126 -56.4102 126 -126c0 -56.2598 -82.3496 -158.8 -113.9 -196.02c-6.37988 -7.54004 -17.8096 -7.54004 -24.1992 0c-31.5508 37.2197 -113.9 139.76 -113.9 196.02c0 69.5898 56.4102 126 126 126zM20.1201 232.05l118.63 47.4502
+c5.17969 -14.8799 12.4102 -30.4404 21.25 -46.4199v-233.08l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v250.32c0.00292969 11.959 9.0166 25.2686 20.1201 29.71zM288 88.3301c14.0703 0 27.3799 6.17969 36.5098 16.9502
+c19.6699 23.2002 40.5703 49.6299 59.4902 76.7197v-245.99l-192 64v182c18.9199 -27.0996 39.8301 -53.5195 59.4902 -76.7197c9.12988 -10.7803 22.4395 -16.96 36.5098 -16.96zM554.06 286.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-250.32
+c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-139.88 -55.9502v288z" />
+ <glyph glyph-name="map-marked-alt" unicode="&#xf5a0;" horiz-adv-x="576"
+d="M288 448c69.5898 0 126 -56.4102 126 -126c0 -56.2598 -82.3496 -158.8 -113.9 -196.02c-6.37988 -7.54004 -17.8096 -7.54004 -24.1992 0c-31.5508 37.2197 -113.9 139.76 -113.9 196.02c0 69.5898 56.4102 126 126 126zM288 280c23.2002 0 42 18.7998 42 42
+s-18.7998 42 -42 42s-42 -18.7998 -42 -42s18.7998 -42 42 -42zM20.1201 232.05l118.63 47.4502c5.17969 -14.8799 12.4102 -30.4404 21.25 -46.4199v-233.08l-138.06 -62.8398c-10.5107 -4.2002 -21.9404 3.54004 -21.9404 14.8594v250.32
+c0.00292969 11.959 9.0166 25.2686 20.1201 29.71zM288 88.3301c14.0703 0 27.3799 6.17969 36.5098 16.9502c19.6699 23.2002 40.5703 49.6299 59.4902 76.7197v-245.99l-192 64v182c18.9199 -27.0996 39.8301 -53.5195 59.4902 -76.7197
+c9.12988 -10.7803 22.4395 -16.96 36.5098 -16.96zM554.06 286.84c10.5107 4.2002 21.9404 -3.54004 21.9404 -14.8594v-250.32c0 -11.9609 -9.01367 -25.2705 -20.1201 -29.71l-139.88 -55.9502v288z" />
+ <glyph glyph-name="marker" unicode="&#xf5a1;"
+d="M93.9502 157.97l75.3994 75.4004l128.021 -128.021l-75.4004 -75.3994c-44.8223 -44.8203 -132.335 -86.8428 -195.34 -93.7998c-15.2803 -1.69043 -28.1895 11.2295 -26.4902 26.5098l0.0302734 0.229492c7.00195 62.9189 49.0156 150.315 93.7803 195.08z
+M485.49 421.49c35.3496 -35.3604 35.3496 -92.6699 0 -128.021l-165.49 -165.489l-128.02 128.02l98.4795 98.4697l-19.5898 19.5898l-87.1504 -87.1494c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6201 22.6201c-6.25 6.25 -6.25 16.3799 0 22.6299l104.12 104.12
+c15.6104 15.6201 40.9404 15.6201 56.5605 0l36.5596 -36.5498l21.7598 21.7598c35.3506 35.3496 92.6699 35.3496 128.021 0z" />
+ <glyph glyph-name="medal" unicode="&#xf5a2;"
+d="M223.75 317.25c-42.04 -6.55957 -79.8398 -25.6201 -109.56 -53.3896l-111.271 158.96c-7.41992 10.6094 0.160156 25.1797 13.1104 25.1797h111.149c10.0029 0 22.2959 -6.96191 27.4404 -15.54zM495.97 448c12.9502 0 20.5303 -14.5703 13.1104 -25.1797
+l-111.271 -158.95c-29.7197 27.7598 -67.5195 46.8203 -109.56 53.3799l69.1299 115.21c5.78027 9.63965 16.2002 15.54 27.4404 15.54h111.149zM256 288c97.2002 0 176 -78.7998 176 -176s-78.7998 -176 -176 -176s-176 78.7998 -176 176s78.7998 176 176 176z
+M348.52 130.74c6.82031 6.63965 3.05078 18.2295 -6.34961 19.5898l-52.4297 7.63965l-23.4307 47.5205c-2.10938 4.25 -6.21973 6.38965 -10.3291 6.38965c-4.09082 0 -8.1709 -2.11035 -10.2803 -6.38965l-23.4307 -47.5205l-52.4297 -7.63965
+c-9.39941 -1.36035 -13.1699 -12.9502 -6.34961 -19.5898l37.9297 -36.96l-8.96973 -52.2207c-1.60059 -9.34961 8.25 -16.54 16.6494 -12.0898l46.9004 24.6504l46.9102 -24.6504c8.38965 -4.41992 18.25 2.73047 16.6494 12.0898l-8.96973 52.2207z" />
+ <glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32
+s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM88 224c0 -35.2998 28.7002 -64 64 -64s64 28.7002 64 64c0 24.2998 -13.7002 45.2002 -33.5996 56c0.699219 -2.59961 1.59961 -5.2002 1.59961 -8
+c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 2.7998 0.900391 5.40039 1.59961 8c-19.8994 -10.7998 -33.5996 -31.7002 -33.5996 -56zM312 48c21.2002 0 21.2002 32 0 32h-128c-21.2002 0 -21.2002 -32 0 -32h128zM344 160c35.2998 0 64 28.7002 64 64
+c0 24.2998 -13.7002 45.2002 -33.5996 56c0.699219 -2.59961 1.59961 -5.2002 1.59961 -8c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 2.7998 0.900391 5.40039 1.59961 8c-19.8994 -10.7998 -33.5996 -31.7002 -33.5996 -56c0 -35.2998 28.7002 -64 64 -64z
+" />
+ <glyph glyph-name="monument" unicode="&#xf5a6;" horiz-adv-x="384"
+d="M368 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-352c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h352zM289.14 347.26l30.8604 -315.26h-256l30.8701 315.26c0.625 6.27344 4.75098 14.9834 9.20996 19.4404
+l76.5996 76.6094c6.25 6.25 16.3799 6.25 22.6299 0l76.6201 -76.6094c4.45898 -4.45703 8.58496 -13.167 9.20996 -19.4404zM240 140.8v38.4004c0 6.39941 -6.40039 12.7998 -12.7998 12.7998h-70.4004c-6.39941 0 -12.7998 -6.40039 -12.7998 -12.7998v-38.4004
+c0 -6.39941 6.40039 -12.7998 12.7998 -12.7998h70.4004c6.39941 0 12.7998 6.40039 12.7998 12.7998z" />
+ <glyph glyph-name="mortar-pestle" unicode="&#xf5a7;"
+d="M501.54 387.09l-99.0801 -99.0898h-151.37l203.811 152.86c5.25293 3.93848 14.8457 7.13477 21.4121 7.13477c4.64941 0 11.7988 -1.68652 15.957 -3.76465c21.7803 -10.8906 26.4902 -39.9209 9.27051 -57.1406zM496 256c8.83984 0 16 -7.16016 16 -16v-32
+c0 -8.83984 -7.16016 -16 -16 -16h-16c0 -80.9805 -50.2002 -150.11 -121.13 -178.32c12.7695 -16.8701 21.7295 -36.7998 24.9502 -58.6895c1.45996 -9.91992 -6.04004 -18.9805 -16.0703 -18.9805h-223.5c-10.0303 0 -17.5303 9.06055 -16.0703 18.9805
+c3.23047 21.8896 12.1904 41.8193 24.9502 58.6895c-70.9297 28.21 -121.13 97.3398 -121.13 178.32h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" />
+ <glyph glyph-name="paint-roller" unicode="&#xf5aa;"
+d="M416 320c0 -17.6699 -14.3301 -32 -32 -32h-352c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h352c17.6699 0 32 -14.3301 32 -32v-96zM448 384c35.3496 0 64 -28.6504 64 -64v-64c0 -53.0195 -42.9805 -96 -96 -96h-160v-32
+c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32v32c0 35.3496 28.6504 64 64 64h160c17.6699 0 32 14.3301 32 32v128z" />
+ <glyph glyph-name="passport" unicode="&#xf5ab;" horiz-adv-x="448"
+d="M129.62 272c5.28027 31.2197 25.5898 57.1699 53.2998 70.4102c-7.66992 -19.0605 -12.7197 -43.3799 -14.21 -70.4102h-39.0898zM129.62 240h39.0898c1.49023 -27.0303 6.53027 -51.3496 14.21 -70.4102c-27.71 13.2402 -48.0098 39.1904 -53.2998 70.4102zM224 161.31
+c-7.69043 7.4502 -20.7695 34.4307 -23.4404 78.6904h46.8701c-2.66016 -44.2695 -15.7393 -71.2402 -23.4297 -78.6904zM200.57 272c2.66016 44.2598 15.7393 71.2402 23.4395 78.6904c7.69043 -7.4502 20.7705 -34.4307 23.4307 -78.6904h-46.8701zM265.08 169.59
+c7.67969 19.0605 12.7197 43.3799 14.21 70.4102h39.0898c-5.28027 -31.2197 -25.5898 -57.1699 -53.2998 -70.4102zM416 448c17.6699 0 32 -14.3301 32 -32v-448c0 -17.6699 -14.3301 -32 -32 -32h-352c-35.3496 0 -64 28.6504 -64 64v384c0 35.3496 28.6504 64 64 64h352z
+M336 32c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16h-224c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h224zM224 128c70.6904 0 128 57.3096 128 128s-57.3096 128 -128 128s-128 -57.3096 -128 -128s57.3096 -128 128 -128zM265.08 342.41
+c27.71 -13.2402 48.0195 -39.1904 53.2998 -70.4102h-39.0898c-1.49023 27.0303 -6.53027 51.3496 -14.21 70.4102z" />
+ <glyph glyph-name="pen-fancy" unicode="&#xf5ac;" horiz-adv-x="511"
+d="M79.1797 165.06l84.0703 33.0703l98.8799 -98.8799l-33.0703 -84.0703c-2.79102 -8.38086 -11.8584 -17.4482 -20.2393 -20.2393l-176.82 -58.9404l-4.67969 4.67969l92.8896 92.8906c2.55957 -0.660156 5.03027 -1.57031 7.7998 -1.57031c17.6699 0 32 14.3301 32 32
+s-14.3301 32 -32 32s-32 -14.3301 -32 -32c0 -2.76953 0.910156 -5.24023 1.57031 -7.7998l-92.8896 -92.8906l-4.69043 4.69043l58.9404 176.82c2.79297 8.37891 11.8604 17.4463 20.2393 20.2393zM369.25 419.68c74.4805 84.2607 199.15 -39.1602 114.23 -114.229
+l-199.49 -183.11l-97.8506 97.8506z" />
+ <glyph glyph-name="pen-nib" unicode="&#xf5ad;"
+d="M136.6 309.21l151.4 42.79l128 -128l-42.79 -151.4c-5.08594 -17.9932 -23.6104 -37.3965 -41.3496 -43.3096l-279.86 -93.29l-14.6904 14.6904l150.11 150.109c6.25977 -2.99023 13.1797 -4.7998 20.5801 -4.7998c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48
+s-48 -21.4902 -48 -48c0 -7.40039 1.80957 -14.3203 4.7998 -20.5801l-150.109 -150.11l-14.6904 14.6904l93.29 279.86c5.91309 17.7393 25.3164 36.2637 43.3096 41.3496zM497.94 373.83c18.75 -18.7598 18.75 -49.1602 0 -67.9102l-56.5508 -56.5498l-128.02 128.02
+l56.5498 56.5508c18.75 18.75 49.1602 18.75 67.9102 0z" />
+ <glyph glyph-name="pencil-ruler" unicode="&#xf5ae;"
+d="M109.46 203.96l-100.17 100.18c-12.3896 12.3906 -12.3799 32.4707 0 44.8604l89.71 89.71c12.3896 12.3896 32.4697 12.3896 44.8604 0l33.6396 -33.6504l-61.6797 -61.6797c-3.10059 -3.08984 -3.10059 -8.11035 0 -11.21l11.21 -11.21
+c1.28027 -1.2832 3.79199 -2.3252 5.60449 -2.3252c1.81348 0 4.32422 1.04199 5.60547 2.3252l61.6797 61.6797l44.1201 -44.1201zM497.93 320.76l-46.0195 -46.0293l-113.2 113.199l46.0205 46.0107c18.7695 18.7598 49.1895 18.7598 67.9492 0l45.25 -45.25
+c18.75 -18.7607 18.7607 -49.1709 0 -67.9307zM316.08 365.29l113.2 -113.19l-296.92 -296.93l-107.45 -18.8398c-14.5 -2.5498 -27.1201 10.0703 -24.5898 24.5596l18.7598 107.44zM502.71 79.8604c12.3896 -12.3906 12.3896 -32.4707 0 -44.8604l-89.71 -89.7002
+c-12.3896 -12.3896 -32.4697 -12.3896 -44.8604 0l-100.21 100.2l134.58 134.56l44.1406 -44.1396l-61.6807 -61.6797c-3.08984 -3.08984 -3.08984 -8.11035 0 -11.21l11.21 -11.21c3.08984 -3.10059 8.11035 -3.10059 11.21 0l61.6807 61.6797z" />
+ <glyph glyph-name="plane-arrival" unicode="&#xf5af;" horiz-adv-x="640"
+d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h608zM44.8096 242.34c-6.5498 5.91016 -12.3896 14.3398 -12.5791 23.25l-0.230469 101.78
+c0.19043 10.8799 10.3799 18.7002 20.7197 15.8799l39.7305 -10.8301c5.00977 -1.36035 9.08984 -5.04004 11.0195 -9.92969l27.5898 -67.8799l102.2 -27.8408l-47.9199 164.211c-0.189453 11.1191 10.1504 19.3193 20.71 16.4395l65.0898 -17.7295
+c5.70996 -1.56055 10.1504 -6.10059 11.6602 -11.9102l100.36 -191.851l97.5098 -26.5596c26.4805 -7.20996 51.5498 -20.1797 70.8301 -40c21.6396 -22.25 27.2002 -40.46 23.3701 -54.96c-3.81055 -14.5 -17.5801 -27.4404 -47.25 -35.71
+c-26.4404 -7.36035 -54.5205 -5.85059 -81 1.35938l-287.601 78.3506c-7.94531 2.16895 -19.3564 8.41016 -25.4697 13.9297z" />
+ <glyph glyph-name="plane-departure" unicode="&#xf5b0;" horiz-adv-x="640"
+d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h608zM80.5498 106.73l-76.21 82.9697c-7.62012 8.95996 -4.87012 22.7803 5.57031 28.0801l40.1299 20.3701
+c2.0957 1.0625 5.7041 1.92578 8.05469 1.92578c2.33691 0 5.92773 -0.853516 8.01562 -1.90625l72.3496 -36.4697l103.21 52.3799l-156.22 98.0996c-8.08008 8.87988 -5.5 23.1201 5.16992 28.5303l65.75 33.3701c2.0957 1.06348 5.70508 1.92676 8.05566 1.92676
+c3 0 7.45508 -1.36035 9.94434 -3.03711l218.7 -82.0596l98.5098 49.9902c26.7402 13.5596 56.4297 21.4199 86.2803 19.4795c33.5098 -2.17969 51.04 -12.8799 58.25 -27.4502c7.22949 -14.5596 5.23926 -35.1699 -13.0703 -63.6494
+c-16.3096 -25.3701 -40.2803 -44.7402 -67.0205 -58.3105l-290.96 -147.649c-7.71094 -3.91895 -20.9893 -7.1084 -29.6396 -7.12012l-130.54 -0.180664c-9.22949 -0.00976562 -18.0498 3.87012 -24.3301 10.7109z" />
+ <glyph glyph-name="prescription" unicode="&#xf5b1;" horiz-adv-x="384"
+d="M301.26 96l78.0605 -78.0498c6.25 -6.25 6.25 -16.3799 0 -22.6299l-22.6299 -22.6299c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-78.0596 78.0596l-78.0498 -78.0703c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309
+l78.0596 78.0596l-128 128h-18.75v-80c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v256c0 8.83984 7.16016 16 16 16h144c53.0195 0 96 -42.9805 96 -96c0 -48.8896 -36.6904 -88.7998 -83.96 -94.7803l83.96 -83.96l78.0596 78.0605
+c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309zM64 352v-64h96c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32h-96z" />
+ <glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248c0 -90 -48.2002 -168.7 -120 -212.1v180.1c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16v-196.7c-29.5 -12.3994 -62 -19.2998 -96 -19.2998s-66.5 6.90039 -96 19.2998v196.7c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16
+v-180.1c-71.7998 43.3994 -120 122 -120 212.1c0 137 111 248 248 248zM182.5 223.5l9.7002 -8.5c2.5 -2.2998 7.89941 -4.7002 13.7002 -1.59961c4.39941 2.39941 6.89941 7.39941 6.09961 12.3994c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006
+c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-0.799805 -5 1.7002 -10 6.09961 -12.3994c4.40039 -2.40039 9.90039 -1.7002 13.7002 1.59961l9.5 8.5c14.7998 13.2002 46.2002 13.2002 61 0zM248 32c26.5 0 48 28.7002 48 64s-21.5 64 -48 64s-48 -28.7002 -48 -64
+s21.5 -64 48 -64zM397.8 213.5c4.40039 2.40039 6.7998 7.40039 6.2002 12.2998c-4 25.2002 -34.2002 42.1006 -59.9004 42.1006c-25.6992 0 -55.8994 -16.9004 -59.8994 -42.1006c-0.799805 -5 1.7002 -10 6.09961 -12.3994
+c4.40039 -2.40039 9.90039 -1.7002 13.7002 1.59961l9.59961 8.59961c14.8008 13.2002 46.2002 13.2002 61 0l9.5 -8.5c2.5 -2.2998 7.90039 -4.69922 13.7002 -1.59961z" />
+ <glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM328 272c-17.7002 0 -32 -14.2998 -32 -32s14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32zM152 32c26.5 0 48 21 48 47c0 20 -28.5 60.4004 -41.5996 77.7998
+c-3.2002 4.2998 -9.60059 4.2998 -12.8008 0c-13.0996 -17.3994 -41.5996 -57.7998 -41.5996 -77.7998c0 -26 21.5 -47 48 -47zM168 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM338.2 53.7998
+c13.2998 -16.0996 38.2998 4 24.5 20.4004c-28.4004 34.2002 -70.2998 53.7998 -114.7 53.7998c-21.2002 0 -21.2002 -32 0 -32c34.9004 0 67.7998 -15.4004 90.2002 -42.2002z" />
+ <glyph glyph-name="shuttle-van" unicode="&#xf5b6;" horiz-adv-x="640"
+d="M628.88 237.35c7.17969 -8.62988 11.1201 -19.5 11.1201 -30.7295v-110.62c0 -17.6699 -14.3301 -32 -32 -32h-32c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-128c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-32c-17.6699 0 -32 14.3301 -32 32v288
+c0 17.6699 14.3301 32 32 32h425.52c12.4082 -0.00195312 28.9258 -7.73926 36.8701 -17.2695zM64 256h96v96h-96v-96zM160 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM320 256v96h-96v-96h96zM480 16
+c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM384 256h146.02l-80 96h-66.0195v-96z" />
+ <glyph glyph-name="signature" unicode="&#xf5b7;" horiz-adv-x="639"
+d="M623.2 256c9.09961 0.599609 16.7998 -7.09961 16.5996 -16.2002v-32.0996c0 -8.5 -6.7002 -15.1006 -15.2002 -15.7998c-39.3994 -3.2002 -105.399 -51 -138.399 -65.8008c-34.2998 -15.3994 -66.7002 -30 -102.3 -30c-28.2002 0 -50.2002 8.5 -65.5 25.3008
+c-22.7002 24.8994 -22.8008 55.2998 -20.6006 83.7998c-56.5 -45.1006 -169 -153.601 -211.2 -195.8c-6.09961 -6.2002 -14.2998 -9.40039 -22.5996 -9.40039c-27 0 -36.5 27 -29.7002 43.9004l98.2002 245.6c8 19.9004 -14.2998 38.7998 -32.7002 27.0996l-58 -38.8994
+c-7.5 -4.7998 -17.3994 -2.60059 -22.0996 4.89941l-17.2002 27c-4.7002 7.5 -2.5 17.4004 4.90039 22.1006l54.8994 36.8994c76.5 48.7002 160.101 -26.8994 129.7 -102.8l-41.5 -103.7c105.2 101.2 144.4 124.5 169.5 126
+c54.4004 3.10059 43.7998 -68.0996 42.7002 -76.0996c-4.7002 -35.7002 -1.2998 -51.9004 21.2998 -51.9004c21.9004 0 47 11.3008 76.0996 24.4004c37.4004 16.7998 111.301 68 163.101 71.5z" />
+ <glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM112 224.6c-0.700195 -8.5 10.7998 -11.8994 15.0996 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006c12.3008 0 23.8008 -7.90039 31.5 -21.6006l9.5 -17
+c4.10059 -7.39941 15.6006 -4.09961 14.9004 4.5c-3.2998 42.1006 -32.2002 71.4004 -56 71.4004s-52.7002 -29.2998 -56 -71.4004zM362.8 101.8c13.5 16.2002 -11 36.7002 -24.5996 20.5c-22.4004 -26.7998 -55.2002 -42.2002 -90.2002 -42.2002
+s-67.7998 15.3008 -90.2002 42.2002c-13.5996 16.2002 -38.0996 -4.2002 -24.5996 -20.5c28.5 -34.2002 70.2998 -53.7998 114.8 -53.7998s86.2998 19.5996 114.8 53.7998zM369 220.1c4.09961 -7.39941 15.7002 -4.09961 15.0996 4.5
+c-3.2998 42.1006 -32.1992 71.4004 -56 71.4004c-23.7998 0 -52.6992 -29.2998 -56 -71.4004c-0.699219 -8.5 10.8008 -11.7998 14.9004 -4.5l9.5 17c7.7002 13.7002 19.2002 21.6006 31.5 21.6006s23.7998 -7.90039 31.5 -21.6006z" />
+ <glyph glyph-name="solar-panel" unicode="&#xf5ba;" horiz-adv-x="640"
+d="M431.98 -0.00976562c8.84961 0.00976562 16.0293 -7.16992 16.0195 -16.0205l-0.0400391 -31.7295c-0.00976562 -8.82031 -7.16016 -15.9707 -15.9795 -15.9805l-223.961 -0.259766c-8.84961 -0.00976562 -16.0293 7.16992 -16.0195 16.0195l0.0498047 31.7305
+c0.00976562 8.83008 7.16016 15.9805 15.9805 15.9902l47.9795 0.0498047v32.21h128v-32.0596zM585.2 421.26c58.1094 -342.42 54.7803 -321.39 54.7598 -325.47c-0.0800781 -17.2305 -14.3604 -31.79 -32.5898 -31.79h-574.74c-18.3096 0 -32.6299 14.6797 -32.5996 32
+c0.00976562 3.91992 -3.35059 -17.1602 54.7598 325.26c2.62012 15.4307 16.21 26.7402 32.1396 26.7402h466.13c15.9307 0 29.5205 -11.3096 32.1406 -26.7402zM259.83 384l-9.77051 -96h139.87l-9.76953 96h-120.33zM184.66 128l11.4102 112h-105.971l-19.0098 -112
+h113.57zM200.95 288l9.76953 96h-96.1895l-16.29 -96h102.71zM233.77 128h172.45l-11.3994 112h-149.65zM429.27 384l9.77051 -96h102.71l-16.29 96h-96.1904zM455.33 128h113.58l-19.0098 112h-105.971z" />
+ <glyph glyph-name="spa" unicode="&#xf5bb;" horiz-adv-x="576"
+d="M568.25 256c4.41016 0.0195312 7.79004 -3.40039 7.75 -7.82031c-0.230469 -27.9199 -7.12988 -126.13 -88.7695 -199.3c-84.04 -81.8301 -167.23 -80.8799 -199.23 -80.8799s-115.21 -0.94043 -199.23 80.8799c-81.6299 73.1602 -88.5391 171.38 -88.7695 199.3
+c-0.0400391 4.41992 3.33984 7.83984 7.75 7.82031c29.04 -0.129883 135.01 -6.16016 213.84 -83c33.1201 -29.6299 53.3604 -63.2998 66.4102 -94.8604c13.0498 31.5605 33.29 65.2305 66.4102 94.8604c78.8301 76.8398 184.8 82.8701 213.84 83zM287.98 145.4
+c-10.7012 15.7168 -30.8789 38.7705 -45.04 51.46c-18.7207 18.25 -38.8506 32.6895 -59.2207 44.3896c16.4707 70.4404 51.75 132.93 96.7402 172.07c4.12012 3.58008 11.0303 3.58008 15.1396 0c45.0107 -39.1699 80.29 -101.721 96.7305 -172.221
+c-20.6797 -11.8799 -41.1699 -26.5693 -60.2598 -45.1797c-16.4902 -14.7402 -31.2705 -31.6699 -44.0898 -50.5195z" />
+ <glyph glyph-name="splotch" unicode="&#xf5bc;"
+d="M472.29 252.11c48.54 -16.6201 53.8301 -73.8301 8.9502 -96.79l-62 -31.7402c-17.8301 -9.12988 -29.2803 -25.2002 -30.6299 -42.9902l-4.7002 -61.8594c-3.41016 -44.79 -65.1299 -66.7803 -104.45 -37.2207l-54.3203 40.8301
+c-15.6201 11.7305 -36.96 16.1201 -57.0693 11.7305l-69.96 -15.2803c-50.6504 -11.0596 -94.0801 32.5596 -73.4902 73.8096l28.4297 56.9805c8.18066 16.3799 6.44043 35.1699 -4.63965 50.2402l-38.54 52.4199c-27.9004 37.9502 6.97949 86.8994 59.0303 82.8301
+l71.8799 -5.62012c20.6602 -1.62012 40.9395 5.59961 54.2002 19.3096l46.1396 47.6699c33.4102 34.5107 98.3994 21.1504 109.979 -22.6201l15.9902 -60.4492c4.60059 -17.3799 18.8604 -31.7002 38.1406 -38.3008z" />
+ <glyph glyph-name="spray-can" unicode="&#xf5bd;"
+d="M224 416v-96h-128v96c0 17.6699 14.3301 32 32 32h64c17.6699 0 32 -14.3301 32 -32zM480 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM224 288c53.0195 0 96 -42.9805 96 -96v-224c0 -17.6699 -14.3301 -32 -32 -32
+h-256c-17.6699 0 -32 14.3301 -32 32v224c0 53.0195 42.9805 96 96 96h128zM160 32c44.1797 0 80 35.8203 80 80s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM480 352c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32
+s-14.3301 -32 -32 -32zM384 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM288 416c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM384 416c17.6699 0 32 -14.3301 32 -32
+s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32zM480 224c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
+ <glyph glyph-name="stamp" unicode="&#xf5bf;"
+d="M32 -64v64h448v-64h-448zM416 192c53.0195 0 96 -42.9805 96 -96v-32c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v32c0 53.0195 42.9805 96 96 96h66.5596c16.2607 0 29.4404 13.1797 29.4404 29.4404v0.0693359
+c0 31.79 -9.98047 62.0605 -23.3096 90.9102c-5.57031 12.04 -8.69043 25.4199 -8.69043 39.5801c0 58.6699 52.6201 105.04 113.25 94.4902c38.79 -6.75 70.4902 -38.6699 77.2598 -77.4502c3.85059 -22.0303 0.0605469 -42.8096 -9.0498 -60.4199
+c-12.5801 -24.3105 -21.46 -50.3506 -21.46 -77.7197v-9.45996c0 -16.2607 13.1797 -29.4404 29.4404 -29.4404h66.5596z" />
+ <glyph glyph-name="star-half-alt" unicode="&#xf5c0;" horiz-adv-x="536"
+d="M508.55 276.49c26.25 -3.7998 36.7705 -36.1006 17.7305 -54.6006l-105.91 -102.979l25.0303 -145.49c3.55957 -20.79 -13.0605 -37.4004 -31.6602 -37.4004c-4.91016 0 -9.9707 1.16016 -14.8301 3.71094l-130.94 68.6992l-130.95 -68.6797
+c-4.86914 -2.58008 -9.93945 -3.75 -14.8691 -3.75c-18.5801 0 -35.1699 16.6699 -31.6104 37.4502l25.0596 145.479l-105.89 103c-19.0303 18.5 -8.50977 50.79 17.7402 54.5898l146.38 21.29l65.4297 132.381c5.90039 11.9092 17.29 17.8096 28.6904 17.8096
+c11.4697 0 22.9395 -5.98047 28.8193 -17.8096l65.4102 -132.391zM386.81 153.29l82.6504 80.3799l-114.229 16.6299l-25.0107 3.64062l-11.1797 22.6299l-51.0303 103.29l-0.0292969 -317.19l22.3799 -11.7402l102.13 -53.5898l-19.5205 113.45l-4.2793 24.8799z" />
+ <glyph glyph-name="suitcase-rolling" unicode="&#xf5c1;" horiz-adv-x="384"
+d="M336 288c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-16v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16h-128v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16h-16
+c-26.5098 0 -48 21.4902 -48 48v224c0 26.5098 21.4902 48 48 48h288zM320 72v16c0 4.41992 -3.58008 8 -8 8h-240c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h240c4.41992 0 8 3.58008 8 8zM320 168v16c0 4.41992 -3.58008 8 -8 8h-240
+c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h240c4.41992 0 8 3.58008 8 8zM144 400v-80h-48v80c0 26.5098 21.4902 48 48 48h96c26.5098 0 48 -21.4902 48 -48v-80h-48v80h-96z" />
+ <glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM136 240c0 -17.7002 14.2998 -32 32 -32s32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32zM248 32c35.2998 0 64 28.7002 64 64s-28.7002 64 -64 64
+s-64 -28.7002 -64 -64s28.7002 -64 64 -64zM328 208c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32z" />
+ <glyph glyph-name="swatchbook" unicode="&#xf5c3;" horiz-adv-x="511"
+d="M479.06 128c17.6406 0 31.9404 -14.3301 31.9404 -32v-128c0 -17.6699 -14.2998 -32 -31.9404 -32h-299.579c2.17969 1.91016 4.60938 3.41992 6.66992 5.49023l186.14 186.51h106.77zM434.56 280.9c12.4707 -12.4902 12.4707 -32.7607 0 -45.2607l-211.869 -212.279
+c0.199219 2.90918 0.869141 5.67969 0.869141 8.63965v263.76l75.5 75.6504c12.4805 12.5 32.7002 12.5 45.1709 0zM191.62 416v-384c0 -53.0195 -42.9004 -96 -95.8105 -96c-52.9092 0 -95.8096 42.9805 -95.8096 96v384c0 17.6699 14.2998 32 31.9404 32h127.739
+c17.6406 0 31.9404 -14.3301 31.9404 -32zM95.8096 8c13.2305 0 23.96 10.75 23.9502 24c0 13.2598 -10.7295 24 -23.9502 24c-13.2197 0 -23.9492 -10.7402 -23.9492 -24c0 -13.25 10.7197 -24 23.9492 -24zM127.75 192l0.00976562 64h-63.8799v-64h63.8701zM127.75 320
+l0.00976562 64h-63.8799v-64h63.8701z" />
+ <glyph glyph-name="swimmer" unicode="&#xf5c4;" horiz-adv-x="640"
+d="M189.61 137.42c-5.04004 4.65039 -10.3906 8.34961 -15.8604 11.5801l68.6299 98.04c7.36035 10.5 16.3398 19.5498 26.7197 26.9404l80.0205 57.1699c25.54 18.2598 57.8301 24.96 88.5596 18.3799l100.351 -21.5303c25.9297 -5.55957 42.4297 -31.0801 36.8799 -57
+c-5.56055 -25.9102 -31.0898 -42.4102 -57 -36.8799l-100.351 21.5303c-4.33984 0.90918 -8.97949 -0.0302734 -12.6191 -2.61035l-18 -12.8604l112.84 -80.5996c-17.5107 -1.04004 -34.5303 -8.4502 -49.3906 -22.1602
+c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992s-30.8496 6.16016 -34.3896 9.41992c-16.0107 14.7705 -34.5 22.5801 -53.46 22.5801h-16.3008c-18.96 0 -37.4395 -7.80957 -53.46 -22.5801c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992
+s-30.8496 6.16016 -34.3896 9.41992zM624 96c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16c-38.6201 0 -72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398
+c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16c26.04 0 45.7998 8.41992 56.0703 17.9004
+c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998
+c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996
+c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004h16zM112 192c-44.1797 0 -80 35.8203 -80 80s35.8203 80 80 80s80 -35.8203 80 -80s-35.8203 -80 -80 -80z" />
+ <glyph glyph-name="swimming-pool" unicode="&#xf5c5;" horiz-adv-x="640"
+d="M624 32c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16c-38.6201 0 -72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398
+s-72.7197 12.1797 -96 31.8398c-23.2803 -19.6494 -57.3799 -31.8398 -96 -31.8398h-16c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16c26.04 0 45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998
+c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996
+c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004s45.7998 8.41992 56.0703 17.9004c8.89941 8.20996 19.6602 14.0996 31.7695 14.0996h16.2998c12.1104 0 22.8701 -5.88965 31.7705 -14.0996c10.29 -9.48047 30.0498 -17.9004 56.0898 -17.9004h16zM224 64
+c-19.1201 0 -30.8604 6.16016 -34.3896 9.42969c-9.16992 8.4502 -19.2002 14.3398 -29.6104 18.0703v228.5c0 52.9404 43.0596 96 96 96s96 -43.0596 96 -96v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16c0 17.6396 -14.3604 32 -32 32
+s-32 -14.3604 -32 -32v-96h192v96c0 52.9404 43.0596 96 96 96s96 -43.0596 96 -96v-16c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v16c0 17.6396 -14.3604 32 -32 32s-32 -14.3604 -32 -32v-228.51
+c-10.4102 -3.73047 -20.4404 -9.61035 -29.6104 -18.0703c-3.5293 -3.25977 -15.2695 -9.41992 -34.3896 -9.41992v96h-192v-96z" />
+ <glyph glyph-name="tint-slash" unicode="&#xf5c7;" horiz-adv-x="640"
+d="M633.82 -10.0996c6.97949 -5.43066 8.22949 -15.4805 2.81934 -22.4502l-19.6396 -25.2705c-5.42969 -6.97949 -15.4805 -8.23926 -22.46 -2.80957l-588.36 454.729c-6.97949 5.43066 -8.22949 15.4805 -2.80957 22.4502l19.6396 25.2705
+c5.41992 6.97949 15.4805 8.22949 22.46 2.80957l186.82 -144.399c21.6201 33.7197 42.9697 73.3398 58.4902 125.68c9 30.1201 50.5 28.7803 58.4395 0c46.9902 -158.48 146.78 -200.061 146.78 -311.82c0 -5.70996 -0.509766 -11.2998 -1.03027 -16.8701zM144 114.09
+c0 29.7803 7.30957 54.6299 18.7197 78.1299l273.681 -211.52c-31.0303 -27.7402 -71.6904 -44.7002 -116.4 -44.7002c-97.2803 0 -176 79.6504 -176 178.09z" />
+ <glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM281.8 250.3c-7.7002 -4.7002 -7.7002 -15.8994 0 -20.5996l80 -48c11.5 -6.7998 24.1006 7.59961 15.4004 18l-33.6006 40.2998l33.6006 40.2998
+c8.59961 10.2998 -3.7998 24.9004 -15.4004 18zM118.8 280.3l33.6006 -40.2998l-33.6006 -40.2998c-8.59961 -10.4004 3.90039 -24.7998 15.4004 -18l80 48c7.7998 4.7002 7.7998 15.8994 0 20.5996l-80 48c-11.6006 6.90039 -24 -7.7002 -15.4004 -18zM248 160
+c-51.9004 0 -115.3 -43.7998 -123.2 -106.7c-1.7002 -13.3994 7.90039 -24.5996 17.7002 -20.3994c25.9004 11.0996 64.4004 17.3994 105.5 17.3994s79.5996 -6.2998 105.5 -17.3994c9.7002 -4.2002 19.4004 6.7998 17.7002 20.3994
+c-7.90039 62.9004 -71.2998 106.7 -123.2 106.7z" />
+ <glyph glyph-name="tooth" unicode="&#xf5c9;" horiz-adv-x="448"
+d="M443.98 351.75c10.1299 -41.6299 0.419922 -80.8203 -21.5303 -110.43c-23.3604 -31.5703 -32.6807 -68.6504 -36.29 -107.351c-4.41016 -47.1602 -10.3301 -94.1699 -20.9404 -140.319l-7.7998 -33.9502c-3.18945 -13.8701 -15.4902 -23.7002 -29.6699 -23.7002
+c-13.9697 0 -26.1504 9.5498 -29.54 23.1602l-34.4697 138.42c-4.56055 18.3096 -20.96 31.1602 -39.7598 31.1602c-18.8008 0 -35.2002 -12.8398 -39.7607 -31.1602l-34.4697 -138.42c-3.38965 -13.6104 -15.5703 -23.1602 -29.54 -23.1602
+c-14.1797 0 -26.4795 9.83008 -29.6699 23.7002l-7.7998 33.9502c-10.6104 46.1592 -16.54 93.1592 -20.9404 140.319c-3.60938 38.6904 -12.9297 75.7803 -36.29 107.351c-21.9199 29.6201 -31.6299 68.8096 -21.5 110.43c11.0098 45.2197 47.1104 82.0498 92.0098 93.7197
+c23.4307 6.08984 46.1104 0.540039 66.8105 -10.3096l100.51 -64.6201c7.83984 -5.05957 17.6504 -2.15039 22.1104 4.7998c4.78027 7.44043 2.62012 17.3398 -4.7998 22.1104l-28.3203 18.21c3.54004 1.75 7.25 3.08984 10.5 5.47949
+c26.1396 19.2305 56.9502 32.6904 89.1396 24.3301c44.9004 -11.6602 81 -48.5 92.0107 -93.7197z" />
+ <glyph glyph-name="umbrella-beach" unicode="&#xf5ca;" horiz-adv-x="640"
+d="M115.38 311.1c-10.0801 3.66992 -14.1104 16.3203 -7.41992 24.7207c59.75 74.8398 152.65 116.689 248.53 111.8c-52.79 -29.4102 -103.811 -92.1602 -139 -173.7zM247.63 262.94c44.4902 101.979 114.74 171.14 172.76 171.149c7.95996 0 15.6904 -1.2998 23.0908 -4
+c61.3291 -22.3203 78.3896 -132.6 42.6299 -253.979zM521.48 387.5c76.5293 -57.9199 120.76 -149.67 118.439 -245.36c-0.259766 -10.7393 -11.4795 -17.8398 -21.5703 -14.1699l-102.619 37.3604c17.5293 58.75 24.6895 117.09 18.9492 166.979
+c-2.37012 20.5908 -6.97949 38.8906 -13.1992 55.1904zM560 0.0195312c8.83984 0 16 -7.15918 16 -16v-32.0098c0 -8.83984 -7.16016 -16.0098 -16 -16.0098h-544c-8.83984 0 -16 7.16992 -16 16.0098v32.0098c0 8.85059 7.16016 16.0107 16 16.0107h236.96l72.9004 200.37
+l60.1396 -21.9004l-64.9404 -178.48h238.94z" />
+ <glyph glyph-name="vector-square" unicode="&#xf5cb;"
+d="M512 320c0 -17.6699 -14.3301 -32 -32 -32v-192c17.6699 0 32 -14.3301 32 -32v-96c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32h-192c0 -17.6699 -14.3301 -32 -32 -32h-96c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32v192
+c-17.6699 0 -32 14.3301 -32 32v96c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32h192c0 17.6699 14.3301 32 32 32h96c17.6699 0 32 -14.3301 32 -32v-96zM416 384v-32h32v32h-32zM64 384v-32h32v32h-32zM96 0v32h-32v-32h32zM448 0v32h-32v-32h32zM416 96
+v192h-32c-17.6699 0 -32 14.3301 -32 32v32h-192v-32c0 -17.6699 -14.3301 -32 -32 -32h-32v-192h32c17.6699 0 32 -14.3301 32 -32v-32h192v32c0 17.6699 14.3301 32 32 32h32z" />
+ <glyph glyph-name="weight-hanging" unicode="&#xf5cd;"
+d="M510.28 2.13965c8.33008 -33.3096 -14.6602 -66.1396 -46.2998 -66.1396h-415.95c-31.6504 0 -54.6406 32.8301 -46.3105 66.1396l73.0498 292.13c3.79004 15.1807 16.4404 25.7207 30.8701 25.7207h60.25c-3.58008 10.0498 -5.87988 20.7197 -5.87988 32
+c0 53.0195 42.9805 96 96 96c53.0205 0 96 -42.9805 96 -96c0 -11.2803 -2.30957 -21.9502 -5.87988 -32h60.25c14.4297 0 27.0703 -10.5303 30.8701 -25.7207zM256 320c17.6396 0 32 14.3604 32 32s-14.3604 32 -32 32s-32 -14.3604 -32 -32s14.3604 -32 32 -32z" />
+ <glyph glyph-name="wine-glass-alt" unicode="&#xf5ce;" horiz-adv-x="288"
+d="M216 -16c22.0898 0 40 -17.9102 40 -40c0 -4.41992 -3.58008 -8 -8 -8h-208c-4.41992 0 -8 3.58008 -8 8c0 22.0898 17.9102 40 40 40h40v117.18c-68.4697 15.8906 -118.05 79.9102 -111.4 154.16l15.96 178.11c0.730469 8.24023 7.55078 14.5498 15.7002 14.5498h223.48
+c8.16016 0 14.9697 -6.30957 15.71 -14.5498l15.9502 -178.101c6.64941 -74.25 -42.9307 -138.27 -111.4 -154.159v-117.19h40zM61.75 400l-7.16992 -80h178.84l-7.16992 80h-164.5z" />
+ <glyph glyph-name="air-freshener" unicode="&#xf5d0;" horiz-adv-x="384"
+d="M378.94 126.59c11.75 -12.1494 1.71973 -30.5898 -16.6406 -30.5898h-138.3v-32h112c8.83984 0 16 -7.16016 16 -16v-96c0 -8.83984 -7.16016 -16 -16 -16h-288c-8.83984 0 -16 7.16016 -16 16v96c0 8.83984 7.16016 16 16 16h112v32h-138.3
+c-18.3604 0 -28.3906 18.4404 -16.6406 30.5898l94.2402 97.4102h-49.2197c-15.2998 0 -23.6602 16.5996 -13.8604 27.5303l113.33 126.51c-3.42969 6.61035 -5.5498 14 -5.5498 21.96c0 26.5098 21.4902 48 48 48s48 -21.4902 48 -48
+c0 -7.95996 -2.12012 -15.3496 -5.5498 -21.96l113.33 -126.51c9.7998 -10.9307 1.43945 -27.5303 -13.8604 -27.5303h-49.2197zM192 416.02c-8.84961 0 -16.0195 -7.16992 -16.0195 -16.0195c0 -8.83984 7.16992 -16.0195 16.0195 -16.0195
+s16.0195 7.17969 16.0195 16.0195c0 8.84961 -7.16992 16.0195 -16.0195 16.0195zM304 16h-224v-32h224v32z" />
+ <glyph glyph-name="apple-alt" unicode="&#xf5d1;" horiz-adv-x="448"
+d="M350.85 319c25.9707 -4.66992 47.2705 -18.6699 63.9199 -42c14.6504 -20.6699 24.6406 -46.6699 29.9609 -78c4.66992 -28.6699 4.31934 -57.3301 -1 -86c-7.99023 -47.3301 -23.9707 -87 -47.9404 -119c-28.6396 -38.6699 -64.5898 -58 -107.87 -58
+c-10.6602 0 -22.2998 3.33008 -34.96 10c-8.66016 5.33008 -18.3096 8 -28.9697 8s-20.2998 -2.66992 -28.9707 -8c-12.6592 -6.66992 -24.2998 -10 -34.96 -10c-43.2793 0 -79.2295 19.3301 -107.869 58c-23.9707 32 -39.9502 71.6699 -47.9404 119
+c-5.32031 28.6699 -5.66992 57.3301 -1 86c5.32031 31.3301 15.3096 57.3301 29.96 78c16.6504 23.3301 37.9502 37.3301 63.9199 42c15.9805 2.66992 37.9502 0.330078 65.9199 -7c23.9697 -6.66992 44.2803 -14.6699 60.9307 -24
+c16.6494 9.33008 36.96 17.3301 60.9297 24c27.9795 7.33008 49.96 9.66992 65.9395 7zM295.91 360c-9.32031 -8.66992 -21.6504 -15 -36.96 -19c-10.6602 -3.33008 -22.2998 -5 -34.96 -5l-14.9805 1c-1.33008 9.33008 -1.33008 20 0 32
+c2.66992 24 10.3203 42.3301 22.9707 55c9.31934 8.66992 21.6494 15 36.96 19c10.6592 3.33008 22.2998 5 34.96 5l14.9795 -1l1 -15c0 -12.6699 -1.66992 -24.3301 -4.99023 -35c-3.98926 -15.3301 -10.3096 -27.6699 -18.9795 -37z" />
+ <glyph glyph-name="atom" unicode="&#xf5d2;" horiz-adv-x="448"
+d="M413.03 192c40.1396 -54.9102 41.5195 -98.5996 25.1396 -128c-29.2197 -52.3398 -101.689 -43.5801 -116.33 -41.8799c-21.4697 -51.2197 -54.2002 -86.1201 -97.8398 -86.1201s-76.3701 34.9004 -97.8398 86.1201c-14.6504 -1.7002 -87.1201 -10.46 -116.33 41.8799
+c-16.3701 29.3799 -14.9902 73.1104 25.1396 128c-40.1396 54.9102 -41.5195 98.5996 -25.1396 128c10.9004 19.5195 40.5996 50.6602 116.33 41.8799c21.4795 51.2305 54.2002 86.1201 97.8398 86.1201s76.3604 -34.8896 97.8398 -86.1201
+c75.79 8.85059 105.42 -22.3604 116.33 -41.8799c16.3701 -29.3799 14.9902 -73.1104 -25.1396 -128zM63.3799 96c3.69043 -6.59961 19.0205 -11.8604 43.5801 -10.9697c-2.75977 13 -5.0498 26.3701 -6.75977 40.0801c-7.66992 6.29004 -14.9102 12.6494 -21.8701 19.1797
+c-15.1396 -23.4902 -18.9805 -41.0801 -14.9502 -48.29zM100.2 258.88c1.39355 11.1816 4.43555 29.2002 6.79004 40.2197c-1.82031 0.0703125 -3.98047 0.370117 -5.69043 0.370117c-21.5303 0 -34.5098 -5.33008 -37.9199 -11.4697
+c-4.01953 -7.20996 -0.179688 -24.7998 14.9502 -48.2998c6.96973 6.53027 14.21 12.8896 21.8701 19.1797zM224 384c-9.46973 0 -22.2002 -13.5195 -33.8604 -37.2598c11.1904 -3.7002 22.4404 -8 33.8604 -12.8604c11.4199 4.86035 22.6699 9.16016 33.8604 12.8604
+c-11.6602 23.7402 -24.3906 37.2598 -33.8604 37.2598zM224 0c9.46973 0 22.2002 13.5195 33.8604 37.2598c-11.1904 3.7002 -22.4404 8 -33.8604 12.8604c-11.4199 -4.86035 -22.6699 -9.16016 -33.8604 -12.8604c11.6602 -23.7402 24.3906 -37.2598 33.8604 -37.2598z
+M286.5 157.33c1.99023 27.7998 1.98047 41.5498 0 69.3301c-26.6396 19.04 -46.1104 29.3096 -62.5 37.4795c-16.3701 -8.15918 -35.8301 -18.4297 -62.5 -37.4795c-1.99023 -27.79 -1.99023 -41.54 0 -69.3301c26.7002 -19.0703 46.1504 -29.3398 62.5 -37.4805
+c16.3604 8.15039 35.7998 18.4004 62.5 37.4805zM384.62 96c4.01953 7.20996 0.179688 24.7998 -14.9502 48.29c-6.96973 -6.53027 -14.21 -12.8896 -21.8701 -19.1797c-1.70996 -13.6904 -4 -27.0605 -6.75977 -40.0605c24.5801 -0.870117 39.9102 4.33008 43.5801 10.9502
+zM369.67 239.71c15.1299 23.4902 18.9697 41.0801 14.9502 48.2998c-3.41016 6.12988 -16.4004 11.4707 -37.9199 11.4707c-1.71973 0 -3.87012 -0.300781 -5.69043 -0.370117c2.35254 -11.0205 5.39453 -29.0391 6.79004 -40.2207
+c7.66992 -6.29004 14.9102 -12.6494 21.8701 -19.1797zM224 224c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
+ <glyph glyph-name="bone" unicode="&#xf5d7;" horiz-adv-x="640"
+d="M598.88 203.44c-9.42969 -4.70996 -9.42969 -18.1709 -0.00976562 -22.8809c25.2002 -12.5996 41.1201 -38.3496 41.1201 -66.5293v-7.64062c0 -41.0898 -33.2998 -74.3896 -74.3799 -74.3896c-32.0107 0 -60.4404 20.4902 -70.5703 50.8604
+c-6.53027 19.5996 -10.7305 45.1396 -38.1104 45.1396h-273.87c-26.5098 0 -30.4297 -22.1104 -38.1094 -45.1396c-10.1299 -30.3701 -38.5498 -50.8604 -70.5703 -50.8604c-41.0801 0 -74.3799 33.2998 -74.3799 74.3896v7.64062
+c0 28.1699 15.9199 53.9297 41.1201 66.5293c9.42969 4.70996 9.42969 18.1709 0 22.8809c-25.2002 12.5996 -41.1201 38.3594 -41.1201 66.5293v7.64062c0 41.0898 33.2998 74.3896 74.3896 74.3896c32.0107 0 60.4404 -20.4902 70.5605 -50.8604
+c6.53027 -19.5996 10.7295 -45.1396 38.1094 -45.1396h273.87c26.5107 0 30.4307 22.1104 38.1104 45.1396c10.1299 30.3701 38.5498 50.8604 70.5703 50.8604c41.0898 0 74.3896 -33.2998 74.3896 -74.3896v-7.64062c0 -28.1699 -15.9199 -53.9297 -41.1201 -66.5293z" />
+ <glyph glyph-name="book-reader" unicode="&#xf5da;"
+d="M352 352c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96s42.9805 96 96 96s96 -42.9805 96 -96zM233.59 206.9c4.10059 -2.51074 6.41016 -6.79004 6.41992 -11.46v-245.99c0 -10.1602 -11.1094 -16.5898 -20.4795 -11.8701
+c-61.0498 30.75 -149.38 39.1396 -193.04 41.4297c-14.9004 0.770508 -26.4902 12.7207 -26.4902 27.0498v222.801c0 15.6299 13.5498 28.0098 29.7998 27.0898c48.3604 -2.75 144.46 -12.7305 203.79 -49.0498zM482.2 255.95
+c16.25 0.919922 29.7998 -11.46 29.8096 -27.0898v-222.82c0 -14.3301 -11.5898 -26.2803 -26.4902 -27.0596c-43.6494 -2.29004 -131.93 -10.6807 -192.97 -41.4004c-9.39941 -4.73047 -20.54 1.70996 -20.54 11.9004v245.789c0 4.6709 2.31055 9.12012 6.41016 11.6309
+c59.3203 36.3193 155.43 46.3096 203.78 49.0498z" />
+ <glyph glyph-name="brain" unicode="&#xf5dc;" horiz-adv-x="576"
+d="M208 448c35.3398 0 64 -28.6504 64 -64v-74.0703c0 -26.0898 -18 -47.8799 -42.2002 -54.04c-3.4502 -0.879883 -5.7998 -4.08984 -5.7998 -7.65918v-16.1807c0 -5.06934 4.66992 -8.91016 9.63965 -7.88965c14.3799 2.93945 27.4502 9.41016 38.3604 18.3896v-234.55
+c0 -39.7598 -32.2305 -72 -72 -72c-31.75 0 -58.3896 20.6904 -67.9697 49.21c-3.93066 -0.660156 -7.91016 -1.20996 -12.0303 -1.20996c-39.7695 0 -72 32.2402 -72 72c0 4.83008 0.519531 9.54004 1.41992 14.1104c-29 12.0098 -49.4199 40.5498 -49.4199 73.8896
+c0 29.6699 16.3398 55.2803 40.3398 69.0898c-5.17969 10.5898 -8.33984 22.3301 -8.33984 34.9102c0 33.4297 20.54 62 49.6602 73.96c-1.02051 4.53027 -1.66016 9.2002 -1.66016 14.04c0 35.3496 28.6602 64 64 64c0.75 0 1.4502 -0.200195 2.2002 -0.219727
+c7.05957 27.6699 31.9297 48.2197 61.7998 48.2197zM576 144c0 -33.3398 -20.4199 -61.8799 -49.4199 -73.8896c0.900391 -4.57031 1.41992 -9.28027 1.41992 -14.1104c0 -39.7598 -32.2305 -72 -72 -72c-4.12012 0 -8.09961 0.540039 -12.0303 1.20996
+c-9.58008 -28.5195 -36.2197 -49.21 -67.9697 -49.21c-39.7695 0 -72 32.2402 -72 72v234.55c10.9199 -8.97949 23.9805 -15.4502 38.3604 -18.3896c4.95996 -1.02051 9.63965 2.82031 9.63965 7.88965v16.1807c0 3.56934 -2.33984 6.7793 -5.7998 7.65918
+c-24.21 6.16016 -42.2002 27.9502 -42.2002 54.04v74.0703c0 35.3496 28.6602 64 64 64c29.8701 0 54.7402 -20.5498 61.7998 -48.2197c0.75 0.0195312 1.4502 0.219727 2.2002 0.219727c35.3398 0 64 -28.6504 64 -64c0 -4.83984 -0.639648 -9.50977 -1.66016 -14.04
+c29.1201 -11.96 49.6602 -40.5303 49.6602 -73.96c0 -12.5801 -3.16992 -24.3203 -8.33984 -34.9102c24 -13.8096 40.3398 -39.4199 40.3398 -69.0898z" />
+ <glyph glyph-name="car-alt" unicode="&#xf5de;" horiz-adv-x="480"
+d="M438.66 235.67c24.1201 -9.16992 41.3398 -32.3301 41.3398 -59.6699v-48c0 -16.1299 -6.16016 -30.6797 -16 -41.9297v-54.0703c0 -17.6699 -14.3301 -32 -32 -32h-32c-17.6699 0 -32 14.3301 -32 32v32h-256v-32c0 -17.6699 -14.3301 -32 -32 -32h-32
+c-17.6699 0 -32 14.3301 -32 32v54.0703c-9.83984 11.2598 -16 25.8096 -16 41.9297v48c0 27.3398 17.2197 50.5 41.3398 59.6699l11.2402 28.0996l19.9297 49.8301c17.1104 42.7705 57.9307 70.4004 103.99 70.4004h127c46.0703 0 86.8799 -27.6299 103.99 -70.4004
+l19.9297 -49.8301zM131.93 289.83l-19.9297 -49.8301h256l-19.9297 49.8301c-7.29004 18.2197 -24.9404 30.1699 -44.5703 30.1699h-127c-19.6299 0 -37.2803 -11.9502 -44.5703 -30.1699zM80 128.2c19.2002 0 48 -3.19043 48 15.9502
+c0 19.1396 -28.7998 47.8496 -48 47.8496s-32 -12.7598 -32 -31.9004c0 -19.1396 12.7998 -31.8994 32 -31.8994zM400 128.2c19.2002 0 32 12.7598 32 31.8994c0 19.1406 -12.7998 31.9004 -32 31.9004s-48 -28.71 -48 -47.8496c0 -19.1406 28.7998 -15.9502 48 -15.9502z
+" />
+ <glyph glyph-name="car-battery" unicode="&#xf5df;"
+d="M480 320c17.6699 0 32 -14.3301 32 -32v-256c0 -17.6699 -14.3301 -32 -32 -32h-448c-17.6699 0 -32 14.3301 -32 32v256c0 17.6699 14.3301 32 32 32h32v48c0 8.83984 7.16016 16 16 16h96c8.83984 0 16 -7.16016 16 -16v-48h128v48c0 8.83984 7.16016 16 16 16h96
+c8.83984 0 16 -7.16016 16 -16v-48h32zM192 184v16c0 4.41992 -3.58008 8 -8 8h-112c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h112c4.41992 0 8 3.58008 8 8zM448 184v16c0 4.41992 -3.58008 8 -8 8h-40v40c0 4.41992 -3.58008 8 -8 8h-16
+c-4.41992 0 -8 -3.58008 -8 -8v-40h-40c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h40v-40c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v40h40c4.41992 0 8 3.58008 8 8z" />
+ <glyph glyph-name="car-crash" unicode="&#xf5e1;" horiz-adv-x="640"
+d="M143.25 227.19l-12.4199 -46.3701c-3.00977 -11.25 -3.62988 -22.8906 -2.41016 -34.3906l-35.2002 -28.9795c-6.56934 -5.41016 -16.3096 0.429688 -14.6201 8.76953l15.4404 76.6807c1.05957 5.25977 -2.66016 10.2793 -8 10.79l-77.8604 7.5498
+c-8.46973 0.819336 -11.2295 11.8301 -4.13965 16.54l65.1504 43.2998c4.45996 2.96973 5.37988 9.15039 1.97949 13.29l-49.71 60.4102c-5.41016 6.56934 0.429688 16.2998 8.78027 14.6201l76.6797 -15.4404c5.25977 -1.05957 10.2803 2.66016 10.7998 8l7.5498 77.8604
+c0.820312 8.47949 11.8301 11.2295 16.5508 4.13965l43.2998 -65.1396c2.96973 -4.45996 9.14941 -5.37988 13.29 -1.98047l60.3994 49.71c6.57031 5.41016 16.3008 -0.429688 14.6201 -8.76953l-11.3301 -56.1602c-2.70996 -3.0498 -5.42969 -6.08984 -7.90918 -9.40039
+l-32.1504 -42.9697l-10.71 -14.3203c-32.7305 -8.75977 -59.1797 -34.5293 -68.0801 -67.7393zM637.82 94.6797l-12.4199 -46.3594c-3.13086 -11.6807 -9.38086 -21.6104 -17.5508 -29.3604c-2.25488 -2.13574 -6.17969 -5.27148 -8.75977 -7l-13.9902 -52.2295
+c-1.13965 -4.27051 -3.09961 -8.10059 -5.64941 -11.3809c-7.66992 -9.83984 -20.7402 -14.6797 -33.54 -11.25l-30.9102 8.28027c-17.0703 4.57031 -27.2002 22.1201 -22.6299 39.1904l8.28027 30.9102l-247.28 66.2598l-8.28027 -30.9102
+c-4.57031 -17.0703 -22.1201 -27.2002 -39.1895 -22.6299l-30.9102 8.28027c-12.7998 3.42969 -21.7002 14.1592 -23.4199 26.5098c-0.570312 4.12012 -0.350586 8.41992 0.790039 12.6797l13.9893 52.2305c-1.37207 2.78809 -3.2041 7.46973 -4.08984 10.4492
+c-3.2002 10.79 -3.64941 22.5205 -0.519531 34.2002l12.4199 46.3701c5.30957 19.7998 19.3594 34.8301 36.8896 42.21c4.9082 2.06836 13.1914 4.18262 18.4902 4.71973l18.1299 24.2305l32.1504 42.9697c3.44922 4.61035 7.18945 8.90039 11.1992 12.8398
+c8 7.89062 17.0303 14.4404 26.7402 19.5107c4.86035 2.54004 9.89062 4.70996 15.0498 6.48926c10.3301 3.58008 21.1904 5.62988 32.2402 6.04004s22.3105 -0.819336 33.4307 -3.7998l122.68 -32.8701c11.1201 -2.97949 21.4795 -7.54004 30.8496 -13.4297
+c11.7236 -7.36133 27.2646 -22.8174 34.6904 -34.5c8.81934 -13.8799 14.6396 -29.8398 16.6797 -46.9902l6.36035 -53.29l3.58984 -30.0498c8.79297 -6.34863 18.9805 -19.7568 22.7402 -29.9297c4.38965 -11.8799 5.29004 -25.1904 1.75 -38.3906zM255.58 213.66
+c-18.5498 4.96973 -34.21 -4.04004 -39.1699 -22.5303s4.10938 -34.1201 22.6494 -39.0898c18.5508 -4.96973 45.54 -15.5098 50.4902 2.97949c4.95996 18.4902 -15.4297 53.6709 -33.9697 58.6406zM546.19 185.49l-6.36035 53.29
+c-0.580078 4.87012 -1.88965 9.5293 -3.82031 13.8594c-5.7998 12.9902 -17.2002 23.0107 -31.4199 26.8203l-122.68 32.8701c-3.36914 0.902344 -8.93457 1.63477 -12.4229 1.63477c-13.2676 0 -30.4883 -8.62207 -38.4375 -19.2451l-32.1494 -42.9697l172 -46.0801z
+M564.68 130.84c-18.5498 4.96973 -53.7998 -15.3096 -58.75 -33.79c-4.94922 -18.4902 23.6904 -22.8594 42.2402 -27.8301c18.5498 -4.96973 34.21 4.04004 39.1699 22.5303c4.9502 18.4805 -4.10938 34.1201 -22.6602 39.0898z" />
+ <glyph glyph-name="car-side" unicode="&#xf5e4;" horiz-adv-x="640"
+d="M544 256c53.0195 0 96 -42.9805 96 -96v-80c0 -8.83984 -7.16016 -16 -16 -16h-48c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-128c0 -53.0195 -42.9805 -96 -96 -96s-96 42.9805 -96 96h-48c-8.83984 0 -16 7.16016 -16 16v112
+c0 29.79 20.4404 54.5996 48 61.7402l47.9102 122.029c9.71973 24.3008 33.25 40.2305 59.4199 40.2305h213.91c16.9795 -0.00195312 39.3701 -10.7627 49.9795 -24.0195l108.78 -135.98h16zM160 16c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48
+s21.5303 -48 48 -48zM232 256v96h-76.6699l-38.4004 -96h115.07zM280 256h166.04l-76.7998 96h-89.2402v-96zM480 16c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48s21.5303 -48 48 -48z" />
+ <glyph glyph-name="charging-station" unicode="&#xf5e7;" horiz-adv-x="576"
+d="M336 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-320c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h320zM544 320h16c8.83984 0 16 -7.16016 16 -16v-32c0 -35.7598 -23.6201 -65.6904 -56 -75.9297v-120.07
+c0 -44.4102 -38.29 -80.0498 -83.5898 -75.6201c-39.4902 3.85059 -68.4102 39.3398 -68.4102 79.0098v24.6104c0 22.0898 -17.9102 40 -40 40h-8v-112h-288v352c0 35.3496 28.6504 64 64 64h160c35.3496 0 64 -28.6504 64 -64v-192h8c48.5996 0 88 -39.4004 88 -88v-28
+c0 -16.9902 15.2197 -30.5 32.7402 -27.6104c13.7598 2.27051 23.2598 15.2402 23.2598 29.1904v118.49c-32.3799 10.2393 -56 40.1699 -56 75.9297v32c0 8.83984 7.16016 16 16 16h16v48c0 8.83984 7.16016 16 16 16s16 -7.16016 16 -16v-48h32v48
+c0 8.83984 7.16016 16 16 16s16 -7.16016 16 -16v-48zM260.09 272.24c4.62012 6.97949 -1.14941 15.7598 -10.3896 15.7598h-57.7002l11.5996 50.79c2.02051 6.66992 -3.71973 13.21 -11.5996 13.21h-68c-6.01953 0 -11.0996 -3.90039 -11.8896 -9.11035l-16 -107
+c-0.959961 -6.2998 4.63965 -11.8896 11.8896 -11.8896h59.3496l-23.0195 -83.0801c-1.7998 -6.63965 4 -12.9199 11.6699 -12.9199c4.17969 0 8.19043 1.91016 10.3896 5.24023z" />
+ <glyph glyph-name="directions" unicode="&#xf5eb;"
+d="M502.61 214.68c12.5195 -12.5293 12.5195 -32.8301 0 -45.3594l-223.931 -223.931c-12.5293 -12.5293 -32.8398 -12.5293 -45.3594 0l-223.931 223.931c-12.5195 12.5293 -12.5195 32.8301 0 45.3594l223.931 223.931c12.5293 12.5195 32.8398 12.5195 45.3594 0z
+M401.63 202.12c3.42969 3.16992 3.42969 8.58984 0 11.7598l-84.21 77.7305c-5.12988 4.72949 -13.4297 1.08984 -13.4297 -5.87988v-53.7305h-112c-17.6699 0 -32 -14.3301 -32 -32v-80c0 -4.41992 3.58008 -8 8 -8h32c4.41992 0 8 3.58008 8 8v64h96v-53.7305
+c0 -6.97949 8.30957 -10.6094 13.4297 -5.87988z" />
+ <glyph glyph-name="draw-polygon" unicode="&#xf5ee;" horiz-adv-x="448"
+d="M384 96c35.3496 0 64 -28.6504 63.9902 -64c0 -35.3496 -28.6504 -64 -64 -64c-23.6299 0 -44.0303 12.9502 -55.1201 32h-209.75c-11.0801 -19.0498 -31.4902 -32 -55.1201 -32c-35.3496 0 -64 28.6504 -64 64c0 23.6299 12.9502 44.04 32 55.1299v209.75
+c-19.0498 11.0801 -32 31.4902 -32 55.1201c0 35.3496 28.6504 64 64 64c23.6299 0 44.04 -12.9502 55.1201 -32h209.76c11.0801 19.0498 31.4902 32 55.1201 32c35.3496 0 64 -28.6504 64 -64s-28.6504 -64 -64 -64c-0.349609 0 -0.669922 0.0898438 -1.01953 0.0996094
+l-39.2002 -65.3193c5.08008 -9.16992 8.21973 -19.5605 8.21973 -30.7803s-3.15039 -21.6104 -8.21973 -30.7803l39.2002 -65.3193c0.349609 0 0.669922 0.0996094 1.01953 0.0996094zM96 87.1201c8.07422 -4.68848 18.4316 -15.0459 23.1201 -23.1201h208.36
+l-38.4609 64.0996c-0.349609 0 -0.669922 -0.0996094 -1.01953 -0.0996094c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64c0.349609 0 0.669922 -0.0898438 1.01953 -0.0996094l38.4609 64.0996h-208.36c-4.69043 -8.07227 -15.0479 -18.4297 -23.1201 -23.1201v-209.76z
+M272 192c0 -8.82031 7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16zM400 352c0 8.82031 -7.17969 16 -16 16s-16 -7.17969 -16 -16s7.17969 -16 16 -16s16 7.17969 16 16zM64 368c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16
+s16 7.17969 16 16s-7.17969 16 -16 16zM48 32c0 -8.82031 7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16zM384 16c8.82031 0 16 7.17969 16 16s-7.17969 16 -16 16s-16 -7.17969 -16 -16s7.17969 -16 16 -16z" />
+ <glyph glyph-name="laptop-code" unicode="&#xf5fc;" horiz-adv-x="640"
+d="M255.03 186.35l-58.3506 58.3408c-6.25 6.25 -6.25 16.3799 0 22.6299l58.3398 58.3398c6.25 6.25 16.3809 6.25 22.6309 0l11.3096 -11.3105c6.25 -6.25 6.25 -16.3799 0 -22.6299l-35.71 -35.7197l35.7197 -35.71c6.25 -6.25 6.25 -16.3799 0 -22.6299
+l-11.3096 -11.3105c-6.25 -6.25 -16.3799 -6.25 -22.6299 0zM351.04 197.65c-6.25 6.25 -6.25 16.3799 0 22.6299l35.71 35.7197l-35.71 35.71c-6.25 6.25 -6.25 16.3799 0 22.6299l11.3096 11.3105c6.25 6.25 16.3809 6.25 22.6309 0l58.3398 -58.3408
+c6.25 -6.25 6.25 -16.3799 0 -22.6299l-58.3398 -58.3398c-6.25 -6.25 -16.3809 -6.25 -22.6309 0zM624 32c8.7998 0 16 -7.2002 16 -16v-16c0 -35.2002 -28.7998 -64 -64 -64h-512c-35.2002 0 -64 28.7998 -64 64v16c0 8.7998 7.2002 16 16 16h239.23
+c-0.25 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46zM576 400v-336h-512v336c0 26.4004 21.5996 48 48 48h416c26.4004 0 48 -21.5996 48 -48zM512 128v256h-384v-256h384z" />
+ <glyph glyph-name="layer-group" unicode="&#xf5fd;"
+d="M12.4102 299.98c-16.5498 7.50977 -16.5498 32.5293 0 40.0391l232.95 105.671c2.79883 1.2793 7.56738 2.31738 10.6445 2.31738s7.84668 -1.03809 10.6455 -2.31738l232.93 -105.681c16.5498 -7.50977 16.5498 -32.5195 0 -40.0293l-232.94 -105.671
+c-6.7998 -3.08984 -14.4893 -3.08984 -21.29 0zM499.59 211.7c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.59c-6.7998 -3.08008 -14.4893 -3.08008 -21.29 0l-232.939 105.59c-16.5498 7.5 -16.5498 32.5 0 40l58.0996 26.3301l161.63 -73.2705
+c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.64 73.2705zM499.59 83.9004c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.591c-6.7998 -3.0791 -14.4893 -3.0791 -21.29 0l-232.939 105.591
+c-16.5498 7.5 -16.5498 32.5 0 40l57.8799 26.2295l161.85 -73.3701c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.859 73.3701z" />
+ <glyph glyph-name="microscope" unicode="&#xf610;"
+d="M160 128c-17.6699 0 -32 14.3301 -32 32v224c0 17.6699 14.3301 32 32 32v16c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-16c17.6699 0 32 -14.3301 32 -32v-224c0 -17.6699 -14.3301 -32 -32 -32h-12v-16c0 -8.83984 -7.16016 -16 -16 -16h-40
+c-8.83984 0 -16 7.16016 -16 16v16h-12zM464 0c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16c0 26.5098 21.4902 48 48 48h272c70.5801 0 128 57.4199 128 128s-57.4199 128 -128 128v64
+c105.88 0 192 -86.1201 192 -192c0 -49.2002 -18.7598 -93.9902 -49.29 -128h1.29004zM104 32c-4.41992 0 -8 3.58008 -8 8v16c0 4.41992 3.58008 8 8 8h208c4.41992 0 8 -3.58008 8 -8v-16c0 -4.41992 -3.58008 -8 -8 -8h-208z" />
+ <glyph glyph-name="oil-can" unicode="&#xf613;" horiz-adv-x="639"
+d="M629.8 287.69c5.11035 1.45996 10.2002 -2.38086 10.1904 -7.69043v-18.0801c0 -2.12012 -0.839844 -4.16016 -2.33984 -5.66016l-212.261 -214.75c-6.00977 -6.08984 -14.21 -9.50977 -22.7598 -9.50977h-274.63c-17.6699 0 -32 14.3301 -32 32v46.54l-69.7197 12.6904
+c-15.2207 2.75977 -26.2803 16.0195 -26.2803 31.4795v94.9502c0 17.9795 14.6699 32.0098 31.9297 32.0098c1.61133 0 4.20605 -0.237305 5.79004 -0.530273l138.28 -25.1396h56v48h-56c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h160
+c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-56v-48h56.8896c8.33984 -0.00292969 21.1611 -3.03125 28.6201 -6.75977l50.4902 -25.2402zM96 159.33v62.4297l-48 8.73047v-62.4307zM549.33 74.6699c0 23.5605 42.6699 85.3301 42.6699 85.3301
+s42.6699 -61.7598 42.6699 -85.3301s-19.0996 -42.6699 -42.6699 -42.6699s-42.6699 19.1104 -42.6699 42.6699z" />
+ <glyph glyph-name="poop" unicode="&#xf619;"
+d="M451.36 78.8604c34.3301 -5.48047 60.6396 -34.9805 60.6396 -70.8604c0 -39.7598 -32.2402 -72 -72 -72h-368c-39.7598 0 -72 32.2402 -72 72c0 35.8799 26.3096 65.3799 60.6396 70.8604c-17.2998 13.1494 -28.6396 33.7295 -28.6396 57.1396
+c0 39.7695 32.2402 72 72 72h14.0703c-13.4199 11.7305 -22.0703 28.7803 -22.0703 48c0 35.3496 28.6504 64 64 64h16c44.1797 0 80 35.8203 80 80c0 17.3799 -5.69043 33.3604 -15.1104 46.4805c4.95996 0.779297 9.94043 1.51953 15.1104 1.51953
+c53.0195 0 96 -42.9805 96 -96c0 -11.2803 -2.30957 -21.9502 -5.87988 -32h5.87988c35.3496 0 64 -28.6504 64 -64c0 -19.2197 -8.65039 -36.2695 -22.0703 -48h14.0703c39.7598 0 72 -32.2305 72 -72c0 -23.4102 -11.3398 -43.9902 -28.6396 -57.1396z" />
+ <glyph glyph-name="shapes" unicode="&#xf61f;"
+d="M512 128v-160c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v160c0 17.6699 14.3301 32 32 32h160c17.6699 0 32 -14.3301 32 -32zM128 192c70.6904 0 128 -57.3096 128 -128s-57.3096 -128 -128 -128s-128 57.3096 -128 128s57.3096 128 128 128
+zM479.03 224h-190.061c-25.3398 0 -41.1797 26.6699 -28.5098 48l95.0303 160c12.6699 21.3301 44.3496 21.3301 57.0195 0l95.0303 -160c12.6699 -21.3301 -3.16992 -48 -28.5098 -48z" />
+ <glyph glyph-name="star-of-life" unicode="&#xf621;" horiz-adv-x="480"
+d="M471.99 113.57c7.66016 -4.41992 10.2793 -14.2002 5.85938 -21.8506l-32.0195 -55.4297c-4.41992 -7.66016 -14.21 -10.2803 -21.8701 -5.86035l-135.93 78.4307v-156.86c0 -8.83984 -7.16992 -16 -16.0107 -16h-64.0391c-8.84082 0 -16.0107 7.16016 -16.0107 16
+v156.85l-135.93 -78.4297c-7.66016 -4.41016 -17.4502 -1.79004 -21.8701 5.86035l-32.0195 55.4297c-4.41992 7.65039 -1.80078 17.4404 5.85938 21.8604l135.931 78.4297l-135.931 78.4297c-7.66016 4.41992 -10.2793 14.21 -5.85938 21.8604l32.0195 55.4199
+c4.41992 7.65039 14.21 10.2803 21.8701 5.86035l135.93 -78.4307v156.86c0 8.83984 7.16992 16 16.0107 16h64.0391c8.84082 0 16.0107 -7.16016 16.0107 -16v-156.85l135.93 78.4297c7.66016 4.41992 17.4502 1.79004 21.8701 -5.86035l32.0195 -55.4297
+c4.41992 -7.66016 1.80078 -17.4404 -5.85938 -21.8604l-135.931 -78.4297z" />
+ <glyph glyph-name="teeth" unicode="&#xf62e;" horiz-adv-x="640"
+d="M544 448c53.0195 0 96 -42.9805 96 -96v-320c0 -53.0195 -42.9805 -96 -96 -96h-448c-53.0195 0 -96 42.9805 -96 96v320c0 53.0195 42.9805 96 96 96h448zM160 80v64c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-64
+c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM160 208v64c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-64c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16zM304 88v56c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-56
+c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM304 208v88c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-88c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM448 88v56c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-56
+c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM448 208v88c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-88c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM576 80v64c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-64
+c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM576 208v64c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-64c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16z" />
+ <glyph glyph-name="teeth-open" unicode="&#xf62f;" horiz-adv-x="640"
+d="M544 448c53.0195 0 96 -42.9805 96 -96v-64c0 -35.3496 -28.6602 -64 -64 -64h-512c-35.3398 0 -64 28.6504 -64 64v64c0 53.0195 42.9805 96 96 96h448zM160 272v32c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-32c0 -8.83984 7.16016 -16 16 -16h64
+c8.83984 0 16 7.16016 16 16zM304 272v56c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-56c0 -8.83984 7.16016 -16 16 -16h80c8.83984 0 16 7.16016 16 16zM448 272v56c0 30.9297 -25.0703 56 -56 56s-56 -25.0703 -56 -56v-56c0 -8.83984 7.16016 -16 16 -16h80
+c8.83984 0 16 7.16016 16 16zM576 272v32c0 26.5098 -21.4902 48 -48 48s-48 -21.4902 -48 -48v-32c0 -8.83984 7.16016 -16 16 -16h64c8.83984 0 16 7.16016 16 16zM576 128c35.3398 0 64 -28.6504 64 -64v-32c0 -53.0195 -42.9805 -96 -96 -96h-448
+c-53.0195 0 -96 42.9805 -96 96v32c0 35.3496 28.6602 64 64 64h512zM160 48v32c0 8.83984 -7.16016 16 -16 16h-64c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48zM304 56v24c0 8.83984 -7.16016 16 -16 16h-80
+c-8.83984 0 -16 -7.16016 -16 -16v-24c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM448 56v24c0 8.83984 -7.16016 16 -16 16h-80c-8.83984 0 -16 -7.16016 -16 -16v-24c0 -30.9297 25.0703 -56 56 -56s56 25.0703 56 56zM576 48v32c0 8.83984 -7.16016 16 -16 16h-64
+c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -26.5098 21.4902 -48 48 -48s48 21.4902 48 48z" />
+ <glyph glyph-name="theater-masks" unicode="&#xf630;" horiz-adv-x="640"
+d="M206.86 202.85l-7.62988 -43.1797c-21.0908 -7.21973 -38.5 -18.2002 -49.9004 -30.9199c-2.41992 32.9004 21.6504 63.6504 57.5303 74.0996zM95.8096 153c5.87012 -33.1699 64.3203 -71.8096 111.931 -84.79c10.5596 -27.0996 25.9795 -50.5 39.5 -67.5801
+c-3.25977 -0.339844 -6.41992 -0.799805 -10.0098 -0.799805c-68.1201 0 -190.221 61.5596 -204.45 142.08l-31.7305 179.51c-4.96973 28.0996 7.98047 56.0996 32.1504 69.5205c67.8193 37.6396 143.46 57.0596 220.12 57.0596c23.9199 0 47.9492 -1.88965 71.8594 -5.7002
+c17.29 -2.76953 31.7803 -13.0498 41.7705 -27c-19.1299 -0.769531 -38.29 -2.2998 -57.1807 -5.31934c-19.8594 -3.1709 -37.6396 -12.5303 -51.5898 -26c-1.62012 0.0195312 -3.23926 0.189453 -4.84961 0.189453c-65.8896 0 -131.25 -16.9502 -189.01 -49.0098
+c0.0400391 -0.0302734 -0.530273 -1.03027 -0.240234 -2.65039zM193.36 290.46c3.83984 -21.7002 -10.6904 -42.4004 -32.4404 -46.2197c-21.7598 -3.82031 -42.5 10.6699 -46.3398 32.3701c-0.730469 4.12012 -0.610352 8.15918 -0.0898438 12.0996
+c10.8096 -5.57031 24.8301 -7.75 39.4795 -5.16992c14.6504 2.57031 27.0703 9.41016 35.3203 18.3203c1.83984 -3.53027 3.33984 -7.28027 4.07031 -11.4004zM606.8 327.1c24.1699 -13.4092 37.1201 -41.4092 32.1504 -69.5195l-31.7305 -179.51
+c-15.3896 -87.0508 -156.83 -151.931 -219.859 -140.84c-63.0303 11.0791 -173.7 120.3 -158.311 207.35l31.7305 179.51c4.95996 28.1006 26.7295 50 54.04 54.3604c100.55 16.0596 203 -1.96973 291.979 -51.3506zM333.56 230.3
+c-0.729492 -4.12012 -0.609375 -8.16016 -0.0791016 -12.1094c10.8096 5.56934 24.8291 7.75 39.4795 5.16992c14.6504 -2.57031 27.0703 -9.41016 35.3203 -18.3203c1.83984 3.53027 3.33984 7.28027 4.06934 11.4004c3.83008 21.6992 -10.6895 42.3896 -32.4492 46.2197
+c-21.7607 3.83008 -42.5 -10.6602 -46.3408 -32.3604zM404.03 31.54c55.6699 -9.79004 108.2 23.7803 122.38 75.7197c-28.1104 -16.9697 -68.6504 -24.21 -111.93 -16.5996c-43.2803 7.60938 -78.8906 28.2402 -99.4902 53.7803
+c-4.48047 -53.6309 33.3594 -103.11 89.04 -112.9zM534.33 182.88c1.83984 3.52051 3.33984 7.27051 4.07031 11.4004c3.83008 21.7002 -10.7002 42.3896 -32.4502 46.2197c-21.7598 3.82031 -42.5 -10.6699 -46.3398 -32.3701
+c-0.730469 -4.12012 -0.610352 -8.16016 -0.0908203 -12.0996c10.8105 5.56934 24.8301 7.75 39.4805 5.16992c14.6504 -2.57031 27.0801 -9.41016 35.3301 -18.3203z" />
+ <glyph glyph-name="traffic-light" unicode="&#xf637;" horiz-adv-x="384"
+d="M384 256c0 -41.7402 -26.7998 -76.9004 -64 -90.1201v-37.8799h64c0 -42.8398 -28.25 -78.6904 -66.9902 -91.0498c-12.4297 -57.6699 -63.6094 -100.95 -125.01 -100.95s-112.58 43.2803 -125.01 100.95c-38.7402 12.3594 -66.9902 48.21 -66.9902 91.0498h64v37.8799
+c-37.2002 13.2197 -64 48.3799 -64 90.1201h64v37.8799c-37.2002 13.2197 -64 48.3799 -64 90.1201h64v32c0 17.6699 14.3301 32 32 32h192c17.6699 0 32 -14.3301 32 -32v-32h64c0 -41.7402 -26.7998 -76.9004 -64 -90.1201v-37.8799h64zM192 32
+c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM192 160c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM192 288c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48
+s-48 -21.4902 -48 -48s21.4902 -48 48 -48z" />
+ <glyph glyph-name="truck-monster" unicode="&#xf63b;" horiz-adv-x="640"
+d="M624 224c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-16.71c-29.21 38.6504 -75.0996 64 -127.28 64c-52.1797 0 -98.0693 -25.3496 -127.279 -64h-65.4502c-29.21 38.6504 -75.1006 64 -127.28 64s-98.0703 -25.3496 -127.28 -64h-16.7197
+c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16v80c0 8.83984 7.16016 16 16 16h176v96c0 17.6699 14.3301 32 32 32h113.24c16.9795 -0.00195312 39.3701 -10.7627 49.9795 -24.0195l83.1807 -103.98h73.5996c17.6699 0 32 -14.3301 32 -32v-64h16z
+M288 320h132.44l-51.2002 64h-81.2402v-64zM592 96c8.83984 0 16 -7.16016 16.0195 -16v-32c0 -8.83984 -7.15918 -16 -16 -16h-5.19922c-1.79688 -6.01074 -5.67188 -15.3691 -8.65039 -20.8896l3.66992 -3.66992c6.25 -6.25 6.25 -16.3809 0 -22.6309l-22.6299 -22.6299
+c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-3.66992 3.66992c-6.62012 -3.58008 -13.5703 -6.44922 -20.9004 -8.64941v-5.2002c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v5.2002c-7.33008 2.2002 -14.29 5.08008 -20.8994 8.64941
+l-3.66992 -3.66992c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309l3.66992 3.66992c-3.58008 6.60938 -6.44922 13.5596 -8.64941 20.8896h-5.2002c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h5.2002
+c1.7959 6.01074 5.6709 15.3691 8.64941 20.8896l-3.66992 3.66992c-6.25 6.25 -6.25 16.3809 0 22.6309l22.6299 22.6299c6.25 6.25 16.3809 6.25 22.6309 0l3.66992 -3.66992c6.60938 3.58008 13.5596 6.44922 20.8896 8.64941v5.2002c0 8.83984 7.16016 16 16 16h32
+c8.83984 0 16 -7.16016 16 -16v-5.2002c6.01074 -1.7959 15.3691 -5.6709 20.8896 -8.64941l3.66992 3.66992c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309l-3.66992 -3.66992
+c3.58008 -6.60938 6.44922 -13.5596 8.64941 -20.8896h5.2002zM480 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48s21.4902 -48 48 -48zM272 96c8.83984 0 16 -7.16016 16.0195 -15.9902v-32c0 -8.83984 -7.15918 -16 -16 -16h-5.19922
+c-1.79688 -6.00977 -5.67188 -15.3691 -8.65039 -20.8896l3.66992 -3.66992c6.25 -6.25 6.25 -16.3799 0 -22.6299l-22.6299 -22.6299c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-3.66992 3.66992c-6.62012 -3.58008 -13.5703 -6.4502 -20.9004 -8.65039v-5.2002
+c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v5.2002c-7.33008 2.2002 -14.29 5.08008 -20.8994 8.65039l-3.66992 -3.66992c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-22.6299 22.6299c-6.25 6.25 -6.25 16.3799 0 22.6299l3.66992 3.66992
+c-3.58008 6.61035 -6.44922 13.5596 -8.64941 20.8896h-5.2002c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h5.2002c1.7959 6.01074 5.6709 15.3691 8.64941 20.8906l-3.66992 3.66992c-6.25 6.25 -6.25 16.3799 0 22.6299l22.6299 22.6201
+c6.25 6.25 16.3809 6.25 22.6309 0l3.66992 -3.66992c6.60938 3.58008 13.5596 6.44922 20.8896 8.64941v5.2002c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-5.2002c6.01074 -1.7959 15.3691 -5.6709 20.8896 -8.64941l3.66992 3.66992
+c6.25 6.25 16.3809 6.25 22.6309 0l22.6299 -22.6299c6.25 -6.25 6.25 -16.3809 0 -22.6309l-3.66992 -3.66992c3.58008 -6.60938 6.44922 -13.5596 8.64941 -20.8896h5.2002zM160 16c26.5098 0 48 21.4902 48 48s-21.4902 48 -48 48s-48 -21.4902 -48 -48
+s21.4902 -48 48 -48z" />
+ <glyph glyph-name="truck-pickup" unicode="&#xf63c;" horiz-adv-x="640"
+d="M624 160c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-49.5996c0.759766 -5.26953 1.60938 -10.5195 1.60938 -16c0 -61.8604 -50.1396 -112 -112 -112c-61.8594 0 -112 50.1396 -112 112c0 5.48047 0.850586 10.7305 1.61035 16h-67.2305
+c0.760742 -5.26953 1.61035 -10.5195 1.61035 -16c0 -61.8604 -50.1396 -112 -112 -112s-112 50.1396 -112 112c0 5.48047 0.849609 10.7305 1.61035 16h-49.6104c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h16v64c0 17.6699 14.3301 32 32 32h160v128
+c0 17.6699 14.3301 32 32 32h113.24c16.9795 -0.00195312 39.3701 -10.7627 49.9795 -24.0195l108.78 -135.98h48c17.6699 0 32 -14.3301 32 -32v-64h16zM288 352v-96h158.04l-76.7998 96h-81.2402zM176 32c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48
+s-48 -21.5303 -48 -48s21.5303 -48 48 -48zM464 32c26.4697 0 48 21.5303 48 48s-21.5303 48 -48 48s-48 -21.5303 -48 -48s21.5303 -48 48 -48z" />
+ <glyph glyph-name="ad" unicode="&#xf641;"
+d="M157.52 176l18.4805 53.2197l18.4805 -53.2197h-36.9609zM352 192c13.2305 0 24 -10.7695 24 -24s-10.7695 -24 -24 -24s-24 10.7695 -24 24s10.7695 24 24 24zM464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288
+c0 26.5 21.5 48 48 48h416zM250.58 96c11 0 18.7197 10.8496 15.1104 21.25l-53.6904 154.62c-3.08789 8.90332 -13.2422 16.1299 -22.666 16.1299h-0.00390625h-26.6602h-0.00390625c-9.41992 0 -19.5742 -7.22168 -22.666 -16.1201l-53.7002 -154.63
+c-3.60938 -10.4004 4.11035 -21.25 15.1201 -21.25h16.9404h0.00585938c6.28125 0 13.0527 4.81641 15.1143 10.75l7.37988 21.25h70.29l7.36914 -21.25c2.24023 -6.42969 8.31055 -10.75 15.1201 -10.75h16.9404zM424 112v160c0 8.83984 -7.16016 16 -16 16h-16
+c-8.83984 0 -16 -7.16016 -16 -16v-36.4199c-7.54004 2.68945 -15.54 4.41992 -24 4.41992c-39.7002 0 -72 -32.2998 -72 -72s32.2998 -72 72 -72c9.92969 0 19.4004 2.01953 28.0195 5.67969c2.94043 -3.41016 7.13086 -5.67969 11.9805 -5.67969h16
+c8.83984 0 16 7.16016 16 16z" />
+ <glyph glyph-name="ankh" unicode="&#xf644;" horiz-adv-x="320"
+d="M296 192c13.25 0 24 -10.7402 24 -24v-32c0 -13.25 -10.75 -24 -24 -24h-96v-152c0 -13.25 -10.75 -24 -24 -24h-32c-13.25 0 -24 10.75 -24 24v152h-96c-13.25 0 -24 10.75 -24 24v32c0 13.2598 10.75 24 24 24h44.6201c-21.0801 33.9902 -36.6201 74.3496 -36.6201 112
+c0 88.3701 57.3096 144 128 144s128 -55.6299 128 -144c0 -37.6504 -15.54 -78.0098 -36.6201 -112h44.6201zM160 368c-29.6104 0 -48 -24.5195 -48 -64c0 -34.6602 27.1396 -78.1504 48 -100.87c20.8604 22.7305 48 66.21 48 100.87c0 39.4805 -18.3896 64 -48 64z" />
+ <glyph glyph-name="bible" unicode="&#xf647;" horiz-adv-x="448"
+d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
+c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM144 304v-32c0 -8.83984 7.16016 -16 16 -16h48v-112c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16v112h48c8.83984 0 16 7.16016 16 16v32
+c0 8.83984 -7.16016 16 -16 16h-48v48c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-48h-48c-8.83984 0 -16 -7.16016 -16 -16zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
+ <glyph glyph-name="business-time" unicode="&#xf64a;" horiz-adv-x="640"
+d="M496 224c79.5898 0 144 -64.4102 144 -144s-64.4102 -144 -144 -144s-144 64.4102 -144 144s64.4102 144 144 144zM560 73.71v12.5801c0 5.33984 -4.37012 9.70996 -9.70996 9.70996h-38.29v54.2803c0 5.33984 -4.37012 9.70996 -9.70996 9.70996h-12.5703
+c-5.33984 0 -9.70996 -4.37012 -9.70996 -9.70996v-76.5703c0 -5.33984 4.37012 -9.70996 9.70996 -9.70996h60.5703c5.33984 0 9.70996 4.37012 9.70996 9.70996zM496 256c-37.5303 0 -72.2803 -11.9102 -100.88 -32h-395.12v80c0 25.5996 22.4004 48 48 48h80v48
+c0 25.5996 22.4004 48 48 48h160c25.5996 0 48 -22.4004 48 -48v-48h80c25.5996 0 48 -22.4004 48 -48v-48.8096c-5.28027 0.479492 -10.5996 0.80957 -16 0.80957zM320 352v32h-128v-32h128zM326.82 128c-4.33984 -15.2803 -6.82031 -31.3398 -6.82031 -48
+c0 -28.8203 7.09961 -55.96 19.4297 -80h-291.43c-25.5996 0 -48 22.4004 -48 48v144h192v-48c0 -8.83984 7.16016 -16 16 -16h118.82z" />
+ <glyph glyph-name="city" unicode="&#xf64f;" horiz-adv-x="640"
+d="M616 256c13.25 0 24 -10.7402 24 -24v-264c0 -17.6699 -14.3301 -32 -32 -32h-576c-17.6699 0 -32 14.3301 -32 32v360c0 13.2598 10.7402 24 24 24h40v80c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-80h64v80c0 8.83984 7.16016 16 16 16h16
+c8.83984 0 16 -7.16016 16 -16v-80h64v72c0 13.2598 10.7402 24 24 24h144c13.2598 0 24 -10.7402 24 -24v-168h136zM128 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12z
+M128 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM128 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40
+c6.62988 0 12 5.37012 12 12zM256 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM256 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40
+c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM256 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 140v40c0 6.62988 -5.37012 12 -12 12h-40
+c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 236v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM416 332v40
+c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12zM576 44v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40
+c6.62988 0 12 5.37012 12 12zM576 140v40c0 6.62988 -5.37012 12 -12 12h-40c-6.62988 0 -12 -5.37012 -12 -12v-40c0 -6.62988 5.37012 -12 12 -12h40c6.62988 0 12 5.37012 12 12z" />
+ <glyph glyph-name="comment-dollar" unicode="&#xf651;"
+d="M256 416c141.38 0 256 -93.1201 256 -208s-114.62 -208 -256 -208c-38.4102 0 -74.71 7.07031 -107.4 19.3799c-24.6094 -19.6299 -74.3398 -51.3799 -140.6 -51.3799h-0.00195312c-4.41309 0 -7.99512 3.58203 -7.99512 7.99512
+c0 1.76172 0.984375 4.22754 2.19727 5.50488c0.5 0.530273 42.2598 45.4502 54.8193 95.7598c-35.6094 35.7305 -57.0195 81.1807 -57.0195 130.74c0 114.88 114.62 208 256 208zM280 113.56c30.29 3.62012 53.3701 30.9805 49.3203 63.04
+c-2.90039 22.96 -20.6602 41.3105 -42.9102 47.6699l-50.0703 14.3008c-3.59961 1.0293 -6.12012 4.35938 -6.12012 8.10938c0 4.64062 3.78027 8.41992 8.44043 8.41992h32.7803h0.0654297c2.94727 0 7.51367 -0.994141 10.1943 -2.21973
+c4.7998 -2.20996 10.3701 -1.70996 14.1094 2.03027l17.5205 17.5195c5.26953 5.27051 4.66992 14.2705 -1.5498 18.3799c-9.5 6.27051 -20.3604 10.1104 -31.7803 11.46v17.7305c0 8.83984 -7.16016 16 -16 16h-16c-8.83984 0 -16 -7.16016 -16 -16v-17.5498
+c-30.29 -3.62012 -53.3701 -30.9805 -49.3203 -63.0498c2.90039 -22.96 20.6602 -41.3203 42.9102 -47.6699l50.0703 -14.3008c3.59961 -1.0293 6.12012 -4.35938 6.12012 -8.10938c0 -4.64062 -3.78027 -8.41992 -8.44043 -8.41992h-32.7803
+c-3.59961 0 -7.0791 0.759766 -10.2598 2.21973c-4.7998 2.20996 -10.3701 1.70996 -14.1094 -2.03027l-17.5205 -17.5195c-5.26953 -5.27051 -4.66992 -14.2705 1.5498 -18.3799c9.5 -6.27051 20.3604 -10.1104 31.7803 -11.46v-17.7305c0 -8.83984 7.16016 -16 16 -16h16
+c8.83984 0 16 7.16016 16 16v17.5596z" />
+ <glyph glyph-name="comments-dollar" unicode="&#xf653;" horiz-adv-x="576"
+d="M416 256c0 -88.3701 -93.1201 -160 -208 -160c-40.9805 0 -79.0703 9.24023 -111.27 24.9805c-21.8008 -12.7305 -52.1504 -24.9805 -88.7305 -24.9805h-0.00195312c-4.41309 0 -7.99512 3.58203 -7.99512 7.99512c0 1.76172 0.984375 4.22754 2.19727 5.50488
+c0.319336 0.339844 22.4102 24.2803 35.7695 54.5195c-23.8398 26.0303 -37.9697 57.7109 -37.9697 91.9805c0 88.3701 93.1201 160 208 160s208 -71.6299 208 -160zM192 160c0 -4.41992 3.58008 -8 8 -8h16c4.41992 0 8 3.58008 8 8v16.1201
+c23.6201 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973
+c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201
+c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104
+c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29zM538.01 36.0098
+c13.3604 -30.2598 35.4707 -54.1699 35.7803 -54.5c2.20996 -2.33008 2.82031 -5.72949 1.5498 -8.66992c-1.25 -2.92969 -4.13965 -4.83984 -7.33984 -4.83984c-36.5801 0 -66.9297 12.25 -88.7305 24.9805c-32.1992 -15.7402 -70.2891 -24.9805 -111.27 -24.9805
+c-86.2305 0 -160.2 40.3701 -191.73 97.8799c10.4102 -1.11035 20.9502 -1.87988 31.7305 -1.87988c132.34 0 240 86.1299 240 192c0 6.78027 -0.469727 13.4697 -1.33008 20.0703c75.8398 -23.8701 129.33 -81.1299 129.33 -148.07
+c0 -34.2695 -14.1299 -65.96 -37.9902 -91.9902z" />
+ <glyph glyph-name="cross" unicode="&#xf654;" horiz-adv-x="384"
+d="M352 320c17.6699 0 32 -14.3301 32 -32v-64c0 -17.6699 -14.3301 -32 -32 -32h-96v-224c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32v224h-96c-17.6699 0 -32 14.3301 -32 32v64c0 17.6699 14.3301 32 32 32h96v96c0 17.6699 14.3301 32 32 32
+h64c17.6699 0 32 -14.3301 32 -32v-96h96z" />
+ <glyph glyph-name="dharmachakra" unicode="&#xf655;"
+d="M495 222.94c9.20996 0.569336 17 -6.74023 17.0098 -15.9707v-29.9395c0 -9.23047 -7.79004 -16.5498 -17 -15.9707l-17.2197 1.08008c-5.28027 -39.4795 -20.7998 -75.6299 -43.8604 -105.83l12.9502 -11.4297c6.91992 -6.09961 7.25977 -16.7803 0.730469 -23.3096
+l-21.1699 -21.1699c-6.52051 -6.52051 -17.2002 -6.19043 -23.3105 0.729492l-11.4297 12.9502c-30.2002 -23.0703 -66.3506 -38.5898 -105.84 -43.8604l1.08008 -17.2197c0.569336 -9.20996 -6.74023 -17 -15.9707 -17h-29.9395c-9.23047 0 -16.5498 7.79004 -15.9707 17
+l1.09082 17.2197c-39.4902 5.28027 -75.6406 20.7998 -105.841 43.8604l-11.4297 -12.9502c-6.09961 -6.91992 -16.7803 -7.25977 -23.3096 -0.729492l-21.1699 21.1699c-6.52051 6.51953 -6.19043 17.1992 0.729492 23.3096l12.9502 11.4297
+c-23.0703 30.1904 -38.5898 66.3408 -43.8604 105.83l-17.2197 -1.08008c-9.20996 -0.569336 -17 6.74023 -17 15.9707v29.9395c0 9.23047 7.79004 16.5498 17 15.9707l17.2197 -1.08008c5.28027 39.4893 20.7998 75.6396 43.8604 105.84l-12.9502 11.4297
+c-6.91992 6.10059 -7.25977 16.7803 -0.729492 23.3105l21.1699 21.1592c6.51953 6.52051 17.1992 6.19043 23.3096 -0.729492l11.4297 -12.9502c30.1904 23.0703 66.3408 38.5898 105.83 43.8604l-1.08008 17.2197c-0.569336 9.20996 6.74023 17 15.9707 17h29.9395
+c9.23047 0 16.5498 -7.79004 15.9707 -17l-1.07031 -17.21c39.4795 -5.28027 75.6299 -20.7998 105.83 -43.8604l11.4297 12.9404c6.10059 6.91992 16.7803 7.25977 23.3105 0.729492l21.1592 -21.1592c6.52051 -6.52051 6.19043 -17.2002 -0.729492 -23.3105
+l-12.9502 -11.4297c23.0703 -30.2002 38.5898 -66.3506 43.8604 -105.84zM281.84 349.39l-4.00977 -64.1201c10.2998 -2.40918 19.8896 -6.50977 28.6201 -11.9492l42.6201 48.29c-19.6006 14.1201 -42.4199 23.71 -67.2305 27.7793zM230.16 349.39
+c-24.8105 -4.06934 -47.6299 -13.6592 -67.2305 -27.7793l42.6201 -48.29c8.73047 5.42969 18.3301 9.54004 28.6201 11.9492zM126.39 285.06c-14.1201 -19.5996 -23.71 -42.4092 -27.7793 -67.2197l64.1201 -4.00977c2.41992 10.29 6.51953 19.8896 11.96 28.6201z
+M98.6104 166.16c4.06934 -24.8105 13.6592 -47.6299 27.7793 -67.2305l48.29 42.6201c-5.42969 8.73047 -9.54004 18.3301 -11.9492 28.6201zM230.16 34.6104l4 64.1201c-10.29 2.41992 -19.8906 6.51953 -28.6201 11.96l-42.6104 -48.3008
+c19.6006 -14.1201 42.4199 -23.71 67.2305 -27.7793zM256 160c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM281.84 34.6104c24.8105 4.06934 47.6201 13.6592 67.2197 27.7793l-42.6094 48.3008
+c-8.73047 -5.44043 -18.3301 -9.55078 -28.6201 -11.96zM385.61 98.9404c14.1201 19.5898 23.71 42.4092 27.7793 67.2295l-64.1201 4.00977c-2.40918 -10.2998 -6.50977 -19.8896 -11.9492 -28.6201zM349.27 213.83l64.1201 4
+c-4.06934 24.8096 -13.6592 47.6299 -27.7793 67.2295l-48.3008 -42.6094c5.44043 -8.73047 9.55078 -18.3301 11.96 -28.6201z" />
+ <glyph glyph-name="envelope-open-text" unicode="&#xf658;"
+d="M176 232c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h160c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16h-160zM160 152v16c0 8.83984 7.16016 16 16 16h160c8.83984 0 16 -7.16016 16 -16v-16c0 -8.83984 -7.16016 -16 -16 -16
+h-160c-8.83984 0 -16 7.16016 -16 16zM256 30.8701c16.4199 0 32.8398 5.07031 46.8604 15.1895l209.14 151.08v-213.14c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v213.14l209.14 -151.08c14.0205 -10.1299 30.4404 -15.1895 46.8604 -15.1895z
+M493.61 285.05c11.6094 -9.09961 18.3896 -23.0303 18.3896 -37.7695v-10.6504l-96 -69.3496v184.72h-320v-184.72l-96 69.3496v10.6504c0.00195312 12.8945 8.24023 29.8154 18.3896 37.7695c8.85059 6.94043 17.2402 13.4805 29.6104 22.8105v44.1396
+c0 26.5098 21.4902 48 48 48h77.5498c3.04004 2.2002 5.87012 4.25977 9.04004 6.55957c16.8203 12.2705 50.21 41.79 73.4102 41.4404c23.2002 0.349609 56.5996 -29.1699 73.4102 -41.4404c3.16992 -2.2998 6 -4.35938 9.04004 -6.55957h77.5498
+c26.5098 0 48 -21.4902 48 -48v-44.1396c12.3701 -9.34082 20.7598 -15.8701 29.6104 -22.8105z" />
+ <glyph glyph-name="folder-minus" unicode="&#xf65d;"
+d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192zM368 152v16c0 8.83984 -7.16016 16 -16 16h-192c-8.83984 0 -16 -7.16016 -16 -16v-16
+c0 -8.83984 7.16016 -16 16 -16h192c8.83984 0 16 7.16016 16 16z" />
+ <glyph glyph-name="folder-plus" unicode="&#xf65e;"
+d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h160l64 -64h192zM368 152v16c0 8.83984 -7.16016 16 -16 16h-72v72c0 8.83984 -7.16016 16 -16 16h-16
+c-8.83984 0 -16 -7.16016 -16 -16v-72h-72c-8.83984 0 -16 -7.16016 -16 -16v-16c0 -8.83984 7.16016 -16 16 -16h72v-72c0 -8.83984 7.16016 -16 16 -16h16c8.83984 0 16 7.16016 16 16v72h72c8.83984 0 16 7.16016 16 16z" />
+ <glyph glyph-name="funnel-dollar" unicode="&#xf662;" horiz-adv-x="640"
+d="M433.46 282.06c-83.4102 -20.8896 -145.46 -96.2695 -145.46 -186.06c0 -54.3496 22.7998 -103.38 59.21 -138.35c-10.75 -20.54 -38.3604 -29.21 -59.2197 -13.5703l-79.9902 60c-10.0703 7.55957 -16 19.4102 -16 32v155.92l-182.66 201.93
+c-19.9502 19.9502 -5.82031 54.0703 22.4004 54.0703h480.52c28.2207 0 42.3506 -34.1201 22.4004 -54.0703zM480 256c88.3701 0 160 -71.6299 160 -160s-71.6299 -160 -160 -160s-160 71.6299 -160 160s71.6299 160 160 160zM496 16.1201
+c23.6299 0.629883 42.6699 20.54 42.6699 45.0703c0 19.9697 -12.9902 37.8096 -31.5801 43.3896l-45 13.5c-5.16016 1.54004 -8.76953 6.78027 -8.76953 12.7295c0 7.27051 5.2998 13.1904 11.7998 13.1904h28.1104c4.55957 0 8.94922 -1.29004 12.8193 -3.71973
+c3.24023 -2.03027 7.36035 -1.91016 10.1299 0.729492l11.75 11.21c3.53027 3.37012 3.33008 9.20996 -0.569336 12.1406c-9.10059 6.83984 -20.0801 10.7695 -31.3701 11.3496v16.29c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-16.1201
+c-23.6201 -0.629883 -42.6699 -20.5498 -42.6699 -45.0703c0 -19.9697 12.9893 -37.8096 31.5801 -43.3896l45 -13.5c5.15918 -1.54004 8.76953 -6.78027 8.76953 -12.7295c0 -7.27051 -5.2998 -13.1904 -11.7998 -13.1904h-28.1104
+c-4.55957 0 -8.9502 1.2998 -12.8193 3.71973c-3.24023 2.03027 -7.36035 1.91016 -10.1309 -0.729492l-11.75 -11.21c-3.5293 -3.37012 -3.3291 -9.20996 0.570312 -12.1406c9.10059 -6.83008 20.0801 -10.7695 31.3701 -11.3496v-16.29c0 -4.41992 3.58008 -8 8 -8h16
+c4.41992 0 8 3.58008 8 8v16.1201z" />
+ <glyph glyph-name="gopuram" unicode="&#xf664;"
+d="M496 96c8.7998 0 16 -7.2002 16 -16v-128c0 -8.7998 -7.2002 -16 -16 -16h-80v160h-32v128h-32v96h-32v-96h32v-128h32v-160h-80v80c0 8.7998 -7.2002 16 -16 16h-64c-8.7998 0 -16 -7.2002 -16 -16v-80h-80v160h32v128h32v96h-32v-96h-32v-128h-32v-160h-80
+c-8.7998 0 -16 7.2002 -16 16v128c0 8.7998 7.2002 16 16 16h16v112c0 8.7998 7.2002 16 16 16h16v80c0 8.7998 7.2002 16 16 16h16v112c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16
+c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-16h64v16c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16v-112h16c8.7998 0 16 -7.2002 16 -16v-80h16c8.7998 0 16 -7.2002 16 -16v-112h16zM232 272v-48h48v48c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16z
+M288 96v64c0 8.7998 -7.2002 16 -16 16h-32c-8.7998 0 -16 -7.2002 -16 -16v-64h64z" />
+ <glyph glyph-name="hamsa" unicode="&#xf665;"
+d="M509.34 140.75c1.46875 -3.37012 2.66016 -9.08984 2.66016 -12.7656c0 -6.95703 -3.85254 -16.7295 -8.59961 -21.8145l-102.681 -110.03c-35.6895 -38.2197 -88.4102 -60.1396 -144.72 -60.1396s-109.03 21.9199 -144.71 60.1396l-102.69 110.03
+c-4.74707 5.08496 -8.59961 14.8574 -8.59961 21.8145c0 3.67578 1.19141 9.39551 2.66016 12.7656c5.05957 11.6904 16.5898 19.25 29.3398 19.25h64v208c0 22 18 40 40 40s40 -18 40 -40v-134c0 -5.51953 4.48047 -10 10 -10h20c5.51953 0 10 4.48047 10 10v174
+c0 22 18 40 40 40s40 -18 40 -40v-174c0 -5.51953 4.48047 -10 10 -10h20c5.51953 0 10 4.48047 10 10v134c0 22 18 40 40 40s40 -18 40 -40v-208h64c12.75 0 24.2803 -7.55957 29.3398 -19.25zM256 32c53.0195 0 96 64 96 64s-42.9805 64 -96 64s-96 -64 -96 -64
+s42.9805 -64 96 -64zM256 128c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
+ <glyph glyph-name="haykal" unicode="&#xf666;"
+d="M496.25 245.48c17.54 -2.46094 21.6797 -26.2705 6.04004 -34.6602l-98.1602 -52.6602l74.4805 -83.54c11.8594 -13.29 0.00976562 -34.25 -17.3506 -30.4902l-108.569 23.6504l4.10938 -112.55c0.430664 -11.6504 -8.87012 -19.2207 -18.4102 -19.2207
+c-5.15918 0 -10.3896 2.20996 -14.1992 7.18066l-68.1807 88.8994l-68.1797 -88.8994c-3.81055 -4.9707 -9.0498 -7.18066 -14.2002 -7.18066c-9.54004 0 -18.8398 7.57031 -18.4102 19.2207l4.11035 112.55l-108.57 -23.6504
+c-1.39941 -0.30957 -2.75977 -0.450195 -4.06934 -0.450195c-15.0107 0 -24.21 18.6807 -13.29 30.9307l74.4795 83.54l-98.1602 52.6592c-15.6494 8.40039 -11.5098 32.21 6.03027 34.6709l110 15.4297l-41.8203 104.34c-6.66016 16.6396 11.6006 32.1797 26.5898 22.6299
+l94.04 -59.8896l34.0908 107.189c2.70996 8.55078 10.0293 12.8203 17.3496 12.8203s14.6396 -4.26953 17.3496 -12.8203l34.0908 -107.18l94.04 59.8896c14.9893 9.55078 33.2598 -5.98926 26.5898 -22.6299l-41.8203 -104.34zM338.51 136.32l-35.6094 39.9297
+l46.9199 25.1699l-52.5703 7.37988l19.9902 49.8701l-44.9502 -28.6201l-16.29 51.2305l-16.3096 -51.2305l-44.9502 28.6201l19.9902 -49.8701l-52.5703 -7.37988l46.9199 -25.1699l-35.5996 -39.9297l51.8896 11.2998l-1.95996 -53.79l32.5898 42.4902l32.5898 -42.4902
+l-1.96973 53.79z" />
+ <glyph glyph-name="jedi" unicode="&#xf669;" horiz-adv-x="544"
+d="M479.99 96h39.96c-42.6299 -94.1699 -137.641 -160 -247.98 -160c-4.25977 0 -8.5498 0.0898438 -12.8496 0.290039c-103.97 4.76953 -193.851 69.4795 -235.101 159.71h39.9102l-58.5996 58.5996c-2.57031 12.8809 -4.49023 25.9805 -5.11035 39.4102
+c-0.469727 10.0801 -0.129883 20.0703 0.5 29.9902h47.21l-41.3799 41.3799c14.3701 64.7002 52.1006 122.55 107.97 162.07c2.77051 1.95996 5.9707 3 9.27051 3c5.37988 0 10.4297 -2.70996 13.5098 -7.25c3.0498 -4.5 3.64062 -10 1.62012 -15.0898
+c-6.53027 -16.4502 -9.83984 -33.7002 -9.83984 -51.2607c0 -45.1191 21.04 -86.5801 57.71 -113.739c4.00977 -2.9707 6.4502 -7.48047 6.69043 -12.3799c0.239258 -4.90039 -1.76074 -9.65039 -5.48047 -13.0107c-26.5498 -23.9795 -41.1699 -56.5 -41.1699 -91.5801
+c0 -60.0293 42.9502 -110.279 99.8896 -121.92l2.5 65.2607l-27.1602 -18.4805c-2.96973 -2 -7.40918 -1.7002 -10 0.75c-2.72949 2.61035 -3.30957 6.70996 -1.38965 9.94043l20.1299 33.7695l-42.0693 8.71973c-3.71094 0.75 -6.38086 4.05078 -6.38086 7.83008
+c0 3.78027 2.68066 7.08008 6.38086 7.83008l42.0693 8.73047l-20.1094 33.7295c-1.94043 3.27051 -1.36035 7.35059 1.35938 9.94043c2.73047 2.60938 6.86035 2.89941 10 0.779297l30.3906 -20.6592l11.5195 287.97c0.160156 4.29004 3.66992 7.66992 8 7.66992h0.0400391
+c4.25293 0 7.81934 -3.44922 7.95996 -7.7002l11.5303 -287.93l30.3896 20.6699c3.03027 2.08984 7.2998 1.75 10 -0.799805c2.71973 -2.60059 3.2998 -6.68066 1.37988 -9.91016l-20.1299 -33.7705l42.0703 -8.72949c3.68945 -0.770508 6.37988 -4.06055 6.37988 -7.83008
+c0 -3.78027 -2.67969 -7.08008 -6.37988 -7.83008l-42.0703 -8.71973l20.1104 -33.7305c0.631836 -1.05078 1.14453 -2.89844 1.14453 -4.12402c0 -1.89355 -1.11328 -4.49023 -2.48438 -5.7959c-2.63086 -2.49023 -7.04004 -2.85938 -10.0205 -0.799805l-27.1699 18.4697
+l2.5 -65.3398c48.4697 9.40039 87.5703 48.1504 97.3096 96.5c8.78027 43.5605 -5.63965 87.3203 -38.5693 117.07c-3.73047 3.37012 -5.73047 8.10938 -5.49023 13.0303c0.240234 4.89941 2.67969 9.41992 6.7002 12.3994c36.6602 27.1602 57.6895 68.6104 57.6895 113.73
+c0 17.5801 -3.30957 34.8496 -9.85938 51.3096c-2.03027 5.09961 -1.44043 10.5996 1.60938 15.0898c3.08008 4.53027 8.12012 7.24023 13.4902 7.24023c3.28027 0 6.48047 -1.03027 9.25 -2.99023c55.4805 -39.2197 93.4102 -97.4795 107.91 -162.27l-41.25 -41.2402
+h46.9502c0.370117 -5.75977 1.0498 -11.46 1.0498 -17.2695c0 -17.7402 -1.83984 -35.0605 -5.12988 -51.8604z" />
+ <glyph glyph-name="journal-whills" unicode="&#xf66a;" horiz-adv-x="448"
+d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
+c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM133.08 303.61c-2.98047 -10.0908 -5.08008 -20.5605 -5.07031 -31.6201c0 -0.520508 0.140625 -0.990234 0.150391 -1.50977l37.1094 -32.4707
+c3.33008 -2.89941 3.6709 -7.9502 0.75 -11.2793c-1.5791 -1.81055 -3.7998 -2.73047 -6.01953 -2.73047h-0.0175781c-1.65527 0 -4.00879 0.886719 -5.25195 1.98047l-23.5908 20.6396c11.54 -49.5801 55.7705 -86.6201 108.86 -86.6201s97.3203 37.04 108.87 86.6299
+l-23.5898 -20.6396c-1.52051 -1.32031 -3.39062 -1.98047 -5.27051 -1.98047h-0.0146484c-2 0 -4.69043 1.22363 -6.00488 2.73047c-1.09668 1.24707 -1.98633 3.60645 -1.98633 5.2666c0 2.00293 1.22559 4.69727 2.73633 6.0127l37.1094 32.4707
+c0.0107422 0.519531 0.150391 0.990234 0.150391 1.50977c0 11.0498 -2.09961 21.5195 -5.07031 31.5996l-21.2598 -21.2598c-1.57031 -1.55957 -3.61035 -2.33984 -5.66016 -2.33984s-4.09961 0.780273 -5.66016 2.33984c-3.11914 3.12012 -3.11914 8.19043 0 11.3105
+l26.4199 26.4199c-10 20.8994 -26.2393 37.9795 -46.3691 49.2598c5.97949 -9.73047 9.59961 -21.0703 9.59961 -33.3301c0 -19.96 -9.33008 -37.5703 -23.6602 -49.3096c9.65039 -10.0605 15.6602 -23.6504 15.6602 -38.6904c0 -26.9404 -19.04 -49.4004 -44.3701 -54.7402
+l-1.42969 34.2803l12.6797 -8.62012c0.69043 -0.459961 1.46973 -0.689453 2.25 -0.689453c0.980469 0 1.98047 0.369141 2.75 1.08984c1.36035 1.2793 1.63965 3.33984 0.69043 4.94922l-8.54004 14.3105l17.9102 3.71973
+c1.85938 0.390625 3.18945 2.03027 3.18945 3.91992c0 1.89062 -1.33008 3.53027 -3.18945 3.91992l-17.9102 3.7207l8.54004 14.3096c0.308594 0.521484 0.55957 1.43652 0.55957 2.04297c0 0.950195 -0.55957 2.25293 -1.25 2.90723
+c-0.645508 0.59668 -1.88281 1.08105 -2.76172 1.08105c-0.672852 0 -1.67578 -0.300781 -2.23828 -0.670898l-14.2002 -9.65039l-4.67969 112.29c-0.0898438 2.13965 -1.86035 3.83008 -4 3.83008s-3.91016 -1.69043 -4 -3.83008l-4.62012 -110.81l-12.0098 8.15918
+c-1.56055 1.03027 -3.63965 0.890625 -5 -0.40918c-1.36035 -1.28027 -1.63965 -3.34082 -0.69043 -4.9502l8.54004 -14.3105l-17.9102 -3.71973c-1.85938 -0.389648 -3.18945 -2.03027 -3.18945 -3.91992s1.33008 -3.53027 3.18945 -3.91992l17.9102 -3.71973
+l-8.54004 -14.3105c-0.308594 -0.521484 -0.55957 -1.43652 -0.55957 -2.04297c0 -0.950195 0.55957 -2.25293 1.25 -2.90723c0.769531 -0.709961 1.75 -1.08984 2.75 -1.08984c0.780273 0 1.55957 0.240234 2.25 0.69043l10.3701 7.04004l-1.36035 -32.71
+c-25.3398 5.35938 -44.3799 27.8193 -44.3799 54.7598c0 15.04 6.00977 28.6299 15.6602 38.6904c-14.3301 11.7393 -23.6602 29.3496 -23.6602 49.3096c0 12.2598 3.62012 23.5996 9.61035 33.3398c-20.1299 -11.29 -36.3701 -28.3594 -46.3701 -49.2598l26.4199 -26.4199
+c3.12012 -3.12012 3.12012 -8.19043 0 -11.3105c-1.57031 -1.55957 -3.61035 -2.33984 -5.66016 -2.33984s-4.09961 0.780273 -5.66016 2.33984zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
+ <glyph glyph-name="kaaba" unicode="&#xf66b;" horiz-adv-x="576"
+d="M554.12 364.49c13.0703 -4.36035 21.8799 -16.5898 21.8799 -30.3604v-49.0098l-265 79.5098c-15.0596 4.5 -30.9502 4.5 -45.9805 0l-265.02 -79.5098v49.0098c0.000976562 12.7314 9.80273 26.332 21.8799 30.3604l235.771 78.5801
+c8.15723 2.71973 21.7559 4.92676 30.3545 4.92676s22.1982 -2.20703 30.3555 -4.92676zM274.22 333.97c9 2.7207 18.5498 2.7207 27.5898 0l274.2 -82.2598v-228.39c0 -15 -10.4199 -27.9902 -25.0596 -31.2402l-242.12 -53.7998
+c-5.67871 -1.2627 -15.0078 -2.28809 -20.8252 -2.28809s-15.1465 1.02539 -20.8252 2.28809l-242.12 53.7998c-14.6396 3.25977 -25.0596 16.2402 -25.0596 31.2402v228.38zM128 217.89v16.5801c0 5.28027 -5.01953 9.11035 -10.1104 7.7207l-80 -21.8203
+c-3.47949 -0.950195 -5.88965 -4.11035 -5.88965 -7.71973v-16.5801c0 -5.27051 5.01953 -9.10059 10.1104 -7.7207l80 21.8203c3.47949 0.950195 5.88965 4.11035 5.88965 7.71973zM272 257.17v16.5801c0 5.28027 -5.01953 9.11035 -10.1104 7.71973l-96 -26.1797
+c-3.47949 -0.950195 -5.88965 -4.11035 -5.88965 -7.71973v-16.5801c0 -5.28027 5.01953 -9.11035 10.1104 -7.7207l96 26.1807c3.47949 0.950195 5.88965 4.10938 5.88965 7.71973zM448 234.47v-16.5801v-0.00488281c0 -3.37109 2.63867 -6.82715 5.88965 -7.71484
+l80 -21.8203c5.09082 -1.38965 10.1104 2.44043 10.1104 7.7207v16.5801c0 3.60938 -2.41016 6.76953 -5.88965 7.71973l-80 21.8203c-5.09082 1.38965 -10.1104 -2.44043 -10.1104 -7.7207zM304 273.74v-16.5801v-0.00585938c0 -3.37012 2.63867 -6.82617 5.88965 -7.71387
+l96 -26.1807c5.09082 -1.38965 10.1104 2.44043 10.1104 7.7207v16.5791c0 3.61035 -2.41016 6.77051 -5.88965 7.7207l-96 26.1797c-5.09082 1.38965 -10.1104 -2.44043 -10.1104 -7.71973z" />
+ <glyph glyph-name="khanda" unicode="&#xf66d;" horiz-adv-x="511"
+d="M415.81 382c73.71 -40.2402 111.78 -123.85 90.1602 -207.51c-7.25 -28.0898 -22.3799 -53.5703 -41.25 -75.5898l-52.5098 -61.3105c-4.87012 -5.67969 -13.04 -7.22949 -19.6504 -3.70996l-79.3496 42.2305l-29.21 -20.3408l47.0801 -32.7793
+c1.66992 0.370117 3.22949 1.00977 5.00977 1.00977c13.25 0 23.9902 -10.7402 23.9902 -24c0 -13.25 -10.7402 -24 -23.9902 -24c-12.0898 0 -21.6797 9.11035 -23.3301 20.7598l-40.9102 28.4805v-30.1504c9.38086 -5.58008 15.9902 -15.3896 15.9902 -27.0996
+c0 -17.6699 -14.3203 -32 -31.9795 -32c-17.6602 0 -31.9805 14.3301 -31.9805 32c0 11.7197 6.60059 21.5293 15.9902 27.0996v29.9502l-40.6299 -28.2803c-1.64062 -11.6494 -11.2305 -20.7598 -23.3301 -20.7598c-13.25 0 -23.9902 10.75 -23.9902 24
+c0 13.2598 10.7402 24 23.9902 24c1.78027 0 3.33984 -0.639648 5.00977 -1.00977l47.0801 32.7793l-29.21 20.3301l-79.3496 -42.2295c-6.61035 -3.52051 -14.7803 -1.96973 -19.6504 3.71973l-55.9697 65.3604c-12.5703 14.6797 -23.3906 31.0693 -30.46 49.0596
+c-35.6602 90.6904 2.95996 186.391 81.4893 229.24c6.34082 3.5 15.0205 2.63965 20.0205 -2.7002c4.99023 -5.30957 6.45996 -12.9199 2.58984 -19.0801c-16.4902 -26.1602 -25.2002 -56.3896 -25.2002 -87.4697c0.180664 -53.1904 26.7598 -102.62 71.0303 -132.18
+l76.5898 -53.3301v19.8994l-44.0498 36.0908c-3.91016 4.20996 -5 10.0996 -2.81055 15.2793l7.85059 17.2402c-33.8506 19.2598 -56.9404 55.2402 -56.9404 96.9902c0 40.79 22.0205 76.1396 54.5898 95.7197l-5.21973 11.4404
+c-2.33008 5.5293 -0.929688 11.8301 3.57031 16.04l58.9902 52.8096l58.9893 -52.8203c4.5 -4.20996 5.91016 -10.5098 3.57031 -16.04l-5.21973 -11.4395c32.5693 -19.5801 54.5898 -54.9199 54.5898 -95.71c0 -41.7402 -23.0996 -77.7305 -56.9404 -96.9902
+l7.85059 -17.2402c2.18945 -5.18945 1.10938 -11.0801 -2.81055 -15.2793l-44.0498 -36.0908v-20.0996l76.6299 53.3496c44.5 29.7207 71.0801 79.1602 71.2705 132.41c0 31.0205 -8.70996 61.25 -25.2002 87.4102c-1.36328 2.15723 -2.46973 5.97949 -2.46973 8.53223
+c0 3.51465 1.96191 8.43652 4.37988 10.9883c4.99023 5.34961 12.9902 6.51953 19.3594 3.01953zM319.82 272c0 21.3203 -10.5801 40.1201 -26.6504 51.7695l-7.83008 -17.1797c-8.75 -24.5195 -8.75 -51.04 0 -75.5596l5.65039 -12.4102
+c17.3398 11.46 28.8301 31.0801 28.8301 53.3799zM191.89 272c0 -22.2998 11.5 -41.9297 28.8408 -53.3896l5.64941 12.4092c8.75 24.5303 8.75 51.04 0 75.5605l-7.83008 17.1797c-16.0801 -11.6396 -26.6602 -30.4395 -26.6602 -51.7598z" />
+ <glyph glyph-name="landmark" unicode="&#xf66f;"
+d="M501.62 355.89c6.24023 -2.33984 10.3799 -8.30957 10.3799 -14.9795v-36.9102c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v36.9102c0 6.11914 4.65039 12.8301 10.3799 14.9795l234.39 90.0703
+c2.99902 1.12598 8.03223 2.04004 11.2354 2.04004s8.23633 -0.914062 11.2354 -2.04004zM64 256h64v-160h96v160h64v-160h96v160h64v-160h16c8.83984 0 16 -7.16016 16 -16v-48h-448v48c0 8.83984 7.16016 16 16 16h16v160zM496 0c8.83984 0 16 -7.16016 16 -16v-32
+c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480z" />
+ <glyph glyph-name="mail-bulk" unicode="&#xf674;" horiz-adv-x="576"
+d="M160 0c25.5996 0 51.2002 22.4004 64 32c64 44.7998 83.2002 60.7998 96 70.4004v-134.4c0 -17.6699 -14.3301 -32 -32 -32h-256c-17.6699 0 -32 14.3301 -32 32v134.4c12.7998 -9.60059 32 -25.6006 96 -70.4004c12.7998 -9.59961 38.4004 -32 64 -32zM288 192
+c17.6699 0 32 -14.3301 32 -32v-19.2002c-25.5996 -19.2002 -22.4004 -19.2002 -115.2 -86.3994c-9.59961 -3.2002 -28.7998 -22.4004 -44.7998 -22.4004s-35.2002 19.2002 -44.7998 25.5996c-92.7998 67.2002 -89.6006 67.2002 -115.2 86.4004v16
+c0 17.6699 14.3301 32 32 32h256zM544 288c17.6699 0 32 -14.3301 32 -32v-192c0 -17.6699 -14.3301 -32 -32 -32h-192v134.4l-0.290039 -0.220703c-3.12012 32.4004 -30.5 57.8203 -63.71 57.8203h-96v32c0 17.6699 14.3301 32 32 32h320zM512 160v64h-64v-64h64zM160 256
+v-32h-96v192c0 17.6699 14.3301 32 32 32h320c17.6699 0 32 -14.3301 32 -32v-96h-224c-35.29 0 -64 -28.71 -64 -64z" />
+ <glyph glyph-name="menorah" unicode="&#xf676;" horiz-adv-x="640"
+d="M144 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM240 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM432 320c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM528 320
+c8.83984 0 16 -7.16016 16 -16v-144h-64v144c0 8.83984 7.16016 16 16 16h32zM608 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM512 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32
+zM416 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM320 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM224 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64
+s-14.3301 -32 -32 -32zM128 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM32 352c-17.6699 0 -32 14.3301 -32 32s32 64 32 64s32 -46.3301 32 -64s-14.3301 -32 -32 -32zM576 160v144c0 8.83984 7.16016 16 16 16h32
+c8.83984 0 16 -7.16016 16 -16v-144c0 -53.0195 -42.9805 -96 -96 -96h-192v-64h176c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v64h-192c-53.0195 0 -96 42.9805 -96 96
+v144c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-144c0 -17.6699 14.3301 -32 32 -32h192v176c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-176h192c17.6699 0 32 14.3301 32 32z" />
+ <glyph glyph-name="mosque" unicode="&#xf678;" horiz-adv-x="640"
+d="M0 -32v320h128v-320c0 -17.6699 -14.3301 -32 -32 -32h-64c-17.6699 0 -32 14.3301 -32 32zM579.16 160h-358.32c-17.8594 17.3896 -28.8398 37.3398 -28.8398 58.9102c0 52.8594 41.79 93.79 87.9199 122.899c41.9502 26.46 80.6299 57.7705 111.96 96.2207
+l8.12012 9.96973l8.12012 -9.96973c31.3301 -38.4502 70.0195 -69.75 111.96 -96.2207c46.1299 -29.1094 87.9199 -70.04 87.9199 -122.899c0 -21.5703 -10.9805 -41.5205 -28.8398 -58.9102zM608 128c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32
+h-32v64c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32v-64h-64v72c0 48 -48 72 -48 72s-48 -24 -48 -72v-72h-64v64c0 17.6699 -14.3301 32 -32 32s-32 -14.3301 -32 -32v-64h-32c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h416zM64 448
+c0 0 64 -32 64 -96v-32h-128v32c0 64 64 96 64 96z" />
+ <glyph glyph-name="om" unicode="&#xf679;"
+d="M360.6 387.06l-21.5801 21.5605c-1.68848 1.68652 -3.05957 4.99316 -3.05957 7.37988s1.37109 5.69336 3.05957 7.37988l21.5703 21.5605c4.08008 4.06934 10.6797 4.06934 14.7598 0l21.5801 -21.5605c1.68945 -1.68652 3.06055 -4.99316 3.06055 -7.37988
+s-1.37109 -5.69336 -3.06055 -7.37988l-21.5693 -21.5605c-1.6875 -1.68848 -4.99316 -3.05957 -7.37988 -3.05957c-2.3877 0 -5.69336 1.37109 -7.38086 3.05957zM412.11 256c55.0898 0 99.8896 -44.7998 99.8896 -99.8799v-100.12c0 -48.5303 -47.4805 -88 -96.0195 -88
+c-96.0205 0 -96.0205 64 -96.0205 64v37.8701c0 7.55957 9.42969 10.8896 14.2002 5.01953c15.1494 -18.6494 42.4199 -42.8896 81.8203 -42.8896c13.2393 0 32.0098 10.7695 32.0098 24v100.12c0 19.79 -16.1006 35.8799 -35.8799 35.8799
+c-9.60059 0 -18.6006 -3.73047 -25.3799 -10.5l-24.25 -24.25c-18.8701 -18.8604 -43.9502 -29.25 -70.6406 -29.25h-21.6895c11.0293 -18.9004 17.8096 -40.5801 17.8096 -64c0 -70.5801 -57.4297 -128 -128.02 -128c-118.811 0 -160.03 96 -159.94 150.81
+c0.0195312 8.80078 10.2598 12.7705 14.79 5.2207c22.7998 -38.0107 49.1299 -92.0303 145.15 -92.0303c35.2998 0 64.0098 28.7002 64.0098 64s-28.71 64 -64.0098 64h-33.0303c-5.57031 0.450195 -10.6406 3.49023 -13.1699 8.5498l-16.0898 32.1699
+c-5.35059 10.7002 2.42969 23.2803 14.3896 23.2803h31.9004c26.4697 0 48.0098 21.5303 48.0098 48s-21.54 48 -48.0098 48c-11.25 0 -21.8203 -3.80957 -30.2705 -10.71c-5.54004 -4.53027 -13.4795 -4.50977 -19.2002 -0.209961l-26.1494 19.6299
+c-8.08984 6.08008 -8.48047 17.9697 -1.12012 24.9297c25.1094 23.7402 59.8594 34.71 96.0098 28.7803c43.1602 -7.08008 79.4199 -40.6396 89.5205 -83.1895c6.43945 -27.1201 2.80957 -53.1309 -7.73047 -75.2305h46.8398c9.60059 0 18.6006 3.73047 25.3799 10.5
+l24.25 24.25c18.8701 18.8604 43.9502 29.25 70.6406 29.25zM454.29 380.73c10.5596 7.95996 25.7002 0.489258 25.7002 -12.7305v-35.5195c0 -2.36035 -0.509766 -4.71094 -1.53027 -6.83008c-2.96973 -6.30078 -21.8301 -37.6602 -101.75 -37.6602
+c-78.4297 0 -117.19 69.3896 -118.8 72.3398c-3.61035 6.62988 -2.08008 14.8799 3.66016 19.7998c5.69922 4.92969 14.1201 5.16992 20.1396 0.549805c3.53027 -2.69922 87.0303 -65.0693 172.58 0.0507812z" />
+ <glyph glyph-name="pastafarianism" unicode="&#xf67b;" horiz-adv-x="640"
+d="M624.54 100.33c12.4004 -4.71973 18.5996 -18.5801 13.8896 -30.9805c-4.69922 -12.4092 -18.5801 -18.6299 -30.9697 -13.8799c-8.11035 3.08984 -14.3398 0.19043 -31.3896 -11.3594c-13.5508 -9.15039 -30.8301 -20.8408 -52.4199 -20.8408
+c-7.16992 0 -14.8301 1.28027 -22.9707 4.39062c-32.6602 12.4395 -39.9893 41.3301 -45.3301 62.4395c-2.20996 8.7207 -3.98926 14.4902 -5.94922 18.8701c-16.6201 -13.5996 -36.9307 -25.8701 -61.6201 -34.1602c10.0098 -37 32.2793 -90.8096 60.2197 -90.8096
+c13.25 0 24 -10.75 24 -24s-10.75 -24 -24 -24c-66.7402 0 -97.0498 88.6299 -107.42 129.14c-6.69043 -0.599609 -13.4199 -1.13965 -20.5801 -1.13965s-13.8896 0.540039 -20.5801 1.13965c-10.3701 -40.5098 -40.6797 -129.14 -107.42 -129.14c-13.25 0 -24 10.75 -24 24
+s10.75 24 24 24c28.0801 0 50.2998 53.7998 60.2598 90.7998c-24.6895 8.29004 -45.0195 20.5605 -61.6396 34.1699c-1.95996 -4.37988 -3.74023 -10.1494 -5.9502 -18.8701c-5.34961 -21.1094 -12.6699 -50 -45.3301 -62.4395
+c-8.13965 -3.11035 -15.7998 -4.39062 -22.9697 -4.39062c-21.5898 -0.0195312 -38.8701 11.6807 -52.4199 20.8408c-17.0498 11.5498 -23.2305 14.4492 -31.3906 11.3594c-12.3594 -4.72949 -26.25 1.4707 -30.9697 13.8799
+c-4.71973 12.3906 1.48047 26.25 13.8701 30.9707c32.6504 12.4697 57.3398 -4.25 75.3701 -16.4502c17.0801 -11.5303 23.2998 -14.4199 31.4102 -11.3604c8.12012 3.10059 10.8301 9.37988 15.8896 29.3799c3.33008 13.1504 7.44043 29.3203 17.9502 42.6504
+c-2.24023 2.91016 -4.42969 5.78027 -6.37988 8.57031c-10.1699 -9.56055 -23.4102 -17.1104 -41.7002 -17.1104c-33.9502 0 -50.8701 25.7803 -62.0596 42.8301c-10.6006 16.1396 -15 21.1699 -21.9404 21.1699c-13.25 0 -24 10.75 -24 24s10.75 24 24 24
+c33.96 0 50.8799 -25.7803 62.0596 -42.8301c10.6006 -16.1396 15 -21.1699 21.9404 -21.1699c17.1504 0 37.6797 61.5596 97.2695 101.9l-17.25 34.5c-33.46 2.09961 -60.0195 29.6191 -60.0195 63.5996c0 35.3496 28.6504 64 64 64s64 -28.6504 64 -64
+c0 -13.0195 -3.94043 -25.0996 -10.5996 -35.21l18.1494 -36.2998c16.9697 4.59961 35.6006 7.50977 56.46 7.50977c20.8604 0 39.4805 -2.91016 56.46 -7.50977l18.1504 36.2998c-6.67969 10.1104 -10.6201 22.1904 -10.6201 35.21c0 35.3496 28.6504 64 64 64
+s64 -28.6504 64 -64c0 -33.9805 -26.5703 -61.5 -60.0098 -63.5898l-17.25 -34.5c59.7793 -40.4805 79.9502 -101.91 97.2598 -101.91c6.94043 0 11.3398 5.03027 21.9404 21.1699c11.1895 17.0498 28.1094 42.8301 62.0596 42.8301c13.25 0 24 -10.75 24 -24
+s-10.75 -24 -24 -24c-6.94043 0 -11.3496 -5.03027 -21.9404 -21.1699c-11.1895 -17.0498 -28.1094 -42.8301 -62.0596 -42.8301c-18.29 0 -31.5303 7.5498 -41.7002 17.1201c-1.9502 -2.78027 -4.13965 -5.66016 -6.37988 -8.57031
+c10.5098 -13.3301 14.6201 -29.5 17.9502 -42.6494c5.05957 -20 7.76953 -26.29 15.8896 -29.3809c8.16016 -3.05957 14.3506 -0.169922 31.4102 11.3604c18.0098 12.2002 42.6699 28.9697 75.3701 16.4502zM448 400c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16
+s16 7.17969 16 16s-7.17969 16 -16 16zM192 400c-8.82031 0 -16 -7.17969 -16 -16s7.17969 -16 16 -16s16 7.17969 16 16s-7.17969 16 -16 16z" />
+ <glyph glyph-name="peace" unicode="&#xf67c;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM432 192c0 90.5303 -65.7695 165.82 -152 181.03v-165.66l129.43 -103.54c14.3701 26.2002 22.5703 56.2402 22.5703 88.1699zM216 10.9697v114.46
+l-89.29 -71.4395c24.7998 -21.8203 55.4297 -37.0498 89.29 -43.0205zM280 125.43v-114.449c33.8604 5.96973 64.4902 21.1992 89.29 43.0195zM216 373.03c-86.2305 -15.21 -152 -90.5 -152 -181.03c0 -31.9297 8.2002 -61.9697 22.5703 -88.1699l129.43 103.54v165.66z" />
+ <glyph glyph-name="place-of-worship" unicode="&#xf67f;" horiz-adv-x="640"
+d="M620.61 81.4502c10.7031 -4.58887 19.3896 -17.7646 19.3896 -29.4102v-100.04c0 -8.83984 -7.16016 -16 -16 -16h-112v192zM0 52.04c0 11.6455 8.68652 24.8213 19.3896 29.4102l108.61 46.5498v-192h-112c-8.83984 0 -16 7.16016 -16 16v100.04zM464.46 201.32
+c9.63965 -5.78027 15.54 -16.2002 15.54 -27.4404v-237.88h-96v96c0 35.3496 -28.6602 64 -64 64s-64 -28.6504 -64 -64v-96h-96v237.88c0 10.0029 6.96191 22.2959 15.54 27.4404l48.46 29.0801v114.97c0 8.49023 3.37988 16.6299 9.37988 22.6299l75.3105 75.3096
+c6.23926 6.25 16.3691 6.25 22.6191 0l75.3105 -75.3096c6.00977 -6.00977 9.37988 -14.1396 9.37988 -22.6299v-114.97z" />
+ <glyph glyph-name="poll" unicode="&#xf681;" horiz-adv-x="448"
+d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM160 80v128c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-128c0 -8.83984 7.16016 -16 16 -16h32
+c8.83984 0 16 7.16016 16 16zM256 80v224c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-224c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16zM352 80v64c0 8.83984 -7.16016 16 -16 16h-32c-8.83984 0 -16 -7.16016 -16 -16v-64
+c0 -8.83984 7.16016 -16 16 -16h32c8.83984 0 16 7.16016 16 16z" />
+ <glyph glyph-name="poll-h" unicode="&#xf682;" horiz-adv-x="448"
+d="M448 16c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48v-352zM112 256h128c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-128c-8.83984 0 -16 -7.16016 -16 -16v-32
+c0 -8.83984 7.16016 -16 16 -16zM112 160h224c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-224c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16zM112 64h64c8.83984 0 16 7.16016 16 16v32c0 8.83984 -7.16016 16 -16 16h-64
+c-8.83984 0 -16 -7.16016 -16 -16v-32c0 -8.83984 7.16016 -16 16 -16z" />
+ <glyph glyph-name="pray" unicode="&#xf683;" horiz-adv-x="383"
+d="M256 320c-35.3496 0 -64 28.6504 -64 64s28.6504 64 64 64s64 -28.6504 64 -64s-28.6504 -64 -64 -64zM225.37 150.25l-24.1504 28.7598l-34.7998 -64.8701l109.86 -109.859c25.4893 -25.4902 5.7998 -68.2803 -28.2803 -68.2803h-208c-22.0898 0 -40 17.9102 -40 40
+s17.9102 40 40 40h91.5596l-44.8096 34.8896c-42.8799 27.3799 -57.5898 80.1104 -34.1904 123.75l49.3701 92.0303c11.1201 20.6504 32.1807 34.4404 56.3701 36.9199c24.7803 2.58984 48.5605 -6.93945 64 -25.3301l38.9102 -46.3096l57.4404 47
+c17.1191 13.9697 42.3398 11.4902 56.3096 -5.62012c13.9697 -17.0898 11.4697 -42.2998 -5.62012 -56.2803l-88 -72.0195c-16.9697 -13.8701 -41.9102 -11.5 -55.9697 5.21973z" />
+ <glyph glyph-name="praying-hands" unicode="&#xf684;" horiz-adv-x="640"
+d="M272 256.09c17.5996 0 32 -14.3994 32 -32v-128c0 -51.8896 -34.8398 -98.0801 -84.75 -112.35l-179.19 -46.6201c-2.64941 -0.69043 -5.36914 -1.03027 -8.05957 -1.03027c-23.4805 0 -32 21.1797 -32 32v96v0.0117188c0 12.7285 9.80176 26.3203 21.8799 30.3389
+l90.1201 30.04v80.2295c0 18.9805 5.55957 37.3896 16.1201 53.2305l117.26 175.899c0.169922 0.270508 0.589844 0.25 0.790039 0.480469c9.58008 13.5098 27.8496 17.8799 42.2998 9.20996c15.1602 -9.10059 20.0605 -28.75 10.9707 -43.9102l-77.75 -129.59
+c-8.9707 -14.9199 -13.6904 -32 -13.6904 -49.3906v-76.5498c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16v80c0 17.6006 14.4004 32 32 32zM618.12 94.3604c13.0703 -4.36035 21.8799 -16.5801 21.8799 -30.3506v-96c0 -10.8193 -8.51953 -32 -32 -32
+c-2.67969 0 -5.40039 0.339844 -8.05957 1.03027l-179.19 46.6201c-49.9102 14.2598 -84.75 60.4502 -84.75 112.34v128c0 17.5996 14.4004 32 32 32s32 -14.4004 32 -32v-80c0 -8.83984 7.16016 -16 16 -16s16 7.16016 16 16v76.5498
+c0 17.3906 -4.71973 34.4697 -13.6904 49.3906l-77.75 129.59c-9.08984 15.1602 -4.18945 34.8193 10.9707 43.9102c14.4502 8.66992 32.7197 4.2998 42.2998 -9.20996c0.200195 -0.240234 0.610352 -0.210938 0.790039 -0.480469l117.26 -175.89
+c10.5605 -15.8408 16.1201 -34.25 16.1201 -53.2305v-80.2295z" />
+ <glyph glyph-name="quran" unicode="&#xf687;" horiz-adv-x="448"
+d="M448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
+c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM301.08 302.18l-11.1904 -22.6494l-24.9893 -3.62988c-2.68066 -0.390625 -3.75 -3.66992 -1.81055 -5.56055l18.0898 -17.6299l-4.26953 -24.8896
+c-0.360352 -2.11035 1.30957 -3.82031 3.20996 -3.82031c0.5 0 1.01953 0.120117 1.51953 0.379883l22.3604 11.75l22.3604 -11.75c0.5 -0.259766 1.01953 -0.379883 1.51953 -0.379883c1.90039 0 3.57031 1.70996 3.20996 3.82031l-4.26953 24.8896l18.0898 17.6299
+c1.92969 1.89062 0.859375 5.16992 -1.81055 5.56055l-25 3.62988l-11.1797 22.6494c-0.599609 1.20996 -1.75977 1.82031 -2.91992 1.82031s-2.32031 -0.610352 -2.91992 -1.82031zM243.19 371.19c-63.5205 0 -115.19 -51.6709 -115.19 -115.19
+c0 -63.5098 51.6699 -115.19 115.18 -115.18c13.6006 0 27.1201 2.46973 40.1904 7.33984c2.67969 0.910156 4.62012 3.43945 4.62012 6.41992c0 3.63965 -2.87012 6.78027 -6.7998 6.78027c-0.650391 0 -3.10059 -0.209961 -4.13086 -0.209961
+c-52.3096 0 -94.8594 42.5596 -94.8594 94.8594c0 52.3105 42.5498 94.8604 94.8594 94.8604c1.04004 0 3.45996 -0.209961 4.13086 -0.209961c0.633789 -0.237305 1.69727 -0.429688 2.375 -0.429688c3.73926 0 6.77441 3.03516 6.77441 6.77441
+c0 3.7373 -3.03223 6.77246 -6.76953 6.77539c-13.1201 4.91992 -26.71 7.41016 -40.3799 7.41016zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
+ <glyph glyph-name="search-dollar" unicode="&#xf688;"
+d="M505.04 5.33984c9.2998 -9.39941 9.2998 -24.5898 -0.0996094 -33.9902l-28.3008 -28.2998c-9.2998 -9.39941 -24.5 -9.39941 -33.8994 0l-99.71 99.6904c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.71 -44 -128.011 -44
+c-114.909 0 -208.02 93.0898 -208.02 207.979c0 114.891 93.1201 207.98 208.02 207.98c114.9 0 208.011 -93.0898 208.011 -207.98c0 -48.2998 -16.4004 -92.6895 -44 -127.989h16.2998c6.40039 0 12.5 -2.5 17 -7zM208.02 96.04c79.6504 0 144 64.4502 144 143.979
+c0 79.6406 -64.46 143.98 -144 143.98c-79.6494 0 -144 -64.4502 -144 -143.98c0 -79.6396 64.4609 -143.979 144 -143.979zM235.13 248.58c18.6006 -5.58008 31.5898 -23.4199 31.5898 -43.3896c0 -24.5303 -19.0498 -44.4404 -42.6797 -45.0703v-16.1201
+c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v16.29c-11.29 0.580078 -22.2705 4.51953 -31.3701 11.3496c-3.90039 2.93066 -4.09961 8.77051 -0.570312 12.1406l11.75 11.21c2.77051 2.63965 6.89062 2.75977 10.1309 0.729492
+c3.85938 -2.42969 8.25977 -3.71973 12.8193 -3.71973h28.1006c6.5 0 11.7998 5.91992 11.7998 13.1904c0 5.94922 -3.61035 11.1797 -8.77051 12.7295l-45.0098 13.5c-18.5898 5.58008 -31.5801 23.4199 -31.5801 43.3896c0 24.5205 19.0498 44.4404 42.6797 45.0703
+v16.1201c0 4.41992 3.58008 8 8 8h16c4.4209 0 8 -3.58008 8 -8v-16.29c11.29 -0.580078 22.2705 -4.51953 31.3701 -11.3496c3.90039 -2.93066 4.10059 -8.77051 0.570312 -12.1406l-11.75 -11.21c-2.76953 -2.63965 -6.88965 -2.75977 -10.1299 -0.729492
+c-3.86035 2.42969 -8.25977 3.71973 -12.8203 3.71973h-28.1094c-6.5 0 -11.8008 -5.91992 -11.8008 -13.1904c0 -5.94922 3.61035 -11.1797 8.77051 -12.7295z" />
+ <glyph glyph-name="search-location" unicode="&#xf689;"
+d="M505.04 5.33984c9.2998 -9.39941 9.2998 -24.5898 -0.0996094 -33.9902l-28.3008 -28.2998c-9.2998 -9.39941 -24.5 -9.39941 -33.8994 0l-99.71 99.6904c-4.5 4.5 -7 10.5996 -7 17v16.2998c-35.2998 -27.5996 -79.71 -44 -128.011 -44
+c-114.909 0 -208.02 93.0898 -208.02 207.979c0 114.891 93.1201 207.98 208.02 207.98c114.9 0 208.011 -93.0898 208.011 -207.98c0 -48.2998 -16.4004 -92.6895 -44 -127.989h16.2998c6.40039 0 12.5 -2.5 17 -7zM208.02 96.04c79.6504 0 144 64.4502 144 143.979
+c0 79.6406 -64.46 143.98 -144 143.98c-79.6494 0 -144 -64.4502 -144 -143.98c0 -79.6396 64.4609 -143.979 144 -143.979zM208.04 336c40.7803 0 73.8398 -33.0498 73.8398 -73.8301c0 -32.9697 -48.2598 -93.0498 -66.75 -114.86
+c-1.5293 -1.8291 -4.70508 -3.31445 -7.08984 -3.31445s-5.56055 1.48535 -7.08984 3.31445c-18.4902 21.8105 -66.75 81.9004 -66.75 114.86c0 40.7803 33.0596 73.8301 73.8398 73.8301zM208.04 240c13.25 0 24 10.75 24 24c0 13.2598 -10.75 24 -24 24
+s-24 -10.7402 -24 -24c0 -13.25 10.7402 -24 24 -24z" />
+ <glyph glyph-name="socks" unicode="&#xf696;"
+d="M214.66 136.99c-52.7402 -39.5605 -69.0498 -110.021 -39.2002 -165.4l-21.8604 -16.3896c-17.2695 -12.9502 -37.4893 -19.2002 -57.5195 -19.2002c-32.8105 0 -65.6904 16.75 -83.9404 48.3301c-24.6494 42.6396 -10.1895 97.5 29.21 127.06l86.6504 64.6104v176h160
+v-160zM288 416v-32h-160v32c0 17.6699 14.3301 32 32 32h128c2.84961 0 5.40039 -0.919922 8.01953 -1.62012c-4.94922 -9.08008 -8.01953 -19.3301 -8.01953 -30.3799zM480 448c17.6699 0 32 -14.3301 32 -32v-32h-192v32c0 17.6699 14.3301 32 32 32h128zM320 176v176h192
+v-208v-0.00195312c0 -35.3271 -22.9375 -81.2021 -51.2002 -102.398l-115.2 -86.3994c-17.2695 -12.9502 -37.4893 -19.2002 -57.5195 -19.2002c-32.8105 0 -65.1699 16.75 -83.4199 48.3301c-24.6504 42.6396 -10.1904 97.5 29.21 127.06z" />
+ <glyph glyph-name="square-root-alt" unicode="&#xf698;" horiz-adv-x="576"
+d="M571.31 196.69c6.25 -6.25 6.25 -16.3809 0 -22.6309l-46.0596 -46.0596l46.0596 -46.0596c6.25 -6.25 6.25 -16.3809 0 -22.6309l-22.6191 -22.6191c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-46.0596 46.0596l-46.0596 -46.0596c-6.25 -6.25 -16.3809 -6.25 -22.6309 0
+l-22.6191 22.6191c-6.25 6.25 -6.25 16.3809 0 22.6309l46.0596 46.0596l-46.0596 46.0596c-6.25 6.25 -6.25 16.3809 0 22.6309l22.6191 22.6191c6.25 6.25 16.3809 6.25 22.6309 0l46.0596 -46.0596l46.0596 46.0596c6.25 6.25 16.3809 6.25 22.6309 0zM552 448
+c13.25 0 24 -10.7402 24 -24v-48c0 -13.25 -10.75 -24 -24 -24h-194.97l-97.8105 -374.52c-9.83984 -32.4805 -37.0098 -41.4805 -54.2793 -41.4805c-18.6406 0 -35.9502 8.5 -48.4404 28.2695l-88.8799 163.73h-43.6201c-13.25 0 -24 10.75 -24 24v48
+c0 13.2598 10.75 24 24 24h81.4697c10.4385 -0.00292969 22.9961 -7.42578 28.0303 -16.5703l58.4102 -106.1l84.79 322.8c3.68945 14.0703 16.4102 23.8701 30.9502 23.8701h244.35z" />
+ <glyph glyph-name="star-and-crescent" unicode="&#xf699;" horiz-adv-x="511"
+d="M340.47 -18.3604c8.74023 0 15.1299 -6.96973 15.1299 -15.0596c0 -6.62012 -4.31934 -12.2402 -10.2793 -14.2598c-29.04 -10.8301 -59.0898 -16.3203 -89.3203 -16.3203c-141.16 0 -256 114.84 -256 256s114.84 256 256 256c30.3896 0 60.5801 -5.54004 89.75 -16.4805
+c6.91992 -2.59961 10.9297 -9.83984 9.46973 -17.0898c-1.41992 -7.04004 -7.62012 -12.0693 -14.75 -12.0693c-1.47949 0 -6.85938 0.459961 -9.17969 0.459961c-116.25 0 -210.82 -94.5703 -210.82 -210.82s94.5703 -210.82 210.82 -210.82
+c2.29004 0 7.72949 0.459961 9.17969 0.459961zM503.46 234.14c8.16992 -1.17969 11.4297 -11.2197 5.52051 -16.9893l-55.2705 -53.8701l13.0498 -76.0703c1.11035 -6.42969 -4.00977 -11.6602 -9.80957 -11.6602c-1.53027 0 -3.11035 0.370117 -4.64062 1.16992
+l-68.3096 35.9102l-68.3301 -35.9102c-1.53027 -0.80957 -3.11035 -1.16992 -4.63965 -1.16992c-5.7998 0 -10.9199 5.21973 -9.81055 11.6602l13.0498 76.0703l-55.2695 53.8701c-5.91016 5.76953 -2.65039 15.8096 5.51953 16.9893l76.3809 11.1006l34.1592 69.21
+c1.83008 3.7002 5.38086 5.5498 8.93066 5.5498s7.09961 -1.84961 8.92969 -5.5498l34.1602 -69.21z" />
+ <glyph glyph-name="star-of-david" unicode="&#xf69a;" horiz-adv-x="464"
+d="M405.68 192l53.2207 -89.3896c14.4092 -24.21 -3.41016 -54.6104 -32.0107 -54.6104h-106.93l-55.9502 -93.9805c-7.14941 -12.0098 -19.5801 -18.0195 -32.0098 -18.0195s-24.8604 6.00977 -32.0098 18.0195l-55.9502 93.9805h-106.93
+c-28.6006 0 -46.4199 30.4004 -32.0107 54.6104l53.2207 89.3896l-53.2207 89.3896c-14.4092 24.21 3.41016 54.6104 32.0107 54.6104h106.93l55.9502 93.9805c7.14941 12.0098 19.5801 18.0195 32.0098 18.0195s24.8604 -6.00977 32.0098 -18.0195l55.9502 -93.9805h106.92
+c28.6006 0 46.4199 -30.4004 32.0098 -54.6104zM392.9 280h-39.6006l19.7998 -33.2598zM340.51 192l-52.3896 88h-112.25l-52.3799 -88l52.3896 -88h112.24zM232 374.28l-22.7803 -38.2803h45.5703zM71.0996 280l19.8008 -33.2598l19.7998 33.2598h-39.6006zM71.0996 104
+h39.6006l-19.7998 33.2598zM232 9.71973l22.7803 38.2803h-45.5703zM353.29 104h39.6104l-19.8105 33.2598z" />
+ <glyph glyph-name="synagogue" unicode="&#xf69b;" horiz-adv-x="640"
+d="M70 251.49c5.30957 6.00977 14.6904 6.00977 20 0l38 -43.0703v-272.42h-128v226.07v0.00683594c0 5.5625 2.98828 13.4629 6.66992 17.6328zM633.33 179.71c4.2998 -4.87012 6.66992 -11.1396 6.66992 -17.6396v-226.07h-128v272.42l38 43.0703
+c5.30957 6.01953 14.6904 6.01953 20 0zM339.99 440.99l128 -102.4c7.58984 -6.07031 12.0098 -15.2695 12.0098 -24.9902v-377.6h-96v96c0 38.8701 -34.6602 69.6504 -74.75 63.1201c-31.4697 -5.12012 -53.25 -34.6699 -53.25 -66.5498v-92.5703h-96v377.6
+c0 8.49023 5.38086 19.6865 12.0098 24.9902l128 102.4c11.6904 9.34961 28.29 9.34961 39.9805 0zM392.06 225.44l-19.1895 30.5596l19.2002 30.5703c1.97949 3.14941 -0.290039 7.23926 -4 7.23926h-38.9502l-25.1201 39.9805c-1.84961 2.9502 -6.15039 2.9502 -8 0
+l-25.1201 -40h-38.9395c-3.70996 0 -5.98047 -4.08984 -4 -7.24023l19.1992 -30.5596l-19.1992 -30.5605c-1.98047 -3.14941 0.279297 -7.23926 4 -7.23926h38.9395l25.1201 -39.9805c1.84961 -2.9502 6.15039 -2.9502 8 0l25.1201 39.9902h38.9395
+c3.70996 0 5.98047 4.08984 4 7.24023z" />
+ <glyph glyph-name="torah" unicode="&#xf6a0;" horiz-adv-x="640"
+d="M48 448c26.4688 -0.0273438 47.9727 -21.5312 48 -48v-80h-80c-8.83203 0 -16 7.16797 -16 16v64c0.0273438 26.4688 21.5312 47.9727 48 48zM395.14 219.44l17.4404 29.1699l17.4697 -29.1699h-34.9102zM336.05 167.37l-16.7998 28.0703h33.5801zM242 219.44
+l17.4199 29.1895l17.4805 -29.1895h-34.9004zM430 324.56l-17.4199 -29.1895l-17.4805 29.1895h34.9004zM256 35.4297c0 -31.8896 -21.7803 -61.4297 -53.25 -66.5498c-2.94531 -0.501953 -7.76172 -0.90918 -10.75 -0.90918c-35.3281 0 -64 28.6719 -64 64v0.0292969v368
+c-0.0527344 14.7783 -7.40527 36.2822 -16.4102 48h336.41c52.9365 -0.0546875 95.9453 -43.0635 96 -96v-256h-288v-60.5703zM217.41 338.43c-1.44824 -2.50977 -2.62402 -6.91797 -2.62402 -9.81543c0 -3.03125 1.27832 -7.59375 2.85352 -10.1846l27.79 -46.4297
+l-27.6602 -46.2695c-1.57324 -2.62305 -2.84961 -7.23242 -2.84961 -10.29c0 -11.0352 8.95508 -19.9951 19.9902 -20h56.3896l27.7002 -46.2803c3.14844 -5.34375 10.7363 -9.68066 16.9385 -9.68066c0.0175781 0 0.0449219 0 0.0615234 0.000976562
+c6.29199 0.00390625 13.9971 4.40332 17.2002 9.81934l27.5898 46.1201h56.2998h0.0302734c6.44922 0 14.2754 4.54688 17.4697 10.1504c1.45117 2.51172 2.62988 6.9043 2.62988 9.80566c0 3.03516 -1.28125 7.60156 -2.85938 10.1943l-27.79 46.4297l27.6797 46.2695
+c1.57324 2.62305 2.85059 7.23242 2.85059 10.29c0 11.0352 -8.95605 19.9951 -19.9902 20h-56.3604l-27.7002 46.2803c-3.14844 5.34375 -10.7363 9.68066 -16.9385 9.68066c-0.0166016 0 -0.0439453 0 -0.0615234 -0.000976562
+c-0.00976562 0 -0.0244141 0.000976562 -0.0341797 0.000976562c-6.29785 0 -14.0098 -4.39941 -17.2158 -9.82031l-27.5898 -46.1201h-56.2998h-0.0302734c-6.44922 0 -14.2754 -4.54688 -17.4697 -10.1504zM624 64c8.83203 0 16 -7.16797 16 -16
+c0 -61.8242 -50.1758 -112 -112 -112h-336c52.9316 0.0605469 95.9395 43.0684 96 96v32h336zM276.86 324.56l-17.3906 -29.1699l-17.4697 29.1699h34.8604zM336 376.62l16.75 -28.0605h-33.5801zM304.88 219.44l-31.4697 52.5596l31.4102 52.5801h62.2998l31.4697 -52.5801
+l-31.4102 -52.5596h-62.2998z" />
+ <glyph glyph-name="torii-gate" unicode="&#xf6a1;"
+d="M376.45 416c39.4961 0.00195312 100.223 14.3389 135.55 32v-96c0 -17.6699 -14.3301 -32 -32 -32h-32v-64h48c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-48v-240c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v240
+h-256v-240c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v240h-48c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h48v64h-32c-17.6699 0 -32 14.3301 -32 32v96c35.3271 -17.6611 96.0537 -31.998 135.55 -32h240.9zM128 320v-64h96
+v64h-96zM384 256v64h-96v-64h96z" />
+ <glyph glyph-name="vihara" unicode="&#xf6a7;" horiz-adv-x="639"
+d="M632.88 47.29c5.41992 -3.61035 7.7002 -9.62012 6.99023 -15.29c-0.620117 -5.00977 -3.56055 -9.75 -8.71973 -12.3301l-55.1504 -19.6699v-48c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48h-160v-48c0 -8.83984 -7.16016 -16 -16 -16h-32
+c-8.83984 0 -16 7.16016 -16 16v48h-160v-48c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v48l-55.1602 19.6699c-5.14941 2.58008 -8.09961 7.32031 -8.71973 12.3301c-0.700195 5.66016 1.58008 11.6699 7 15.29l88.8799 48.71v64
+l-55.1602 17.6904c-11.79 5.89941 -11.79 22.7197 0 28.6191l119.16 49.6904v64l-27.3096 16.3096c-7.7207 7.7207 -5.61035 20.7402 4.15918 25.6201l183.15 86.0703l183.15 -86.0801c9.76953 -4.87988 11.8799 -17.9004 4.15918 -25.6201l-27.3096 -16.2998v-64
+l119.16 -49.6904c11.79 -5.89941 11.79 -22.7197 0 -28.6191l-55.1602 -17.6904v-64zM224 320v-64h192v64h-192zM160 96h320v64h-320v-64z" />
+ <glyph glyph-name="volume-mute" unicode="&#xf6a9;"
+d="M215.03 376.95c15.0098 15.0098 40.9697 4.49023 40.9697 -16.9697v-335.961c0 -21.4395 -25.9404 -32 -40.9697 -16.9697l-88.9707 88.9502h-102.06c-13.2598 0 -24 10.75 -24 24v144c0 13.2598 10.7402 24 24 24h102.06zM461.64 192l45.6406 -45.6396
+c6.2998 -6.30078 6.2998 -16.5205 0 -22.8203l-22.8203 -22.8203c-6.2998 -6.2998 -16.5195 -6.2998 -22.8203 0l-45.6396 45.6406l-45.6299 -45.6299c-6.2998 -6.30078 -16.5205 -6.30078 -22.8203 0l-22.8193 22.8193c-6.30078 6.2998 -6.30078 16.5205 0 22.8203
+l45.6299 45.6299l-45.6406 45.6396c-6.2998 6.30078 -6.2998 16.5205 0 22.8203l22.8203 22.8203c6.2998 6.2998 16.5195 6.2998 22.8203 0l45.6396 -45.6406l45.6396 45.6406c6.30078 6.2998 16.5205 6.2998 22.8203 0l22.8203 -22.8203
+c6.2998 -6.2998 6.2998 -16.5195 0 -22.8203z" />
+ <glyph glyph-name="yin-yang" unicode="&#xf6ad;" horiz-adv-x="496"
+d="M248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 64c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM248 192c53.0195 0 96 42.9805 96 96s-42.9805 96 -96 96
+c-106.04 0 -192 -85.96 -192 -192s85.96 -192 192 -192c-53.0195 0 -96 42.9805 -96 96s42.9805 96 96 96zM248 320c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32s-32 14.3301 -32 32s14.3301 32 32 32z" />
+ <glyph glyph-name="blender-phone" unicode="&#xf6b6;" horiz-adv-x="576"
+d="M392 384c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h157.82l-17.46 -64h-140.36c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h131.64l-17.46 -64h-114.18c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h105.46
+l-17.46 -64h-288v352h384l-17.46 -64h-166.54zM158.8 112.99c3.00977 -7.40039 0.200195 -15.8506 -6.68945 -20.0703l-39.4102 -24.1797c-12.5303 -7.68066 -31.7803 -6 -41.6504 4.7998c-94.0996 102.94 -94.6699 258.89 -2.09961 362.49
+c11.1396 12.4697 29.5596 15.8398 43.8896 7.0498l39.2803 -24.0996c6.87988 -4.2207 9.7002 -12.6807 6.67969 -20.0703l-25.7803 -63.2598c-2.7793 -6.80078 -9.80957 -10.9902 -17.2393 -10.2607l-45.0303 4.41992c-17.6504 -47.9395 -17.2803 -100.779 0 -147.72
+l45.0303 4.41992c7.43945 0.730469 14.46 -3.4502 17.2393 -10.2598zM480 64c35.3496 0 64 -28.6504 64 -64v-32c0 -17.6699 -14.3301 -32 -32 -32h-352c-17.6699 0 -32 14.3301 -32 32v32c0 35.3496 28.6504 64 64 64h288zM336 -32c17.6699 0 32 14.3301 32 32
+s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="book-dead" unicode="&#xf6b7;" horiz-adv-x="448"
+d="M272 312c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16zM448 89.5996c0 -9.59961 -3.2002 -16 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16
+c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM240 392c-44.2002 0 -80 -28.7002 -80 -64c0 -20.9004 12.7002 -39.2002 32 -50.9004v-13.0996
+c0 -8.7998 7.2002 -16 16 -16h64c8.7998 0 16 7.2002 16 16v13.0996c19.2998 11.7002 32 30 32 50.9004c0 35.2998 -35.7998 64 -80 64zM124.8 224.7c-1.7002 -4.10059 0.100586 -8.7998 4.2002 -10.5l70.5 -30.2998l-70.4004 -30.1006
+c-4.09961 -1.7002 -5.89941 -6.39941 -4.19922 -10.5l6.2998 -14.7002c1.7002 -4.09961 6.39941 -5.89941 10.5 -4.19922l98.2998 42.1992l98.2998 -42.0996c4.10059 -1.7002 8.7998 0.0996094 10.5 4.2002l6.2998 14.7002c1.7002 4.09961 -0.0996094 8.7998 -4.19922 10.5
+l-70.3008 30.0996l70.3008 30.2002c4.09961 1.7002 5.89941 6.39941 4.19922 10.5l-6.2998 14.7002c-1.7002 4.09961 -6.39941 5.89941 -10.5 4.19922l-98.3994 -42.0996l-98.3008 42.0996c-4.09961 1.7002 -8.7998 -0.0996094 -10.5 -4.19922zM380.8 0v64h-284.8
+c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8zM208 312c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16s16 -7.2002 16 -16s-7.2002 -16 -16 -16z" />
+ <glyph glyph-name="campground" unicode="&#xf6bb;" horiz-adv-x="640"
+d="M624 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-608c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h24.6797l239.79 330.25l-53.4102 73.5498c-5.19922 7.15039 -3.60938 17.1602 3.54004 22.3506l25.8809 18.7998
+c7.14941 5.18945 17.1592 3.59961 22.3496 -3.5498l41.1699 -56.7002l41.1602 56.6895c5.2002 7.16016 15.2002 8.74023 22.3496 3.55078l25.9004 -18.79c7.14941 -5.19043 8.72949 -15.2002 3.54004 -22.3506l-53.4102 -73.5498l239.78 -330.25h24.6797zM320 160
+l-116.36 -160h232.721z" />
+ <glyph glyph-name="cat" unicode="&#xf6be;"
+d="M290.59 256c11.8906 -58.3496 63.6006 -102.4 125.41 -102.4c11.1104 0 21.71 1.87012 32 4.54004v-206.14c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v144l-128 -96h32c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16
+h-176c-35.2998 0 -64 28.7002 -64 64v256c0 17.6396 -14.3604 32 -32 32c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32c52.9404 0 96 -43.0596 96 -96v-85.9502c55.7695 83.9697 142.41 85.9502 162.59 85.9502zM448 352l64 64v-134.4c0 -53.0195 -42.9805 -96 -96 -96
+s-96 42.9805 -96 96v134.4l64 -64h64zM376 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM456 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" />
+ <glyph glyph-name="chair" unicode="&#xf6c0;" horiz-adv-x="447"
+d="M112 320v-128h-48v128c0 70.7002 57.2998 128 128 128h64c70.7002 0 128 -57.2998 128 -128v-128h-48v128c0 29.5 -16.2002 55 -40 68.9004v-196.9h-48v208h-48v-208h-48v196.9c-23.7998 -13.9004 -40 -39.4004 -40 -68.9004zM446.3 106.1
+c6.90039 -20.6992 -8.5 -42.0996 -30.2998 -42.0996v-112c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v112h-256v-112c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v112c-21.7998 0 -37.2002 21.4004 -30.4004 42.0996l10.7002 32
+c4.40039 13.1006 16.6006 21.9004 30.4004 21.9004h362.5c13.7998 0 26 -8.7998 30.3994 -21.9004z" />
+ <glyph glyph-name="cloud-moon" unicode="&#xf6c3;" horiz-adv-x="576"
+d="M342.8 95.2998c40.9004 -3.5 73.2002 -37.3994 73.2002 -79.2998c0 -44.2002 -35.7998 -80 -80 -80h-240c-53 0 -96 43 -96 96c0 41.9004 27.0996 77.2002 64.5996 90.2998c-0.0996094 1.90039 -0.599609 3.7002 -0.599609 5.7002c0 53 43 96 96 96
+c36.2002 0 67.4004 -20.2998 83.7002 -49.9004c11.5 11 27.0996 17.9004 44.2998 17.9004c35.2998 0 64 -28.7002 64 -64c0 -12 -3.5 -23.0996 -9.2002 -32.7002zM565.3 149.6c8.2002 1.60059 14 -8 8.7002 -14.5c-33.4004 -41.0996 -82.7002 -67 -137.1 -70.3994
+c-11.1006 23.0996 -29.9004 41.7998 -53.5 52.5996c0.399414 3.5 0.599609 7.10059 0.599609 10.7002c0 52.9004 -43.0996 96 -96 96c-12.7002 0 -25 -2.5 -36.4004 -7.2002c-5.09961 5.2998 -10.7998 9.90039 -16.6992 14.2002c-1.10059 8.2002 -1.80078 16.5 -1.80078 25
+c0 106.1 86 192 191.9 192c11.7002 0 23.4004 -1.09961 35.0996 -3.2002c8.2002 -1.59961 10.1006 -12.5996 2.80078 -16.7002c-47.1006 -26.7998 -76.1006 -76.5996 -76.1006 -130.8c0 -94 85.4004 -165.399 178.5 -147.7z" />
+ <glyph glyph-name="cloud-sun" unicode="&#xf6c4;" horiz-adv-x="640"
+d="M575.2 122.3c37.5996 -13 64.7998 -48.2998 64.7998 -90.3994c0 -53 -43 -96 -96 -96h-272c-53 0 -96 43 -96 96c0 50.5996 39.2998 91.5996 88.9004 95.2998c-0.200195 2.89941 -0.900391 5.7002 -0.900391 8.7002c0 61.8994 50.2002 112 112 112
+c45.4004 0 84.2998 -27.2002 101.9 -66c9.89941 6.19922 21.5 10 34.0996 10c35.2998 0 64 -28.7002 64 -64c0 -1.90039 -0.599609 -3.7002 -0.799805 -5.60059zM144.8 144.9c10.6006 -10.6006 22.9004 -18.6006 36 -24c-9.59961 -9.80078 -17.5 -21.1006 -23.5996 -33.5
+l-76.1006 -25.3008c-11.8994 -3.89941 -23.1992 7.30078 -19.1992 19.2002l29.2998 87.7998l-82.7998 41.4004c-11.2002 5.59961 -11.2002 21.5 0 27.0996l82.7998 41.5l-29.2998 87.8008c-3.90039 11.7998 7.39941 23.0996 19.1992 19.1992l87.9004 -29.2998
+l41.4004 82.7998c5.59961 11.2002 21.5996 11.2002 27.0996 0l41.5 -82.7998l87.7998 29.2998c11.9004 3.90039 23.2002 -7.2998 19.2002 -19.1992l-29.7998 -88.9004c-10.6006 -1.5 -20.9004 -3.7998 -30.7002 -7.5c-5.40039 11.7998 -12.5996 23 -22.2998 32.7002
+c-43.7002 43.7002 -114.7 43.7002 -158.4 0c-43.7002 -43.6006 -43.7002 -114.601 0 -158.3zM140 224.1c0 46.3008 37.7002 83.9004 84 83.9004c34 0 63.2998 -20.4004 76.5 -49.5c-36.4004 -22.5 -62 -60.7002 -67.4004 -105
+c-8.89941 -2.90039 -17.1992 -7 -25.1992 -11.7002c-38.6006 7.5 -67.9004 41.5 -67.9004 82.2998z" />
+ <glyph glyph-name="dice-d20" unicode="&#xf6cf;" horiz-adv-x="480"
+d="M106.75 232.94l108.64 -190.101l-208.26 22.0703c-5.83008 0.639648 -9.00977 7.13965 -5.92969 12.1396zM7.41016 132.57c-2.12012 -3.44043 -7.41016 -1.94043 -7.41016 2.08984v162.81c0 3.11035 3.38965 5.03027 6.05957 3.43066l76.6406 -45.9805zM18.25 24.4004
+c-4.03027 1.97949 -2.25 8.06934 2.2002 7.56934l203.55 -22.2998v-65.6699c0 -5.83008 -6.0498 -9.70996 -11.3496 -7.25977zM99.4697 282.18l-81.5293 48.6904c-2.52051 1.51953 -2.60059 5.16016 -0.130859 6.78027l150.811 98.6094
+c7.18945 4.11035 15.1201 -4.08008 10.7803 -11.1396zM240 272h-109.21l95.5801 168.38c3.12988 5.08008 8.37988 7.62012 13.6299 7.62012s10.5 -2.54004 13.6299 -7.62012l95.5801 -168.38h-109.21zM473.94 300.9c2.66992 1.59961 6.05957 -0.320312 6.05957 -3.43066
+v-162.81c0 -4.04004 -5.2998 -5.54004 -7.41016 -2.10059l-75.29 122.351zM380.53 282.18l-79.9307 142.94c-4.33984 7.05957 3.59082 15.25 10.7803 11.1396l150.811 -98.5996c2.46973 -1.62012 2.39941 -5.25977 -0.130859 -6.78027zM459.55 31.9697
+c4.4502 0.5 6.23047 -5.58984 2.2002 -7.55957l-194.4 -87.6602c-5.2998 -2.4502 -11.3496 1.41992 -11.3496 7.25977v65.6699zM373.25 232.94l105.56 -155.891c3.08008 -5 -0.0996094 -11.4902 -5.92969 -12.1396l-208.26 -22.0703zM240 240h100.43l-100.43 -175.75
+l-100.43 175.75h100.43z" />
+ <glyph glyph-name="dice-d6" unicode="&#xf6d1;" horiz-adv-x="448"
+d="M422.19 338.05c5.3291 -3.24023 5.2998 -11.2695 -0.0507812 -14.46l-198.14 -118.14l-198.13 118.14c-5.35059 3.19043 -5.37988 11.2305 -0.0605469 14.46l165.971 100.88c19.9102 12.1006 44.5195 12.1006 64.4297 0zM436.03 293.42
+c5.33008 3.17969 11.9697 -0.839844 11.9697 -7.25v-197.7c0 -23.7598 -12.1104 -45.7393 -31.79 -57.7002l-152.16 -92.4795c-10.6602 -6.48047 -24.0498 1.5498 -24.0498 14.4297v223.82zM0 286.17c0 6.41016 6.63965 10.4297 11.9697 7.25l196.03 -116.88v-223.81
+c0 -12.8906 -13.3799 -20.9102 -24.0498 -14.4307l-152.16 92.4697c-19.6797 11.9609 -31.79 33.9307 -31.79 57.7002v197.7z" />
+ <glyph glyph-name="dog" unicode="&#xf6d3;"
+d="M496 352c8.83984 0 16 -7.16016 16 -16v-32c0 -35.3496 -28.6504 -64 -64 -64h-32v-35.5801l-128 45.71v149.84c0 14.25 17.2305 21.3906 27.3203 11.3105l27.2793 -27.2803h53.6201c10.917 -0.000976562 23.7383 -7.92578 28.6201 -17.6904l7.16016 -14.3096h64z
+M384 304c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM96 224h170.05l149.95 -53.5498v-218.45c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v112h-160v-112c0 -8.83984 -7.16016 -16 -16 -16h-64
+c-8.83984 0 -16 7.16016 -16 16v213.9c-37.1699 13.25 -64 48.4395 -64 90.0996c0 17.6699 14.3301 32 32 32s32 -14.3301 32 -32c0 -17.6396 14.3604 -32 32 -32z" />
+ <glyph glyph-name="dragon" unicode="&#xf6d5;" horiz-adv-x="640"
+d="M18.3203 192.22c-15.96 -2.2793 -24.8906 17.8105 -12.5107 28.1406l117.4 116.34c21.7705 18.5996 53.2402 20.4697 77.0596 4.58984l119.73 -87.5996v-42.2705c0 -28.9102 5.29004 -56.9795 14.7305 -83.3799h-222.7c-14.25 0 -21.3906 17.2295 -11.3105 27.3096
+l91.2803 68.6904zM575.19 158.12c41.9092 -20.96 67.1592 -64.0801 64.6396 -111.36c-3.37988 -63.2002 -59.7002 -110.77 -122.99 -110.76h-499.08c-9.80957 0 -17.7598 8 -17.7598 17.7998c0 8.32031 5.78027 15.5303 13.9004 17.3301
+c89.54 19.9004 238.51 54.1006 434.1 60.9102c-59.9697 39.9902 -96 107.3 -96 179.38v108.62l-59.5801 24.8496c-5.90039 2.9502 -5.90039 11.3604 0 14.3105l59.5801 24.8398l-61.6396 50.3496c-5.04004 5.04004 -1.4707 13.6104 5.65918 13.6104h237.45
+c10.0703 0 19.5498 -4.7002 25.6006 -12.7598l74.5293 -99.3799c3.53223 -4.71094 6.39844 -13.3115 6.39844 -19.1992c0 -4.16992 -1.51367 -10.5811 -3.37793 -14.3115l-14.3105 -28.6191c-4.88086 -9.76465 -17.7031 -17.6895 -28.6191 -17.6904h-30.9707
+c-8.48926 0 -16.6299 3.37012 -22.6299 9.37012l-28.0898 22.6299h-64v-36.6904c0.00195312 -16.3701 11.8877 -35.5986 26.5303 -42.9199zM489.18 381.75c-4.33008 -17.1396 8.56055 -28.96 21.5205 -29.6699c11.6602 -0.629883 21.3799 7.34961 24.1299 18.2598z" />
+ <glyph glyph-name="drumstick-bite" unicode="&#xf6d7;"
+d="M462.8 398.43c34.3203 -34.2793 50.4307 -79.5996 49.1299 -124.56c-41.9795 22.6602 -94.3594 17.5596 -128.739 -16.7998c-40.8809 -40.8398 -40.6904 -107.181 -1.05078 -151.07c-16.2383 -5.52246 -43.3389 -10.0049 -60.4912 -10.0049
+c-0.385742 0 -1.0127 0.00195312 -1.39844 0.00488281h-85.8896l-40.6104 -40.5596c-9.71973 -9.75 -11.0898 -24.0205 -6 -36.75c2.38477 -5.95898 4.32031 -16.0049 4.32031 -22.4229c0 -33.3135 -27.0371 -60.3496 -60.3506 -60.3496
+c-13.8428 0 -33.0039 7.96191 -42.7695 17.7725c-15.2803 15.2695 -19.6006 36.5 -15.1006 56.0996c-19.6094 -4.49023 -40.8496 -0.179688 -56.1191 15.0703c-9.77148 9.75684 -17.7021 28.8828 -17.7021 42.6914c0 33.3018 27.0273 60.3301 60.3301 60.3301
+c6.40234 0 16.4248 -1.92773 22.3721 -4.30176c12.7793 -5.07031 27.0791 -3.69043 36.7793 6l40.6201 40.5898v85.8301c0 64 27.6904 107 63.1699 142.43c27.3887 27.3604 81.0371 49.5664 119.75 49.5664c38.7139 0 92.3613 -22.2061 119.75 -49.5664z" />
+ <glyph glyph-name="dungeon" unicode="&#xf6d9;"
+d="M128.73 252.68c6.58984 -4.12012 8.89941 -12.2393 6.33984 -19.5801c-3 -8.60938 -5.15039 -17.6094 -6.24023 -26.9395c-0.929688 -7.91016 -7.0498 -14.1602 -15.0098 -14.1602h-97.1299c-9.10059 0 -16.7402 7.62988 -16.1504 16.7197
+c1.66016 25.7793 11.7178 65.7725 22.4502 89.2705c3.93945 8.62012 14.8896 11.4697 22.9297 6.4502zM319.03 440c9.16992 -2.36035 13.9102 -12.5996 10.3896 -21.3896l-37.4697 -104.03c-2.28027 -6.34961 -8.2998 -10.5801 -15.0498 -10.5801h-41.8008
+c-6.2041 0.00195312 -12.9473 4.74219 -15.0498 10.5801l-37.4697 104.03c-3.52051 8.79004 1.21973 19.04 10.3896 21.3896c20.1699 5.17969 41.2607 8 63.0303 8s42.8604 -2.82031 63.0303 -8zM112 160c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16
+h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM112 32c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM189.31 315.67
+c2.85059 -7.12012 -0.0195312 -14.8799 -6.2998 -19.29c-6 -4.2002 -11.6094 -8.89941 -16.79 -14.0498c-5.4502 -5.41016 -13.5996 -6.86035 -20.1094 -2.79004l-82.9307 51.8301c-8.06934 5.04004 -10.2793 16.2002 -4.21973 23.5195
+c16.7148 20.1758 48.7969 47.0068 71.6104 59.8906c8.29004 4.67969 18.8896 0.519531 22.4199 -8.31055zM398.18 192c-7.95996 0 -14.0801 6.25 -15.0098 14.1602c-1.08984 9.32031 -3.22949 18.3301 -6.24023 26.9395c-2.55957 7.34082 -0.25 15.46 6.33984 19.5801
+l82.8105 51.7607c8.04004 5.01953 18.9902 2.16992 22.9297 -6.4502c10.7334 -23.498 20.791 -63.4902 22.4502 -89.2705c0.589844 -9.08984 -7.0498 -16.7197 -16.1504 -16.7197h-97.1299zM453.03 354.89c6.06934 -7.31934 3.84961 -18.4795 -4.2207 -23.5098
+l-82.9297 -51.8301c-6.50977 -4.06934 -14.6699 -2.62012 -20.1104 2.79004c-5.17969 5.15039 -10.7891 9.85059 -16.7891 14.0498c-6.28027 4.40039 -9.15039 12.1602 -6.30078 19.2803l36.3203 90.7998c3.54004 8.83008 14.1396 12.9902 22.4199 8.31055
+c22.8135 -12.8838 54.8945 -39.7148 71.6104 -59.8906zM496 160c8.83984 0 16 -7.16016 16 -16v-64c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM496 32c8.83984 0 16 -7.16016 16 -16v-64
+c0 -8.83984 -7.16016 -16 -16 -16h-96c-8.83984 0 -16 7.16016 -16 16v64c0 8.83984 7.16016 16 16 16h96zM240 270.38c5.23047 0.889648 10.5195 1.62012 16 1.62012s10.7695 -0.730469 16 -1.62012v-294.38c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8
+v294.38zM176 228.87c8.16016 12.2998 19.2197 22.3203 32 29.7695v-282.64c0 -4.41992 -3.58008 -8 -8 -8h-16c-4.41992 0 -8 3.58008 -8 8v252.87zM304 258.64c12.7803 -7.44922 23.8398 -17.4697 32 -29.7695v-252.87c0 -4.41992 -3.58008 -8 -8 -8h-16
+c-4.41992 0 -8 3.58008 -8 8v282.64z" />
+ <glyph glyph-name="file-csv" unicode="&#xf6dd;" horiz-adv-x="384"
+d="M224 312c0 -13.2002 10.7998 -24 24 -24h136v-328c0 -13.2998 -10.7002 -24 -24 -24h-336c-13.2998 0 -24 10.7002 -24 24v464c0 13.2998 10.7002 24 24 24h200v-136zM128 168v16c0 4.41992 -3.58008 8 -8 8h-8c-26.5098 0 -48 -21.4902 -48 -48v-32
+c0 -26.5098 21.4902 -48 48 -48h8c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-8c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h8c4.41992 0 8 3.58008 8 8zM172.27 64c23.3906 0 42.4004 17.3301 42.3906 38.6201
+c0 10.6602 -4.86035 20.9199 -13.3301 28.1396l-21.8896 18.7705c-1.37012 1.17969 -2.12012 2.54004 -2.12012 3.83984c0 3.12012 4.45996 6.62012 10.4102 6.62012h12.2695c4.41992 0 8 3.58008 8 8v16c0 4.41992 -3.58008 8 -8 8h-12.25
+c-23.3896 0 -42.4102 -17.3203 -42.4102 -38.6201c0 -10.6602 4.86035 -20.9199 13.3301 -28.1396l21.8896 -18.7705c1.37012 -1.17969 2.12012 -2.54004 2.12012 -3.83984c0 -3.12012 -4.45996 -6.62012 -10.4102 -6.62012h-12.2695c-4.41992 0 -8 -3.58008 -8 -8v-16
+c0 -4.41992 3.58008 -8 8 -8h12.2695zM256 184c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-20.7998c0 -35.4805 12.8799 -68.8906 36.2803 -94.0898c3.01953 -3.25 7.26953 -5.11035 11.7197 -5.11035s8.7002 1.86035 11.7197 5.11035
+c23.4004 25.1992 36.2803 58.6094 36.2803 94.0898v20.7998c0 4.41992 -3.58008 8 -8 8h-16c-4.41992 0 -8 -3.58008 -8 -8v-20.7998c0 -20.2705 -5.7002 -40.1807 -16 -56.8799c-10.2998 16.71 -16 36.6094 -16 56.8799v20.7998zM377 343c4.5 -4.5 7 -10.5996 7 -16.9004
+v-6.09961h-128v128h6.09961c6.40039 0 12.5 -2.5 17 -7z" />
+ <glyph glyph-name="fist-raised" unicode="&#xf6de;" horiz-adv-x="384"
+d="M255.98 288h-48.0303c-5.62988 0 -10.9502 -1.15039 -15.9697 -2.92969v146.93c0 8.83984 7.15918 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-144zM383.98 192.01l0.0195312 -88.2197v-0.0107422c0 -21.9551 -12.5977 -52.373 -28.1201 -67.8994l-35.9102 -35.9199
+v-63.96h-255.979v64l-26.5 26.5098c-24.0098 24.0098 -37.4902 56.5605 -37.4902 90.5098v77.9307c5.03027 -1.7998 10.3604 -2.9502 16 -2.9502h32c12.3301 0 23.4805 4.80957 32 12.4902c8.50977 -7.66992 19.6602 -12.4805 32 -12.4805h32
+c7.91016 0 15.2803 2.11035 21.8701 5.52051c7.46973 -16.3301 21.5996 -28.9404 38.8701 -34.4502c-17.1104 -14.8203 -31.5801 -34.4805 -47.3105 -58.0801l-6.30957 -9.46973c-0.742188 -1.1123 -1.34375 -3.09961 -1.34375 -4.43652
+c0 -2.36328 1.59668 -5.34375 3.56348 -6.65332l13.3105 -8.88086c1.11133 -0.741211 3.09863 -1.34375 4.43555 -1.34375c2.36328 0 5.34473 1.59668 6.6543 3.56445l6.30957 9.46973c31.8906 47.8398 51.5303 70.2695 96.0498 72.5498
+c4.29004 0.219727 7.88086 3.70996 7.88086 8v16.2002c0 4.41992 -3.52051 8 -13.2002 8h-35.2607c-26.2695 0 -47.5693 21.3203 -47.5693 47.5898v0.560547c0 8.7793 7.12012 15.8496 15.8994 15.8496h112.141c35.3301 0 63.9795 -28.6504 63.9902 -63.9902zM351.97 282.1
+c-10.0596 3.59082 -20.7197 5.90039 -32 5.90039h-32v112c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-117.9zM16 224c-8.83984 0 -16 7.16016 -16 16v128c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-128
+c0 -8.83984 -7.16016 -16 -16 -16h-32zM111.99 224c-8.83984 0 -16 7.16016 -16 16v160c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-160c0 -8.83984 -7.16016 -16 -16 -16h-32z" />
+ <glyph glyph-name="ghost" unicode="&#xf6e2;" horiz-adv-x="384"
+d="M186.1 447.91c108.73 3.25977 197.9 -83.9102 197.9 -191.91v-271.97c0 -14.25 -17.2305 -21.3906 -27.3096 -11.3105l-24.9209 18.5303c-6.65918 4.95996 -16 3.99023 -21.5098 -2.20996l-42.9502 -48.3496c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-40.7197 45.8496
+c-6.36035 7.16992 -17.5498 7.16992 -23.9199 0l-40.7197 -45.8496c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-42.9502 48.3496c-5.50977 6.2002 -14.8506 7.16016 -21.5098 2.20996l-24.9209 -18.5303c-10.0791 -10.0801 -27.3096 -2.9502 -27.3096 11.3105v263.92
+c0 105.13 81.0098 196.81 186.1 199.96zM128 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32zM256 224c17.6699 0 32 14.3301 32 32s-14.3301 32 -32 32s-32 -14.3301 -32 -32s14.3301 -32 32 -32z" />
+ <glyph glyph-name="hammer" unicode="&#xf6e3;" horiz-adv-x="576"
+d="M571.31 254.06c6.25 -6.25 6.25 -16.3799 0.0205078 -22.6191l-90.5098 -90.5107c-6.25 -6.25 -16.3799 -6.25 -22.6299 0l-22.6309 22.6299c-6.25 6.25 -6.25 16.3809 0 22.6309l11.3105 11.3096l-28.9004 28.9004
+c-21.3096 -5.63086 -44.8994 -0.360352 -61.6094 16.3496l-49.1406 49.1396c-12.0098 12 -18.75 28.2803 -18.75 45.25v18.75l-90.5098 45.25c62.4902 62.4805 163.8 62.4805 226.28 0l45.25 -45.25c16.71 -16.71 21.9795 -40.2998 16.3496 -61.6094l28.9004 -28.9004
+l11.3096 11.3105c6.25 6.25 16.3799 6.25 22.6299 0zM284.59 269.26l49.1406 -49.1396c3.53906 -3.54004 7.47949 -6.5 11.4395 -9.41016l-238.13 -255.07c-23.8799 -25.5801 -64.2002 -26.2695 -88.9297 -1.5293c-24.7305 24.7393 -24.04 65.0498 1.5293 88.9297
+l255.101 238.17c3.00977 -4.16016 6.14941 -8.25 9.84961 -11.9502z" />
+ <glyph glyph-name="hanukiah" unicode="&#xf6e6;" horiz-adv-x="640"
+d="M232 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM168 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM392 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM456 288h16
+c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM544 280v-120h-32v120c0 4.41992 3.58008 8 8 8h16c4.41992 0 8 -3.58008 8 -8zM104 288h16c4.41992 0 8 -3.58008 8 -8v-120h-32v120c0 4.41992 3.58008 8 8 8zM624 288c8.83984 0 16 -7.16016 16 -16
+v-112c0 -53.0195 -42.9805 -96 -96 -96h-192v-64h176c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-416c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h176v64h-192c-53.0195 0 -96 42.9805 -96 96v112c0 8.83984 7.16016 16 16 16
+h32c8.83984 0 16 -7.16016 16 -16v-112c0 -17.6699 14.3301 -32 32 -32h192v192c0 8.83984 7.16016 16 16 16h32c8.83984 0 16 -7.16016 16 -16v-192h192c17.6699 0 32 14.3301 32 32v112c0 8.83984 7.16016 16 16 16h32zM608 320c-13.25 0 -24 11.9502 -24 26.6699
+s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM32 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM320 368
+c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM112 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699z
+M176 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM240 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301
+c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM400 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM464 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301
+s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699zM528 320c-13.25 0 -24 11.9502 -24 26.6699s24 53.3301 24 53.3301s24 -38.5996 24 -53.3301c0 -14.7295 -10.75 -26.6699 -24 -26.6699z" />
+ <glyph glyph-name="hat-wizard" unicode="&#xf6e8;"
+d="M496 0c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h480zM192 64l16 -32h-144l110.96 249.66c9.4043 21.1611 33.3545 47.6611 53.46 59.1494l187.58 107.19l-56.2998 -168.92
+c-1.81543 -5.43945 -3.28809 -14.5078 -3.28809 -20.2412c0 -7.25098 2.31934 -18.5449 5.17773 -25.209l86.4102 -201.63h-208l16 32l64 32l-64 32l-32 64l-32 -64l-64 -32zM256 288l-32 -16l32 -16l16 -32l16 32l32 16l-32 16l-16 32z" />
+ <glyph glyph-name="hiking" unicode="&#xf6ec;" horiz-adv-x="383"
+d="M80.9502 -24.2305l34.5596 138.221l52.7803 -52.7803l-25.2402 -100.97c-3.64941 -14.5303 -16.6895 -24.2305 -31.0195 -24.2305c-2.58008 0 -5.19043 0.290039 -7.7998 0.950195c-17.1406 4.28027 -27.5605 21.6504 -23.2803 38.8096zM95.8398 171.89
+c-2.18945 -8.41992 -11.0801 -13.54 -19.8701 -11.4395l-63.5596 15.25c-8.78027 2.10938 -14.1104 10.6396 -11.9199 19.0596l25.2695 98.1299c10.9707 42.1006 55.4404 67.6904 99.3203 57.1699c8.78027 -2.10938 14.1104 -10.6396 11.9199 -19.0596zM368 288
+c8.83984 0 16 -7.16016 15.9902 -16v-320.01c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v240h-48c-8.48047 0 -16.6201 3.37988 -22.6201 9.37988l-22.4297 22.4297l-19.8906 -79.5693
+c-0.129883 -0.520508 -0.469727 -0.910156 -0.620117 -1.41016l46.8203 -46.8203c12.0898 -12.0898 18.75 -28.1602 18.75 -45.25v-82.75c0 -17.6699 -14.3301 -32 -32 -32s-32 14.3301 -32 32v82.75l-86.6201 86.6201c-5.17383 5.1748 -9.37402 15.3154 -9.37402 22.6338
+c0 2.17285 0.427734 5.64746 0.954102 7.75586l26.9199 107.721c6.56055 26.2197 30.0098 44.5195 57.0303 44.5195c15.7002 0 30.4697 -6.11035 41.5596 -17.2197l46.7803 -46.7803h34.75v16c0 8.83984 7.16016 16 16 16h16zM240 352c-26.5098 0 -48 21.4902 -48 48
+s21.4902 48 48 48s48 -21.4902 48 -48s-21.4902 -48 -48 -48z" />
+ <glyph glyph-name="hippo" unicode="&#xf6ed;" horiz-adv-x="640"
+d="M581.12 351.8c34.0898 -0.189453 58.8799 -33.6895 58.8799 -67.7803v-92.0195c0 -17.6699 -14.3301 -32 -32 -32v-32c0 -8.83984 -7.16016 -16 -16 -16h-32c-8.83984 0 -16 7.16016 -16 16v32h-128v-176c0 -8.83984 -7.16016 -16 -16 -16h-64
+c-8.83984 0 -16 7.16016 -16 16v70.79c-32.3496 -14.3604 -70.7197 -22.79 -112 -22.79s-79.6504 8.42969 -112 22.79v-70.79c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v240c0 88.3604 85.96 160 192 160
+c49.2402 0 94.0098 -15.5801 128 -40.9805v48.9805c0 13.2598 10.75 24 24 24h16c13.25 0 24 -10.7402 24 -24v-13.8799c10.0498 3.58008 20.7197 5.87988 32 5.87988c39.8301 0 73.9805 -24.2695 88.5195 -58.8203c24.1006 9.04004 48.9307 26.7705 76.6006 26.6201z
+M448 272c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" />
+ <glyph glyph-name="horse" unicode="&#xf6f0;" horiz-adv-x="575"
+d="M575.92 371.4l0.0605469 -77.71v-0.0292969c0 -11.9609 -9.01465 -25.2715 -20.1201 -29.7109l-32.5508 -13.0205c-15.4395 -6.17969 -33.04 0.5 -40.4893 15.3701l-18.9004 37.7002l-16 7.11035v-102.471c0.00976562 -0.219727 0.0800781 -0.419922 0.0800781 -0.639648
+c0 -30.4697 -12.2598 -58.0303 -32 -78.2197v-177.78c0 -8.83984 -7.16016 -16 -16 -16h-64c-8.83984 0 -16 7.16016 -16 16v150.4l-133.97 22.3301l-23.8398 -63.5908l26.3096 -105.26c2.53027 -10.0996 -5.11035 -19.8799 -15.5195 -19.8799h-65.9609h-0.000976562
+c-6.89453 0 -13.8428 5.42969 -15.5088 12.1201l-24.8496 99.4102c-1.05664 4.2207 -1.91406 11.1777 -1.91406 15.5293c0 6.40332 1.8252 16.4648 4.07422 22.46l25.7197 68.6006c-18.7002 17.5195 -30.54 42.2402 -30.54 69.8799
+c0 2.62988 0.570312 5.09961 0.780273 7.67969c-9.91016 -7.29004 -16.7803 -18.46 -16.7803 -31.6797v-56c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v56c0 48.5303 39.4697 88 88 88v-1.11035c17.5996 20.1299 43.1602 33.1104 72 33.1104
+h159.92c0 70.6904 57.3105 128 128 128h119.98c5.05957 0 8.94922 -4.67969 7.92969 -9.63965c-2.67969 -13.1699 -11.1201 -23.8203 -22.1797 -30.6602c5.10938 -5.37988 9.90918 -10.4697 13.6895 -14.5c5.56055 -5.93066 8.57031 -13.6699 8.58008 -21.7998zM511.92 352
+c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16z" />
+ <glyph glyph-name="house-damage" unicode="&#xf6f1;" horiz-adv-x="576"
+d="M288 333.04l218.74 -192.94c1.54004 -1.37988 3.55957 -2.04004 5.25977 -3.19922v-184.9c0 -8.83984 -7.16016 -16 -16 -16h-176.19l-39.9199 55.25l104.11 64l-148.05 136.78l60.1602 -119.221l-104.11 -64l37.2305 -72.8096h-149.23c-8.83984 0 -16 7.16016 -16 16
+v184.94c1.78027 1.20996 3.84961 1.88965 5.46973 3.34961zM570.69 211.72c6.5791 -5.89941 7.11914 -16.0195 1.21973 -22.5898l-21.4004 -23.8203c-5.91016 -6.56934 -16.0293 -7.10938 -22.5996 -1.20996l-229.32 202.271c-6.0498 5.33008 -15.1201 5.33008 -21.1699 0
+l-229.32 -202.28c-6.58008 -5.91016 -16.6992 -5.35938 -22.5996 1.20996l-21.4004 23.8203c-5.90918 6.58008 -5.35938 16.6895 1.20996 22.5996l255.99 226.011c7.60059 6.85938 17.1406 10.2793 26.7002 10.2695s19.1201 -3.4502 26.75 -10.3096l101.25 -89.3809v51.6904
+c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-136.45z" />
+ <glyph glyph-name="hryvnia" unicode="&#xf6f2;" horiz-adv-x="384"
+d="M368 208h-99.7002l-34.6699 -32h134.37c8.83984 0 16 -7.16016 16 -16v-32c0 -8.83984 -7.16016 -16 -16 -16h-203.7l-29.4902 -27.2197c-4.3291 -4 -6.80957 -9.66992 -6.80957 -15.5801c0 -11.6807 9.50977 -21.2002 21.2002 -21.2002h83.6299h0.00195312
+c4.79395 0 11.6748 2.49121 15.3584 5.55957l11.75 9.80078c10.1895 8.48926 25.3193 7.12012 33.8096 -3.07031l20.4902 -24.5898c8.49023 -10.1807 7.10938 -25.3105 -3.07031 -33.7998l-11.7695 -9.81055c-18.6807 -15.5596 -42.2207 -24.0898 -66.54 -24.0898h-78.8203
+c-37.1396 0 -73.3799 17.8496 -92.0498 49.9502c-17.8701 30.7197 -17.54 65.4199 -4.12988 94.0498h-41.8604c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16h99.7002l34.6699 32h-134.37c-8.83984 0 -16 7.16016 -16 16v32c0 8.83984 7.16016 16 16 16
+h203.7l29.4902 27.21c4.3291 4 6.80957 9.66992 6.80957 15.5801c0 11.6797 -9.50977 21.2002 -21.2002 21.2002h-83.6201c-5.62012 0 -11.0693 -1.9707 -15.3896 -5.57031l-11.7305 -9.78027c-10.1895 -8.48926 -25.3193 -7.12012 -33.8096 3.07031l-20.4902 24.5898
+c-8.49023 10.1807 -7.10938 25.3105 3.07031 33.7998l11.7695 9.81055c18.6807 15.5596 42.2207 24.0898 66.54 24.0898h78.8203c37.1396 0 73.3799 -17.8398 92.0498 -49.9502c17.8701 -30.7197 17.54 -65.4199 4.12988 -94.0498h41.8604c8.83984 0 16 -7.16016 16 -16v-32
+c0 -8.83984 -7.16016 -16 -16 -16z" />
+ <glyph glyph-name="mask" unicode="&#xf6fa;" horiz-adv-x="640"
+d="M320.67 384c449.09 0 348.32 -384 158.46 -384c-39.8994 0 -77.4697 20.6904 -101.41 55.8604l-25.7295 37.79c-15.6602 22.9893 -46.9707 22.9893 -62.6299 0l-25.7305 -37.79c-23.9502 -35.1699 -61.5195 -55.8604 -101.42 -55.8604c-199.11 0 -284.14 384 158.46 384z
+M184 139.64c41.0596 0 67.7598 25.6504 80.0801 41.0508c5.22949 6.54004 5.22949 16.0996 0 22.6299c-12.3203 15.3896 -39.0098 41.0498 -80.0801 41.0498s-67.7598 -25.6504 -80.0801 -41.0498c-5.22949 -6.54004 -5.22949 -16.1006 0 -22.6299
+c12.3203 -15.3906 39.0205 -41.0508 80.0801 -41.0508zM456 139.64c41.0596 0 67.7598 25.6504 80.0801 41.0508c5.22949 6.54004 5.22949 16.0996 0 22.6299c-12.3203 15.3896 -39.0098 41.0498 -80.0801 41.0498s-67.7598 -25.6504 -80.0801 -41.0498
+c-5.22949 -6.54004 -5.22949 -16.1006 0 -22.6299c12.3203 -15.3906 39.0205 -41.0508 80.0801 -41.0508z" />
+ <glyph glyph-name="mountain" unicode="&#xf6fc;" horiz-adv-x="640"
+d="M634.92 -14.7002c2.80566 -4.3623 5.08301 -12.1133 5.08301 -17.3008c0 -4.50586 -1.75293 -11.374 -3.91309 -15.3291c-5.60938 -10.2803 -16.3799 -16.6699 -28.0898 -16.6699h-576h-0.00390625c-10.4795 0 -23.0615 7.46387 -28.0859 16.6602
+c-2.16016 3.95605 -3.91309 10.8262 -3.91309 15.334c0 5.18848 2.27734 12.9414 5.08301 17.3057l288 448c5.88965 9.16016 16.0303 14.7002 26.9199 14.7002s21.0303 -5.54004 26.9199 -14.7002zM320 356.82l-102.06 -158.761l38.0596 -38.0596l64 64h85.3896z" />
+ <glyph glyph-name="network-wired" unicode="&#xf6ff;" horiz-adv-x="640"
+d="M640 184c0 -8.83984 -7.16016 -16 -16 -16h-104v-40h56c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h56v40h-304v-40h56c17.6699 0 32 -14.3301 32 -32v-128
+c0 -17.6699 -14.3301 -32 -32 -32h-160c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h56v40h-104c-8.83984 0 -16 7.16016 -16 16v16c0 8.83984 7.16016 16 16 16h280v40h-72c-17.6699 0 -32 14.3301 -32 32v128c0 17.6699 14.3301 32 32 32h192
+c17.6699 0 32 -14.3301 32 -32v-128c0 -17.6699 -14.3301 -32 -32 -32h-72v-40h280c8.83984 0 16 -7.16016 16 -16v-16zM256 320h128v64h-128v-64zM192 0v64h-96v-64h96zM544 0v64h-96v-64h96z" />
+ <glyph glyph-name="otter" unicode="&#xf700;" horiz-adv-x="640"
+d="M608 416c17.6699 0 32 -14.3301 32 -32v-32c0 -53.0195 -42.9805 -96 -96 -96h-22.8604l-92.4697 -49.79l55.1104 -110.21h28.2197c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16h-80l-74.5098 144.5l-149.49 -80.5h64
+c17.6699 0 32 -14.3301 32 -32v-16c0 -8.83984 -7.16016 -16 -16 -16h-224c-8.83008 0 -16 -7.16992 -16 -16s7.16992 -16 16 -16h112c17.6699 0 32 -14.3301 32 -32s-14.3301 -32 -32 -32h-108.47c-39.3799 0 -75.5205 26.9004 -82.2803 65.7002
+c-4.91016 28.1201 5 54.2197 23.1904 71.7998c23.5596 22.75 39.5596 52.1396 39.5596 84.8896v1.61035c0 106.04 85.96 192 192 192h56l153.25 87.5703c9.66992 5.51953 20.6104 8.42969 31.75 8.42969h20.4902h0.0126953c14.6328 0 34.9033 -8.40039 45.2471 -18.75
+l13.25 -13.25h32zM512 400c-8.83984 0 -16 -7.16016 -16 -16s7.16016 -16 16 -16s16 7.16016 16 16s-7.16016 16 -16 16zM544 304c20.8301 0 38.4297 13.4199 45.0498 32h-77.0498l-118.57 -59.29l13.7705 -27.5498l101.84 54.8398h34.96z" />
+ <glyph glyph-name="ring" unicode="&#xf70b;"
+d="M256 384c145.94 0 256 -61.9102 256 -144v-98.1299c0 -78.3506 -114.62 -141.87 -256 -141.87s-256 63.5195 -256 141.87v98.1299c0 82.0898 110.06 144 256 144zM256 320c-106.04 0 -192 -35.8203 -192 -80c0 -9.25977 3.96973 -18.1201 10.9102 -26.3896
+c44.9395 26.1797 108.859 42.3896 181.09 42.3896s136.15 -16.21 181.09 -42.3896c6.94043 8.26953 10.9102 17.1299 10.9102 26.3896c0 44.1797 -85.96 80 -192 80zM120.43 183.36c34.7305 -14.4307 82.6406 -23.3604 135.57 -23.3604s100.84 8.92969 135.57 23.3604
+c-34.6104 14.71 -81.21 24.6396 -135.57 24.6396s-100.96 -9.92969 -135.57 -24.6396z" />
+ <glyph glyph-name="running" unicode="&#xf70c;" horiz-adv-x="416"
+d="M272 352c-26.5098 0 -48 21.4902 -48 48s21.4902 48 48 48s48 -21.4902 48 -48s-21.4902 -48 -48 -48zM113.69 130.53c7.92969 -17.2402 20.6699 -32.3799 37.9893 -42.6104l10.6699 -6.2998l-8.79004 -20.5205c-7.5293 -17.6494 -24.8594 -29.0898 -44.1094 -29.0898
+h-77.4502c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32h66.8896zM384 224.01c17.6699 0 32 -14.3193 32 -31.9902c0 -17.6699 -14.3301 -32 -32 -32h-53.9902c-18.1895 0 -35.1094 10.5508 -43.1094 26.8906l-20.2705 41.4297l-31.3096 -78.2803l61.2393 -36.1396
+c18.75 -11.3096 27.5508 -33.6201 21.6406 -54.3896l-31.6406 -101.061c-4.29004 -13.6797 -16.9092 -22.4502 -30.5195 -22.4502c-3.16992 0 -6.38965 0.480469 -9.58008 1.48047c-16.8604 5.28027 -26.25 23.2305 -20.9697 40.0898l27.4697 87.7305l-84.9795 50.1699
+c-27.6104 16.2998 -38.9209 50.8301 -26.3008 80.3096l37.46 87.3906l-14.6992 4.36914c-7.83008 1.86035 -17.6006 -0.25 -25.2705 -6.13965l-39.6895 -30.4102c-14.0205 -10.7402 -34.0908 -8.10938 -44.8604 5.91992c-10.7705 14.0303 -8.11035 34.1104 5.91992 44.8604
+l39.6699 30.4102c23.0703 17.6895 52.54 23.9395 80.8398 17.1396l71.0801 -21.1396c26.3301 -6.70996 49.2803 -25.3906 61.7803 -50.9404l26.0596 -53.25h44.0303z" />
+ <glyph glyph-name="scroll" unicode="&#xf70e;" horiz-adv-x="640"
+d="M48 448c26.4697 0 48 -21.5303 48 -48v-80h-80c-8.83984 0 -16 7.16016 -16 16v64c0 26.4697 21.5303 48 48 48zM256 35.4297c0 -31.8896 -21.7803 -61.4297 -53.25 -66.5498c-40.0996 -6.53027 -74.75 24.25 -74.75 63.1201v368c0 18.0801 -6.25977 34.5898 -16.4102 48
+h336.41c52.9404 0 96 -43.0596 96 -96v-256h-288v-60.5703zM288 64h336c8.83984 0 16 -7.16016 16 -16c0 -61.8604 -50.1396 -112 -112 -112h-336c52.9404 0 96 43.0703 96 96v32z" />
+ <glyph glyph-name="skull-crossbones" unicode="&#xf714;" horiz-adv-x="448"
+d="M439.15 -5.05957c7.89941 -3.9502 11.1094 -13.5605 7.15918 -21.4707l-14.3096 -28.6299c-3.95996 -7.89941 -13.5703 -11.0996 -21.4697 -7.14941l-186.53 90.7197l-186.52 -90.7197c-7.91016 -3.95996 -17.5205 -0.75 -21.4707 7.14941l-14.3096 28.6299
+c-3.95996 7.91016 -0.75 17.5205 7.14941 21.4707l141.98 69.0596l-141.99 69.0596c-7.89941 3.9502 -11.0996 13.5605 -7.14941 21.46l14.3096 28.6309c3.95996 7.90918 13.5703 11.1094 21.4697 7.15918l186.53 -90.7197l186.53 90.7197
+c7.91016 3.9502 17.5195 0.740234 21.4697 -7.15918l14.3096 -28.6309c3.95996 -7.89941 0.75 -17.5098 -7.14941 -21.46l-141.99 -69.0596zM150 210.72c-41.7803 22.4102 -70 62.75 -70 109.28c0 70.6904 64.4697 128 144 128s144 -57.3096 144 -128
+c0 -46.5303 -28.2197 -86.8701 -70 -109.28l5.5 -25.8701c2.66992 -12.6191 -5.41992 -24.8496 -16.4502 -24.8496h-126.08c-11.0293 0 -19.1201 12.2305 -16.4502 24.8496zM280 336c-17.6504 0 -32 -14.3496 -32 -32s14.3496 -32 32 -32s32 14.3496 32 32
+s-14.3496 32 -32 32zM168 336c-17.6504 0 -32 -14.3496 -32 -32s14.3496 -32 32 -32s32 14.3496 32 32s-14.3496 32 -32 32z" />
+ <glyph glyph-name="slash" unicode="&#xf715;" horiz-adv-x="640"
+d="M594.53 -60.6299l-588.351 454.729c-6.96973 5.41992 -8.22949 15.4707 -2.80957 22.4502l19.6396 25.2705c5.41992 6.97949 15.4805 8.23926 22.46 2.80957l588.351 -454.729c6.96973 -5.41992 8.22949 -15.4707 2.80957 -22.4502l-19.6396 -25.2705
+c-5.41992 -6.97949 -15.4805 -8.22949 -22.46 -2.80957z" />
+ <glyph glyph-name="spider" unicode="&#xf717;" horiz-adv-x="576"
+d="M151.17 280.65l-27.1504 54.2998c-1.86035 3.72949 -3.37109 10.1387 -3.37109 14.3066c0 2.86719 0.735352 7.40234 1.6416 10.123l25.8896 77.6797c2.79004 8.39062 11.8604 12.9209 20.2402 10.1201l15.1699 -5.05957
+c8.39062 -2.7998 12.9102 -11.8604 10.1201 -20.2402l-23.7998 -71.3896l20.29 -40.5801c-1.41016 -4.20996 -2.49023 -8.20996 -3.20996 -11.79l-5.2207 -26.1201h-4.66992zM573.31 98.6201c4.90039 -7.35059 2.9209 -17.2803 -4.43945 -22.1797l-13.3105 -8.88086
+c-7.34961 -4.89941 -17.29 -2.90918 -22.1895 4.44043l-48 72h-47.0605l60.8301 -97.3301c3.16992 -5.08008 4.86035 -10.96 4.86035 -16.96v-77.71c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v73.1104l-74.0801 118.529
+c1 -14.0498 2.08008 -28.1094 2.08008 -42.21c0 -53.0693 -40.7598 -101.43 -96 -101.43s-96 48.3604 -96 101.43c0 14.1006 1.07031 28.1602 2.08008 42.21l-74.0801 -118.529v-73.1104c0 -8.83984 -7.16016 -16 -16 -16h-16c-8.83984 0 -16 7.16016 -16 16v77.7002
+v0.00976562c0 5.0625 2.17773 12.6562 4.86035 16.9502l60.8301 97.3301h-47.0605l-48 -72c-4.89941 -7.35059 -14.8398 -9.33984 -22.1895 -4.44043l-13.3105 8.87988c-7.36035 4.90039 -9.33984 14.8398 -4.43945 22.1904l52.7393 79.1299
+c5.24707 7.86426 17.1768 14.248 26.6299 14.25h77.9404l-68.9902 24.3496c-5.75 1.91895 -13.1465 7.56738 -16.5098 12.6104l-53.5996 80.4102c-4.90039 7.36035 -2.91016 17.29 4.43945 22.1895l13.3105 8.88086c7.35938 4.89941 17.29 2.90918 22.1895 -4.44043
+l50.5703 -75.8301l60.4902 -20.1699h36.0996l10.3701 51.8496c2.18945 10.9707 17.3701 60.1504 69.6299 60.1504s67.4404 -49.1797 69.6299 -60.1504l10.3701 -51.8496h36.0996l60.5 20.1699l50.5605 75.8301c4.89941 7.34961 14.8398 9.33984 22.1895 4.44043
+l13.3105 -8.88086c7.34961 -4.89941 9.33984 -14.8398 4.43945 -22.1895l-53.5996 -80.4102c-3.36328 -5.04297 -10.7598 -10.6914 -16.5098 -12.6104l-68.9902 -24.3594h77.9404c9.45117 -0.00195312 21.377 -6.38672 26.6191 -14.25zM406.09 350.49l-23.7998 71.3896
+c-2.79004 8.37988 1.74023 17.4404 10.1201 20.2402l15.1699 5.05957c8.37988 2.80078 17.4502 -1.73926 20.2402 -10.1201l25.8896 -77.6797c0.908203 -2.72168 1.64551 -7.25781 1.64551 -10.127c0 -4.16699 -1.5127 -10.5752 -3.375 -14.3027l-27.1504 -54.2998
+l-25.9297 -8.65039h-4.66992l-5.2207 26.1201c-0.719727 3.58008 -1.7998 7.58008 -3.20996 11.79z" />
+ <glyph glyph-name="toilet-paper" unicode="&#xf71e;" horiz-adv-x="576"
+d="M128 448h284.44c-36.7705 -38.4805 -60.4404 -108.4 -60.4404 -192v-172.07c0 -53.6494 -11.8799 -87.5693 -24.71 -126.05c-4.36035 -13.0703 -16.5898 -21.8799 -30.3604 -21.8799h-280.92c-10.9199 0 -18.6299 10.7002 -15.1797 21.0596
+c21.3701 64.1006 31.1699 85.75 31.1699 126.87v172.07c0 106.04 42.9805 192 96 192zM96 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM160 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16
+s7.16016 -16 16 -16zM224 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM288 224c8.83984 0 16 7.16016 16 16s-7.16016 16 -16 16s-16 -7.16016 -16 -16s7.16016 -16 16 -16zM480 448c53.0195 0 96 -85.96 96 -192
+s-42.9805 -192 -96 -192s-96 85.96 -96 192s42.9805 192 96 192zM480 192c17.6699 0 32 28.6504 32 64s-14.3301 64 -32 64s-32 -28.6504 -32 -64s14.3301 -64 32 -64z" />
+ <glyph glyph-name="tractor" unicode="&#xf722;" horiz-adv-x="639"
+d="M528 112c48.5996 0 88 -39.4004 88 -88s-39.4004 -88 -88 -88s-88 39.4004 -88 88s39.4004 88 88 88zM528 0c13.2305 0 24 10.7695 24 24s-10.7695 24 -24 24s-24 -10.7695 -24 -24s10.7695 -24 24 -24zM608 288c17.6699 0 32 -14.3301 31.9902 -32v-50.7598
+c0 -8.49023 -3.37012 -16.6299 -9.37012 -22.6299l-50.8203 -50.8203c-15.7295 7.58984 -33.1602 12.2002 -51.7998 12.2002c-39.1396 0 -73.5498 -19.0098 -95.46 -48h-80.54v-6c0 -12.1504 -9.84961 -22 -22 -22h-7.16016
+c-2.9502 -9.90039 -6.91992 -19.46 -11.9102 -28.7207l5.06055 -5.05957c8.58984 -8.58984 8.58984 -22.5195 0 -31.1104l-31.1104 -31.1094c-8.58984 -8.58984 -22.5195 -8.58984 -31.1104 0l-5.05957 5.05957c-9.25977 -4.99023 -18.8203 -8.95996 -28.7197 -11.9102
+v-7.13965c0 -12.1504 -9.85059 -22 -22 -22h-44c-12.1504 0 -22 9.84961 -22 22v7.15039c-9.90039 2.94922 -19.46 6.91992 -28.7207 11.9092l-5.05957 -5.05957c-8.58984 -8.58984 -22.5195 -8.58984 -31.1104 0l-31.1094 31.1104
+c-8.58984 8.58984 -8.58984 22.5195 0 31.1094l5.05957 5.06055c-4.99023 9.26953 -8.9502 18.8193 -11.9102 28.7295h-7.13965c-12.1504 0 -22 9.85059 -22 22v44c0 12.1504 9.84961 22 22 22h7.15039c2.94922 9.90039 6.91992 19.46 11.9092 28.7207l-5.05957 5.05957
+c-8.58984 8.58984 -8.58984 22.5195 0 31.1104l31.1104 31.1094c7.92969 7.93066 20.2598 8.2002 28.8896 1.4707v146.52c0 26.4697 21.5303 48 48 48h133.45h0.046875c17.4834 0 37.2324 -13.0547 44.083 -29.1396l56.0898 -130.86h102.33v40.2002
+c0 29.9902 10.5801 58.8994 29.5 81.7197c6.37988 7.7002 18.04 8.23047 24.7002 0.780273l21.6299 -24.1699c4.87012 -5.43066 5.74023 -13.6904 1.32031 -19.4902c-8.4502 -11.0801 -13.1504 -24.7197 -13.1504 -38.8398v-40.2002h64zM176 32c44.1797 0 80 35.8203 80 80
+s-35.8203 80 -80 80s-80 -35.8203 -80 -80s35.8203 -80 80 -80zM198 288h110.04l-41.1504 96h-106.89v-96h38z" />
+ <glyph glyph-name="user-injured" unicode="&#xf728;" horiz-adv-x="448"
+d="M277.37 436.02l-90.6904 -68.0195h-81.1895c19.0098 46.8701 64.8193 80 118.51 80c19.1104 0 37.0801 -4.46973 53.3701 -11.9805zM342.51 368h-102.52l66.0293 49.5195c15.8203 -13.3193 28.5908 -30.0498 36.4902 -49.5195zM224 192c-70.6904 0 -128 57.3096 -128 128
+c0 5.48047 0.94043 10.7002 1.61035 16h252.779c0.660156 -5.2998 1.61035 -10.5195 1.61035 -16c0 -70.6904 -57.3096 -128 -128 -128zM80 148.3c7.92676 3.51758 21.2812 7.64844 29.8096 9.21973l98.4502 -221.52h-128.26v212.3zM0 -16v41.5996
+c0 41.1406 18.8799 77.5107 48 102.16v-191.76c-26.5098 0 -48 21.4902 -48 48zM256 32c26.4697 0 48 -21.5303 48 -48s-21.5303 -48 -48 -48h-12.71l-42.6699 96h55.3799zM313.6 160c74.2305 0 134.4 -60.1699 134.4 -134.4v-41.5996c0 -26.5098 -21.4902 -48 -48 -48
+h-80.4102c10.1504 13.4102 16.4102 29.9199 16.4102 48c0 44.1104 -35.8896 80 -80 80h-69.5898l-42.6699 96h7.37012c22.2393 -10.1797 46.8799 -16 72.8896 -16s50.6504 5.82031 72.8896 16h16.71z" />
+ <glyph glyph-name="vr-cardboard" unicode="&#xf729;" horiz-adv-x="640"
+d="M608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-160.22c-25.1807 0 -48.0303 14.7695 -58.3604 37.7402l-27.7402 61.6396c-7.88965 17.54 -24.0293 28.6201 -41.6797 28.6201s-33.79 -11.0801 -41.6797 -28.6201l-27.7402 -61.6396
+c-10.3301 -22.9707 -33.1699 -37.7402 -58.3604 -37.7402h-160.22c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM160 144c35.3496 0 64 28.6504 64 64s-28.6504 64 -64 64s-64 -28.6504 -64 -64s28.6504 -64 64 -64zM480 144
+c35.3496 0 64 28.6504 64 64s-28.6504 64 -64 64s-64 -28.6504 -64 -64s28.6504 -64 64 -64z" />
+ <glyph glyph-name="wind" unicode="&#xf72e;"
+d="M156.7 192c48.7002 0 92.2998 -35 98.3994 -83.4004c7.5 -58.5 -38.0996 -108.6 -95.1992 -108.6c-46.6006 0 -85.6006 33.5 -94.2002 77.5996c-1.7998 9.60059 6.09961 18.4004 15.8994 18.4004h32.8008c6.59961 0 13.0996 -3.7998 15.1992 -10.0996
+c4.30078 -12.7002 16.3008 -21.9004 30.4004 -21.9004c19.5 0 34.9004 17.4004 31.5996 37.4004c-2.59961 15.6992 -17.5 26.5996 -33.3994 26.5996h-142.2c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h140.7zM16 224c-8.7998 0 -16 7.2002 -16 16v32
+c0 8.7998 7.2002 16 16 16h334.2c16 0 30.7998 10.9004 33.3994 26.5996c3.30078 20 -12.1992 37.4004 -31.5996 37.4004c-14.0996 0 -26.0996 -9.2002 -30.4004 -21.9004c-2.09961 -6.2998 -8.5 -10.0996 -15.1992 -10.0996h-32.8008
+c-9.69922 0 -17.6992 8.7002 -15.7998 18.2998c9.7998 50.6006 59.5 87.1006 114.9 75.5c36.2002 -7.59961 65.5 -36.8994 73.0996 -73.0996c13 -61.9004 -34.0996 -116.7 -93.7998 -116.7h-336zM400 192c70.5 0 126 -65.5 108.9 -138.7
+c-9.60059 -41.0996 -43.5 -74 -84.7002 -82.7002c-58.9004 -12.5 -111.601 21.7002 -129.4 72.3008c-3.7002 10.2998 4.40039 21.0996 15.2998 21.0996h33.8008c5.7998 0 11.5996 -2.59961 14.5 -7.59961c8.2998 -14.5 23.6992 -24.4004 41.5996 -24.4004
+c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-116.5c-6.59961 25.2002 -20.5 47.4004 -39.7998 64h156.3z" />
+ <glyph glyph-name="wine-bottle" unicode="&#xf72f;"
+d="M507.31 375.43c6.25 -6.25 6.25 -16.3799 0.0107422 -22.6201l-22.6299 -22.6299c-6.25 -6.25 -16.3809 -6.25 -22.6309 0l-76.6699 -76.6699c19.7002 -46.5801 10.7305 -102.41 -27.2295 -140.37l-158.391 -158.39c-24.9893 -24.9902 -65.5195 -24.9902 -90.5098 0
+l-90.5098 90.5098c-24.9902 24.9902 -24.9902 65.5205 0 90.5098l158.38 158.381c37.9697 37.96 93.79 46.9297 140.37 27.2295l76.6699 76.6699c-6.25 6.25 -6.25 16.3799 0 22.6299l22.6299 22.6299c6.25 6.25 16.3799 6.25 22.6299 0zM179.22 24.71l122.04 122.04
+l-90.5098 90.5098l-122.04 -122.04z" />
+ <glyph glyph-name="cloud-meatball" unicode="&#xf73b;"
+d="M48 96c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM464 96c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM345 84.9004c13.5 -7 23 -20.7002 23 -36.9004s-9.5 -29.9004 -23 -36.9004
+c4.59961 -14.5 1.7002 -30.7998 -9.7998 -42.2998c-8.2002 -8.2002 -18.9004 -12.2998 -29.7002 -12.2998c-4.2998 0 -8.5 1.2002 -12.5996 2.5c-7 -13.5 -20.7002 -23 -36.9004 -23s-29.9004 9.5 -36.9004 23c-4.09961 -1.40039 -8.2998 -2.5 -12.5996 -2.5
+c-10.7998 0 -21.5 4.09961 -29.7002 12.2998c-11.5 11.5 -14.5 27.7998 -9.89941 42.2998c-13.5 7 -23 20.7002 -23 36.9004s9.5 29.9004 23 36.9004c-4.5 14.5 -1.60059 30.7998 9.89941 42.2998s27.7998 14.5 42.2998 9.89941c7 13.5 20.7002 23 36.9004 23
+s29.9004 -9.5 36.9004 -23c14.5 4.5 30.7998 1.60059 42.2998 -9.89941c11.3994 -11.5 14.3994 -27.7998 9.7998 -42.2998zM512 224c0 -53 -43 -96 -96 -96h-43.4004c-3.5 8 -8.39941 15.4004 -14.7998 21.7998c-13.5 13.5 -31.5 21.1006 -50.7998 21.2998
+c-13.5 13.2002 -31.7002 20.9004 -51 20.9004s-37.5 -7.7002 -51 -20.9004c-19.2998 -0.199219 -37.2998 -7.7998 -50.7998 -21.2998c-6.40039 -6.39941 -11.2002 -13.7998 -14.7998 -21.7998h-43.4004c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998
+c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.0996 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80c0 -5.59961 -0.5 -11 -1.59961 -16.2002
+c0.5 0 1 0.200195 1.59961 0.200195c53 0 96 -43 96 -96z" />
+ <glyph glyph-name="cloud-moon-rain" unicode="&#xf73c;" horiz-adv-x="575"
+d="M350.5 222.5c37.2998 -6.7998 65.5 -39.2998 65.5 -78.5c0 -44.2002 -35.7998 -80 -80 -80h-256c-44.2002 0 -80 35.7998 -80 80c0 38.7998 27.5996 71.0996 64.2002 78.4004c0 0.5 -0.200195 1.09961 -0.200195 1.59961c0 53 43 96 96 96
+c32.0996 0 60.2998 -15.9004 77.7002 -40c10.3994 5 22 8 34.2998 8c39.2002 0 71.5996 -28.2998 78.5 -65.5zM567.9 224.2c6.19922 1.2002 10.5996 -6 6.39941 -10.7998c-27 -33.1006 -67.8994 -53.3008 -112.6 -53.3008c-5.2002 0 -10.1006 1 -15.2002 1.5
+c-6.2002 39.4004 -33.0996 72.5 -70.2002 86.8008c-10.7002 27.8994 -32.2002 49.7998 -58.8994 61.6992c3.2998 76.7002 66.5 137.9 144.399 137.9c8.90039 0 17.7998 -0.799805 26.5 -2.40039c6.2002 -1.09961 7.60059 -9.39941 2.10059 -12.5
+c-35.6006 -20.0996 -57.5 -57.5 -57.5 -98.0996c0 -70.5 64.5996 -124.1 135 -110.8zM364.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961
+c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM268.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961
+c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM172.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64
+c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM76.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008
+l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6z" />
+ <glyph glyph-name="cloud-rain" unicode="&#xf73d;"
+d="M416 320c53 0 96 -43 96 -96s-43 -96 -96 -96h-320c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.0996 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998
+c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80c0 -5.59961 -0.5 -11 -1.59961 -16.2002c0.5 0 1 0.200195 1.59961 0.200195zM88 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002
+c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996c0 31.3008 27.2002 43.3008 40 87.7002zM248 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996
+c0 31.3008 27.2002 43.3008 40 87.7002zM408 73.7998c2.5 8.5 13.7998 8.10059 16 0c12.7998 -44.5996 40 -56.2998 40 -87.7002c0 -27.6992 -21.5 -50.0996 -48 -50.0996s-48 22.4004 -48 50.0996c0 31.3008 27.2002 43.3008 40 87.7002z" />
+ <glyph glyph-name="cloud-showers-heavy" unicode="&#xf740;"
+d="M183.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112
+c4.40039 7.7998 14.2002 10.3994 21.8008 6zM279.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008
+l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM87.9004 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961
+c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM471.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961
+c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM375.9 77.9004c7.69922 -4.40039 10.3994 -14.2002 6 -21.8008l-64 -112
+c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.30078 -10.3994 14.1006 -6 21.8008l64 112c4.40039 7.7998 14.2002 10.3994 21.8008 6zM416 320c53 0 96 -43 96 -96s-43 -96 -96 -96h-320
+c-53 0 -96 43 -96 96c0 42.5 27.7998 78.2002 66.0996 90.7998c-1.2998 6.90039 -2.09961 13.9004 -2.09961 21.2002c0 61.9004 50.2002 112 112 112c43.2998 0 80.4004 -24.7998 99 -60.7998c14.7002 17.5 36.4004 28.7998 61 28.7998c44.2002 0 80 -35.7998 80 -80
+c0 -5.59961 -0.5 -11 -1.59961 -16.2002c0.5 0 1 0.200195 1.59961 0.200195z" />
+ <glyph glyph-name="cloud-sun-rain" unicode="&#xf743;" horiz-adv-x="576"
+d="M510.5 222.5c37.2998 -6.7998 65.5 -39.2998 65.5 -78.5c0 -44.2002 -35.7998 -80 -80 -80h-256c-44.2002 0 -80 35.7998 -80 80c0 38.7998 27.5996 71 64.2002 78.4004c0 0.5 -0.200195 1.09961 -0.200195 1.59961c0 53 43 96 96 96
+c32.0996 0 60.2998 -15.9004 77.7002 -40c10.3994 5 22 8 34.2998 8c39.2002 0 71.5996 -28.2998 78.5 -65.5zM124.1 188.1c3.10059 -3.09961 6.60059 -5.59961 10.2002 -8.2998c-3.89941 -11.3994 -6.2002 -23.3994 -6.2002 -35.8994c0 -2.5 0.5 -4.80078 0.700195 -7.2002
+l-59.2002 -19.7002c-10.1992 -3.2998 -19.8994 6.2998 -16.5 16.5l25.1006 75.2998l-71 35.5c-9.60059 4.7998 -9.60059 18.5 0 23.2998l71 35.5l-25.1006 75.3008c-3.39941 10.1992 6.2002 19.8994 16.4004 16.5l75.2998 -25.1006l35.5 71
+c4.7998 9.60059 18.5 9.60059 23.2998 0l35.5 -71l75.3008 25.1006c10.1992 3.39941 19.8994 -6.2002 16.5 -16.4004l-8.90039 -26.7002c-0.700195 0 -1.2998 0.200195 -2 0.200195c-25.5996 0 -49.2002 -7.7998 -69.2002 -20.7002
+c-37.5996 29.4004 -92.0996 27.2002 -126.7 -7.39941c-37.3994 -37.5 -37.3994 -98.4004 0 -135.801zM193.9 246.1c-18.2002 -8.2998 -33.5 -21.2998 -44.8008 -37.1992c-12.8994 11.6992 -21.0996 28.3994 -21.0996 47.0996c0 35.2998 28.7002 64 64 64
+c12.4004 0 24 -3.7002 33.7998 -9.90039c-16.0996 -17.5996 -27.5996 -39.5 -31.8994 -64zM524.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961
+c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM428.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961
+c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM332.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008l-36.5996 -64
+c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6zM236.5 29.9004c7.7002 -4.40039 10.2998 -14.1006 6 -21.8008
+l-36.5996 -64c-3 -5.19922 -8.40039 -8.09961 -13.9004 -8.09961c-2.7002 0 -5.40039 0.700195 -7.90039 2.09961c-7.69922 4.40039 -10.3994 14.1006 -6 21.8008l36.6006 64c4.39941 7.7998 14.2002 10.2998 21.7998 6z" />
+ <glyph glyph-name="democrat" unicode="&#xf747;" horiz-adv-x="639"
+d="M637.3 191.1c4.90039 -7.39941 2.90039 -17.2998 -4.39941 -22.2998l-26.6006 -17.7002c-7.39941 -4.89941 -17.2998 -3 -22.2002 4.40039c-21.7998 32.7002 -23.8994 38.0996 -40.0996 50.2998v-77.7998h-352l-54 108l-38.0996 -34.5996
+c-6 -6 -14.1006 -9.40039 -22.6006 -9.40039h-31c-12.0996 0 -23.2002 6.90039 -28.5996 17.7002l-14.2998 28.5996c-5.40039 10.7998 -4.30078 23.7998 3 33.5l74.5996 99.2998c1.7002 2.30078 4.2002 3.7002 6.40039 5.40039c-4 2.2002 -8 4.2002 -11.3008 7.5
+c-16.3994 16.4004 -18.3994 41.7998 -6.09961 60.4004c2.7998 4.19922 8.7998 4.7998 12.4004 1.19922l42.8994 -42.7998l41.7998 41.7998c4.40039 4.40039 11.8008 3.7002 15.2002 -1.5c15.1006 -22.7998 12.6006 -53.7998 -7.5 -73.8994l81.2002 -81.2002h235.6
+c50.8008 0 97.9004 -25.2002 126.101 -67.5zM296.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5
+l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM408.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998
+l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002
+l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM520.2 204.7c3 2.89941 1.39941 7.89941 -2.60059 8.5l-22.7998 3.2998l-10.2002 20.7002c-1.89941 3.7002 -7.19922 3.7002 -9 0l-10.1992 -20.7002l-22.8008 -3.2998
+c-4.09961 -0.600586 -5.7998 -5.60059 -2.7998 -8.5l16.5 -16.1006l-3.89941 -22.6992c-0.700195 -4.10059 3.59961 -7.2002 7.19922 -5.30078l20.4004 10.7002l20.4004 -10.7002c3.59961 -1.89941 7.89941 1.2002 7.19922 5.30078l-3.89941 22.6992zM192 -48v144h352v-144
+c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16v80h-160v-80c0 -8.7998 -7.2002 -16 -16 -16h-64c-8.7998 0 -16 7.2002 -16 16z" />
+ <glyph glyph-name="flag-usa" unicode="&#xf74d;"
+d="M32 448c17.7002 0 32 -14.2998 32 -32v-464c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v464c0 17.7002 14.2998 32 32 32zM299.9 144.4c31.0996 -8.2002 62.5996 -16.5 100 -16.6006c31.8994 0 68.5 6.7998 112.1 24.1006v-36
+c0 -12.3008 -7.09961 -23.8008 -18.5 -28.8008c-175.8 -76.3994 -211.8 69.1006 -397.5 -23.0996v69.2998c92.2002 39.9004 146.7 26.2002 203.9 11.1006zM299.9 240.4c31.0996 -8.2002 62.5996 -16.5 100 -16.5c31.8994 0 68.5 6.7998 112.1 24.0996v-61.5
+c-92.2002 -39.9004 -146.7 -26.2002 -203.9 -11.0996c-57.5 15.0996 -117.3 30 -212.1 -7.60059v61.5c92.2002 39.9004 146.7 26.2002 203.9 11.1006zM309.4 366.3c-7 2.10059 -14.1006 4.2002 -21.3008 6.2002v-33.2002c4 -1.09961 8.10059 -2.2998 12.1006 -3.5
+c26.7002 -8.09961 52.8994 -15.8994 85.7002 -15.8994c32.7998 0 72.5 7.89941 126.1 31.3994v-68.8994c-92.2002 -39.8008 -146.7 -26.1006 -203.9 -11.1006c-57.5 15.1006 -117.3 29.9004 -212.1 -7.59961v151.899c209.4 94.6006 195.3 -59.0996 366.6 28.2002
+c22.6006 11.5 49.4004 -1.5 49.4004 -26.5996v-30.7998c-105.2 -49.1006 -150.8 -35.7002 -202.6 -20.1006zM160 319.9c8.7998 0 16 7.09961 16 16c0 8.89941 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16zM160 375.7c8.7998 0 16 7.2002 16 16
+c0 8.89941 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16zM224 327.8c8.7998 0 16 7.2002 16 16c0 8.90039 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.89941 7.2002 -16 16 -16zM224 383.7c8.7998 0 16 7.2002 16 16c0 8.89941 -7.2002 16 -16 16
+s-16 -7.2002 -16 -16c0 -8.90039 7.2002 -16 16 -16z" />
+ <glyph glyph-name="meteor" unicode="&#xf753;"
+d="M491.2 447.3c12.3994 3.7002 23.7998 -7.7002 20.2002 -20.0996c-11.6006 -38.7002 -34.3008 -111.7 -61.3008 -187.7c7 -2.09961 13.4004 -4 18.6006 -5.59961c9.7002 -3 14.2002 -13.9004 9.5 -22.9004c-22.1006 -42.2998 -82.7002 -152.8 -142.5 -214.4
+c-1 -1.09961 -2 -2.5 -3 -3.5c-38.1006 -38.0996 -88 -57.0996 -137.9 -57.0996c-49.8994 -0.0996094 -99.7998 19 -137.8 57c-38 38.0996 -57 88 -57 137.8c0 49.9004 19 99.7998 57.0996 137.8c1 1 2.40039 2 3.5 3c61.6006 59.9004 172 120.4 214.4 142.5
+c9 4.7002 19.9004 0.200195 22.9004 -9.5c1.59961 -5.09961 3.5 -11.5996 5.59961 -18.5996c75.9004 27 149 49.7002 187.7 61.2998zM192 0c70.7002 0 128 57.2998 128 128s-57.2998 128 -128 128s-128 -57.2998 -128 -128s57.2998 -128 128 -128zM160 192
+c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM208 96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16s-16 7.2002 -16 16s7.2002 16 16 16z" />
+ <glyph glyph-name="person-booth" unicode="&#xf756;" horiz-adv-x="576"
+d="M192 -48v176h64v-176c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16zM224 224c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32h-57.5c-12.7998 0 -24.7998 5 -33.9004 14.0996l-20.8994 20.9004v-80.5996l41.2002 -61.3008
+c4.39941 -8.7998 6.69922 -18.6992 6.69922 -28.5996v-56.5c0 -17.7002 -14.2998 -32 -32 -32c-17.6992 0 -32 14.2998 -32 32v56l-29.0996 43c-0.900391 0.400391 -1.59961 1.2002 -2.5 1.7002l-0.0996094 -100.7c0 -17.7002 -14.4004 -32 -32 -32
+c-17.6006 0 -31.9004 14.2998 -31.9004 32l0.200195 160l-0.200195 95.9004c0 17.0996 6.7002 33.1992 18.7002 45.2998c12.0996 12.0996 28.2002 18.7998 45.2998 18.7998h18.7002c17 0 33.0996 -6.59961 45.2002 -18.7002l45.1992 -45.2998h50.9004zM64 320
+c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM288 416v32h192v-416c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c0 -17.7002 -14.2998 -32 -32 -32c-17.0996 0 -30.7998 13.5 -31.7002 30.4004
+c-4.2998 -21.3008 -17.0996 -30.4004 -32.2998 -30.4004c-18.4004 0 -35.7002 16.7002 -31.4004 38.2998l30.9004 154.601zM192 416c0 17.7002 14.2998 32 32 32h32v-192h-64v160zM544 448c17.7002 0 32 -14.2998 32 -32v-464c0 -8.7998 -7.2002 -16 -16 -16h-32
+c-8.7998 0 -16 7.2002 -16 16v496h32z" />
+ <glyph glyph-name="poo-storm" unicode="&#xf75a;" horiz-adv-x="447"
+d="M308 112c9.2002 0 15 -10 10.4004 -18l-88 -152c-2.2002 -3.7998 -6.2002 -6 -10.4004 -6c-7.7002 0 -13.5 7.2002 -11.7002 14.7998l23 97.2002h-59.2998c-7.2998 0 -12.9004 6.40039 -11.9004 13.5996l16 120c0.800781 5.90039 5.90039 10.4004 11.9004 10.4004h68
+c7.90039 0 13.5996 -7.5 11.5996 -15.0996l-17.2998 -64.9004h57.7002zM374.4 223.3c41 -3.2998 73.5996 -37.5 73.5 -79.2998c0 -44 -36 -80 -80 -80h-30l8.09961 14c7.7998 13.5 7.7998 30.4004 0 44s-22.4004 22 -38.0996 22h-16l6.59961 24.7002
+c3.59961 13.2998 0.799805 27.2002 -7.59961 38.0996c-8.40039 10.9004 -21.1006 17.2002 -34.9004 17.2002h-68c-22 0 -40.7002 -16.4004 -43.7002 -38.2002l-16 -120c0 -0.599609 0.100586 -1.2002 0 -1.7998h-48.2998c-44 0 -80 36 -80 80
+c0 41.7998 32.5996 76 73.5996 79.2998c-5.89941 9.60059 -9.59961 20.6006 -9.59961 32.7002c0 35.2998 28.7002 64 64 64h16c44.2002 0 80 35.7998 80 80c0 17.4004 -5.7002 33.4004 -15.0996 46.5c4.89941 0.799805 9.89941 1.5 15.0996 1.5c53 0 96 -43 96 -96
+c0 -11.2998 -2.2998 -21.9004 -5.90039 -32h5.90039c35.2998 0 64 -28.7002 64 -64c0 -12.0996 -3.7002 -23.0996 -9.59961 -32.7002z" />
+ <glyph glyph-name="rainbow" unicode="&#xf75b;" horiz-adv-x="576"
+d="M268.3 415.3c167.7 11.2998 307.7 -122 307.7 -287.3v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v136.2c0 113.8 -81.5996 215.399 -194.5 229.899c-136.6 17.6006 -253.5 -88.8994 -253.5 -222.1v-144c0 -8.7998 -7.2002 -16 -16 -16h-32
+c-8.7998 0 -16 7.2002 -16 16v133.8c0 153.3 115.4 287.3 268.3 297.5zM262.7 318.4c117.1 15 217.3 -76.2002 217.3 -190.4v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v138.3c0 66.9004 -48.7002 126.601 -115.2 133.101
+c-76.2998 7.39941 -140.8 -52.6006 -140.8 -127.4v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v137.3c0 97.6006 70 184.7 166.7 197.101zM268.9 222.1c61.2998 11.9004 115.1 -34.8994 115.1 -94.0996v-144c0 -8.7998 -7.2002 -16 -16 -16h-32
+c-8.7998 0 -16 7.2002 -16 16v144c0 17.5996 -14.2998 32 -32 32s-32 -14.4004 -32 -32v-144c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v140.2c0 46.3994 31.2998 89 76.9004 97.8994z" />
+ <glyph glyph-name="republican" unicode="&#xf75e;" horiz-adv-x="640"
+d="M544 256v-64h-544v64c0 88.4004 71.5996 160 160 160h224c88.4004 0 160 -71.5996 160 -160zM176.3 277.6c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0l-12.1992 -24.7998l-27.4004 -4
+c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998zM320.3 277.6
+c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0l-12.1992 -24.7998l-27.4004 -4c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998
+c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998zM464.3 277.6c3.5 3.5 1.60059 9.5 -3.39941 10.2002l-27.4004 4l-12.2002 24.7998c-2.09961 4.40039 -8.5 4.5 -10.7002 0
+l-12.1992 -24.7998l-27.4004 -4c-4.90039 -0.700195 -6.90039 -6.7002 -3.2998 -10.2002l19.7998 -19.2998l-4.7002 -27.2998c-0.799805 -4.90039 4.40039 -8.59961 8.7002 -6.2998l24.5 12.8994l24.5 -12.8994c4.40039 -2.2998 9.5 1.39941 8.7002 6.2998l-4.7002 27.2998z
+M624 128c8.7998 0 16 -7.2002 16 -16v-64c0 -46.9004 -40.5996 -84.5 -88.4004 -79.5996c-41.5996 4.19922 -71.5996 42.5 -71.5996 84.2998v43.2998h-32v-112c0 -8.7998 -7.2002 -16 -16 -16h-96c-8.7998 0 -16 7.2002 -16 16v80h-192v-80c0 -8.7998 -7.2002 -16 -16 -16
+h-96c-8.7998 0 -16 7.2002 -16 16v176h544v-112c0 -8.7998 7.2002 -16 16 -16s16 7.2002 16 16v64c0 8.7998 7.2002 16 16 16h32z" />
+ <glyph glyph-name="smog" unicode="&#xf75f;" horiz-adv-x="640"
+d="M624 80c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-544c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h544zM144 -16c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-128c-8.7998 0 -16 7.2002 -16 16v16
+c0 8.7998 7.2002 16 16 16h128zM560 -16c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16h-336c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h336zM144 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144c41 0 77.7998 -17.2998 104 -44.7998
+c26.2002 27.5 63 44.7998 104 44.7998c54.7998 0 102 -31 126.3 -76.0996c15 7.5 31.7002 12.0996 49.7002 12.0996c61.9004 0 112 -50.0996 112 -112s-50.0996 -112 -112 -112h-60.0996c-22.6006 -19.7002 -51.6006 -32 -83.9004 -32s-61.4004 12.2998 -83.9004 32h-156.1z
+" />
+ <glyph glyph-name="temperature-high" unicode="&#xf769;"
+d="M416 448c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM416 320c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 336v-166.5c19.7002 -24.5996 32 -55.5 32 -89.5
+c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144c0 34 12.2998 64.7998 32 89.5v166.5c0 61.9004 50.0996 112 112 112s112 -50.0996 112 -112zM144 0c44.0996 0 80 35.9004 80 80c0 25.5 -12.2002 49 -32 63.7998v192.2c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-192.2
+c-19.7998 -14.8994 -32 -38.2998 -32 -63.7998c0 -44.0996 35.9004 -80 80 -80zM160 125.1c18.5996 -6.59961 32 -24.1992 32 -45.0996c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 20.9004 13.4004 38.5 32 45.0996v210.9c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16
+v-210.9z" />
+ <glyph glyph-name="temperature-low" unicode="&#xf76b;"
+d="M416 448c52.9004 0 96 -43.0996 96 -96s-43.0996 -96 -96 -96s-96 43.0996 -96 96s43.0996 96 96 96zM416 320c17.7002 0 32 14.2998 32 32s-14.2998 32 -32 32s-32 -14.2998 -32 -32s14.2998 -32 32 -32zM256 336v-166.5c19.7002 -24.5996 32 -55.5 32 -89.5
+c0 -79.5 -64.5 -144 -144 -144s-144 64.5 -144 144c0 34 12.2998 64.7998 32 89.5v166.5c0 61.9004 50.0996 112 112 112s112 -50.0996 112 -112zM144 0c44.0996 0 80 35.9004 80 80c0 25.5 -12.2002 49 -32 63.7998v192.2c0 26.5 -21.5 48 -48 48s-48 -21.5 -48 -48v-192.2
+c-19.7998 -14.8994 -32 -38.2998 -32 -63.7998c0 -44.0996 35.9004 -80 80 -80zM160 125.1c18.5996 -6.59961 32 -24.1992 32 -45.0996c0 -26.5 -21.5 -48 -48 -48s-48 21.5 -48 48c0 20.9004 13.4004 38.5 32 45.0996v18.9004c0 8.7998 7.2002 16 16 16s16 -7.2002 16 -16
+v-18.9004z" />
+ <glyph glyph-name="vote-yea" unicode="&#xf772;" horiz-adv-x="640"
+d="M608 128c17.7002 0 32 -14.2998 32 -32v-96c0 -17.7002 -14.2998 -32 -32 -32h-576c-17.7002 0 -32 14.2998 -32 32v96c0 17.7002 14.2998 32 32 32h64v-64h-22.4004c-5.2998 0 -9.59961 -3.59961 -9.59961 -8v-16c0 -4.40039 4.2998 -8 9.59961 -8h492.801
+c5.2998 0 9.59961 3.59961 9.59961 8v16c0 4.40039 -4.2998 8 -9.59961 8h-22.4004v64h64zM512 64h-384v319.7c0 17.7998 14.5 32.2998 32.4004 32.2998h319.3c17.7998 0 32.2998 -14.4004 32.2998 -32.2998v-319.7zM211.2 246c-4.2002 -4.2002 -4.2998 -11 0 -15.2002
+l74.0996 -74.7002c4.2002 -4.2998 11 -4.2998 15.2002 -0.0996094l128.3 127.2c4.2998 4.2002 4.2998 11 0.100586 15.2002l-25.3008 25.5c-4.19922 4.2998 -11 4.2998 -15.1992 0.0996094l-95.2002 -94.4004l-41.2998 41.6006
+c-4.2002 4.2998 -11 4.2998 -15.2002 0.0996094z" />
+ <glyph glyph-name="water" unicode="&#xf773;" horiz-adv-x="575"
+d="M562.1 64.0996c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0
+c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2
+c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.5 57.8994 -22.9004zM562.1 208.1
+c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0
+c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2
+c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.5 57.8994 -22.9004zM562.1 352.1
+c8.10059 -0.899414 13.9004 -8.2998 13.8008 -16.2998v-31.5996c0 -9.10059 -7.60059 -16.7998 -16.7002 -16c-28.2002 2.5 -55.7998 11.5996 -79.1006 25.7998c-55 -34.0996 -135.5 -34.5996 -192 0c-55 -34.0996 -135.5 -34.5996 -192 0
+c-23.2998 -14.5 -50.5996 -23.4004 -79.3994 -25.9004c-9.10059 -0.799805 -16.7002 6.90039 -16.7002 16v32.2002c0 7.90039 5.7002 14.9004 13.5996 15.7002c21.7002 2.2998 42.2002 10.2002 57.7002 22.4004c13.7998 10.8994 33.6006 13.1992 47.1006 2
+c38.2998 -31.7002 107.199 -31.8008 145.199 -1.7002c13.7002 10.8994 33.2002 13 46.7002 1.7998c38.5 -31.9004 107.8 -31.9004 145.7 -1.5c14 11.2998 34.0996 11.0996 48.2002 0c15.7998 -12.4004 36.3994 -20.4004 57.8994 -22.9004z" />
+ <glyph glyph-name="baby" unicode="&#xf77c;" horiz-adv-x="384"
+d="M192 288c-44.2002 0 -80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80s-35.7998 -80 -80 -80zM138.6 39.2002l29.4004 -39.2002c13.2002 -17.7002 9.7002 -42.7998 -8 -56c-7.2002 -5.40039 -15.7002 -8 -24 -8c-12.0996 0 -24.0996 5.5 -32 16l-48 64
+c-10.9004 14.5996 -10.5996 34.7998 0.799805 49l45.9004 57.4004l61.5 -51.2002zM281.3 122.4l45.9004 -57.4004c11.3994 -14.2002 11.7002 -34.4004 0.799805 -49l-48 -64c-7.7998 -10.5 -19.7998 -16 -32 -16c-8.40039 0 -16.7998 2.59961 -24 8
+c-17.7002 13.2002 -21.2002 38.2998 -8 56l29.4004 39.2002l-25.6006 32zM376.7 303c12.7002 -18.0996 8.39941 -43 -9.7002 -55.7998l-40.5996 -28.5c-17 -11.9004 -35.4004 -20.9004 -54.4004 -27.9004v-30.7998h-160v30.9004c-19 7 -37.4004 16 -54.4004 27.8994
+l-40.5996 28.5c-18 12.7002 -22.4004 37.6006 -9.7002 55.7002c12.7002 18 37.6006 22.4004 55.7002 9.7002l40.5996 -28.4004c52.6006 -37 124.101 -37 176.801 0l40.5996 28.5c18.0996 12.6006 43 8.2998 55.7002 -9.7998z" />
+ <glyph glyph-name="baby-carriage" unicode="&#xf77d;"
+d="M144.8 431l111.2 -175h-256c0 74 35.2998 140.1 90.7998 184.4c16.7998 13.3994 42.7002 8.39941 54 -9.40039zM496 352c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-48v-64c0 -50.5996 -23 -96.4004 -60.2998 -130.7
+c34.5996 -8.89941 60.2998 -40 60.2998 -77.2998c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 8.90039 1.7002 17.2002 4.40039 25.2002c-21.5 -5.90039 -44.6006 -9.2002 -68.4004 -9.2002s-46.7998 3.2998 -68.4004 9.2002
+c2.60059 -8 4.40039 -16.2998 4.40039 -25.2002c0 -44.2002 -35.7998 -80 -80 -80s-80 35.7998 -80 80c0 37.2998 25.7002 68.4004 60.2998 77.2998c-37.2998 34.2998 -60.2998 80.1006 -60.2998 130.7h384v64c0 35.2998 28.7002 64 64 64h48zM80 -16
+c17.5996 0 32 14.4004 32 32s-14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32zM400 16c0 17.5996 -14.4004 32 -32 32s-32 -14.4004 -32 -32s14.4004 -32 32 -32s32 14.4004 32 32z" />
+ <glyph glyph-name="biohazard" unicode="&#xf780;" horiz-adv-x="575"
+d="M287.9 336c-18.5 0 -36 -3.7998 -52.5 -9.5c-13.3008 10.2998 -23.6006 24.2998 -29.5 40.7002c25.1992 10.8994 53 16.8994 82.0996 16.8994c29.2002 0 57 -6.09961 82.2002 -17c-5.90039 -16.3994 -16.2002 -30.3994 -29.5 -40.6992
+c-16.6006 5.7998 -34.2002 9.59961 -52.7998 9.59961zM163.6 9.2998c-47.5 35.5 -79.1992 90.7002 -83.2998 153.5c7.2998 2.10059 14.9004 3.10059 22.5 3.10059c9.2002 0 17.9004 -1.80078 26.4004 -4.60059c4.09961 -44.2998 26 -83.2002 58.8994 -109.6
+c-4.09961 -16 -12.5 -30.6006 -24.5 -42.4004zM387.8 51.9004c32.7002 26.3994 54.6006 65.0996 58.7002 109.3c8.59961 2.7998 17.4004 4.7002 26.5996 4.7002c7.5 0 15 -1 22.2002 -3c-3.89941 -62.8008 -35.5996 -118 -83 -153.5c-12 11.7998 -20.3994 26.5 -24.5 42.5z
+M501.3 256.9c34.6006 -20.4004 61 -53.3008 74.1006 -92.4004c1.2998 -3.7002 -0.200195 -7.7998 -3.5 -9.7998c-3.30078 -2 -7.5 -1.2998 -10 1.59961c-9.40039 10.7998 -19 19 -29.2002 25.1006c-57.2998 33.8994 -130.8 13.6992 -163.9 -45
+c-33.0996 -58.7002 -13.3994 -134 43.9004 -167.9c10.2002 -6.09961 21.8994 -10.5 35.7998 -13.4004c3.7998 -0.799805 6.40039 -4.19922 6.40039 -8.09961c-0.100586 -4 -2.7002 -7.2998 -6.5 -8c-39.7002 -7.7998 -80.6006 -0.799805 -115.2 19.7002
+c-18 10.5996 -32.9004 24.5 -45.2998 40.0996c-12.4004 -15.5996 -27.3008 -29.5 -45.3008 -40.0996c-34.5996 -20.5 -75.5 -27.5 -115.199 -19.7002c-3.80078 0.700195 -6.40039 4 -6.5 8c0 3.90039 2.69922 7.2998 6.39941 8.09961
+c13.7998 3 25.6006 7.30078 35.7998 13.4004c57.3008 33.9004 77 109.2 43.9004 167.9c-33.0996 58.6992 -106.6 78.8994 -163.9 45c-10.1992 -6 -19.7998 -14.3008 -29.1992 -25.1006c-2.5 -2.89941 -6.7002 -3.59961 -10 -1.59961
+c-3.30078 2.09961 -4.80078 6.09961 -3.5 9.7998c13.2998 39.0996 39.6992 71.9004 74.2998 92.4004c17.5996 10.3994 36.3994 16.5996 55.2998 19.8994c-6.09961 17.7002 -10 36.4004 -10 56.2002c0 41 14.5996 80.7998 41 112.2c2.5 3 6.59961 3.7002 10 1.7998
+c3.2998 -1.90039 4.7998 -6 3.59961 -9.7002c-4.39941 -13.7998 -6.59961 -26.3994 -6.59961 -38.5c0 -67.7998 53.7998 -122.899 120 -122.899s120 55.0996 120 122.899c0 12.2002 -2.09961 24.7002 -6.59961 38.5c-1.2002 3.7002 0.299805 7.7998 3.59961 9.7002
+c3.40039 1.90039 7.5 1.2002 10 -1.7998c26.5 -31.4004 41 -71.2002 41 -112.2c0 -19.7998 -4 -38.5 -10 -56.2002c19 -3.2998 37.7002 -9.5 55.2998 -19.8994zM287.9 127.9c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
+ <glyph glyph-name="blog" unicode="&#xf781;" horiz-adv-x="511"
+d="M172.2 221.2c75.5 -15 129.899 -89.2998 112.5 -172.2c-11.4004 -54.2998 -55.2998 -98.2998 -109.7 -109.7c-92.9004 -19.5 -175 51.2002 -175 140.7v248c0 13.2998 10.7002 24 24 24h48c13.2998 0 24 -10.7002 24 -24v-248c0 -26.5 21.5 -48 48 -48s48 21.5 48 48
+c0 20.5996 -13.0996 38.2002 -31.2998 45c-9.60059 3.59961 -16.7002 11.7998 -16.7002 22v50.4004c0 14.8994 13.5996 26.6992 28.2002 23.7998zM209 448c163.2 -8.59961 294.4 -139.8 302.9 -303c0.5 -9.2002 -6.80078 -17 -16 -17h-32.1006
+c-8.39941 0 -15.3994 6.59961 -15.8994 15c-7.5 129.5 -111.5 234.5 -240.9 241.5c-8.40039 0.400391 -15 7.40039 -15 15.9004v31.5996c0 9.2002 7.7998 16.5 17 16zM209.3 352c110.101 -8.5 198.2 -96.5996 206.601 -206.7
+c0.699219 -9.2998 -6.80078 -17.2998 -16.1006 -17.2998h-32.2002c-8.2998 0 -15.0996 6.40039 -15.8994 14.7002c-6.90039 77 -68.1006 138.899 -144.9 145.2c-8.2998 0.599609 -14.7998 7.5 -14.7998 15.8994v32.1006c0 9.39941 8 16.7998 17.2998 16.0996z" />
+ <glyph glyph-name="calendar-day" unicode="&#xf783;" horiz-adv-x="448"
+d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM64 176v-96c0 -8.7998 7.2002 -16 16 -16h96c8.7998 0 16 7.2002 16 16v96c0 8.7998 -7.2002 16 -16 16h-96c-8.7998 0 -16 -7.2002 -16 -16zM400 384c26.5 0 48 -21.5 48 -48v-48h-448v48
+c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" />
+ <glyph glyph-name="calendar-week" unicode="&#xf784;" horiz-adv-x="448"
+d="M0 -16v272h448v-272c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48zM64 176v-64c0 -8.7998 7.2002 -16 16 -16h288c8.7998 0 16 7.2002 16 16v64c0 8.7998 -7.2002 16 -16 16h-288c-8.7998 0 -16 -7.2002 -16 -16zM400 384c26.5 0 48 -21.5 48 -48v-48h-448
+v48c0 26.5 21.5 48 48 48h48v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h128v48c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-48h48z" />
+ <glyph glyph-name="candy-cane" unicode="&#xf786;"
+d="M497.5 356c35.7002 -75.5 2.7998 -166.1 -68.9004 -209l-347.3 -206.5c-5.2002 -3 -10.7998 -4.5 -16.3994 -4.5c-10.9004 0 -21.5 5.59961 -27.5 15.5996l-32.8008 54.9004c-9.09961 15.2002 -4.19922 34.7998 11 43.9004l353.601 210.1
+c15.0996 9.09961 20.0996 28.7998 11 43.9004c-6 10 -16.6006 15.5996 -27.5 15.5996c-5.60059 0 -11.2998 -1.40039 -16.4004 -4.5l-27.5 -16.4004c-5.2002 -3 -10.7998 -4.5 -16.3994 -4.5c-10.9004 0 -21.5 5.60059 -27.5 15.6006l-32.8008 54.8994
+c-9.09961 15.2002 -4.19922 34.8008 11 43.9004l27.5 16.4004c25.6006 15.2998 53.9004 22.5996 81.8008 22.5996c59.3994 0 117.199 -33.0996 145.1 -92zM319.8 343c8.5 5.09961 18.1006 7.59961 27.9004 8.40039l-20.6006 61.7998
+c-10.5 -2.10059 -20.5996 -5.5 -30.2998 -10.2002l20.5 -61.5zM145.9 16.2002l30.7998 18.2998l-60.5 38.5l-30.7998 -18.2998zM253.4 80.0996l30.7998 18.3008l-60.5 38.5l-30.7998 -18.3008zM364.3 146l30.7998 18.2998l-60.5 38.5l-30.7998 -18.2998zM384.7 343.3
+c9.2002 -5.39941 17.2002 -13 22.8994 -22.2998l45.7002 45.7002c-6.59961 8.5 -14.2002 16.0996 -22.5996 22.5996zM466.8 235.5c4.60059 9.7998 8 20 10.1006 30.4004l-60.4004 20.0996c-0.0996094 -4.5 -0.700195 -9.09961 -1.7998 -13.5996
+c-1.60059 -6.2002 -4.2002 -11.8008 -7.40039 -17.1006z" />
+ <glyph glyph-name="carrot" unicode="&#xf787;"
+d="M298.2 291.4c61.7002 -30.1006 87.2998 -104.5 57.2002 -166.2c-12.6006 -25.7998 -33.1006 -45.4004 -57.1006 -57.1006l-102 -49.7998l-57 57c-6.2002 6.2002 -16.2998 6.2002 -22.5996 0s-6.2998 -16.3994 0 -22.5996l49.2002 -49.2002l-133.601 -65.2002
+c-11.0996 -5.39941 -24.5996 -0.799805 -30 10.2998c-3.09961 6.40039 -2.89941 13.7002 0 19.7002l128.101 262.7l50.1992 -50.2002c3.10059 -3.09961 7.2002 -4.7002 11.3008 -4.7002c4.09961 0 8.19922 1.60059 11.2998 4.7002c6.2998 6.2002 6.2998 16.2998 0 22.6006
+l-55.2002 55.1992c35.7002 43.3008 97.5 58.5 150.2 32.8008zM390.3 326.3c40.7002 19.5 88.7998 9.40039 121.7 -30.2998c-41.5996 -50.2998 -107.5 -52.5 -151.9 -7.90039l-8 8c-44.5996 44.4004 -42.3994 110.2 7.90039 151.9
+c39.7002 -32.9004 49.7998 -81 30.2998 -121.7z" />
+ <glyph glyph-name="cash-register" unicode="&#xf788;"
+d="M511.1 69.2002c0.600586 -3.5 0.900391 -7 0.800781 -10.5v-90.7002c0 -17.7002 -14.3008 -32 -32 -32h-448c-17.7002 0 -32 14.2998 -32 32v90.7998c0 3.5 0.299805 7 0.899414 10.5l26.7002 160c2.59961 15.4004 16 26.7002 31.5996 26.7002h84.9004v64h-96
+c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h256c8.7998 0 16 -7.2002 16 -16v-96.0996c0 -8.80078 -7.2002 -16 -16 -16h-96v-64h244.8c15.7002 0 29 -11.3008 31.6006 -26.7002zM280 200v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16
+c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16zM248 136c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16zM216 216h-16c-8.7998 0 -16 -7.2002 -16 -16v-16
+c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16zM80 368h192v32h-192v-32zM120 168c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16zM136 104
+c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16zM352 -8v16c0 4.40039 -3.59961 8 -8 8h-176c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h176c4.40039 0 8 3.59961 8 8
+zM376 104v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16c8.7998 0 16 7.2002 16 16zM424 184v16c0 8.7998 -7.2002 16 -16 16h-16c-8.7998 0 -16 -7.2002 -16 -16v-16c0 -8.7998 7.2002 -16 16 -16h16
+c8.7998 0 16 7.2002 16 16z" />
+ <glyph glyph-name="compress-arrows-alt" unicode="&#xf78c;"
+d="M200 160c13.2998 0 24 -10.7002 24 -24v-112c0 -21.4004 -25.7998 -32.0996 -40.9004 -17l-31.0996 33l-99.2998 -99.2998c-6.2002 -6.2002 -16.4004 -6.2002 -22.6006 0l-25.3994 25.3994c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l99.2002 99.2998l-32.9004 31
+c-15.0996 15.2002 -4.40039 41 17 41h112zM312 224c-13.2998 0 -24 10.7002 -24 24v112c0 21.4004 25.7998 32.0996 40.9004 17l31.0996 -33l99.2998 99.2998c6.2002 6.2002 16.4004 6.2002 22.6006 0l25.3994 -25.3994c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006
+l-99.2998 -99.2998l33 -31c15.0996 -15.0996 4.40039 -41 -17 -41h-112zM408 88l99.2998 -99.4004c6.2002 -6.19922 6.2002 -16.3994 0 -22.5996l-25.3994 -25.4004c-6.2002 -6.19922 -16.4004 -6.19922 -22.6006 0l-99.2998 99.3008l-31 -32.9004
+c-15.0996 -15.0996 -41 -4.40039 -41 17v112c0 13.2998 10.7002 24 24 24h112c21.4004 0 32.0996 -25.7998 17 -40.9004zM183 376.9c15.0996 15.0996 41 4.39941 41 -16.9004v-112c0 -13.2998 -10.7002 -24 -24 -24h-112c-21.4004 0 -32.0996 25.7998 -17 40.9004
+l33 31.0996l-99.2998 99.2998c-6.2002 6.2002 -6.2002 16.4004 0 22.6006l25.3994 25.3994c6.2002 6.2002 16.4004 6.2002 22.6006 0l99.2998 -99.2998z" />
+ <glyph glyph-name="dumpster" unicode="&#xf793;" horiz-adv-x="576"
+d="M560 288h-97.2998l-25.6006 128h98.9004c7.2998 0 13.7002 -5 15.5 -12.0996l24 -96c2.5 -10.1006 -5.09961 -19.9004 -15.5 -19.9004zM272 416v-128h-126.1l25.5996 128h100.5zM404.5 416l25.5996 -128h-126.1v128h100.5zM16 288c-10.4004 0 -18 9.7998 -15.5 19.9004
+l24 96c1.7998 7.09961 8.2002 12.0996 15.5 12.0996h98.9004l-25.6006 -128h-97.2998zM560 224c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-28l-20 -160v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16h-320v-16
+c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16l-20 160h-28c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h20l-4 32h512l-4 -32h20z" />
+ <glyph glyph-name="dumpster-fire" unicode="&#xf794;" horiz-adv-x="639"
+d="M418.7 343.9c-19.7002 -17.6006 -37.7002 -36.5 -53.9004 -55.8008h-60.7998v128h100.5l14.4004 -72zM272 416v-128h-126.1l25.5996 128h100.5zM461.3 343.9l-11.8994 10.5996l-12.3008 61.5h98.9004c7.2998 0 13.7002 -5 15.4004 -12.0996l24 -96
+c0.199219 -0.800781 -0.100586 -1.5 0 -2.30078c-1 1 -2 2.2002 -3.10059 3.10059l-21.2998 19l-21.2998 -19c-5.90039 -5.2002 -11.6006 -10.7002 -17.2998 -16.2998c-15.6006 17.7998 -32.9004 35.1992 -51.1006 51.5zM16 288c-10.4004 0 -18 9.7998 -15.5 19.9004l24 96
+c1.7998 7.09961 8.2002 12.0996 15.5 12.0996h98.9004l-25.6006 -128h-97.2998zM340.6 256c-32.6992 -46.7002 -52.5996 -93.7002 -52.5996 -129.6c0 -48.5 18.5996 -92.7002 48.7998 -126.4h-208.8v-16c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v16
+l-20 160h-28c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h20l-4 32h308.6zM551.1 284.8c51.8008 -46.2002 88.9004 -121.8 88.8008 -158.399c0 -87.5 -71.6006 -158.4 -160 -158.4c-88.4004 0 -160 70.9004 -160 158.4c0 49.2998 49.7998 130.899 120 193.6
+c27.3994 -24.4004 51.5 -50.5996 71 -76.4004c11.8994 14 25.2998 27.9004 40.1992 41.2002zM532.5 55.4004c33.4004 24.1992 41.2002 71.0996 22.5996 107.8c-2.2998 4.5 -4.89941 9.2002 -7.69922 14l-39.8008 -47s-62.3994 82.5 -67.0996 88.0996
+c-32.9004 -40.8994 -49.4004 -64.7998 -49.4004 -91.8994c0 -54.5 39.9004 -88 88.9004 -88c19.5996 0 37.7998 6.2998 52.5 17z" />
+ <glyph glyph-name="ethernet" unicode="&#xf796;"
+d="M496 256c8.7998 0 16 -7.2002 16 -16v-224c0 -8.7998 -7.2002 -16 -16 -16h-80v128h-32v-128h-64v128h-32v-128h-64v128h-32v-128h-64v128h-32v-128h-80c-8.7998 0 -16 7.2002 -16 16v224c0 8.7998 7.2002 16 16 16h48v48c0 8.7998 7.2002 16 16 16h48v48
+c0 8.7998 7.2002 16 16 16h224c8.7998 0 16 -7.2002 16 -16v-48h48c8.7998 0 16 -7.2002 16 -16v-48h48z" />
+ <glyph glyph-name="gifts" unicode="&#xf79c;" horiz-adv-x="640"
+d="M240.6 253.9c-27.7998 -6.90039 -48.5996 -32 -48.5996 -61.9004v-224c0 -11.7002 3.40039 -22.5 8.90039 -32h-168.9c-17.7002 0 -32 14.2998 -32 32v352c0 17.7002 14.2998 32 32 32h29.4004l-30.7002 22c-7.2002 5.09961 -8.7998 15.0996 -3.7002 22.2998l9.2998 13
+c5.10059 7.2002 15.1006 8.7998 22.2998 3.7002l32.1006 -22.7998l-11.5 30.5996c-3.2002 8.2002 1 17.5 9.2998 20.6006l15 5.59961c8.2998 3.09961 17.5 -1.09961 20.5996 -9.40039l19.9004 -53.0996l19.9004 53c3.09961 8.2998 12.2998 12.5 20.5996 9.40039l15 -5.60059
+c8.2998 -3.09961 12.5 -12.2998 9.40039 -20.5996l-11.5 -30.6006l32 22.9004c7.19922 5.2002 17.1992 3.5 22.2998 -3.7002l9.2998 -13c5.2002 -7.2002 3.5 -17.2002 -3.7002 -22.2998l-30.7002 -22h29.4004c12.7002 0 23.4004 -7.5 28.5996 -18.2998
+c-26.6992 -18.6006 -42.0996 -49 -44 -79.7998zM224 -32v96h192v-128h-160c-17.7002 0 -32 14.2998 -32 32zM448 -64v128h192v-96c0 -17.7002 -14.2998 -32 -32 -32h-160zM608 224c17.7002 0 32 -14.2998 32 -32v-96h-192v128h-15.2998l-0.700195 0.200195
+l-0.700195 -0.200195h-15.2998v-128h-192v96c0 17.7002 14.2998 32 32 32h20.4004c-2.7002 7.59961 -4.40039 15.5 -4.40039 23.7998c0 35.5 27 72.2002 72.0996 72.2002c48 0 75.8008 -47.7002 87.9004 -75.2998c12 27.5996 39.7998 75.2998 87.9004 75.2998
+c45.0996 0 72.0996 -36.7002 72.0996 -72.2002c0 -8.2998 -1.7998 -16.2002 -4.40039 -23.7998h20.4004zM336 224h52.5996c-8.89941 20.5996 -25.7998 48 -44.5 48c-17.6992 0 -24.0996 -14.5 -24.0996 -24.2002c0 -5.2002 1.5 -12.5996 8.7998 -19
+c2.10059 -1.7998 4.5 -3.39941 7.2002 -4.7998zM535.2 228.8c7.2998 6.40039 8.7998 13.7998 8.7998 19c0 9.7002 -6.40039 24.2002 -24.0996 24.2002c-18.7002 0 -35.7002 -27.7002 -44.5 -48h52.5996c2.7002 1.40039 5.09961 3 7.2002 4.7998z" />
+ <glyph glyph-name="glass-cheers" unicode="&#xf79f;" horiz-adv-x="640"
+d="M639.4 14.4004c1.69922 -4.10059 -0.300781 -8.7002 -4.30078 -10.4004l-162.399 -67.4004c-4 -1.69922 -8.7002 0.200195 -10.4004 4.30078c-8.5 20.3994 1.2002 43.7998 21.6006 52.2998l22.0996 9.2002l-39.2998 103.6
+c-4.40039 -0.5 -8.7998 -1.2998 -13.1006 -1.2998c-51.6992 0 -99.3994 33.0996 -113.399 85.2998l-20.2002 75.4004l-20.2002 -75.4004c-14 -52.2002 -61.7002 -85.2998 -113.399 -85.2998c-4.30078 0 -8.7002 0.799805 -13.1006 1.2998l-39.3994 -103.6l22.0996 -9.2002
+c20.4004 -8.5 30 -31.9004 21.5996 -52.2998c-1.69922 -4.10059 -6.2998 -6 -10.3994 -4.30078l-162.3 67.4004c-4.10059 1.7002 -6 6.40039 -4.30078 10.5c8.5 20.4004 31.8008 30.0996 52.2002 21.5996l22.1006 -9.19922l38.6992 101.899
+c-47.8994 34.9004 -64.6992 100.2 -34.5 152.7l86.6006 150.5c8 13.9004 25.0996 19.7998 40 13.5996l114.3 -47.3994l114.3 47.3994c14.9004 6.10059 32 0.300781 40 -13.5996l86.6006 -150.5c30.2998 -52.5 13.3994 -117.8 -34.5 -152.8l38.6992 -101.9l22.1006 9.2002
+c20.3994 8.5 43.7998 -1.2002 52.2002 -21.5996zM275.9 285.9l18.8994 70.6992l-94.5 39.2002l-36.5 -63.3994zM364.1 285.9l112.101 46.5l-36.5 63.3994l-94.5 -39.2002z" />
+ <glyph glyph-name="glass-whiskey" unicode="&#xf7a0;"
+d="M480 416c19.5 0 34.4004 -17.2002 31.7002 -36.5l-55.6006 -356.5c-4.5 -31.5 -31.5996 -54.9004 -63.3994 -54.9004h-273c-31.9004 0 -58.9004 23.4004 -63.4004 54.9004l-56 356.5c-2.7002 19.2998 12.2002 36.5 31.7002 36.5h448zM442.6 352h-373.199l30.1992 -192
+h313z" />
+ <glyph glyph-name="globe-europe" unicode="&#xf7a2;" horiz-adv-x="496"
+d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM448 192c0 110.3 -89.7002 200 -200.2 200c-1.89941 0 -3.7998 -0.200195 -5.7002 -0.299805l-28.8994 -21.7002c-2 -1.5 -3.2002 -3.90039 -3.2002 -6.40039v-20
+c0 -4.39941 3.59961 -8 8 -8h16c4.40039 0 8 3.60059 8 8v8l16 16h20.7002c6.2002 0 11.2998 -5.09961 11.2998 -11.2998c0 -3 -1.2002 -5.89941 -3.2998 -8l-26.7998 -26.7998c-1.2002 -1.2002 -2.7002 -2.09961 -4.40039 -2.7002l-40 -13.2998
+c-3.2998 -1.09961 -5.5 -4.2002 -5.5 -7.59961c0 -6.60059 -2.59961 -12.9004 -7.2002 -17.5l-20.0996 -20.1006c-3 -3 -4.7002 -7.09961 -4.7002 -11.2998v-25.2998c0 -8.7998 7.2002 -16 16 -16h22.0996c6.10059 0 11.6006 3.39941 14.3008 8.7998l9.39941 18.7002
+c1.40039 2.7002 4.2002 4.39941 7.2002 4.39941h3.09961c4.40039 0 8 -3.59961 8 -8c0 -4.39941 3.60059 -8 8 -8h16c4.40039 0 8 3.60059 8 8v2.2002c0 3.5 2.2002 6.5 5.5 7.60059l31.6006 10.5c6.5 2.19922 10.8994 8.2998 10.8994 15.1992v4.5
+c0 8.80078 7.2002 16 16 16h36.7002c6.2002 0 11.2998 -5.09961 11.2998 -11.2998v-9.39941c0 -6.2002 -5.09961 -11.3008 -11.2998 -11.3008h-32c-3 0 -5.89941 -1.19922 -8 -3.2998l-9.39941 -9.39941c-2.10059 -2.10059 -3.30078 -5 -3.30078 -8
+c0 -6.2002 5.10059 -11.3008 11.3008 -11.3008h16c3 0 5.89941 -1.19922 8 -3.2998l9.39941 -9.39941c2.10059 -2.10059 3.2998 -5 3.2998 -8v-8.7002l-12.5 -12.5c-4.59961 -4.60059 -4.59961 -12.1006 -0.0996094 -16.7002l32 -32.5996
+c3 -3.10059 7.09961 -4.80078 11.4004 -4.80078h20.2998c6.89941 20.2002 10.7998 41.9004 10.7998 64.4004zM130.1 298.9c0 -6.2002 5.10059 -11.3008 11.3008 -11.3008h16c3 0 5.89941 1.2002 8 3.30078l9.39941 9.39941c2.10059 2.10059 3.2998 5 3.2998 8v16
+c0 6.2002 -5.09961 11.2998 -11.2998 11.2998c-3 0 -5.89941 -1.19922 -8 -3.2998l-25.3994 -25.3994c-2.10059 -2.10059 -3.30078 -5 -3.30078 -8zM258.1 -7.5c71.1006 3.59961 132.5 44.2002 164.9 103.1h-13.4004c-4.7998 0 -9.5 1.90039 -12.8994 5.30078
+l-17.2998 17.2998c-6 6 -14.1006 9.39941 -22.6006 9.39941h-18.2998l-43.2002 37.1006c-8.2002 7 -18.7002 10.8994 -29.5996 10.8994h-31.2002c-8.2002 0 -16.2998 -2.2998 -23.4004 -6.5l-42.8994 -25.6992c-13.7002 -8.2002 -22.1006 -23 -22.1006 -39v-23.9004
+c0 -14.2998 6.7002 -27.7998 18.2002 -36.4004l22.2002 -16.6992c8.7002 -6.5 24.5996 -11.8008 35.4004 -11.8008h20.1992c8.80078 0 16 -7.19922 16 -16v-7.09961z" />
+ <glyph glyph-name="grip-lines" unicode="&#xf7a4;"
+d="M496 160c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v32c0 8.7998 7.2002 16 16 16h480zM496 288c8.7998 0 16 -7.2002 16 -16v-32c0 -8.7998 -7.2002 -16 -16 -16h-480c-8.7998 0 -16 7.2002 -16 16v32
+c0 8.7998 7.2002 16 16 16h480z" />
+ <glyph glyph-name="grip-lines-vertical" unicode="&#xf7a5;" horiz-adv-x="256"
+d="M96 -48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32c8.7998 0 16 -7.2002 16 -16v-480zM224 -48c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32
+c8.7998 0 16 -7.2002 16 -16v-480z" />
+ <glyph glyph-name="guitar" unicode="&#xf7a6;" horiz-adv-x="511"
+d="M502.6 393.4c12.5 -12.5 12.5 -32.8008 0.100586 -45.2002l-67.9004 -67.9004c-12.5 -12.5 -32.7998 -12.5 -45.2998 0l-54.2002 -54.2002c28.9004 -45.3994 28.9004 -100.399 -4.2002 -133.5c-9.69922 -9.69922 -21.1992 -16.3994 -33.8994 -20.5
+c-18.7998 -6.09961 -33.1006 -23.5996 -34.9004 -42.6992c-2.2998 -24.1006 -11.5996 -46.4004 -28.7998 -63.5c-46.0996 -46.1006 -129.1 -37.9004 -185.3 18.2998s-64.5 139.2 -18.2998 185.3c17.0996 17.2002 39.3994 26.5 63.3994 28.7998
+c19.2002 1.7998 36.6006 16.1006 42.7002 34.9004c4.09961 12.7002 10.7998 24.2002 20.5 33.8994c33.0996 33.1006 88.0996 33.2002 133.5 4.2002l54.2002 54.1006c-12.5 12.5 -12.5 32.7998 0 45.2998l67.8994 67.8994c12.5 12.5 32.8008 12.5 45.3008 0zM208 96
+c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48z" />
+ <glyph glyph-name="heart-broken" unicode="&#xf7a9;"
+d="M473.7 374.2c48.7002 -49.7998 50.7998 -129.101 7.2998 -182.101l-212.2 -218.699c-7.09961 -7.30078 -18.5996 -7.30078 -25.7002 0l-212.1 218.6c-43.5 53.0996 -41.4004 132.4 7.2998 182.2l2.40039 2.39941c46.2998 47.4004 119 51.8008 170.7 14l28.5996 -86.5
+l-96 -64l144 -144l-48 128l96 64l-34.2998 103.4c51.5996 36.9004 123.6 32.2002 169.6 -14.7998z" />
+ <glyph glyph-name="holly-berry" unicode="&#xf7aa;" horiz-adv-x="447"
+d="M144 256c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM256 304c0 26.5 21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48zM224 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48z
+M207.8 212.9c-0.399414 -39.8008 7.40039 -78.1006 22.9004 -112.301c4 -8.89941 -2 -19.1992 -11.7002 -20.1992c-15.2002 -1.5 -30.4004 -4.60059 -45.2998 -9.10059c-14.9004 -4.5 -23.7998 -19.8994 -20.2002 -35.0996s8.5 -29.9004 14.7002 -43.7998
+c4 -8.90039 -1.90039 -19.3008 -11.6006 -20.2002c-35.8994 -3.40039 -71.5996 -14.9004 -104.8 -33.9004c-12.3994 -7.09961 -27.5 1.60059 -27.5996 16c-0.100586 38.2002 -8 74.9004 -23 107.7c-4 8.90039 2 19.2002 11.7002 20.2002
+c15.1992 1.5 30.3994 4.59961 45.2998 9.09961c14.8994 4.5 23.7998 19.9004 20.2002 35.1006c-3.60059 15.1992 -8.5 29.8994 -14.7002 43.7998c-4 8.89941 1.89941 19.2998 11.5996 20.2002c37.2998 3.5 74.4004 15.8994 108.7 36.1992
+c10.7002 6.40039 23.9004 -1.2998 23.7998 -13.6992zM435 82.4004c9.7002 -1 15.7998 -11.4004 11.5 -20.1006c-15 -32.7002 -22.7998 -69.5 -23 -107.7c0 -14.3994 -15.0996 -23.0996 -27.5996 -16c-33.2002 19 -68.9004 30.5 -104.801 33.9004
+c-9.69922 0.900391 -15.5996 11.2998 -11.5996 20.2002c6.2002 14 11.0996 28.5996 14.7002 43.7998c3.59961 15.2002 -5.2998 30.5996 -20.2002 35.0996c-4.90039 1.5 -9.90039 2.5 -14.7998 3.7002c5.7998 12.2998 6.2998 26.5 0.599609 38.9004
+c-12.8994 28.2998 -19.7002 60.7002 -19.8994 94c0 1.7002 0.199219 3.2998 0.199219 4.89941c-0.0996094 12.3008 13.1006 20 23.8008 13.7002c34.2998 -20.2998 71.3994 -32.7002 108.699 -36.2002c9.7002 -0.899414 15.6006 -11.2998 11.6006 -20.1992
+c-6.2002 -14 -11.1006 -28.6006 -14.7002 -43.8008c-3.59961 -15.1992 5.2998 -30.5996 20.2002 -35.0996c15 -4.40039 30.0996 -7.5 45.2998 -9.09961z" />
+ <glyph glyph-name="horse-head" unicode="&#xf7ab;" horiz-adv-x="511"
+d="M509.8 115.5c4.60059 -11.7998 1.7998 -25.2998 -7.09961 -34.4004l-45.2998 -39.7998c-6 -6 -14.1006 -9.39941 -22.6006 -9.39941h-50.2998c-10.2998 0 -20 4.89941 -26 13.2998l-46 63.8994c-13.7998 -8.09961 -29.5996 -13.1992 -46.7998 -13.1992
+c-39.2002 0 -72.6006 23.6992 -87.4004 57.3994c-2.2998 5.10059 -9 6.2998 -12.8994 2.40039l-12.1006 -12.1006c-2.5 -2.39941 -3.2002 -6.19922 -1.59961 -9.2998c19.7002 -38.8994 58.7002 -66.0996 104.3 -69.5996v-0.700195l40.7998 -81.7002
+c10.7002 -21.2998 -4.7998 -46.2998 -28.5996 -46.2998h-236.2c-17.7002 0 -32 14.2998 -32 32v81.2002c0 159.899 35.9004 275.399 166.9 322.5l202.199 75.7002c4.90039 1.7998 10.7002 -1.10059 12 -6.10059c12.1006 -46.3994 -16.1992 -71.7002 -34.1992 -82.2998
+c42.5996 -8.2002 78.0996 -38 93 -79.2002zM328 224c13.2998 0 24 10.7002 24 24s-10.7002 24 -24 24s-24 -10.7002 -24 -24s10.7002 -24 24 -24z" />
+ <glyph glyph-name="icicles" unicode="&#xf7ad;" horiz-adv-x="511"
+d="M511.4 410.1l-87.5 -467.699c-1.7002 -8.60059 -14 -8.60059 -15.7002 0l-66.7002 363.8l-45.7998 -172.5c-2.2998 -7.60059 -13 -7.60059 -15.2998 0l-34.1006 133.399l-46.5 -196.899c-1.89941 -8.2998 -13.7002 -8.2998 -15.5996 0l-44.2002 187.3l-36.4004 -124.1
+c-2.39941 -7.2002 -12.5996 -7.2002 -15.0996 0l-87.0996 273.399c-6.2002 20.5 9.19922 41.2002 30.5996 41.2002h448c20 0 35.0996 -18.2002 31.4004 -37.9004z" />
+ <glyph glyph-name="igloo" unicode="&#xf7ae;" horiz-adv-x="576"
+d="M320 414.1v-126.1h-271.4c51.6006 77.2002 139.601 128 239.4 128c10.7998 0 21.5 -0.700195 32 -1.90039zM96 256v-128h-96c0 46 11.0996 89.4004 30.2998 128h65.7002zM352 408.6c72.7998 -16.5 135.2 -60.5 175.4 -120.6h-175.4v120.6zM480 128v128h65.7002
+c19.2002 -38.5996 30.2998 -82 30.2998 -128h-96zM416 64c0 11.0996 -1.90039 21.7002 -4.5 32h164.5v-96c0 -17.7002 -14.2998 -32 -32 -32h-128v96zM448 256v-128h-49.7998c-22.2002 38.0996 -63 64 -110.2 64s-88 -25.9004 -110.2 -64h-49.7998v128h320zM0 0v96h164.5
+c-2.59961 -10.2998 -4.5 -20.9004 -4.5 -32v-96h-128c-17.7002 0 -32 14.2998 -32 32zM288 160c53 0 96 -43 96 -96v-96h-192v96c0 53 43 96 96 96z" />
+ <glyph glyph-name="mitten" unicode="&#xf7b5;" horiz-adv-x="448"
+d="M368 32c8.7998 0 16 -7.2002 16 -16v-64c0 -8.7998 -7.2002 -16 -16 -16h-320c-8.7998 0 -16 7.2002 -16 16v64c0 8.7998 7.2002 16 16 16h320zM425 241.1c27.0996 -22.5996 30.7998 -62.8994 8.09961 -90.0996l-72.5 -87h-309l-47.8994 207.6
+c-17.9004 77.5 30.5 154.801 107.899 172.7c77.4004 17.9004 154.801 -30.5 172.801 -108l29.5996 -128.399l20.9004 25c22.5996 27.1992 62.8994 30.7998 90.0996 8.19922z" />
+ <glyph glyph-name="mug-hot" unicode="&#xf7b6;"
+d="M127.1 301.5c-2.69922 16.5996 -10.3994 31.9004 -22.3994 44.0996c-22.6006 23.1006 -36.7002 52.5 -40.6006 84.4004c-1.09961 9.5 6.5 18 16.3008 18h16.3994c8.2002 0 15 -5.90039 16.1006 -13.7998c2.7998 -20.2002 12 -38.7998 26.3994 -53.5
+c20.2002 -20.5 32.7998 -46.5 36.6006 -74.7002c1.2998 -9.5 -6.5 -18 -16.3008 -18h-16.5c-8 0 -14.6992 5.7998 -16 13.5zM239.1 301.5c-2.69922 16.5996 -10.3994 31.9004 -22.3994 44.0996c-22.6006 23.1006 -36.7002 52.5 -40.6006 84.4004
+c-1.19922 9.5 6.5 18 16.3008 18h16.3994c8.2002 0 15 -5.90039 16.1006 -13.7998c2.7998 -20.2002 12 -38.7998 26.3994 -53.5c20.2002 -20.5 32.7998 -46.5 36.6006 -74.7002c1.2998 -9.5 -6.5 -18 -16.3008 -18h-16.5c-8 0 -14.6992 5.7998 -16 13.5zM400 256
+c61.7998 0 112 -50.2002 112 -112s-50.2002 -112 -112 -112h-16c0 -53 -43 -96 -96 -96h-192c-53 0 -96 43 -96 96v192c0 17.7002 14.2998 32 32 32h368zM400 96c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-16v-96h16z" />
+ <glyph glyph-name="radiation" unicode="&#xf7b9;" horiz-adv-x="496"
+d="M167.8 191.8c0 -28.5996 15.2002 -53.5 37.7998 -67.7998l-80.3994 -128.4c-4.7998 -7.69922 -15.2998 -10.0996 -22.7002 -4.7998c-58.0996 42 -97.4004 108.4 -102.5 184.2c-0.599609 9.09961 7.09961 16.7998 16.2002 16.7998h151.6zM205.6 259.5l-80.3994 128.5
+c-4.7998 7.59961 -2.40039 18.0996 5.59961 22.4004c34.9004 18.7998 74.7998 29.5996 117.2 29.5996s82.2998 -10.7998 117.2 -29.5996c8 -4.30078 10.3994 -14.7002 5.59961 -22.4004l-80.3994 -128.5c-12.4004 7.7002 -26.8008 12.4004 -42.4004 12.4004
+s-30.0996 -4.7002 -42.4004 -12.4004zM248 239.8c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM479.8 191.8c9.10059 0 16.7998 -7.7002 16.2002 -16.7002c-5.09961 -75.7998 -44.4004 -142.199 -102.5 -184.199
+c-7.40039 -5.40039 -17.9004 -2.90039 -22.7002 4.7998l-80.3994 128.399c22.5996 14.2002 37.7998 39.1006 37.7998 67.7002h151.6z" />
+ <glyph glyph-name="radiation-alt" unicode="&#xf7ba;" horiz-adv-x="496"
+d="M184 192c0 -22.7998 12.0996 -42.7998 30.0996 -54l-41.6992 -66.7998c-5.2002 -8.2998 -16.4004 -9.90039 -24 -3.7998c-32.5 26 -54.9004 64.1992 -59.5 107.8c-0.900391 9.09961 6.7998 16.7998 16 16.7998h79.0996zM281.8 246.1
+c-9.7998 6.2002 -21.5 9.90039 -33.8994 9.90039c-12.4004 0 -24 -3.7002 -33.8008 -9.90039l-41.7998 66.9004c-4.7998 7.7998 -2.39941 18.4004 5.7998 22.5c21.2002 10.4004 44.8008 16.5 69.9004 16.5s48.7002 -6.09961 69.7998 -16.5
+c8.2002 -4.09961 10.7002 -14.7002 5.7998 -22.5zM391.1 192c9.2002 0 17 -7.7002 15.9004 -16.9004c-4.59961 -43.5996 -26.9004 -81.7998 -59.5 -107.8c-7.59961 -6.09961 -18.7998 -4.5 -24 3.7998l-41.7002 66.8008c18.1006 11.2998 30.2002 31.2998 30.2002 54.0996
+h79.0996zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 8c101.5 0 184 82.5 184 184s-82.5 184 -184 184s-184 -82.5 -184 -184s82.5 -184 184 -184zM248 224c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
+s-32 14.2998 -32 32s14.2998 32 32 32z" />
+ <glyph glyph-name="restroom" unicode="&#xf7bd;" horiz-adv-x="671"
+d="M128 320c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM512 320c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM639.3 93.5c3.7002 -15.0996 -8.2998 -29.5 -24.5 -29.5
+h-54.7998v-104c0 -13.2998 -10.7002 -24 -24 -24h-48c-13.2998 0 -24 10.7002 -24 24v104h-54.7998c-16.2002 0 -28.2002 14.4004 -24.7002 29.5l45.5996 185.8c3.30078 13.5 15.5 23 29.8008 24.2002c15 -9.7002 32.7998 -15.5 52 -15.5c19.1992 0 37 5.7998 52 15.5
+c14.2998 -1.2002 26.5 -10.7002 29.7998 -24.2002zM336 448c8.7998 0 16 -7.2002 16 -16v-480c0 -8.7998 -7.2002 -16 -16 -16h-32c-8.7998 0 -16 7.2002 -16 16v480c0 8.7998 7.2002 16 16 16h32zM180.1 303.6c24.6006 -2.09961 43.9004 -22.5 43.9004 -47.5996v-136
+c0 -13.2998 -10.7002 -24 -24 -24h-8v-136c0 -13.2998 -10.7002 -24 -24 -24h-80c-13.2998 0 -24 10.7002 -24 24v136h-8c-13.2998 0 -24 10.7002 -24 24v136c0 25.0996 19.2998 45.5 43.9004 47.5996c15 -9.7998 32.8994 -15.5996 52.0996 -15.5996
+s37.0996 5.7998 52.0996 15.5996z" />
+ <glyph glyph-name="satellite" unicode="&#xf7bf;"
+d="M502.7 183c12.3994 -12.4004 12.3994 -32.5996 -0.100586 -45l-96.6992 -96.7002c-6.2002 -6.2002 -14.4004 -9.2998 -22.5 -9.2998c-8.10059 0 -16.3008 3.09961 -22.5 9.2998l-80.3008 80.4004l-9.89941 -9.90039c24.2998 -53.7002 22.7002 -116.2 -5.40039 -168.5
+c-4.5 -8.5 -16.3994 -9.59961 -23.2002 -2.7998l-107.5 107.5l-17.7998 -17.7998c0.700195 -2.60059 1.60059 -5 1.60059 -7.7998c0 -17.7002 -14.3008 -32 -32 -32c-17.7002 0 -32 14.2998 -32 32c0 17.6992 14.2998 32 32 32c2.7998 0 5.19922 -0.900391 7.7998 -1.60059
+l17.7998 17.7998l-107.5 107.5c-6.7998 6.80078 -5.7002 18.6006 2.7998 23.2002c52.2998 28.1006 114.8 29.7002 168.5 5.40039l9.7998 9.7998l-80.2998 80.4004c-12.3994 12.5 -12.3994 32.6992 0 45.0996l96.7002 96.7002c6.2002 6.2002 14.2998 9.2998 22.5 9.2998
+s16.2998 -3.09961 22.5996 -9.2998l80.3008 -80.2998l47.7998 47.8994c13.0996 13.1006 34.3994 13.1006 47.5 0l47.5 -47.5c13.0996 -13.0996 13.0996 -34.3994 0 -47.5l-47.7998 -47.8994zM150.7 319.5l68.8994 -68.9004l73.8008 73.8008l-68.9004 68.8994zM383.5 86.7002
+l73.7998 73.7998l-68.8994 68.9004l-73.8008 -73.8008z" />
+ <glyph glyph-name="satellite-dish" unicode="&#xf7c0;" horiz-adv-x="511"
+d="M188.8 102.1l116.601 -116.6c7.39941 -7.2998 6.19922 -20.0996 -3 -25c-77.7002 -41.7998 -176.7 -29.9004 -242.301 35.7002c-65.5996 65.5996 -77.5 164.5 -35.6992 242.3c4.89941 9.09961 17.6992 10.2998 25 3l116.8 -116.8l27.3994 27.3994
+c-0.699219 2.60059 -1.59961 5 -1.59961 7.80078c0 17.6992 14.2998 32 32 32s32 -14.3008 32 -32c0 -17.7002 -14.2998 -32 -32 -32c-2.7998 0 -5.2002 0.899414 -7.7998 1.59961zM209 448c163.2 -8.59961 294.4 -139.8 302.9 -303c0.5 -9.2002 -6.80078 -17 -16 -17
+h-32.1006c-8.39941 0 -15.3994 6.59961 -15.8994 15c-7.5 129.5 -111.5 234.5 -240.9 241.5c-8.40039 0.400391 -15 7.40039 -15 15.9004v31.5996c0 9.2002 7.7998 16.5 17 16zM209.3 352c110.101 -8.5 198.2 -96.5996 206.601 -206.7
+c0.699219 -9.2998 -6.80078 -17.2998 -16.1006 -17.2998h-32.2002c-8.2998 0 -15.0996 6.40039 -15.8994 14.7002c-6.90039 77 -68.1006 138.899 -144.9 145.2c-8.2998 0.599609 -14.7998 7.5 -14.7998 15.8994v32.1006c0 9.39941 8 16.7998 17.2998 16.0996z" />
+ <glyph glyph-name="sd-card" unicode="&#xf7c2;" horiz-adv-x="384"
+d="M320 448c35.2998 0 64 -28.7002 64 -64v-384c0 -35.2998 -28.7002 -64 -64 -64h-256c-35.2998 0 -64 28.7002 -64 64v320l128 128h192zM160 288v96h-48v-96h48zM240 288v96h-48v-96h48zM320 288v96h-48v-96h48z" />
+ <glyph glyph-name="sim-card" unicode="&#xf7c4;" horiz-adv-x="384"
+d="M320 448c35.2998 0 64 -28.7002 64 -64v-384c0 -35.2998 -28.7002 -64 -64 -64h-256c-35.2998 0 -64 28.7002 -64 64v320l128 128h192zM160 256v-64h64v64h-64zM64 224v-32h64v64h-32c-17.7002 0 -32 -14.2998 -32 -32zM128 0v64h-64v-32c0 -17.7002 14.2998 -32 32 -32
+h32zM224 0v64h-64v-64h64zM320 32v32h-64v-64h32c17.7002 0 32 14.2998 32 32zM320 96v64h-256v-64h256zM320 192v32c0 17.7002 -14.2998 32 -32 32h-32v-64h64z" />
+ <glyph glyph-name="skating" unicode="&#xf7c5;" horiz-adv-x="448"
+d="M400 448c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48s21.5 48 48 48zM400 0c8.7998 0 16 -7.2002 16 -16c0 -26.5 -21.5 -48 -48 -48h-96c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 7.2002 16 16s7.2002 16 16 16zM117.8 -8.59961
+c6.2998 6.2998 16.5 6.19922 22.7002 0c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006c-9.2998 -9.2998 -21.5996 -14 -33.9004 -14c-12.2998 0 -24.5996 4.60059 -34 14l-67.8994 67.9004c-6.2002 6.2002 -6.2002 16.3994 0 22.5996s16.3994 6.2002 22.5996 0
+l67.9004 -67.8994c6.2002 -6.30078 16.3994 -6.2002 22.5996 0zM173.9 171.2c3.7998 -6.10059 8.19922 -11.7998 13.1992 -16.7998l30.2002 -30.2002l-91.8994 -91.9004c-6.2002 -6.2998 -14.4004 -9.39941 -22.6006 -9.39941s-16.3994 3.19922 -22.5996 9.39941
+c-12.5 12.4004 -12.5 32.7002 0 45.2002zM128 288c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h204.6c16.3008 0 30.8008 -9.7002 37 -24.7002c6.2002 -15 2.80078 -32.0996 -8.69922 -43.5996l-82.3008 -82.2998c-0.5 -0.5 -1.19922 -0.700195 -1.69922 -1.10059
+l61 -61c9 -8.89941 14.0996 -21.2998 14.0996 -33.8994v-89.4004c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32v82.7998l-78.2002 78.2002c-12.5996 12.5 -19.3994 29.9004 -18.7002 47.7002c0.700195 17.7002 8.80078 34.5996 22.3008 46.0996l20.0996 17.2002
+h-105.5z" />
+ <glyph glyph-name="skiing" unicode="&#xf7c9;" horiz-adv-x="511"
+d="M432 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM505 -4.09961c9.2998 -9.30078 9.2998 -24.5 0 -33.8008c-17 -17 -39.7998 -26 -63 -26c-12.5996 0 -25.2002 2.60059 -37.0996 8.10059l-391.9 202.5
+c-11.7998 6 -16.4004 20.5 -10.2998 32.2998c6.09961 11.7998 20.5996 16.2998 32.2998 10.2998l197.9 -102.3l45.8994 68.7998l-75.0996 75.2002c-14.2998 14.4004 -20.6006 34.5 -17.7002 54.4004l107 -53.1006l40.4004 -40.5
+c16.1992 -16.0996 18.6992 -41.5996 6 -60.5996l-49.2002 -73.7998l135.8 -70.2002c14.5996 -6.7002 33 -3.40039 45.0996 8.7002c9.30078 9.39941 24.5 9.39941 33.9004 0zM120 356.4l-26.2002 23c-2.2002 1.89941 -2.39941 5.19922 -0.5 7.39941
+c1.2998 1.5 3.2002 2.10059 5 1.7002l34.4004 -7h0.200195l11.0996 21.7002c13.7002 -7 21.2002 -21.1006 20.9004 -35.6006l62.5 -31l81.1992 32.5c43.6006 17.4004 76.4004 -15 84.5 -39.1992l17.1006 -51.2002l52.0996 -26.1006
+c15.7998 -7.89941 22.2002 -27.0996 14.2998 -42.8994c-7.89941 -15.7998 -27 -22.2002 -42.8994 -14.2998l-58.1006 29c-11.3994 5.69922 -20 15.5996 -24 27.6992l-6.39941 19.1006l-32.4004 -13l-114.5 56.7998c0.100586 0.0996094 0.100586 0.200195 0.200195 0.299805
+l-47.2002 23.4004c-11.5996 -9.7002 -28.3994 -12.1006 -42.7998 -4.7998z" />
+ <glyph glyph-name="skiing-nordic" unicode="&#xf7ca;" horiz-adv-x="576"
+d="M336 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM552 32c13.2002 0 24 -10.7998 24 -24c0 -39.7002 -32.2998 -72 -72 -72h-480c-13.2002 0 -24 10.7002 -24 24s10.7998 24 24 24h42.9004l54.0996 270.8
+c-0.700195 0.799805 -1.7002 1.2002 -2.40039 2.10059c-10.7998 14.0996 -8.09961 34.1992 5.90039 44.8994l39.7002 30.4004c23 17.5996 52.5 23.8994 80.7998 17.0996l71.2002 -21.2002c26.2998 -6.69922 49.2998 -25.3994 61.7998 -50.8994l26.0996 -53.2002h44
+c17.7002 0 32 -14.2998 32 -32c0 -13.4004 -8.39941 -24.9004 -20.0996 -29.5996l-25.5 -178.4h69.5c13.2002 0 24 10.7998 24 24c0 13.2998 10.7998 24 24 24zM291.5 -16l25.5 81.2002l-85 50.2002c-27.5996 16.2998 -38.9004 50.7998 -26.2998 80.2998l37.5 87.3994
+l-14.7002 4.40039c-7.90039 1.90039 -17.5996 -0.200195 -25.2998 -6.09961l-39.7002 -30.4004c-3.59961 -2.7002 -7.59961 -4.59961 -11.7002 -5.59961l-52.2998 -261.4h24.2002l62.5 131.8c7.59961 -10.8994 17.3994 -20.5996 29.5 -27.7998l22 -13l-43.1006 -91h96.9004z
+M402.1 -16l25.2002 176h-33.2998c-18.2002 0 -35.0996 10.5996 -43.0996 26.9004l-20.3008 41.3994l-31.2998 -78.2998l61.2002 -36.0996c18.7002 -11.3008 27.5 -33.6006 21.5996 -54.4004l-23.5996 -75.5h43.5996z" />
+ <glyph glyph-name="sleigh" unicode="&#xf7cc;" horiz-adv-x="640"
+d="M612.7 97.2998c18.5 -14.7002 28.5996 -37.2002 27.2002 -61c-2.2002 -39 -36.9004 -68.2998 -75.9004 -68.2998h-516c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h519.3c13.6006 0 24.6006 11 24.6006 24.5996c0 7.5 -3.30078 14.5 -9.2002 19.2002
+l-9.2998 7.40039c-6.90039 5.5 -8 15.5996 -2.5 22.5l10 12.5c5.5 6.89941 15.5996 8 22.5 2.5zM32 224v128c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h20.7002c65.7002 0 125.899 -37.2002 155.3 -96s89.5 -96 155.3 -96h20.7002c35.2998 0 64 28.7002 64 64v64h96
+c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32v-96c0 -53 -43 -96 -96 -96v-48h-64v48h-192v-48h-64v52.5c-55.0996 14.2998 -96 63.9004 -96 123.5z" />
+ <glyph glyph-name="sms" unicode="&#xf7cd;"
+d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-38.4004 0 -74.7002 7.09961 -107.4 19.4004c-24.5996 -19.6006 -74.2998 -51.4004 -140.6 -51.4004c-3.2002 0 -6 1.7998 -7.2998 4.7998s-0.700195 6.40039 1.5 8.7002
+c0.5 0.5 42.2998 45.4004 54.7998 95.7998c-35.5996 35.7002 -57 81.1006 -57 130.7c0 114.9 114.6 208 256 208zM128.2 144c23.3994 0 42.5 17.2998 42.3994 38.5996c0 10.6006 -4.7998 20.9004 -13.2998 28.1006l-21.8994 18.7998
+c-1.30078 1.09961 -2.10059 2.5 -2.10059 3.7998c0 3.10059 4.40039 6.60059 10.4004 6.60059h12.2998c4.40039 0 8 3.59961 8 8v16c0 4.39941 -3.59961 8 -8 8h-12.2002c-23.3994 0 -42.3994 -17.3008 -42.3994 -38.6006c0 -10.5996 4.7998 -20.8994 13.2998 -28.0996
+l21.8994 -18.7998c1.30078 -1.10059 2.10059 -2.5 2.10059 -3.80078c0 -3.09961 -4.40039 -6.59961 -10.4004 -6.59961h-12.2998c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h12.2002zM320 152v104c0 8.7998 -7.2002 16 -16 16h-16
+c-6 0 -11.5996 -3.40039 -14.2998 -8.7998l-17.7002 -35.4004l-17.7002 35.4004c-2.7002 5.39941 -8.2002 8.7998 -14.2998 8.7998h-16c-8.7998 0 -16 -7.2002 -16 -16v-104c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8v68.2002l24.9004 -55.7998
+c2.89941 -5.90039 11.3994 -5.90039 14.2998 0l24.7998 55.7998v-68.2002c0 -4.40039 3.59961 -8 8 -8h16c4.40039 0 8 3.59961 8 8zM368.3 144c23.4004 0 42.4004 17.2998 42.2998 38.5996c0 10.6006 -4.7998 20.9004 -13.2998 28.1006l-21.8994 18.7998
+c-1.30078 1.09961 -2.10059 2.5 -2.10059 3.7998c0 3.10059 4.40039 6.60059 10.4004 6.60059h12.2998c4.40039 0 8 3.59961 8 8v16c0 4.39941 -3.59961 8 -8 8h-12.2002c-23.3994 0 -42.3994 -17.3008 -42.3994 -38.6006c0 -10.5996 4.7998 -20.8994 13.2998 -28.0996
+l21.8994 -18.7998c1.30078 -1.10059 2.10059 -2.5 2.10059 -3.80078c0 -3.09961 -4.40039 -6.59961 -10.4004 -6.59961h-12.2998c-4.40039 0 -8 -3.59961 -8 -8v-16c0 -4.40039 3.59961 -8 8 -8h12.2998z" />
+ <glyph glyph-name="snowboarding" unicode="&#xf7ce;"
+d="M432 352c-26.5 0 -48 21.5 -48 48s21.5 48 48 48s48 -21.5 48 -48s-21.5 -48 -48 -48zM460.8 198.4l-83.5 62.8994l-66 -30.5l52 -39c14.9004 -11.2002 22 -30.2002 18.1006 -48.3994l-21.9004 -102c-2.2002 -10.1006 -9.09961 -17.8008 -17.7998 -21.9004
+l90.7998 -33.0996c9.7002 -3.5 20.2002 -3.10059 29.5 1.2998c12 5.59961 26.2998 0.399414 31.9004 -11.6006c5.59961 -12 0.399414 -26.2998 -11.6006 -31.8994c-11.5996 -5.5 -24 -8.2002 -36.5 -8.2002c-10 0 -20 1.7998 -29.7002 5.2998l-364.8 132.7
+c-21.7998 7.90039 -39.0996 23.7998 -48.8994 44.7998c-5.60059 12 -0.400391 26.2998 11.5996 31.9004c12 5.59961 26.2998 0.399414 31.9004 -11.6006c4.39941 -9.39941 12.0996 -16.5 21.7998 -20l38.7002 -14.0996c-3.80078 3.5 -7 7.7002 -8.7002 12.9004
+c-5.60059 16.7998 3.39941 34.8994 20.2002 40.5l74.0996 24.6992v53.1006c0 24.3994 13.5996 46.2998 35.4004 57.2002l41.1992 20.5996l-16.3994 5.5c-12.1006 4.09961 -22 12.5996 -27.7002 24l-29.0996 58.0996c-7.90039 15.8008 -1.5 35 14.2998 42.9004
+s35 1.5 42.8994 -14.2998l26.1006 -52.1006l63.7002 -21.1992c16.2998 -5.40039 31.5996 -13.5 45.3994 -23.8008l111.4 -83.5c14.2002 -10.5996 17 -30.6992 6.39941 -44.7998c-6.2998 -8.39941 -15.8994 -12.7998 -25.5996 -12.7998
+c-6.7002 0 -13.4004 2.09961 -19.2002 6.40039zM316.4 146.7l-60.5 45.2998v-20.5c0 -20.7002 -13.2002 -39 -32.8008 -45.5l-85 -28.4004c-2.59961 -0.899414 -5.2998 -1.09961 -8 -1.2998l169.4 -61.5996c-2.90039 6.09961 -4.2998 12.8994 -2.7998 20z" />
+ <glyph glyph-name="snowman" unicode="&#xf7d0;"
+d="M510.9 295.7c3.19922 -8.10059 -0.800781 -17.2002 -8.90039 -20.2998l-135.2 -55.2002c0.400391 -4.10059 1.2002 -8 1.2002 -12.2002c0 -10 -1.7002 -19.5 -4.2002 -28.7002c21.1006 -21.3994 36.1006 -48.7998 41.6006 -79
+c11.5 -63.2002 -16.4004 -120.3 -62.9004 -152.6c-10.9004 -7.60059 -23.9004 -11.7002 -37.2002 -11.7002h-99.2002c-11 0 -22 2.2998 -31.2998 8.2002c-42.3994 26.8994 -70.7998 73.7998 -70.7998 127.8c0 41.7998 16.9004 79.5996 44.2998 107.1
+c-2.5 9.30078 -4.2002 18.8008 -4.2002 28.9004c0 4.2002 0.800781 8.2002 1.2002 12.2002l-135.2 55.2002c-8.19922 3.19922 -12.1992 12.2998 -8.89941 20.2998l5.89941 14.5c3.30078 8 12.6006 11.8994 20.8008 8.7002l28.0996 -11.5v29
+c0 8.59961 7.2002 15.5996 16 15.5996h16c8.7998 0 16 -7 15.7998 -15.5996v-46.9004c0 -0.5 -0.200195 -1 -0.299805 -1.5l56.4004 -23c6 10 13.2998 18.9004 22 26.5996c-13.5 16.6006 -22 37.4004 -22 60.5c0 53 43 96 96 96s96 -43 96 -96
+c0 -23.0996 -8.40039 -43.8994 -22 -60.5c8.69922 -7.69922 16.0996 -16.5996 22 -26.5996l56.3994 23c0 0.5 -0.299805 1 -0.299805 1.5v46.9004c0 8.59961 7.2002 15.5996 16 15.5996h16c8.7998 0 16 -7 16 -15.5996v-29l28.2002 11.5
+c8.2002 3.19922 17.5 -0.700195 20.7998 -8.7002zM224 352c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 80c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 144
+c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 208c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16zM256 296c0 0 16 23.2002 16 32s-7.2002 16 -16 16s-16 -7.2002 -16 -16s16 -32 16 -32z
+M288 352c8.7998 0 16 7.2002 16 16s-7.2002 16 -16 16s-16 -7.2002 -16 -16s7.2002 -16 16 -16z" />
+ <glyph glyph-name="snowplow" unicode="&#xf7d2;" horiz-adv-x="639"
+d="M120 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM200 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM280 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24
+s-24 10.7002 -24 24s10.7002 24 24 24zM360 72c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM598.6 22.5996l36.7002 -36.6992c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006l-22.5996 -22.5996
+c-6.2002 -6.2002 -16.4004 -6.2002 -22.6006 0l-36.6992 36.7002c-26.5 26.5 -41.4004 62.3994 -41.4004 99.8994v18.7002h-43.2002c7 -14.5996 11.2002 -30.7002 11.2002 -48c0 -61.9004 -50.0996 -112 -112 -112h-256c-61.9004 0 -112 50.0996 -112 112
+c0 44.5996 26.2998 82.7998 64 100.8v91.2002c0 26.5 21.5 48 48 48h16v112c0 26.5 21.5 48 48 48h144.3c19.2998 0 36.6006 -11.4004 44.2002 -29.0996l78.2998 -182.801c3.40039 -8 5.2002 -16.5 5.2002 -25.1992v-50.9004h64v18.7002
+c0 37.5 14.9004 73.3994 41.4004 99.8994l36.6992 36.7002c6.2002 6.2002 16.4004 6.2002 22.6006 0l22.5996 -22.5996c6.2002 -6.2002 6.2002 -16.4004 0 -22.6006l-36.7002 -36.6992c-14.5 -14.5 -22.5996 -34.1006 -22.5996 -54.6006v-101.6
+c0 -20.5 8.09961 -40.1006 22.5996 -54.6006zM192 384v-96l64 -64h122.4l-68.6006 160h-117.8zM368 0c26.5 0 48 21.5 48 48s-21.5 48 -48 48h-256c-26.5 0 -48 -21.5 -48 -48s21.5 -48 48 -48h256z" />
+ <glyph glyph-name="tenge" unicode="&#xf7d7;" horiz-adv-x="384"
+d="M372 288c6.59961 0 12 -5.40039 12 -12v-56c0 -6.59961 -5.40039 -12 -12 -12h-140v-228c0 -6.59961 -5.40039 -12 -12 -12h-56c-6.59961 0 -12 5.40039 -12 12v228h-140c-6.59961 0 -12 5.40039 -12 12v56c0 6.59961 5.40039 12 12 12h360zM372 416
+c6.59961 0 12 -5.40039 12 -12v-56c0 -6.59961 -5.40039 -12 -12 -12h-360c-6.59961 0 -12 5.40039 -12 12v56c0 6.59961 5.40039 12 12 12h360z" />
+ <glyph glyph-name="toilet" unicode="&#xf7d8;" horiz-adv-x="384"
+d="M368 400h-16v-156.7c20.2002 -10.0996 32 -22.2002 32 -35.2998c0 -67.2002 -34.5996 -126.2 -86.7998 -160.5l21.3994 -70.2002c6.30078 -20.5 -9.09961 -41.2998 -30.5996 -41.2998h-192c-21.5 0 -36.9004 20.7998 -30.5996 41.2998l21.3994 70.2002
+c-52.2002 34.2998 -86.7998 93.2998 -86.7998 160.5c0 13.0996 11.7998 25.2002 32 35.2998v156.7h-16c-8.7998 0 -16 7.2002 -16 16v16c0 8.7998 7.2002 16 16 16h352c8.7998 0 16 -7.2002 16 -16v-16c0 -8.7998 -7.2002 -16 -16 -16zM80 376v-16
+c0 -4.40039 3.59961 -8 8 -8h48c4.40039 0 8 3.59961 8 8v16c0 4.40039 -3.59961 8 -8 8h-48c-4.40039 0 -8 -3.59961 -8 -8zM192 176c77.0996 0 139.6 14.2998 139.6 32s-62.5 32 -139.6 32s-139.6 -14.2998 -139.6 -32s62.5 -32 139.6 -32z" />
+ <glyph glyph-name="tools" unicode="&#xf7d9;"
+d="M501.1 52.2998c14.5 -14.5 14.5 -38.0996 0 -52.7002l-52.6992 -52.6992c-14.5 -14.6006 -38.1006 -14.6006 -52.7002 0l-117.101 117.1c-23.0996 23.0996 -27.5 57.5996 -13.8994 85.4004l-106.601 106.6h-62.0996l-96 128l64 64l128 -96v-62.0996l106.6 -106.601
+c27.8008 13.7002 62.3008 9.2002 85.4004 -13.8994zM331.7 223c-8.2002 0 -16.6006 -1 -24.7002 -2.90039l-82.0996 82.1006c-0.700195 37.5 12.6992 75.0996 41.1992 103.6c37 37 89.2002 49.6006 136.601 37.9004c9.09961 -2.2998 12.2998 -13.6006 5.7002 -20.2002
+l-74.4004 -74.4004l11.2998 -67.8994l67.9004 -11.2998l74.3994 74.3994c6.60059 6.60059 17.9004 3.5 20.1006 -5.5c11.7998 -47.3994 -0.799805 -99.5996 -37.9004 -136.7c-13 -13 -28 -22.5996 -43.7998 -29.5l-19.4004 19.4004c-20 20 -46.5996 31 -74.8994 31z
+M227.8 141c-4.89941 -21.0996 -2.59961 -42.7998 5 -62.7002l-123.6 -123.6c-25 -25 -65.5 -25 -90.5 0s-25 65.5 0 90.5l152.399 152.5zM64 -24c13.2998 0 24 10.7998 24 24c0 13.2998 -10.7002 24 -24 24s-24 -10.7002 -24 -24c0 -13.2002 10.7998 -24 24 -24z" />
+ <glyph glyph-name="tram" unicode="&#xf7da;"
+d="M288 384c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM511.5 396.1c2.2002 -8.5 -2.7998 -17.2998 -11.4004 -19.5996l-228.1 -60.7998v-91.7002h176c17.7002 0 32 -14.2998 32 -32v-224c0 -17.7002 -14.2998 -32 -32 -32
+h-384c-17.7002 0 -32 14.2998 -32 32v224c0 17.7002 14.2998 32 32 32h176v83.2002l-219.9 -58.7002c-1.2998 -0.299805 -2.69922 -0.5 -4.09961 -0.5c-7.09961 0 -13.5 4.7002 -15.4004 11.7998c-2.2998 8.60059 2.80078 17.2998 11.3008 19.6006l480 128
+c8.59961 2.2998 17.2998 -2.7002 19.5996 -11.3008zM176 64v96h-96v-96h96zM336 160v-96h96v96h-96zM304 160h-96v-96h96v96zM192 352c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
+ <glyph glyph-name="fire-alt" unicode="&#xf7e4;" horiz-adv-x="448"
+d="M323.56 396.8c72.46 -67.2598 124.44 -177.13 124.44 -230.399c0 -127.25 -100.29 -230.4 -224 -230.4s-224 103.15 -224 230.4c0 71.6396 69.7402 190.43 168 281.6c38.2803 -35.5303 72.0801 -73.6201 99.3398 -111.17
+c16.6406 20.3799 35.4199 40.6699 56.2197 59.9697zM304.09 56.1504c49.2402 34.4492 60.7803 101.229 33.4297 153.42c-3.35938 6.41992 -7.12988 13.1201 -11.2695 19.9697l-58.6299 -66.8799s-91.9004 117.359 -98.8301 125.34
+c-48.4805 -58.1201 -72.79 -92.1396 -72.79 -130.75c0 -77.5098 58.71 -125.25 130.86 -125.25c28.8594 0 55.5693 8.99023 77.2295 24.1504z" />
+ <glyph glyph-name="bacon" unicode="&#xf7e5;" horiz-adv-x="576"
+d="M218.92 111.61c-34.8604 -34.8799 -59.6504 -44.1602 -85.9199 -54c-26 -9.76074 -53 -20.1299 -88.1699 -52.7305l-35.7598 35.5098c-12.7002 12.6104 -12.0703 33.6104 1.79004 45.0605c36.3398 29.9795 66.21 41.0996 91.0693 50.3594
+c9.16992 3.41016 68.9707 19.2607 98.7207 98.0908c8.60938 22.8096 46.3496 134.58 188.979 187.72c15.8506 5.91016 27.3604 10.2002 41 20.2998c4.53516 3.35449 12.7939 6.07617 18.4346 6.07617c7.00879 0 16.751 -3.98926 21.7451 -8.90625l37.6709 -37.3896
+c-30.1504 -27.6904 -52.9102 -36.3701 -76.79 -45.3701c-28.3008 -10.6104 -57.5703 -21.5801 -97.3506 -61.3799s-50.7598 -69.0498 -61.3701 -97.3398c-9.84961 -26.3008 -19.1602 -51.1104 -54.0498 -86zM566.92 343.61
+c12.7002 -12.5996 12.0801 -33.6602 -1.80957 -45.0605c-36.3701 -30.0098 -66.2402 -41.1396 -91.1104 -50.4102c-9.2002 -3.43945 -69 -19.3193 -98.7305 -98.1094c-8.93945 -23.5898 -46.7393 -134.69 -188.939 -187.69
+c-15.8496 -5.89941 -27.3398 -10.1797 -40.9404 -20.2402c-4.53613 -3.35645 -12.7969 -6.08008 -18.4395 -6.08008c-7.00586 0 -16.7461 3.9873 -21.7402 8.90039l-37.6797 37.4297c30.1094 27.6699 52.8594 36.3301 76.7197 45.3301
+c28.2998 10.5898 57.5098 21.54 97.2998 61.3203s50.7803 69 61.4199 97.3301c9.81055 26.3096 19.1104 51.1602 54 86c34.8906 34.8398 59.6904 44.1504 85.9502 54c26.0703 9.79004 53.0605 20.1602 88.25 52.79z" />
+ <glyph glyph-name="book-medical" unicode="&#xf7e6;" horiz-adv-x="448"
+d="M448 89.5996c0 -9.59961 -3.2002 -15.999 -9.59961 -19.1992c-3.2002 -12.8008 -3.2002 -57.6006 0 -73.6006c6.39941 -6.39941 9.59961 -12.7998 9.59961 -19.2002v-16c0 -16 -12.7998 -25.5996 -25.5996 -25.5996h-326.4c-54.4004 0 -96 41.5996 -96 96v320
+c0 54.4004 41.5996 96 96 96h326.4c16 0 25.5996 -9.59961 25.5996 -25.5996v-332.801zM144 280v-48c0 -4.41602 3.58398 -8 8 -8h56v-56c0 -4.41602 3.58398 -8 8 -8h48c4.41602 0 8 3.58398 8 8v56h56c4.41602 0 8 3.58398 8 8v48c0 4.41602 -3.58398 8 -8 8h-56v56
+c0 4.41602 -3.58398 8 -8 8h-48c-4.41602 0 -8 -3.58398 -8 -8v-56h-56c-4.41602 0 -8 -3.58398 -8 -8zM380.8 0v64h-284.8c-16 0 -32 -12.7998 -32 -32s12.7998 -32 32 -32h284.8z" />
+ <glyph glyph-name="bread-slice" unicode="&#xf7ec;" horiz-adv-x="576"
+d="M288 448c180 0 288 -93.4004 288 -169.14c0 -30.3008 -24.2402 -54.8604 -64 -54.8604v-256c0 -17.6699 -16.1201 -32 -36 -32h-376c-19.8799 0 -36 14.3301 -36 32v256c-39.7598 0 -64 24.5596 -64 54.8604c0 75.7393 108 169.14 288 169.14z" />
+ <glyph glyph-name="cheese" unicode="&#xf7ef;"
+d="M0 160h512v-160c0 -17.6641 -14.3359 -32 -32 -32h-448c-17.6641 0 -32 14.3359 -32 32v160zM299.83 416c118.17 -6.2002 212.17 -104.11 212.17 -224h-512l278.7 217c4.83984 3.875 13.7998 7.01953 20 7.01953c0.311523 0 0.818359 -0.00878906 1.12988 -0.0195312z
+" />
+ <glyph glyph-name="clinic-medical" unicode="&#xf7f2;" horiz-adv-x="576"
+d="M288 333l218.74 -192.9c1.54004 -1.37988 3.55957 -2.04004 5.25977 -3.19922v-184.9c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v184.94c1.78027 1.20996 3.84961 1.88965 5.46973 3.34961zM384 72v48c0 4.41602 -3.58398 8 -8 8h-56v56
+c0 4.41602 -3.58398 8 -8 8h-48c-4.41602 0 -8 -3.58398 -8 -8v-56h-56c-4.41602 0 -8 -3.58398 -8 -8v-48c0 -4.41602 3.58398 -8 8 -8h56v-56c0 -4.41602 3.58398 -8 8 -8h48c4.41602 0 8 3.58398 8 8v56h56c4.41602 0 8 3.58398 8 8zM570.69 211.72
+c2.93066 -2.63184 5.31055 -7.96484 5.31055 -11.9053c0 -3.38086 -1.83301 -8.16797 -4.09082 -10.6846l-21.4004 -23.8203c-2.63184 -2.93066 -7.96484 -5.30957 -11.9043 -5.30957c-3.38574 0 -8.17773 1.83691 -10.6953 4.09961l-229.32 202.271
+c-2.50391 2.20898 -7.24609 4.00195 -10.585 4.00195s-8.08105 -1.79297 -10.585 -4.00195l-229.32 -202.28c-2.51758 -2.2627 -7.30957 -4.09961 -10.6953 -4.09961c-3.93848 0 -9.27246 2.37891 -11.9043 5.30957l-21.4102 23.8203
+c-2.2627 2.51758 -4.09961 7.30957 -4.09961 10.6953c0 3.93945 2.37891 9.27246 5.30957 11.9043l256 226c6.2832 5.68066 18.2559 10.29 26.7256 10.29c8.46875 0 20.4424 -4.60938 26.7246 -10.29z" />
+ <glyph glyph-name="comment-medical" unicode="&#xf7f5;"
+d="M256 416c141.39 0 256 -93.1201 256 -208s-114.61 -208 -256 -208h-0.473633c-30.4814 0 -78.3838 8.68164 -106.927 19.3799c-24.5996 -19.6299 -74.3398 -51.3799 -140.6 -51.3799c-4.41113 0.00488281 -7.99023 3.58887 -7.99023 8
+c0 1.75879 0.981445 4.22266 2.19043 5.5c0.5 0.5 42.2598 45.4502 54.7998 95.7598c-35.5898 35.7402 -57 81.1807 -57 130.74c0 114.88 114.62 208 256 208zM352 184v48c0 4.41602 -3.58398 8 -8 8h-56v56c0 4.41602 -3.58398 8 -8 8h-48c-4.41602 0 -8 -3.58398 -8 -8
+v-56h-56c-4.41602 0 -8 -3.58398 -8 -8v-48c0 -4.41602 3.58398 -8 8 -8h56v-56c0 -4.41602 3.58398 -8 8 -8h48c4.41602 0 8 3.58398 8 8v56h56c4.41602 0 8 3.58398 8 8z" />
+ <glyph glyph-name="crutch" unicode="&#xf7f7;" horiz-adv-x="511"
+d="M507.31 262.29c2.56348 -2.58301 4.64355 -7.63184 4.64355 -11.2695c0 -3.66602 -2.10742 -8.74219 -4.70312 -11.3301l-22.6201 -22.6309c-2.58691 -2.58691 -7.65625 -4.6875 -11.3145 -4.6875c-3.65918 0 -8.72852 2.10059 -11.3154 4.6875l-181 181
+c-2.58789 2.58691 -4.6875 7.65625 -4.6875 11.3154s2.09961 8.72852 4.6875 11.3154l22.6904 22.5996c2.58594 2.58496 7.65332 4.68262 11.3096 4.68262s8.72363 -2.09766 11.3096 -4.68262zM327.77 195.88l55.1006 55.1201l45.25 -45.2695l-109.68 -109.681
+c-10.7441 -10.748 -31.4814 -22.2393 -46.29 -25.6494l-120.25 -27.75l-102 -102c-2.58691 -2.58789 -7.65625 -4.6875 -11.3154 -4.6875s-8.72754 2.09961 -11.3154 4.6875l-22.6191 22.6191c-2.58789 2.58789 -4.6875 7.65625 -4.6875 11.3154
+s2.09961 8.72852 4.6875 11.3154l102 102l27.7393 120.26c3.4248 14.8057 14.9248 35.5439 25.6699 46.29l109.671 109.67l45.25 -45.25l-55.1006 -55.1006zM273.2 141.31l9.30957 9.31055l-67.8896 67.8896l-9.31055 -9.30957
+c-3.57715 -3.59082 -7.41211 -10.5127 -8.55957 -15.4502l-18.2998 -79.2998l79.2998 18.3193c4.94043 1.13379 11.8623 4.95996 15.4502 8.54004z" />
+ <glyph glyph-name="egg" unicode="&#xf7fb;" horiz-adv-x="384"
+d="M192 448c106 0 192 -214 192 -320s-86 -192 -192 -192s-192 86 -192 192s86 320 192 320z" />
+ <glyph glyph-name="hamburger" unicode="&#xf805;"
+d="M464 192c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48h-416c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48h416zM480 64c8.83203 0 16 -7.16797 16 -16v-16c0 -35.3281 -28.6719 -64 -64 -64h-352c-35.3281 0 -64 28.6719 -64 64v16
+c0 8.83203 7.16797 16 16 16h448zM58.6396 224c-34.5693 0 -54.6396 43.9102 -34.8193 75.8896c40.1797 64.9102 128.64 116.011 232.18 116.11c103.55 -0.0996094 192 -51.2002 232.18 -116.12c19.8008 -31.9795 -0.25 -75.8799 -34.8193 -75.8799h-394.721zM384 336
+c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16s16 7.16797 16 16s-7.16797 16 -16 16zM256 368c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16s16 7.16797 16 16s-7.16797 16 -16 16zM128 336c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16
+s16 7.16797 16 16s-7.16797 16 -16 16z" />
+ <glyph glyph-name="hand-middle-finger" unicode="&#xf806;"
+d="M479.93 130.88l0.0703125 -82.8799v0c0 -61.7969 -50.1533 -111.973 -111.95 -112h-215c-25.6074 0.00292969 -61.084 14.7012 -79.1895 32.8096l-30.9307 30.9307c-6.0332 6.03223 -10.9297 17.8525 -10.9297 26.3838v0.00585938v73.4697v0.00292969
+c0 12.7383 9.24707 27.7002 20.6396 33.3975l27.3604 15v-76c0 -4.41602 3.58398 -8 8 -8s8 3.58398 8 8v147.04c0 15.2598 12.8701 28.3799 30.8701 31.3799l30.6797 5.12012c17.8203 2.96973 34.4502 -8.38965 34.4502 -23.54v-32c0 -4.41602 3.58398 -8 8 -8
+s8 3.58398 8 8v200v0.0224609c0 26.4961 21.5039 48 48 48c0.408203 0 1.07129 -0.00976562 1.48047 -0.0224609c26.2695 -0.799805 46.5195 -23.7197 46.5195 -50v-198c0 -4.41602 3.58398 -8 8 -8s8 3.58398 8 8v32c0 15.1396 16.6299 26.5 34.4502 23.5303
+l38.3994 -6.40039c13.46 -2.25 23.1504 -12.0996 23.1504 -23.54v-49.5898l35.6504 -8.92969c15.5986 -3.89844 28.2686 -20.1113 28.2793 -36.1904z" />
+ <glyph glyph-name="hard-hat" unicode="&#xf807;"
+d="M480 160v-64h-448v64c0 80.25 49.2803 148.92 119.19 177.62l40.8096 -81.6201v112c0 8.83203 7.16797 16 16 16h96c8.83203 0 16 -7.16797 16 -16v-112l40.8096 81.6201c69.9102 -28.7002 119.19 -97.3701 119.19 -177.62zM496 64c8.83203 0 16 -7.16797 16 -16v-32
+c0 -8.83203 -7.16797 -16 -16 -16h-480c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h480z" />
+ <glyph glyph-name="hotdog" unicode="&#xf80f;"
+d="M488.56 424.56c12.9297 -12.9326 23.4238 -38.2715 23.4238 -56.5596s-10.4941 -43.627 -23.4238 -56.5596l-352 -352c-13.0205 -13.4824 -38.7998 -24.4238 -57.543 -24.4238c-44.1592 0 -80 35.8408 -80 80c0 18.7432 10.9414 44.5225 24.4238 57.543l352 352
+c12.9326 12.9297 38.2715 23.4238 56.5596 23.4238s43.627 -10.4941 56.5596 -23.4238zM438.63 329.37c2.58691 2.58691 4.68652 7.65625 4.68652 11.3145c0 8.83301 -7.16797 16.002 -16.001 16.002c-3.65918 0 -8.72852 -2.09961 -11.3154 -4.68652
+c-12.4102 -12.4102 -21.7598 -14 -34.71 -16.2305c-14.4004 -2.46973 -32.3203 -5.55957 -51.9199 -25.1494c-19.6006 -19.5898 -22.6699 -37.5205 -25.1396 -51.9199c-2.24023 -12.9502 -3.84082 -22.3105 -16.2402 -34.71
+c-12.4004 -12.4004 -21.7002 -14.0098 -34.7002 -16.2305c-14.4004 -2.46973 -32.3203 -5.5498 -51.9199 -25.1396c-19.6006 -19.5898 -22.6699 -37.5205 -25.1504 -51.9199c-2.21973 -12.9502 -3.80957 -22.29 -16.2197 -34.7002s-21.71 -14.0098 -34.71 -16.2305
+c-14.4004 -2.46973 -32.3203 -5.5498 -51.9199 -25.1396c-2.58691 -2.58691 -4.68652 -7.65625 -4.68652 -11.3145c0 -8.83301 7.16797 -16.002 16.001 -16.002c3.65918 0 8.72852 2.09961 11.3154 4.68652c12.4004 12.4004 21.7598 14 34.7002 16.2305
+c14.3994 2.46973 32.3301 5.55957 51.9297 25.1494c19.6006 19.5898 22.6699 37.5205 25.1396 51.9199c2.23047 12.9502 3.83008 22.2998 16.2305 34.7002s21.75 14 34.7002 16.2197c14.3994 2.48047 32.3193 5.56055 51.9199 25.1504
+c19.5996 19.5898 22.6699 37.5195 25.1494 51.9199c2.23047 12.9502 3.83008 22.3096 16.2305 34.71s21.7598 14 34.7002 16.2305c14.4102 2.46973 32.3301 5.5498 51.9297 25.1396zM31.4404 125.82l-11.5508 11.5498c-24.9893 24.9902 -26.6592 63.8398 -3.71973 86.7803
+l207.68 207.68c22.9404 22.9395 61.79 21.2803 86.79 -3.71973l11.54 -11.5508zM480.56 258.18l11.5508 -11.54c24.9893 -25 26.6592 -63.8496 3.71973 -86.79l-207.68 -207.68c-22.9404 -22.9395 -61.79 -21.2803 -86.79 3.71973l-11.54 11.5508z" />
+ <glyph glyph-name="ice-cream" unicode="&#xf810;" horiz-adv-x="448"
+d="M368 288c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48h0.94043c-0.519531 4.51855 -0.94043 11.8779 -0.94043 16.4268c0 79.4883 64.5117 144 144 144s144 -64.5117 144 -144
+c0 -4.54883 -0.420898 -11.9082 -0.94043 -16.4268h0.94043zM195.38 -45.6904l-99.3799 205.69h256l-99.3799 -205.69c-4.66504 -10.1084 -17.4863 -18.3135 -28.6201 -18.3135s-23.9551 8.20508 -28.6201 18.3135z" />
+ <glyph glyph-name="laptop-medical" unicode="&#xf812;" horiz-adv-x="640"
+d="M232 224c-4.41602 0 -8 3.58398 -8 8v48c0 4.41602 3.58398 8 8 8h56v56c0 4.41602 3.58398 8 8 8h48c4.41602 0 8 -3.58398 8 -8v-56h56c4.41602 0 8 -3.58398 8 -8v-48c0 -4.41602 -3.58398 -8 -8 -8h-56v-56c0 -4.41602 -3.58398 -8 -8 -8h-48
+c-4.41602 0 -8 3.58398 -8 8v56h-56zM576 400v-336h-512v336c0.0771484 26.4189 21.5811 47.9229 48 48h416c26.4189 -0.0771484 47.9229 -21.5811 48 -48zM512 128v256h-384v-256h384zM624 32c8.83203 0 16 -7.16797 16 -16v-16
+c-0.104492 -35.2236 -28.7764 -63.8955 -64 -64h-512c-35.2236 0.104492 -63.8955 28.7764 -64 64v16c0 8.83203 7.16797 16 16 16h239.23c-0.230469 -14.5303 14.0791 -32 32.7695 -32h60.7998c18.0303 0 32 12.1904 32.7402 32h242.46z" />
+ <glyph glyph-name="pager" unicode="&#xf815;"
+d="M448 384c35.3281 0 64 -28.6719 64 -64v-256c0 -35.3281 -28.6719 -64 -64 -64h-384c-35.3281 0 -64 28.6719 -64 64v256c0 35.3281 28.6719 64 64 64h384zM160 80v48h-80c-8.83203 0 -16 -7.16797 -16 -16v-16c0 -8.83203 7.16797 -16 16 -16h80zM288 96v16
+c0 8.83203 -7.16797 16 -16 16h-80v-48h80c8.83203 0 16 7.16797 16 16zM448 224v64c0 17.6641 -14.3359 32 -32 32h-320c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h320c17.6641 0 32 14.3359 32 32z" />
+ <glyph glyph-name="pepper-hot" unicode="&#xf816;"
+d="M330.67 184.88h107.46l37.0498 -38.54c-48.5293 -87.4697 -206.54 -210.34 -419.18 -210.34c-30.9121 0 -56 25.0879 -56 56s25.0879 56 56 56c141.58 0 163.44 181.24 221.92 250.82l52.75 -24.2207v-89.7197zM461.76 313.25
+c27.7324 -25.2861 50.2402 -76.2676 50.2402 -113.798v-0.142578c0 -13.6797 -2.2998 -26.6895 -5.55957 -39.3096l-54.6807 56.8799h-89.0898v78.2402l-74.6699 34.29c22.3398 14.0498 48.3398 22.5898 76.3398 22.5898
+c16.4658 -0.00683594 42.0732 -5.36523 57.1602 -11.96c18.4502 37.2197 8.25977 61.96 1.40039 72.3203c-0.787109 1.14062 -1.42578 3.19043 -1.42578 4.57617c0 1.82227 1.03711 4.35449 2.31543 5.65332l22.9004 23c1.29688 1.31836 3.85156 2.38867 5.70117 2.38867
+c2.1123 0 4.90234 -1.33398 6.22852 -2.97852c18.5596 -23.4805 35.2998 -71.9102 3.13965 -131.75z" />
+ <glyph glyph-name="pizza-slice" unicode="&#xf818;"
+d="M158.87 447.85c181.91 -17.1699 332.02 -164.93 352.899 -345.71c1.87012 -16.2197 -7.89941 -31.54 -23.6191 -35.8994l-56.9404 -15.7803c-7.94043 186.39 -134.86 311.51 -322.479 317l14.8096 56.2705c4.12988 15.6992 19.1699 25.6396 35.3301 24.1191z
+M100.4 335.85c176.069 -1.95996 294.88 -119.25 299.149 -294.14l-379 -105.1c-1.1709 -0.324219 -3.1084 -0.587891 -4.32422 -0.587891c-8.94824 0 -16.21 7.26172 -16.21 16.21c0 1.1582 0.239258 3.00781 0.53418 4.12793zM128 32c17.6641 0 32 14.3359 32 32
+s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM176 184c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM280 80c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32z" />
+ <glyph glyph-name="trash-restore" unicode="&#xf829;" horiz-adv-x="448"
+d="M53.2002 -19l-21.2002 339h384l-21.2002 -339c-1.55469 -24.8369 -23.0146 -44.9971 -47.8994 -45h-245.801c-24.8848 0.00292969 -46.3447 20.1631 -47.8994 45zM123.31 156.8c-10.0791 -10.6201 -2.93945 -28.7998 11.3203 -28.7998h57.3701v-112
+c0 -8.83203 7.16797 -16 16 -16h32c8.83203 0 16 7.16797 16 16v112h57.3701c14.2598 0 21.3994 18.1797 11.3203 28.7998l-89.3809 94.2598c-2.52441 2.72949 -7.5918 4.94336 -11.3096 4.94336s-8.78516 -2.21387 -11.3096 -4.94336zM432 416
+c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781
+c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002h120z" />
+ <glyph glyph-name="trash-restore-alt" unicode="&#xf82a;" horiz-adv-x="448"
+d="M32 -16v336h384v-336c0 -26.4961 -21.5039 -48 -48 -48h-288c-26.4961 0 -48 21.5039 -48 48zM123.31 156.8c-10.0791 -10.6201 -2.93945 -28.7998 11.3203 -28.7998h57.3701v-112c0 -8.83203 7.16797 -16 16 -16h32c8.83203 0 16 7.16797 16 16v112h57.3701
+c14.2598 0 21.3994 18.1797 11.3203 28.7998l-89.3809 94.2598c-2.52441 2.72949 -7.5918 4.94336 -11.3096 4.94336s-8.78516 -2.21387 -11.3096 -4.94336zM432 416c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-416c-8.83203 0 -16 7.16797 -16 16
+v32c0 8.83203 7.16797 16 16 16h120l9.40039 18.7002c3.58984 7.3418 13.1357 13.2998 21.3086 13.2998h0.0908203h114.3h0.0175781c8.20215 0 17.8262 -5.95801 21.4824 -13.2998l9.40039 -18.7002h120z" />
+ <glyph glyph-name="user-nurse" unicode="&#xf82f;" horiz-adv-x="448"
+d="M57.7803 160c-8.82227 0.00976562 -15.9814 7.17773 -15.9814 16c0 2.09277 0.761719 5.30957 1.70117 7.17969c15.2305 29.8203 31.2803 62.2305 42.1699 95.54c7.58008 23.1904 10.3301 47.6904 10.3301 72.0801v49.2002l128 48l128 -48v-49.2002
+c0 -24.3896 2.78027 -48.8896 10.3496 -72.0801c10.8701 -33.3096 26.9199 -65.6895 42.1504 -95.54c0.939453 -1.87012 1.70117 -5.08691 1.70117 -7.17969c0 -8.82227 -7.15918 -15.9902 -15.9814 -16h-82.3594c-22.5107 -19.6797 -51.6201 -32 -83.8604 -32
+s-61.3496 12.3203 -83.8604 32h-82.3594zM184 376.33v-16.6602c0 -2.75977 2.24023 -5 5 -5h21.6699v-21.6699c0 -2.75977 2.24023 -5 5 -5h16.6602c2.75977 0 5 2.24023 5 5v21.6699h21.6699c2.75977 0 5 2.24023 5 5v16.6602c0 2.75977 -2.24023 5 -5 5h-21.6699v21.6699
+c0 2.75977 -2.24023 5 -5 5h-16.6602c-2.75977 0 -5 -2.24023 -5 -5v-21.6699h-21.6699c-2.75977 0 -5 -2.24023 -5 -5zM144 288v-32c0 -44.1602 35.8398 -80 80 -80s80 35.8398 80 80v32h-160zM319.41 128c71.4902 -3.09961 128.59 -61.5996 128.59 -133.79
+c0 -32.1318 -26.0781 -58.21 -58.21 -58.21v0h-331.58c-32.1318 0 -58.21 26.0781 -58.21 58.21c0 72.1904 57.0996 130.69 128.59 133.79l95.4102 -95.3896z" />
+ </font>
+</defs></svg>
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.ttf b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.ttf
new file mode 100644
index 0000000000..7ece3282a4
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.ttf
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff
new file mode 100644
index 0000000000..a892a7a9c1
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff
Binary files differ
diff --git a/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff2 b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff2
new file mode 100644
index 0000000000..71b07ce028
--- /dev/null
+++ b/testing/web-platform/tests/tools/wave/www/webfonts/fa-solid-900.woff2
Binary files differ