diff --git a/.gitignore b/.gitignore index 4d69aa9..a55e99e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,8 @@ -/settings.php -/style/.sass-cache/ -/files/**/*.jpg -/files/**/*.JPG -/files/**/*.jpeg -/files/**/*.JPEG -/files/**/*.png -/files/**/*.PNG -/files/**/*.mov -/files/**/*.MOV -/geo/*.geojson -/spot_cron.sh -/vendor/* -/log.html \ No newline at end of file +/vendor/ +/config/settings.php +/files/ +/geo/ +/node_modules/ +/log.html +/dist/ +.codex \ No newline at end of file diff --git a/build/webpack.config.js b/build/webpack.config.js new file mode 100644 index 0000000..b14b175 --- /dev/null +++ b/build/webpack.config.js @@ -0,0 +1,104 @@ +const path = require('path'); +const webpack = require('webpack'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const SymlinkWebpackPlugin = require('symlink-webpack-plugin'); +const { VueLoaderPlugin } = require('vue-loader'); + +const ROOT = path.resolve(__dirname, '..'); +const SRC = path.resolve(ROOT, 'src'); +const DIST = path.resolve(ROOT, 'dist'); +const LIB = path.resolve(ROOT, 'lib'); + +module.exports = (env, argv) => { + const mode = argv.mode || 'production'; + const isDev = (mode === 'development'); + + return { + mode, + devtool: isDev ? 'inline-source-map' : false, + watch: isDev, + entry: { + app: path.resolve(SRC, 'app.js') + }, + output: { + path: DIST, + filename: '[name].js', + publicPath: '../dist/' + }, + module: { + rules: [{ + test: /\.vue$/, + loader: 'vue-loader' + }, { + test: /\.js$/, + exclude: file => (/node_modules/.test(file) && !/\.vue\.js/.test(file)), + use: { + loader: 'babel-loader', + options: { + presets: ['@babel/preset-env'] + } + } + }, { + test: /\.html$/i, + loader: 'html-loader' + }, { + test: /\.s[ac]ss$/i, + use: [ + 'vue-style-loader', + 'css-loader', + { + loader: 'sass-loader', + options: { + implementation: require.resolve('sass'), + sourceMap: isDev + } + } + ] + }, { + test: /\.css$/i, + use: ['vue-style-loader', 'css-loader'] + }, { + test: /\.(png|svg|jpg|jpeg|gif)$/i, + type: 'asset', + parser: { + dataUrlCondition: { + maxSize: 1 * 1024 + } + }, + generator: { + filename: 'images/[name][ext]' + } + }] + }, + plugins: [ + new CopyWebpackPlugin({ + patterns: [ + { from: path.resolve(LIB, 'index.php'), to: 'index.php' }, + { from: path.resolve(SRC, 'images', 'logo_black.png'), to: 'images' }, + { from: path.resolve(SRC, 'images', 'spot-logo-only.svg'), to: 'images' } + ] + }), + new SymlinkWebpackPlugin([ + { origin: '../files/', symlink: 'files' }, + { origin: '../geo/', symlink: 'geo' }, + { origin: '../src/images/icons/', symlink: 'images/icons' } + ]), + new CleanWebpackPlugin(), + new webpack.DefinePlugin({ + __VUE_OPTIONS_API__: 'true', + __VUE_PROD_DEVTOOLS__: 'false', + __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false' + }), + new VueLoaderPlugin() + ], + resolve: { + extensions: ['.vue', '.scss', '...'], + alias: { + '@components': path.resolve(SRC, 'components'), + '@scripts': path.resolve(SRC, 'scripts'), + '@styles': path.resolve(SRC, 'styles') + } + } + }; +}; diff --git a/cli/cron.sh b/cli/cron.sh new file mode 100644 index 0000000..054fa99 --- /dev/null +++ b/cli/cron.sh @@ -0,0 +1,4 @@ +#!/bin/bash +wget -qO- https://spot.lutran.fr/index.php?a=update_project > /dev/null + +#Crontab job: 0 * * * * . /var/www/spot/spot_cron.sh > /dev/null \ No newline at end of file diff --git a/composer.json b/composer.json index 5b651b3..c9820c8 100644 --- a/composer.json +++ b/composer.json @@ -9,15 +9,15 @@ } ], "require": { - "franzz/objects": "dev-composer", + "franzz/objects": "dev-vue", "phpmailer/phpmailer": "^6.5" }, "autoload": { "psr-4": { - "Franzz\\Spot\\": "inc/" + "Franzz\\Spot\\": "lib/" }, "files": [ - "settings.php" + "config/settings.php" ] } } diff --git a/composer.lock b/composer.lock index bc29141..281ea01 100644 --- a/composer.lock +++ b/composer.lock @@ -4,15 +4,15 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "164c903fea5bdcfb36cf6ea31ec0c307", + "content-hash": "12bb836a394b645df50c14652a2ae5bf", "packages": [ { "name": "franzz/objects", - "version": "dev-composer", + "version": "dev-vue", "dist": { "type": "path", "url": "../objects", - "reference": "e1cf78b992a6f52742d6834f7508c0ef373ac860" + "reference": "bcae723140735b1432caaf3070ef4e29ecb73a76" }, "type": "library", "autoload": { @@ -27,16 +27,16 @@ }, { "name": "phpmailer/phpmailer", - "version": "v6.8.0", + "version": "v6.12.0", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "df16b615e371d81fb79e506277faea67a1be18f1" + "reference": "d1ac35d784bf9f5e61b424901d5a014967f15b12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/df16b615e371d81fb79e506277faea67a1be18f1", - "reference": "df16b615e371d81fb79e506277faea67a1be18f1", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/d1ac35d784bf9f5e61b424901d5a014967f15b12", + "reference": "d1ac35d784bf9f5e61b424901d5a014967f15b12", "shasum": "" }, "require": { @@ -46,16 +46,17 @@ "php": ">=5.5.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.2", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", "doctrine/annotations": "^1.2.6 || ^1.13.3", "php-parallel-lint/php-console-highlighter": "^1.0.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcompatibility/php-compatibility": "^9.3.5", "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.7.1", + "squizlabs/php_codesniffer": "^3.7.2", "yoast/phpunit-polyfills": "^1.0.4" }, "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", "ext-openssl": "Needed for secure SMTP sending and DKIM signing", "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", @@ -95,7 +96,7 @@ "description": "PHPMailer is a full-featured email creation and transfer class for PHP", "support": { "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.8.0" + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.12.0" }, "funding": [ { @@ -103,7 +104,7 @@ "type": "github" } ], - "time": "2023-03-06T14:43:22+00:00" + "time": "2025-10-15T16:49:08+00:00" } ], "packages-dev": [], @@ -114,7 +115,7 @@ }, "prefer-stable": false, "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.3.0" + "platform": {}, + "platform-dev": {}, + "plugin-api-version": "2.6.0" } diff --git a/files/db/update_v10_to_v11.sql b/config/db/update_v10_to_v11.sql similarity index 100% rename from files/db/update_v10_to_v11.sql rename to config/db/update_v10_to_v11.sql diff --git a/files/db/update_v11_to_v12.sql b/config/db/update_v11_to_v12.sql similarity index 100% rename from files/db/update_v11_to_v12.sql rename to config/db/update_v11_to_v12.sql diff --git a/files/db/update_v12_to_v13.sql b/config/db/update_v12_to_v13.sql similarity index 100% rename from files/db/update_v12_to_v13.sql rename to config/db/update_v12_to_v13.sql diff --git a/files/db/update_v13_to_v14.sql b/config/db/update_v13_to_v14.sql similarity index 100% rename from files/db/update_v13_to_v14.sql rename to config/db/update_v13_to_v14.sql diff --git a/files/db/update_v14_to_v15.sql b/config/db/update_v14_to_v15.sql similarity index 100% rename from files/db/update_v14_to_v15.sql rename to config/db/update_v14_to_v15.sql diff --git a/files/db/update_v15_to_v16.sql b/config/db/update_v15_to_v16.sql similarity index 100% rename from files/db/update_v15_to_v16.sql rename to config/db/update_v15_to_v16.sql diff --git a/files/db/update_v16_to_v17.sql b/config/db/update_v16_to_v17.sql similarity index 100% rename from files/db/update_v16_to_v17.sql rename to config/db/update_v16_to_v17.sql diff --git a/files/db/update_v17_to_v18.sql b/config/db/update_v17_to_v18.sql similarity index 100% rename from files/db/update_v17_to_v18.sql rename to config/db/update_v17_to_v18.sql diff --git a/files/db/update_v18_to_v19.sql b/config/db/update_v18_to_v19.sql similarity index 100% rename from files/db/update_v18_to_v19.sql rename to config/db/update_v18_to_v19.sql diff --git a/files/db/update_v19_to_v20.sql b/config/db/update_v19_to_v20.sql similarity index 100% rename from files/db/update_v19_to_v20.sql rename to config/db/update_v19_to_v20.sql diff --git a/files/db/update_v1_to_v2.sql b/config/db/update_v1_to_v2.sql similarity index 100% rename from files/db/update_v1_to_v2.sql rename to config/db/update_v1_to_v2.sql diff --git a/files/db/update_v20_to_v21.sql b/config/db/update_v20_to_v21.sql similarity index 100% rename from files/db/update_v20_to_v21.sql rename to config/db/update_v20_to_v21.sql diff --git a/config/db/update_v21_to_v22.sql b/config/db/update_v21_to_v22.sql new file mode 100644 index 0000000..d1bffe6 --- /dev/null +++ b/config/db/update_v21_to_v22.sql @@ -0,0 +1,5 @@ +ALTER TABLE mappings ADD COLUMN default_map BOOLEAN DEFAULT 0 AFTER id_project; +ALTER TABLE mappings ADD CONSTRAINT default_on_generic_map_only CHECK (default_map = 0 OR id_project IS NULL); +UPDATE mappings SET default_map = 1 WHERE id_map = (select id_map from maps where codename = 'satellite'); +UPDATE maps SET token = substring(pattern, locate('token=', pattern) + 6) WHERE codename = 'static_marker'; +UPDATE maps SET pattern = replace(pattern, token, '{token}') WHERE codename = 'static_marker'; \ No newline at end of file diff --git a/config/db/update_v22_to_v23.sql b/config/db/update_v22_to_v23.sql new file mode 100644 index 0000000..dd61a67 --- /dev/null +++ b/config/db/update_v22_to_v23.sql @@ -0,0 +1,23 @@ +ALTER TABLE medias MODIFY latitude DECIMAL(8,6); +ALTER TABLE medias MODIFY longitude DECIMAL(9,6); + +UPDATE medias SET comment = 'Source chaude en plein milieu d''une forêt !' WHERE id_media = 16; +UPDATE medias SET comment = 'Stephan veut absolument arriver à Arrowtown avant le Super Bowl :D' WHERE id_media = 48; + +UPDATE medias SET latitude = 41.011880, longitude = -121.652212, altitude = 855 WHERE id_media = 286; +UPDATE medias SET latitude = -41.787646,longitude = 172.886950 WHERE id_media = 62; +UPDATE medias SET latitude = -43.575937,longitude = 170.945159, comment = 'Edoras' WHERE id_media = 17; +UPDATE medias SET latitude = -44.176388,longitude = 170.196363, comment = 'Juste la bonne ouverture !' WHERE id_media = 29; +UPDATE medias SET latitude = -43.695997,longitude = 170.168364, comment = 'Tasman Glacier' WHERE id_media = 31; +UPDATE medias SET latitude = -44.802931,longitude = 168.157397 WHERE id_media = 52; +UPDATE medias SET latitude = 42.475460, longitude = 3.040459 WHERE id_media = 70; +UPDATE medias SET latitude = 42.701617, longitude = 0.526217 WHERE id_media = 104; +UPDATE medias SET latitude = 42.715667, longitude = 0.028215 WHERE id_media = 107; +UPDATE medias SET latitude = 42.691005, longitude = -0.033730 WHERE id_media = 114; +UPDATE medias SET latitude = 42.789225, longitude = -0.155126 WHERE id_media = 122; +UPDATE medias SET latitude = 43.085268, longitude = -1.389657 WHERE id_media = 127; +UPDATE medias SET latitude = 43.307165, longitude = -1.630111 WHERE id_media = 129; +UPDATE medias SET latitude = 57.278450, longitude = -5.289557 WHERE id_media = 396; +UPDATE medias SET latitude = 58.208948, longitude = -4.927144, comment = 'Eas a'' Chual Aluinn (nom de la chute d’eau, c’est du gaélique, faut pas chercher). Les plus hautes des UK.' WHERE id_media = 409; +UPDATE medias SET latitude = 58.243837, longitude = -4.964172 WHERE id_media = 410; +UPDATE medias SET latitude = 58.542221, longitude = -5.048463 WHERE id_media = 417; \ No newline at end of file diff --git a/files/db/update_v2_to_v3.sql b/config/db/update_v2_to_v3.sql similarity index 100% rename from files/db/update_v2_to_v3.sql rename to config/db/update_v2_to_v3.sql diff --git a/files/db/update_v3_to_v4.sql b/config/db/update_v3_to_v4.sql similarity index 100% rename from files/db/update_v3_to_v4.sql rename to config/db/update_v3_to_v4.sql diff --git a/files/db/update_v4_to_v5.sql b/config/db/update_v4_to_v5.sql similarity index 100% rename from files/db/update_v4_to_v5.sql rename to config/db/update_v4_to_v5.sql diff --git a/files/db/update_v5_to_v6.sql b/config/db/update_v5_to_v6.sql similarity index 100% rename from files/db/update_v5_to_v6.sql rename to config/db/update_v5_to_v6.sql diff --git a/files/db/update_v6_to_v7.sql b/config/db/update_v6_to_v7.sql similarity index 100% rename from files/db/update_v6_to_v7.sql rename to config/db/update_v6_to_v7.sql diff --git a/files/db/update_v7_to_v8.sql b/config/db/update_v7_to_v8.sql similarity index 100% rename from files/db/update_v7_to_v8.sql rename to config/db/update_v7_to_v8.sql diff --git a/files/db/update_v8_to_v9.sql b/config/db/update_v8_to_v9.sql similarity index 100% rename from files/db/update_v8_to_v9.sql rename to config/db/update_v8_to_v9.sql diff --git a/files/db/update_v9_to_v10.sql b/config/db/update_v9_to_v10.sql similarity index 100% rename from files/db/update_v9_to_v10.sql rename to config/db/update_v9_to_v10.sql diff --git a/settings-sample.php b/config/settings-sample.php similarity index 92% rename from settings-sample.php rename to config/settings-sample.php index 632f4e3..baf8c4e 100755 --- a/settings-sample.php +++ b/config/settings-sample.php @@ -8,7 +8,7 @@ class Settings const DB_NAME = 'spot'; const DB_ENC = 'utf8mb4'; const TEXT_ENC = 'UTF-8'; - const TIMEZONE = 'Europe/Paris'; + const TIMEZONE = 'Europe/Zurich'; const MAIL_SERVER = ''; const MAIL_FROM = ''; const MAIL_USER = ''; diff --git a/geo/hrp.gpx b/geo/hrp.gpx index cc35f9f..2b24087 100644 --- a/geo/hrp.gpx +++ b/geo/hrp.gpx @@ -166996,6 +166996,1110 @@ This is waypoint no: 425 + + Service Lulu + + 23d34d692e57f24e8c0c16cee7f89015 + 3 + + Red + + + + + 916 + + 16 + 0 + + + + 917 + + 8 + 0 + + + + 917 + + 8 + 0 + + + + 918 + + 8 + 0 + + + + 915 + + 8 + 0 + + + + 910 + + 8 + 0 + + + + 902 + + 8 + 0 + + + + 897 + + 8 + 0 + + + + 892 + + 8 + 0 + + + + 891 + + 8 + 0 + + + + 892 + + 8 + 0 + + + + 892 + + 8 + 0 + + + + 892 + + 8 + 0 + + + + 892 + + 8 + 0 + + + + 894 + + 8 + 0 + + + + 893 + + 8 + 0 + + + + 894 + + 8 + 0 + + + + 895 + + 8 + 0 + + + + 895 + + 8 + 0 + + + + 898 + + 8 + 0 + + + + 898 + + 8 + 0 + + + + 900 + + 8 + 0 + + + + 900 + + 8 + 0 + + + + 902 + + 8 + 0 + + + + 905 + + 8 + 0 + + + + 909 + + 8 + 0 + + + + 911 + + 8 + 0 + + + + 911 + + 8 + 0 + + + + 913 + + 8 + 0 + + + + 914 + + 8 + 0 + + + + 914 + + 8 + 0 + + + + 914 + + 8 + 0 + + + + 914 + + 8 + 0 + + + + 915 + + 8 + 0 + + + + 917 + + 8 + 0 + + + + 918 + + 8 + 0 + + + + 919 + + 8 + 0 + + + + 919 + + 8 + 0 + + + + 919 + + 8 + 0 + + + + 918 + + 8 + 0 + + + + 921 + + 8 + 0 + + + + 922 + + 8 + 0 + + + + 922 + + 8 + 0 + + + + 923 + + 8 + 0 + + + + 930 + + 8 + 0 + + + + 932 + + 8 + 0 + + + + 933 + + 8 + 0 + + + + 938 + + 8 + 0 + + + + 938 + + 8 + 0 + + + + 938 + + 8 + 0 + + + + 936 + + 8 + 0 + + + + 937 + + 8 + 0 + + + + 939 + + 8 + 0 + + + + 940 + + 8 + 0 + + + + 940 + + 8 + 0 + + + + 944 + + 8 + 0 + + + + 945 + + 8 + 0 + + + + 950 + + 8 + 0 + + + + 956 + + 8 + 0 + + + + 965 + + 8 + 0 + + + + 970 + + 8 + 0 + + + + 980 + + 8 + 0 + + + + 994 + + 8 + 0 + + + + 995 + + 8 + 0 + + + + 995 + + 8 + 0 + + + + 995 + + 8 + 0 + + + + 995 + + 8 + 0 + + + + 994 + + 8 + 0 + + + + 994 + + 8 + 0 + + + + 994 + + 8 + 0 + + + + 994 + + 8 + 0 + + + + 996 + + 8 + 0 + + + + 1000 + + 8 + 0 + + + + 1006 + + 8 + 0 + + + + 1008 + + 8 + 0 + + + + 1018 + + 8 + 0 + + + + 1030 + + 8 + 0 + + + + 1033 + + 8 + 0 + + + + 1053 + + 8 + 0 + + + + 1059 + + 8 + 0 + + + + 1060 + + 8 + 0 + + + + 1062 + + 8 + 0 + + + + 1063 + + 8 + 0 + + + + 1077 + + 8 + 0 + + + + 1086 + + 8 + 0 + + + + 1095 + + 8 + 0 + + + + 1098 + + 8 + 0 + + + + 1106 + + 8 + 0 + + + + 1112 + + 8 + 0 + + + + 1129 + + 8 + 0 + + + + 1140 + + 8 + 0 + + + + 1143 + + 8 + 0 + + + + 1145 + + 8 + 0 + + + + 1147 + + 8 + 0 + + + + 1145 + + 8 + 0 + + + + 1148 + + 8 + 0 + + + + 1158 + + 8 + 0 + + + + 1166 + + 8 + 0 + + + + 1170 + + 8 + 0 + + + + 1173 + + 8 + 0 + + + + 1178 + + 8 + 0 + + + + 1179 + + 8 + 0 + + + + 1183 + + 8 + 0 + + + + 1185 + + 8 + 0 + + + + 1191 + + 8 + 0 + + + + 1196 + + 8 + 0 + + + + 1200 + + 8 + 0 + + + + 1200 + + 8 + 0 + + + + 1201 + + 8 + 0 + + + + 1210 + + 8 + 0 + + + + 1218 + + 8 + 0 + + + + 1224 + + 8 + 0 + + + + 1225 + + 8 + 0 + + + + 1231 + + 8 + 0 + + + + 1233 + + 8 + 0 + + + + 1232 + + 8 + 0 + + + + 1237 + + 8 + 0 + + + + 1243 + + 8 + 0 + + + + 1246 + + 8 + 0 + + + + 1251 + + 8 + 0 + + + + 1251 + + 8 + 0 + + + + 1257 + + 8 + 0 + + + + 1262 + + 8 + 0 + + + + 1264 + + 8 + 0 + + + + 1268 + + 8 + 0 + + + + 1274 + + 8 + 0 + + + + 1274 + + 8 + 0 + + + + 1281 + + 8 + 0 + + + + 1286 + + 8 + 0 + + + + 1290 + + 8 + 0 + + + + 1305 + + 8 + 0 + + + + 1307 + + 8 + 0 + + + + 1310 + + 8 + 0 + + + + 1318 + + 8 + 0 + + + + 1326 + + 8 + 0 + + + + 1328 + + 8 + 0 + + + + 1332 + + 8 + 0 + + + + 1338 + + 8 + 0 + + + + 1333 + + 8 + 0 + + + + 1341 + + 8 + 0 + + + + 1342 + + 8 + 0 + + + + 1347 + + 8 + 0 + + + + 1349 + + 8 + 0 + + + + 1354 + + 8 + 0 + + + + 1356 + + 8 + 0 + + + + 1359 + + 8 + 0 + + + + 1366 + + 8 + 0 + + + + 1366 + + 8 + 0 + + + + 1370 + + 8 + 0 + + + + 1371 + + 8 + 0 + + + + 1374 + + 8 + 0 + + + + 1375 + + 8 + 0 + + + + 1386 + + 8 + 0 + + + + 1394 + + 8 + 0 + + + + 1398 + + 8 + 0 + + + + 1407 + + 16 + 0 + + + + 2b0fa21865aed93ece524d6346cbc01a 0 diff --git a/geo/te_araroa.gpx b/geo/te_araroa.gpx index 2562fae..eb32925 100644 --- a/geo/te_araroa.gpx +++ b/geo/te_araroa.gpx @@ -159183,6 +159183,1649 @@ pictonsportsworld.com + + Hitchhike to Arthur Pass + + b37392709c2dc3638f38713e45957456 + 3 + + Red + + + + + 301 + + 16 + 0 + + + + 301 + + 8 + 0 + + + + 306 + + 8 + 0 + + + + 310 + + 8 + 0 + + + + 315 + + 8 + 0 + + + + 315 + + 8 + 0 + + + + 323 + + 8 + 0 + + + + 325 + + 8 + 0 + + + + 329 + + 8 + 0 + + + + 331 + + 8 + 0 + + + + 329 + + 8 + 0 + + + + 326 + + 8 + 0 + + + + 328 + + 8 + 0 + + + + 331 + + 8 + 0 + + + + 331 + + 8 + 0 + + + + 335 + + 8 + 0 + + + + 339 + + 8 + 0 + + + + 343 + + 8 + 0 + + + + 347 + + 8 + 0 + + + + 345 + + 8 + 0 + + + + 344 + + 8 + 0 + + + + 343 + + 8 + 0 + + + + 345 + + 8 + 0 + + + + 347 + + 8 + 0 + + + + 352 + + 8 + 0 + + + + 356 + + 8 + 0 + + + + 355 + + 8 + 0 + + + + 357 + + 8 + 0 + + + + 362 + + 8 + 0 + + + + 361 + + 8 + 0 + + + + 362 + + 8 + 0 + + + + 363 + + 8 + 0 + + + + 368 + + 8 + 0 + + + + 368 + + 8 + 0 + + + + 366 + + 8 + 0 + + + + 369 + + 8 + 0 + + + + 374 + + 8 + 0 + + + + 374 + + 8 + 0 + + + + 374 + + 8 + 0 + + + + 378 + + 8 + 0 + + + + 377 + + 8 + 0 + + + + 376 + + 8 + 0 + + + + 381 + + 8 + 0 + + + + 380 + + 8 + 0 + + + + 382 + + 8 + 0 + + + + 381 + + 8 + 0 + + + + 389 + + 8 + 0 + + + + 393 + + 8 + 0 + + + + 395 + + 8 + 0 + + + + 398 + + 8 + 0 + + + + 400 + + 8 + 0 + + + + 408 + + 8 + 0 + + + + 410 + + 8 + 0 + + + + 408 + + 8 + 0 + + + + 407 + + 8 + 0 + + + + 408 + + 8 + 0 + + + + 405 + + 8 + 0 + + + + 407 + + 8 + 0 + + + + 407 + + 8 + 0 + + + + 408 + + 8 + 0 + + + + 411 + + 8 + 0 + + + + 415 + + 8 + 0 + + + + 417 + + 8 + 0 + + + + 416 + + 8 + 0 + + + + 417 + + 8 + 0 + + + + 421 + + 8 + 0 + + + + 421 + + 8 + 0 + + + + 423 + + 8 + 0 + + + + 424 + + 8 + 0 + + + + 430 + + 8 + 0 + + + + 432 + + 8 + 0 + + + + 435 + + 8 + 0 + + + + 435 + + 8 + 0 + + + + 435 + + 8 + 0 + + + + 435 + + 8 + 0 + + + + 435 + + 8 + 0 + + + + 434 + + 8 + 0 + + + + 440 + + 8 + 0 + + + + 443 + + 8 + 0 + + + + 449 + + 8 + 0 + + + + 454 + + 8 + 0 + + + + 486 + + 8 + 0 + + + + 493 + + 8 + 0 + + + + 493 + + 8 + 0 + + + + 484 + + 8 + 0 + + + + 487 + + 8 + 0 + + + + 501 + + 8 + 0 + + + + 503 + + 8 + 0 + + + + 518 + + 8 + 0 + + + + 535 + + 8 + 0 + + + + 534 + + 8 + 0 + + + + 554 + + 8 + 0 + + + + 554 + + 8 + 0 + + + + 547 + + 8 + 0 + + + + 557 + + 8 + 0 + + + + 561 + + 8 + 0 + + + + 565 + + 8 + 0 + + + + 567 + + 8 + 0 + + + + 551 + + 8 + 0 + + + + 533 + + 8 + 0 + + + + 538 + + 8 + 0 + + + + 579 + + 8 + 0 + + + + 580 + + 8 + 0 + + + + 569 + + 8 + 0 + + + + 549 + + 8 + 0 + + + + 554 + + 8 + 0 + + + + 558 + + 8 + 0 + + + + 581 + + 8 + 0 + + + + 591 + + 8 + 0 + + + + 585 + + 8 + 0 + + + + 582 + + 8 + 0 + + + + 590 + + 8 + 0 + + + + 596 + + 8 + 0 + + + + 632 + + 8 + 0 + + + + 640 + + 8 + 0 + + + + 609 + + 8 + 0 + + + + 606 + + 8 + 0 + + + + 621 + + 8 + 0 + + + + 636 + + 8 + 0 + + + + 628 + + 8 + 0 + + + + 644 + + 8 + 0 + + + + 654 + + 8 + 0 + + + + 689 + + 8 + 0 + + + + 727 + + 8 + 0 + + + + 730 + + 8 + 0 + + + + 720 + + 8 + 0 + + + + 702 + + 8 + 0 + + + + 701 + + 8 + 0 + + + + 702 + + 8 + 0 + + + + 708 + + 8 + 0 + + + + 715 + + 8 + 0 + + + + 718 + + 8 + 0 + + + + 719 + + 8 + 0 + + + + 714 + + 8 + 0 + + + + 714 + + 8 + 0 + + + + 713 + + 8 + 0 + + + + 716 + + 8 + 0 + + + + 722 + + 8 + 0 + + + + 726 + + 8 + 0 + + + + 752 + + 8 + 0 + + + + 762 + + 8 + 0 + + + + 764 + + 8 + 0 + + + + 751 + + 8 + 0 + + + + 786 + + 8 + 0 + + + + 814 + + 8 + 0 + + + + 818 + + 8 + 0 + + + + 816 + + 8 + 0 + + + + 816 + + 8 + 0 + + + + 825 + + 8 + 0 + + + + 827 + + 8 + 0 + + + + 830 + + 8 + 0 + + + + 836 + + 8 + 0 + + + + 838 + + 8 + 0 + + + + 843 + + 8 + 0 + + + + 846 + + 8 + 0 + + + + 844 + + 8 + 0 + + + + 844 + + 8 + 0 + + + + 847 + + 8 + 0 + + + + 854 + + 8 + 0 + + + + 861 + + 8 + 0 + + + + 867 + + 8 + 0 + + + + 886 + + 8 + 0 + + + + 891 + + 8 + 0 + + + + 896 + + 8 + 0 + + + + 903 + + 8 + 0 + + + + 910 + + 8 + 0 + + + + 911 + + 8 + 0 + + + + 914 + + 8 + 0 + + + + 923 + + 8 + 0 + + + + 920 + + 8 + 0 + + + + 922 + + 8 + 0 + + + + 926 + + 8 + 0 + + + + 927 + + 8 + 0 + + + + 930 + + 8 + 0 + + + + 930 + + 8 + 0 + + + + 925 + + 8 + 0 + + + + 920 + + 8 + 0 + + + + 917 + + 8 + 0 + + + + 906 + + 8 + 0 + + + + 898 + + 8 + 0 + + + + 889 + + 8 + 0 + + + + 891 + + 8 + 0 + + + + 891 + + 8 + 0 + + + + 901 + + 8 + 0 + + + + 908 + + 8 + 0 + + + + 903 + + 8 + 0 + + + + 900 + + 8 + 0 + + + + 865 + + 8 + 0 + + + + 861 + + 8 + 0 + + + + 860 + + 8 + 0 + + + + 859 + + 8 + 0 + + + + 862 + + 8 + 0 + + + + 857 + + 8 + 0 + + + + 844 + + 8 + 0 + + + + 825 + + 8 + 0 + + + + 819 + + 8 + 0 + + + + 812 + + 8 + 0 + + + + 807 + + 8 + 0 + + + + 806 + + 8 + 0 + + + + 808 + + 8 + 0 + + + + 808 + + 8 + 0 + + + + 812 + + 8 + 0 + + + + 809 + + 8 + 0 + + + + 799 + + 8 + 0 + + + + 794 + + 8 + 0 + + + + 788 + + 8 + 0 + + + + 785 + + 8 + 0 + + + + 783 + + 8 + 0 + + + + 782 + + 8 + 0 + + + + 792 + + 8 + 0 + + + + 795 + + 8 + 0 + + + + 798 + + 8 + 0 + + + + 803 + + 8 + 0 + + + + 802 + + 8 + 0 + + + + 794 + + 8 + 0 + + + + 790 + + 8 + 0 + + + + 780 + + 8 + 0 + + + + 776 + + 8 + 0 + + + + 778 + + 8 + 0 + + + + 786 + + 8 + 0 + + + + 771 + + 8 + 0 + + + + 771 + + 8 + 0 + + + + 771 + + 8 + 0 + + + + 771 + + 8 + 0 + + + + 772 + + 8 + 0 + + + + 772 + + 8 + 0 + + + + 761 + + 8 + 0 + + + + 759 + + 8 + 0 + + + + 756 + + 8 + 0 + + + + 754 + + 8 + 0 + + + + 750 + + 8 + 0 + + + + 751 + + 8 + 0 + + + + 751 + + 16 + 0 + + + + cd8172f3207de89034bdcf7565bb1316 0 diff --git a/i18n/en.json b/i18n/en.json new file mode 100644 index 0000000..6626847 --- /dev/null +++ b/i18n/en.json @@ -0,0 +1,204 @@ +{ + "action": { + "back": "Back", + "delete": "Delete", + "save": "Save", + "send": "Send" + }, + "admin": { + "config": "Config", + "create_success": "Created", + "delete_success": "Deleted", + "save_success": "Saved", + "title": "Admin Panel", + "toolbox": "Toolbox", + "upload": "Upload" + }, + "credits": { + "git": "Git Repository", + "license": "under GPLv3 license", + "project": "Spotty Project" + }, + "email": { + "confirmation": { + "body_1": "Thank you for checking in on my wanderings :). I'll make sure to keep you posted on my progress along the trail.", + "body_2": "I usually check-in once a day, plus sometimes on special events, like successful peak ascents. I am using a GPS-based device (PLB) which does not require phone reception to work. Thus the messages should be pretty frequent, but, being awestruck by the beauty of nature, I could also just forget to send a signal once in a while. So do not worry if you don't receive anything for a couple of days.", + "body_3": "If I've posted some pictures recently, you should also get them in the same email.", + "conclusion": "See you down the road!", + "preheader": "Thanks for keeping in touch!", + "signature": "--François", + "subject": "Successful Registration", + "thanks_subject": "You're all set!" + }, + "unsubscribe": "PS: Changed your mind?", + "unsubscribe_button": "Unsubscribe", + "update": { + "latest_news": "Latest news:", + "preheader": "New position received", + "subject": "Spotted!", + "title": "Message" + } + }, + "error": { + "commit_db": "Issue committing to DB", + "impossible_value": "Value \"$0\" is not possible for field \"$1\"", + "no_auth": "No authorization", + "unknown_field": "Field \"$0\" is unknown" + }, + "feed": { + "counter": "#$0", + "id": "Feed ID", + "last_update": "Last Spot Check", + "name": "Name", + "new": "New feed", + "plural": "Feeds", + "ref_id": "Ref. Feed ID", + "status": "Status" + }, + "map": { + "ign_france": "IGN (France)", + "ign_spain": "IGN (Spain)", + "linz": "LINZ", + "natgeo": "National Geographic", + "otm": "Open Topo Map", + "outdoors": "Mapbox Outdoors", + "satellite": "Satellite", + "see_on_google": "See on Google Maps", + "title": "Base Maps", + "usgs": "USGS" + }, + "media": { + "add_on": "added on $0", + "click_watch": "Click to watch video", + "click_zoom": "Click to zoom", + "comment_update": "Comment of media \"$0\" updated", + "count": "Media $0 / $1", + "image": "Picture", + "image_taken": "taken on $0", + "images": "Pictures", + "nearby": "Nearby pictures", + "no_id": "Missing Media ID in request", + "video": "Video", + "video_taken": "shot on $0" + }, + "meta": { + "locale": "en_NZ", + "page_og_desc": "Keep contact with François when he is off hiking" + }, + "newsletter": { + "email_exists": "This email is already subscribed. You can unsubscribe by clicking on the button above.", + "email_placeholder": "my@email.com", + "invalid_email": "It doesn't look like an email", + "subscribe": "Subscribe", + "subscribed": "Thanks! You'll receive a confirmation email shortly", + "subscribed_desc": "You're all set. We'll send you updates as soon as we get them.", + "title": "Keep in touch!", + "unknown_email": "Unknown email address", + "unsubscribe": "Unsubscribe", + "unsubscribed": "Done. No more junk mail from us", + "unsubscribed_desc": "Write down your email address and we'll send you François' position as soon as we get it :)" + }, + "post": { + "copy_to_clipboard": "Copy direct link to clipboard", + "link_copied": "Link copied!", + "message": "Message", + "name": "Name", + "new_message": "New message" + }, + "project": { + "code_name": "Code name", + "end": "End", + "hikes": "Hikes", + "id": "Project ID", + "mode": "Mode", + "modes": { + "blog": "Active Project", + "histo": "Archived Project", + "previz": "Project in preparation" + }, + "new": "New Project", + "plural": "Projects", + "single": "Project", + "start": "Start", + "update_messages": "Update project messages" + }, + "spot": { + "id": "Spot ID", + "model": "Model", + "name": "Spot Name", + "plural": "Spots", + "ref_id": "Ref. Spot ID" + }, + "stats": { + "duration": "Duration", + "distance": "Distance", + "elevation": "Elevation", + "elevation_gain": "Elevation gain", + "elevation_loss": "Elevation loss", + "legend": "Legend", + "segment_length": "Segment length", + "type": "Track Type" + }, + "time": { + "city": "$0 Time", + "date_time": "$0 at $1", + "local": "$0 Local Time", + "user": "$0 Your Time", + "zone": "Time Zone" + }, + "track": { + "download": "Download GPX Track", + "hitchhiking": "Hitchhiking", + "main": "Main track", + "off-track": "Off-track" + }, + "unit": { + "day": "day", + "day_short": "D", + "days": "days", + "hour": "h" + }, + "upload": { + "media": { + "exists": "Picture $0 already exists", + "title": "Picture & Video Uploads" + }, + "mode_archived": "Project \"$0\" is archived. No upload allowed", + "position": { + "new": "New Position", + "title": "Additional Position" + }, + "success": "$0 uploaded successfully" + }, + "user": { + "active": "Active Users", + "clearance": "Clearance", + "id": "User ID", + "language": "Language", + "name": "User Name" + }, + "weather": { + "clear-day": "Cloud cover is less than 20% during daytime", + "clear-night": "Cloud cover is less than 20% during nighttime", + "cloudy": "Cloud cover is greater than 90%", + "fog": "Visibility is low (less than one kilometer or mile)", + "hail": "Hail showers", + "partly-cloudy-day": "Cloud cover is greater than 20% during daytime", + "partly-cloudy-night": "Cloud cover is greater than 20% during nighttime", + "rain": "Amount of rainfall is greater than zero", + "rain-snow": "Snow and rain showers", + "rain-snow-showers-day": "Possible rain/snow throughout the day", + "rain-snow-showers-night": "Possible rain/snow throughout the night", + "showers-day": "Rain showers during the day", + "showers-night": "Rain showers during the night", + "sleet": "Sleet", + "snow": "Amount of snow is greater than zero", + "snow-showers-day": "Periods of snow during the day", + "snow-showers-night": "Periods of snow during the night", + "thunder": "Thunderstorms", + "thunder-rain": "Thunderstorms throughout the day or night", + "thunder-showers-day": "Possible thunderstorms throughout the day", + "thunder-showers-night": "Possible thunderstorms throughout the night", + "wind": "Wind speed is high (greater than 30 kph or mph)" + } +} diff --git a/i18n/es.json b/i18n/es.json new file mode 100644 index 0000000..3bd2260 --- /dev/null +++ b/i18n/es.json @@ -0,0 +1,204 @@ +{ + "action": { + "back": "Atrás", + "delete": "Borrar", + "save": "Guardar", + "send": "Enviar" + }, + "admin": { + "config": "Configuración", + "create_success": "Creado", + "delete_success": "Eliminado", + "save_success": "Guardado", + "title": "Administración", + "toolbox": "Herramientas", + "upload": "Cargar" + }, + "credits": { + "git": "Repositorio de Git", + "license": "bajo licencia GPLv3", + "project": "Proyecto Spotty" + }, + "email": { + "confirmation": { + "body_1": "Os agradezco mucho que sigais mi proyecto, y os intereseis de la evolucion. Os prometo que os mantendré informados sobre mi progreso.", + "body_2": "Normalmente envío un mensaje una vez al día. Cuando voy a lugares guays, envío uno extra (cimas, ese tipo de cosas). Estoy usando una dispositivo GPS para enviar la señal, por lo que no necesito una red telefónica para que funcione. Sin embargo, puede haber ocasiones en las que presione el botón. Por lo tanto, no se preocupe si no recibe mensajes durante uno o dos días.", + "body_3": "Cuando añada fotos en la página, también deberás encontrarlas en este correo electrónico.", + "conclusion": "¡Nos vemos en el camino!", + "preheader": "¡Gracias por mantenerte en contacto!", + "signature": "--François", + "subject": "Confirmación", + "thanks_subject": "¡Hecho!" + }, + "unsubscribe": "PD: ¿Demasiados correos electrónicos?", + "unsubscribe_button": "Desinscribirse", + "update": { + "latest_news": "Últimas noticias:", + "preheader": "¡Nueva posición!", + "subject": "Nueva posición recibida", + "title": "Mensaje" + } + }, + "error": { + "commit_db": "Error SQL", + "impossible_value": "Valor \"$0\" no es posible para campo \"$1\"", + "no_auth": "No autorización", + "unknown_field": "Campo \"$0\" desconocido" + }, + "feed": { + "counter": "No. $0", + "id": "ID Feed", + "last_update": "Última actualización de Spot", + "name": "Descripción", + "new": "Nuevo feed", + "plural": "Feeds", + "ref_id": "ID Feed ref.", + "status": "Estado" + }, + "map": { + "ign_france": "IGN (Francia)", + "ign_spain": "IGN (España)", + "linz": "LINZ", + "natgeo": "National Geographic", + "otm": "Open Topo Map", + "outdoors": "Mapbox Topo", + "satellite": "Satélite", + "see_on_google": "Ver la posición en Google Maps", + "title": "Mapas de base", + "usgs": "USGS" + }, + "media": { + "add_on": "Agregado el $0", + "click_watch": "Haz clic para ver el video", + "click_zoom": "Haz clic para ampliar", + "comment_update": "Comentario \"$0\" actualizado", + "count": "Media $0 de $1", + "image": "Foto", + "image_taken": "Foto tomada el $0", + "images": "Fotos", + "nearby": "Fotos cercanas", + "no_id": "Falta el ID del sujeto", + "video": "Video", + "video_taken": "Video filmado el $0" + }, + "meta": { + "locale": "es_ES", + "page_og_desc": "Mantente en contacto con François durante sus aventuras a la montaña" + }, + "newsletter": { + "email_exists": "Esta dirección de correo electrónico ya está registrada. Puedes darte de baja haciendo clic en el botón de arriba.", + "email_placeholder": "nombre@email.com", + "invalid_email": "Esto no parece una dirección de correo electrónico", + "subscribe": "Suscribir", + "subscribed": "¡Gracias! Recibirás un correo electrónico de confirmación", + "subscribed_desc": "Todo esta listo. Te enviaremos noticias frescas en cuanto las recibamos. Prometido...", + "title": "Mantenerse en contacto", + "unknown_email": "Dirección de email desconocida", + "unsubscribe": "Desinscribirse", + "unsubscribed": "Está hecho. ¡No más spam!", + "unsubscribed_desc": "Anade tu dirección de correo electrónico y te enviaremos la posicion actualizada de François tan pronto como la recibamos :)" + }, + "post": { + "copy_to_clipboard": "Copiar el enlace", + "link_copied": "¡Enlace copiado!", + "message": "Mensaje", + "name": "Nombre", + "new_message": "Mensaje nuevo" + }, + "project": { + "code_name": "Nombre clave", + "end": "Fin", + "hikes": "Senderos", + "id": "Proyecto ID", + "mode": "Modo", + "modes": { + "blog": "Proyecto activo", + "histo": "Proyecto archivado", + "previz": "Proyecto en preparación" + }, + "new": "Nuevo proyecto", + "plural": "Proyectos", + "single": "Proyecto", + "start": "Inicio", + "update_messages": "Actualizar los mensajes del proyecto" + }, + "spot": { + "id": "ID Spot", + "model": "Modelo", + "name": "Spot", + "plural": "Spots", + "ref_id": "ID Spot ref." + }, + "stats": { + "duration": "Duración", + "distance": "Distancia", + "elevation": "Elevación", + "elevation_gain": "Ascenso acumulado", + "elevation_loss": "Descenso acumulado", + "legend": "Leyenda", + "segment_length": "Tamaño del segmento", + "type": "Tipo de sendero" + }, + "time": { + "city": "Hora de $0", + "date_time": "$0 a la $1", + "local": "$0 hora local", + "user": "$0 en tu zona horaria", + "zone": "Huso horario" + }, + "track": { + "download": "Descarga la ruta GPX", + "hitchhiking": "Autostop", + "main": "Camino principal", + "off-track": "Variante" + }, + "unit": { + "day": "Día", + "day_short": "D", + "days": "Días", + "hour": "h" + }, + "upload": { + "media": { + "exists": "La imagen $0 ya existe", + "title": "Cargar fotos y videos" + }, + "mode_archived": "El proyecto \"$0\" esta archivado. No se puede cargar", + "position": { + "new": "Nueva posición", + "title": "Subir posición" + }, + "success": "$0 ha sido subido" + }, + "user": { + "active": "Usuarios activos", + "clearance": "Nivel de autorización", + "id": "ID del usuario", + "language": "Idioma", + "name": "Nombre" + }, + "weather": { + "clear-day": "La nubosidad es inferior al 20 % durante el día", + "clear-night": "La nubosidad es inferior al 20 % durante la noche", + "cloudy": "La nubosidad es superior al 90 %", + "fog": "La visibilidad es baja (menos de un kilómetro o una milla)", + "hail": "Chubascos de granizo", + "partly-cloudy-day": "La nubosidad es superior al 20 % durante el día", + "partly-cloudy-night": "La nubosidad es superior al 20 % durante la noche", + "rain": "La cantidad de lluvia es superior a cero", + "rain-snow": "Chubascos de nieve y lluvia", + "rain-snow-showers-day": "Posible lluvia/nieve durante todo el día", + "rain-snow-showers-night": "Posible lluvia/nieve durante toda la noche", + "showers-day": "Chubascos de lluvia durante el día", + "showers-night": "Chubascos de lluvia durante la noche", + "sleet": "Aguanieve", + "snow": "La cantidad de nieve es superior a cero", + "snow-showers-day": "Periodos de nieve durante el día", + "snow-showers-night": "Periodos de nieve durante la noche", + "thunder": "Tormentas", + "thunder-rain": "Tormentas durante el día o la noche", + "thunder-showers-day": "Posibles tormentas durante todo el día", + "thunder-showers-night": "Posibles tormentas durante toda la noche", + "wind": "La velocidad del viento es alta (más de 30 km/h o mph)" + } +} diff --git a/i18n/fr.json b/i18n/fr.json new file mode 100644 index 0000000..5b21bfb --- /dev/null +++ b/i18n/fr.json @@ -0,0 +1,204 @@ +{ + "action": { + "back": "Retour", + "delete": "Supprimer", + "save": "Sauvegarder", + "send": "Envoyer" + }, + "admin": { + "config": "Paramètres", + "create_success": "Créé", + "delete_success": "Supprimé", + "save_success": "Sauvegardé", + "title": "Administration", + "toolbox": "Boite à outils", + "upload": "Uploader" + }, + "credits": { + "git": "Dépôt Git", + "license": "sous licence GPLv3", + "project": "Projet Spotty" + }, + "email": { + "confirmation": { + "body_1": "C'est gentil de venir voir où j'en suis. Promis, je vous tiendrais au courant de mon avancée.", + "body_2": "En général, j'envoie un message une fois par jour. Lorsque je passe à des endroits sympas, j'en envoie un supplémentaire (ascension de sommets, ce genre de choses). J'utilise une balise GPS pour envoyer le signal, je n'ai donc pas besoin de réseau téléphonique pour que cela fonctionne. Cependant, il peut m'arriver d'appuyer sur le bouton. Donc pas de raison de s'inquiéter si vous ne recevez pas de messages pendant une journée ou deux.", + "body_3": "Si j'ai ajouté des photos sur le site récemment, vous devriez aussi les retrouver dans cet email.", + "conclusion": "A bientôt sur les chemins !", + "preheader": "Merci de rester en contact !", + "signature": "--François", + "subject": "Confirmation", + "thanks_subject": "C'est tout bon !" + }, + "unsubscribe": "PS: Trop d'emails ?", + "unsubscribe_button": "Se désinscrire", + "update": { + "latest_news": "Dernières nouvelles :", + "preheader": "Nouvelle position !", + "subject": "Nouvelle position reçue", + "title": "Message" + } + }, + "error": { + "commit_db": "Error lors de la requête SQL", + "impossible_value": "La valeur \"$0\" n'est pas possible pour le champ \"$1\"", + "no_auth": "Pas d'authorisation", + "unknown_field": "Champ \"$0\" inconnu" + }, + "feed": { + "counter": "N°$0", + "id": "ID Feed", + "last_update": "Dernière vérification Spot", + "name": "Description", + "new": "Nouveau feed", + "plural": "Feeds", + "ref_id": "ID Feed ref.", + "status": "Statut" + }, + "map": { + "ign_france": "IGN (France)", + "ign_spain": "IGN (Espagne)", + "linz": "LINZ", + "natgeo": "National Geographic", + "otm": "Open Topo Map", + "outdoors": "Mapbox Topo", + "satellite": "Satellite", + "see_on_google": "Voir la position sur Google Maps", + "title": "Fonds de carte", + "usgs": "USGS" + }, + "media": { + "add_on": "ajoutée le $0", + "click_watch": "Click pour voir la vidéo", + "click_zoom": "Click pour zoomer", + "comment_update": "Commentaire du media \"$0\" mis-à-jour", + "count": "Média $0 sur $1", + "image": "Photo", + "image_taken": "prise le $0", + "images": "Photos", + "nearby": "Photos prises dans le coin", + "no_id": "ID du média manquant", + "video": "Vidéo", + "video_taken": "filmée le $0" + }, + "meta": { + "locale": "fr_CH", + "page_og_desc": "Gardez le contact avec François lorsqu'il part sur les chemins" + }, + "newsletter": { + "email_exists": "Cette adresse email est déjà enregistrée. Vous pouvez vous désinscrire en cliquant sur le bouton ci-dessus.", + "email_placeholder": "mon@email.com", + "invalid_email": "Ceci ne ressemble pas à une adresse email", + "subscribe": "S'abonner", + "subscribed": "Merci ! Tu vas recevoir un email de confirmation très bientôt", + "subscribed_desc": "C'est tout bon. On t'envoie des nouvelles fraiches dès qu'on les reçoit. Parole de scout.", + "title": "Rester en contact", + "unknown_email": "Adresse email inconnue", + "unsubscribe": "Se désinscrire", + "unsubscribed": "C'est fait. Fini le spam!", + "unsubscribed_desc": "Ajoute ton adresse email et on t'enverra la nouvelle position de François dès qu'on la reçoit :)" + }, + "post": { + "copy_to_clipboard": "Copie le lien dans le presse-papier", + "link_copied": "Lien copié !", + "message": "Message", + "name": "Nom", + "new_message": "Nouveau message" + }, + "project": { + "code_name": "Nom de code", + "end": "Arrivée", + "hikes": "Randonnées", + "id": "ID projet", + "mode": "Mode", + "modes": { + "blog": "Projet actif", + "histo": "Projet archivé", + "previz": "Projet en cours de préparation" + }, + "new": "Nouveau projet", + "plural": "Projets", + "single": "Projet", + "start": "Départ", + "update_messages": "Mettre à jour les messages du projet" + }, + "spot": { + "id": "ID Spot", + "model": "Modèle", + "name": "Spot", + "plural": "Spots", + "ref_id": "ID Spot ref." + }, + "stats": { + "duration": "Durée", + "distance": "Distance", + "elevation": "Dénivelé", + "elevation_gain": "Dénivelé positif", + "elevation_loss": "Dénivelé négatif", + "legend": "Légende", + "segment_length": "Taille du segment", + "type": "Type de rando" + }, + "time": { + "city": "heure de $0", + "date_time": "$0 à $1", + "local": "$0 heure locale", + "user": "$0 dans votre fuseau horaire", + "zone": "Fuseau horaire" + }, + "track": { + "download": "Télécharger la trace GPX", + "hitchhiking": "Hors rando", + "main": "Trajet principal", + "off-track": "Variante" + }, + "unit": { + "day": "jour", + "day_short": "J", + "days": "jours", + "hour": "h" + }, + "upload": { + "media": { + "exists": "l'image $0 existe déjà", + "title": "Uploader photos & vidéos" + }, + "mode_archived": "Le projet \"$0\" a été archivé. Aucun upload possible", + "position": { + "new": "Nouvelle position", + "title": "Position supplémentaire" + }, + "success": "$0 a été uploadé" + }, + "user": { + "active": "Utilisateurs actifs", + "clearance": "Niveau d'autorisation", + "id": "ID Utilisateur", + "language": "Langue", + "name": "Nom" + }, + "weather": { + "clear-day": "La couverture nuageuse est inférieure à 20 % pendant la journée", + "clear-night": "La couverture nuageuse est inférieure à 20 % pendant la nuit", + "cloudy": "La couverture nuageuse est supérieure à 90 %", + "fog": "La visibilité est faible (moins d’un kilomètre ou d’un mile)", + "hail": "Averses de grêle", + "partly-cloudy-day": "La couverture nuageuse est supérieure à 20 % pendant la journée", + "partly-cloudy-night": "La couverture nuageuse est supérieure à 20 % pendant la nuit", + "rain": "La quantité de pluie est supérieure à zéro", + "rain-snow": "Averses de neige et de pluie", + "rain-snow-showers-day": "Pluie/neige possible tout au long de la journée", + "rain-snow-showers-night": "Pluie/neige possible tout au long de la nuit", + "showers-day": "Averses de pluie pendant la journée", + "showers-night": "Averses de pluie pendant la nuit", + "sleet": "Grésil", + "snow": "La quantité de neige est supérieure à zéro", + "snow-showers-day": "Périodes de neige pendant la journée", + "snow-showers-night": "Périodes de neige pendant la nuit", + "thunder": "Orages", + "thunder-rain": "Orages tout au long de la journée ou de la nuit", + "thunder-showers-day": "Orages possibles tout au long de la journée", + "thunder-showers-night": "Orages possibles tout au long de la nuit", + "wind": "La vitesse du vent est élevée (plus de 30 km/h ou mph)" + } +} diff --git a/inc/Map.php b/inc/Map.php deleted file mode 100644 index 4a2db6a..0000000 --- a/inc/Map.php +++ /dev/null @@ -1,45 +0,0 @@ -oDb = &$oDb; - $this->setMaps(); - } - - private function setMaps() { - $asMaps = $this->oDb->selectRows(array('from'=>self::MAP_TABLE)); - foreach($asMaps as $asMap) $this->asMaps[$asMap['codename']] = $asMap; - } - - public function getProjectMaps($iProjectId) { - $asMappings = $this->oDb->getArrayQuery("SELECT id_map FROM mappings WHERE id_project = ".$iProjectId." OR id_project IS NULL", true); - return array_filter($this->asMaps, function($asMap) use($asMappings) {return in_array($asMap['id_map'], $asMappings);}); - } - - public function getMapUrl($sCodeName, $asParams) { - $asParams['token'] = $this->asMaps[$sCodeName]['token']; - return self::populateParams($this->asMaps[$sCodeName]['pattern'], $asParams); - } - - private static function populateParams($sUrl, $asParams) { - foreach($asParams as $sParam=>$sValue) { - $sUrl = str_replace('{'.$sParam.'}', $sValue, $sUrl); - } - - return $sUrl; - } -} \ No newline at end of file diff --git a/languages/en.lang b/languages/en.lang deleted file mode 100644 index 4ff4b7d..0000000 --- a/languages/en.lang +++ /dev/null @@ -1,177 +0,0 @@ -locale = en_NZ -page_og_desc = Keep contact with François when he is off hiking -error_commit_db = Issue committing to DB -unknown_field = Field "$0" is unknown - -nav_back = Back - -admin = Admin Panel -admin_config = Config -admin_upload = Upload -save = Save -admin_save_success = Saved - -track_main = Main track -track_off-track = Off-track -track_hitchhiking = Hitchhiking -track_download = Download GPX Track - -upload_title = Picture & Video Uploads -upload_mode_archived= Project "$0" is archived. No upload allowed -upload_success = $0 uploaded successfully -upload_media_exist = Picture $0 already exists - -post_message = Message -post_name = Name -post_new_message = New message -and = and -counter = #$0 -send = Send - -maps = Base Maps -map_satellite = Satellite -map_otm = Open Topo Map -map_ign_france = IGN (France) -map_ign_spain = IGN (Spain) -map_linz = LINZ -map_usgs = USGS -map_natgeo = National Geographic -map_outdoors = Mapbox Outdoors - -image = Picture -images = Pictures -image_taken = taken on $0 -video = Video -video_taken = shot on $0 -add_on = added on $0 -click_watch = Click to watch video -click_zoom = Click to zoom -media_count = Media $0 / $1 -media_no_id = Missing Media ID in request -media_comment_update= Comment of media "$0" updated -see_on_google = See on Google Maps -copy_to_clipboard = Copy direct link to clipboard -link_copied = Link copied! - -city_time = $0 Time -local_time = $0 Local Time -your_time = $0 Your Time -date_time = $0 at $1 -time_zone = Time Zone - -id_project = Project ID -project = Project -projects = Projects -new_project = New Project -update_project = Update Project -hikes = Hikes -mode = Mode -mode_previz = Project in preparation -mode_blog = Active Project -mode_histo = Archived Project -code_name = Code name -start = Start -end = End -feeds = Feeds -id_feed = Feed ID -ref_feed_id = Ref. Feed ID -id_spot = Spot ID -name = Name -status = Status -last_update = Last Spot Check -ref_spot_id = Ref. Spot ID -model = Model -delete = Delete -id_user = User ID -user_name = User Name -active_users = Active Users -language = Language -clearance = Clearance -toolbox = Toolbox - -unit_day = day -unit_days = days -unit_hour = h - -newsletter = Keep in touch! -nl_email_placeholder= my@email.com -nl_invalid_email = It doesn't look like an email -nl_subscribed_desc = You're all set. We'll send you updates as soon as we get them -nl_unsubscribed_desc= Write down your email address and we'll send you François' position as soon as we get it :) -nl_email_exists = This email is already subscribed. You can unsubscribe by clicking on the button above. -nl_subscribe = Subscribe -nl_subscribed = Thanks! You'll receive a confirmation email shortly -nl_unsubscribe = Unsubscribe -nl_unsubscribed = Done. No more junk mail from us -nl_unknown_email = Unknown email address - -email_unsubscribe = PS: Changed your mind? -email_unsub_btn = Unsubscribe - -email_conf_subject = Successful Registration -conf_preheader = Thanks for keeping in touch! -conf_thanks_sub = You're all set! -conf_body_para_1 = Thank you for checking in on my wanderings :). I'll make sure to keep you posted on my progress along the trail. -conf_body_para_2 = I usually check-in once a day, plus sometimes on special events, like successful peak ascents. I am using a GPS-based device (PLB) which does not require phone reception to work. Thus the messages should be pretty frequent, but, being awestruck by the beauty of nature, I could also just forget to send a signal once in a while. So do not worry if you don't receive anything for a couple of days. -conf_body_para_3 = If I've posted some pictures recently, you should also get them in the same email. -conf_body_conclusion= See you down the road! -conf_signature = --François - -email_update_subject= Spotted! -update_preheader = New position received -update_title = Message -update_latest_news = Latest news: - -distance = Distance -elevation = Elevation -segment_length = Segment length -type = Track Type -legend = Legend - -credits_project = Spotty Project -credits_git = Git Repository -credits_license = under GPLv3 license - -weather_type_1 = Blowing Or Drifting Snow -weather_type_2 = Drizzle -weather_type_3 = Heavy Drizzle -weather_type_4 = Light Drizzle -weather_type_5 = Heavy Drizzle/Rain -weather_type_6 = Light Drizzle/Rain -weather_type_7 = Duststorm -weather_type_8 = Fog -weather_type_9 = Freezing Drizzle/Freezing Rain -weather_type_10 = Heavy Freezing Drizzle/Freezing Rain -weather_type_11 = Light Freezing Drizzle/Freezing Rain -weather_type_12 = Freezing Fog -weather_type_13 = Heavy Freezing Rain -weather_type_14 = Light Freezing Rain -weather_type_15 = Funnel Cloud/Tornado -weather_type_16 = Hail Showers -weather_type_17 = Ice -weather_type_18 = Lightning Without Thunder -weather_type_19 = Mist -weather_type_20 = Precipitation In Vicinity -weather_type_21 = Rain -weather_type_22 = Heavy Rain And Snow -weather_type_23 = Light Rain And Snow -weather_type_24 = Rain Showers -weather_type_25 = Heavy Rain -weather_type_26 = Light Rain -weather_type_27 = Sky Coverage Decreasing -weather_type_28 = Sky Coverage Increasing -weather_type_29 = Sky Unchanged -weather_type_30 = Smoke Or Haze -weather_type_31 = Snow -weather_type_32 = Snow And Rain Showers -weather_type_33 = Snow Showers -weather_type_34 = Heavy Snow -weather_type_35 = Light Snow -weather_type_36 = Squalls -weather_type_37 = Thunderstorm -weather_type_38 = Thunderstorm Without Precipitation -weather_type_39 = Diamond Dust -weather_type_40 = Hail -weather_type_41 = Overcast -weather_type_42 = Partially cloudy -weather_type_43 = Clear diff --git a/languages/es.lang b/languages/es.lang deleted file mode 100644 index 7f0b51a..0000000 --- a/languages/es.lang +++ /dev/null @@ -1,177 +0,0 @@ -locale = es_ES -page_og_desc = Mantente en contacto con François durante sus aventuras a la montaña -error_commit_db = Error SQL -unknown_field = Campo "$0" desconocido - -nav_back = Atrás - -admin = Administración -admin_config = Configuración -admin_upload = Cargar -save = Guardar -admin_save_success = Guardado - -track_main = Camino principal -track_off-track = Variante -track_hitchhiking = Autostop -track_download = Descarga la ruta GPX - -upload_title = Cargar fotos y videos -upload_mode_archived= El proyecto "$0" esta archivado. No se puede cargar -upload_success = $0 ha sido subido -upload_media_exist = La imagen $0 ya existe - -post_message = Mensaje -post_name = Nombre -post_new_message = Mensaje nuevo -and = y -counter = No. $0 -send = Enviar - -maps = Mapas de base -map_satellite = Satélite -map_otm = Open Topo Map -map_ign_france = IGN (Francia) -map_ign_spain = IGN (España) -map_linz = LINZ -map_usgs = USGS -map_natgeo = National Geographic -map_outdoors = Mapbox Topo - -image = Foto -images = Fotos -image_taken = Foto tomada el $0 -video = Video -video_taken = Video filmado el $0 -add_on = Agregado el $0 -click_watch = Haz clic para ver el video -click_zoom = Haz clic para ampliar -media_count = Media $0 de $1 -media_no_id = Falta el ID del sujeto -media_comment_update= Comentario "$0" actualizado -see_on_google = Ver la posición en Google Maps -copy_to_clipboard = Copiar el enlace -link_copied = ¡Enlace copiado! - -city_time = Hora de $0 -local_time = $0 hora local -your_time = $0 en tu zona horaria -date_time = $0 a la $1 -time_zone = Huso horario - -id_project = Proyecto ID -project = Proyecto -projects = Proyectos -new_project = Nuevo proyecto -update_project = Actualizar el proyecto -hikes = Senderos -mode = Modo -mode_previz = Proyecto en preparación -mode_blog = Proyecto activo -mode_histo = Proyecto archivado -code_name = Nombre clave -start = Inicio -end = Fin -feeds = Feeds -id_feed = ID Feed -ref_feed_id = ID Feed ref. -id_spot = ID Spot -name = Descripción -status = Estado -last_update = Última actualización de Spot -ref_spot_id = ID Spot ref. -model = Modelo -delete = Borrar -id_user = ID del usuario -user_name = Nombre -active_users = Usuarios activos -language = Idioma -clearance = Nivel de autorización -toolbox = Herramientas - -unit_day = Día -unit_days = Días -unit_hour = h - -newsletter = Mantenerse en contacto -nl_email_placeholder= nombre@email.com -nl_invalid_email = Esto no parece una dirección de correo electrónico -nl_subscribed_desc = Todo esta listo. Te enviaremos noticias frescas en cuanto las recibamos. Prometido... -nl_unsubscribed_desc= Anade tu dirección de correo electrónico y te enviaremos la posicion actualizada de François tan pronto como la recibamos :) -nl_email_exists = Esta dirección de correo electrónico ya está registrada. Puedes darte de baja haciendo clic en el botón de arriba. -nl_subscribe = Suscribir -nl_subscribed = ¡Gracias! Recibirás un correo electrónico de confirmación -nl_unsubscribe = Desinscribirse -nl_unsubscribed = Está hecho. ¡No más spam! -nl_unknown_email = Dirección de email desconocida - -email_unsubscribe = PD: ¿Demasiados correos electrónicos? -email_unsub_btn = Desinscribirse - -email_conf_subject = Confirmación -conf_preheader = ¡Gracias por mantenerte en contacto! -conf_thanks_sub = ¡Hecho! -conf_body_para_1 = Os agradezco mucho que sigais mi proyecto, y os intereseis de la evolucion. Os prometo que os mantendré informados sobre mi progreso. -conf_body_para_2 = Normalmente envío un mensaje una vez al día. Cuando voy a lugares guays, envío uno extra (cimas, ese tipo de cosas). Estoy usando una dispositivo GPS para enviar la señal, por lo que no necesito una red telefónica para que funcione. Sin embargo, puede haber ocasiones en las que presione el botón. Por lo tanto, no se preocupe si no recibe mensajes durante uno o dos días. -conf_body_para_3 = Cuando añada fotos en la página, también deberás encontrarlas en este correo electrónico. -conf_body_conclusion= ¡Nos vemos en el camino! -conf_signature = --François - -email_update_subject= Nueva posición recibida -update_preheader = ¡Nueva posición! -update_title = Mensaje -update_latest_news = Últimas noticias: - -distance = Distancia -elevation = Elevación -segment_length = Tamaño del segmento -type = Tipo de sendero -legend = Leyenda - -credits_project = Proyecto Spotty -credits_git = Repositorio de Git -credits_license = bajo licencia GPLv3 - -weather_type_1 Nieve que sopla o a la deriva -weather_type_2 Llovizna -weather_type_3 Llovizna fuerte -weather_type_4 Llovizna ligera -weather_type_5 Fuerte llovizna / lluvia -weather_type_6 Llovizna ligera / Lluvia -weather_type_7 Tormenta de arena -weather_type_8 Niebla -weather_type_9 Llovizna helada / Lluvia helada -weather_type_10 Fuerte llovizna helada / lluvia helada -weather_type_11 Llovizna helada ligera / lluvia helada -weather_type_12 Niebla helada -weather_type_13 Lluvia helada intensa -weather_type_14 Lluvia helada ligera -weather_type_15 Nube de embudo / Tornado -weather_type_16 Lluvias de granizo -weather_type_17 Hielo -weather_type_18 Rayo sin trueno -weather_type_19 Niebla -weather_type_20 Precipitación en las proximidades -weather_type_21 Lluvia -weather_type_22 Fuertes lluvias y nieve -weather_type_23 Lluvia ligera y nieve -weather_type_24 Lluvias -weather_type_25 Lluvia Pesada -weather_type_26 Lluvia ligera -weather_type_27 Disminución de la cobertura del cielo -weather_type_28 Aumento de la cobertura del cielo -weather_type_29 Cielo sin cambios -weather_type_30 Humo o neblina -weather_type_31 Nieve -weather_type_32 Lluvias y nieve -weather_type_33 Duchas de nieve -weather_type_34 Fuertes nevadas -weather_type_35 Nieve ligera -weather_type_36 Chubascos -weather_type_37 Tormenta -weather_type_38 Tormenta sin precipitaciones -weather_type_39 Polvo de diamante -weather_type_40 Granizo -weather_type_41 Nublado -weather_type_42 Parcialmente nublado -weather_type_43 Claro diff --git a/languages/fr.lang b/languages/fr.lang deleted file mode 100644 index 8b44a6f..0000000 --- a/languages/fr.lang +++ /dev/null @@ -1,177 +0,0 @@ -locale = fr_CH -page_og_desc = Gardez le contact avec François lorsqu'il part sur les chemins -error_commit_db = Error lors de la requête SQL -unknown_field = Champ "$0" inconnu - -nav_back = Retour - -admin = Administration -admin_config = Paramètres -admin_upload = Uploader -save = Sauvegarder -admin_save_success = Sauvegardé - -track_main = Trajet principal -track_off-track = Variante -track_hitchhiking = Hors rando -track_download = Télécharger la trace GPX - -upload_title = Uploader photos & vidéos -upload_mode_archived= Le projet "$0" a été archivé. Aucun upload possible -upload_success = $0 a été uploadé -upload_media_exist = l'image $0 existe déjà - -post_message = Message -post_name = Nom -post_new_message = Nouveau message -and = et -counter = N°$0 -send = Envoyer - -maps = Fonds de carte -map_satellite = Satellite -map_otm = Open Topo Map -map_ign_france = IGN (France) -map_ign_spain = IGN (Espagne) -map_linz = LINZ -map_usgs = USGS -map_natgeo = National Geographic -map_outdoors = Mapbox Topo - -image = Photo -images = Photos -image_taken = prise le $0 -video = Vidéo -video_taken = filmée le $0 -add_on = ajoutée le $0 -click_watch = Click pour voir la vidéo -click_zoom = Click pour zoomer -media_count = Média $0 sur $1 -media_no_id = ID du média manquant -media_comment_update= Commentaire du media "$0" mis-à-jour -see_on_google = Voir la position sur Google Maps -copy_to_clipboard = Copie le lien dans le presse-papier -link_copied = Lien copié ! - -city_time = heure de $0 -local_time = $0 heure locale -your_time = $0 dans votre fuseau horaire -date_time = $0 à $1 -time_zone = Fuseau horaire - -id_project = ID projet -project = Projet -projects = Projets -new_project = Nouveau projet -update_project = Mettre à jour le projet -hikes = Randonnées -mode = Mode -mode_previz = Projet en cours de préparation -mode_blog = Projet actif -mode_histo = Projet archivé -code_name = Nom de code -start = Départ -end = Arrivée -feeds = Feeds -id_feed = ID Feed -ref_feed_id = ID Feed ref. -id_spot = ID Spot -name = Description -status = Statut -last_update = Dernière vérification Spot -ref_spot_id = ID Spot ref. -model = Modèle -delete = Supprimer -id_user = ID Utilisateur -user_name = Nom -active_users = Utilisateurs actifs -language = Langue -clearance = Niveau d'autorisation -toolbox = Boite à outils - -unit_day = jour -unit_days = jours -unit_hour = h - -newsletter = Rester en contact -nl_email_placeholder= mon@email.com -nl_invalid_email = Ceci ne ressemble pas à une adresse email -nl_subscribed_desc = C'est tout bon. On t'envoie des nouvelles fraiches dès qu'on les reçoit. Parole de scout. -nl_unsubscribed_desc= Ajoute ton adresse email et on t'enverra la nouvelle position de François dès qu'on la reçoit :) -nl_email_exists = Cette adresse email est déjà enregistrée. Vous pouvez vous désinscrire en cliquant sur le bouton ci-dessus. -nl_subscribe = S'abonner -nl_subscribed = Merci ! Tu vas recevoir un email de confirmation très bientôt -nl_unsubscribe = Se désinscrire -nl_unsubscribed = C'est fait. Fini le spam! -nl_unknown_email = Adresse email inconnue - -email_unsubscribe = PS: Trop d'emails ? -email_unsub_btn = Se désinscrire - -email_conf_subject = Confirmation -conf_preheader = Merci de rester en contact ! -conf_thanks_sub = C'est tout bon ! -conf_body_para_1 = C'est gentil de venir voir où j'en suis. Promis, je vous tiendrais au courant de mon avancée. -conf_body_para_2 = En général, j'envoie un message une fois par jour. Lorsque je passe à des endroits sympas, j'en envoie un supplémentaire (ascension de sommets, ce genre de choses). J'utilise une balise GPS pour envoyer le signal, je n'ai donc pas besoin de réseau téléphonique pour que cela fonctionne. Cependant, il peut m'arriver d'appuyer sur le bouton. Donc pas de raison de s'inquiéter si vous ne recevez pas de messages pendant une journée ou deux. -conf_body_para_3 = Si j'ai ajouté des photos sur le site récemment, vous devriez aussi les retrouver dans cet email. -conf_body_conclusion= A bientôt sur les chemins ! -conf_signature = --François - -email_update_subject= Nouvelle position reçue -update_preheader = Nouvelle position ! -update_title = Message -update_latest_news = Dernières nouvelles : - -distance = Distance -elevation = Dénivelé -segment_length = Taille du segment -type = Type de rando -legend = Légende - -credits_project = Projet Spotty -credits_git = Dépôt Git -credits_license = sous licence GPLv3 - -weather_type_1 = Poudrerie ou neige à la dérive -weather_type_2 = Bruine -weather_type_3 = Bruine lourde -weather_type_4 = Bruine légère -weather_type_5 = Forte bruine / pluie -weather_type_6 = Légère bruine / pluie -weather_type_7 = Tempête de poussière -weather_type_8 = Brouillard -weather_type_9 = Bruine verglaçante / Pluie verglaçante -weather_type_10 = Forte bruine verglaçante / pluie verglaçante -weather_type_11 = Légère bruine verglaçante / pluie verglaçante -weather_type_12 = Brouillard verglaçant -weather_type_13 = Forte pluie verglaçante -weather_type_14 = Légère pluie verglaçante -weather_type_15 = Nuage d'entonnoir / Tornade -weather_type_16 = Douches de grêle -weather_type_17 = La glace -weather_type_18 = Foudre sans tonnerre -weather_type_19 = Brouillard -weather_type_20 = Précipitations à proximité -weather_type_21 = Pluie -weather_type_22 = Forte pluie et neige -weather_type_23 = Légère pluie et neige -weather_type_24 = Averses de pluie -weather_type_25 = Forte pluie -weather_type_26 = Pluie légère -weather_type_27 = Couverture du ciel en baisse -weather_type_28 = Augmentation de la couverture du ciel -weather_type_29 = Ciel inchangé -weather_type_30 = Fumée ou brume -weather_type_31 = Neige -weather_type_32 = Averses de neige et de pluie -weather_type_33 = Douches de neige -weather_type_34 = Beaucoup de neige -weather_type_35 = Neige légère -weather_type_36 = Grains -weather_type_37 = Orage -weather_type_38 = Orage sans précipitations -weather_type_39 = La poussière de diamant -weather_type_40 = Saluer -weather_type_41 = Couvert -weather_type_42 = Partiellement nuageux -weather_type_43 = Clair diff --git a/lib/Converter.php b/lib/Converter.php new file mode 100644 index 0000000..13ec19d --- /dev/null +++ b/lib/Converter.php @@ -0,0 +1,42 @@ +.gpx to geo/ folder + * 2. Assign file to project: UPDATE projects SET codename = '' WHERE id_project = ; + * 3. Load any page + * + * To force gpx rebuild: + * ?a=build_geojson&name= + */ +class Converter extends PhpObject { + + public function __construct() { + parent::__construct(__CLASS__); + } + + public static function convertToGeoJson($sCodeName) { + $oGpx = new Gpx($sCodeName); + $oGeoJson = new GeoJson($sCodeName); + + $oGeoJson->buildTracks($oGpx->getTracks()); + if($oGeoJson->isSimplicationRequired()) $oGeoJson->buildTracks($oGpx->getTracks(), true); + $oGeoJson->sortOffTracks(); + $oGeoJson->saveFile(); + + return $oGpx->getLog().'
'.$oGeoJson->getLog(); + } + + public static function isGeoJsonValid($sCodeName) { + $sGpxFilePath = Gpx::getFilePath($sCodeName); + $sGeoJsonFilePath = GeoJson::getFilePath($sCodeName); + + //No need to generate if gpx is missing + return !file_exists($sGpxFilePath) || file_exists($sGeoJsonFilePath) && filemtime($sGeoJsonFilePath) >= filemtime($sGpxFilePath); + } +} \ No newline at end of file diff --git a/inc/Email.php b/lib/Email.php similarity index 96% rename from inc/Email.php rename to lib/Email.php index 11b52cb..e35313f 100644 --- a/inc/Email.php +++ b/lib/Email.php @@ -60,6 +60,7 @@ class Email extends PhpObject { $oPHPMailer->setFrom(Settings::MAIL_FROM, 'Spotty'); $oPHPMailer->addReplyTo(Settings::MAIL_FROM, 'Spotty'); + $bSuccess = true; foreach($this->asDests as $asDest) { //Message $this->oTemplate->setLanguage($asDest['language'], Spot::DEFAULT_LANG); @@ -72,7 +73,7 @@ class Email extends PhpObject { $oPHPMailer->addCustomHeader('List-Unsubscribe-Post','List-Unsubscribe=One-Click'); //Email Content - $this->oTemplate->setTag('timezone', 'lang:city_time', self::getTimeZoneCity($asDest['timezone'])); + $this->oTemplate->setTag('timezone', 'lang:time.city', self::getTimeZoneCity($asDest['timezone'])); $sHtmlMessage = $this->oTemplate->getMask(); $sPlainMessage = strip_tags(str_replace('
', "\n", $sHtmlMessage)); @@ -86,11 +87,10 @@ class Email extends PhpObject { //Content $oPHPMailer->isHTML(true); - $oPHPMailer->Subject = $this->oTemplate->getTranslator()->getTranslation($this->sTemplateName.'_subject'); + $oPHPMailer->Subject = $this->oTemplate->getTranslator()->getTranslation($this->sTemplateName.'.subject'); $oPHPMailer->Body = $sHtmlMessage; $oPHPMailer->AltBody = $sPlainMessage; - $bSuccess = true; try { $bSuccess = $bSuccess && $oPHPMailer->send(); } diff --git a/inc/Feed.php b/lib/Feed.php similarity index 100% rename from inc/Feed.php rename to lib/Feed.php diff --git a/lib/Geo.php b/lib/Geo.php new file mode 100644 index 0000000..b6c9e38 --- /dev/null +++ b/lib/Geo.php @@ -0,0 +1,32 @@ +sFilePath = self::getFilePath($sCodeName); + $this->asTracks = array(); + } + + public static function getFilePath($sCodeName) { + return self::GEO_FOLDER.$sCodeName.static::EXT; + } + + public static function getDistFilePath($sCodeName) { + return 'geo/'.$sCodeName.static::EXT; + } + + public function getLog() { + return $this->getCleanMessageStack(PhpObject::NOTICE_TAB); + } +} \ No newline at end of file diff --git a/inc/Converter.php b/lib/GeoJson.php similarity index 69% rename from inc/Converter.php rename to lib/GeoJson.php index e46342f..4614d39 100644 --- a/inc/Converter.php +++ b/lib/GeoJson.php @@ -1,120 +1,6 @@ .gpx to geo/ folder - * 2. Assign file to project: UPDATE projects SET codename = '' WHERE id_project = ; - * 3. Load any page - * - * To force gpx rebuild: - * ?a=build_geojson&name= - */ -class Converter extends PhpObject { - - public function __construct() { - parent::__construct(__CLASS__); - } - - public static function convertToGeoJson($sCodeName) { - $oGpx = new Gpx($sCodeName); - $oGeoJson = new GeoJson($sCodeName); - - $oGeoJson->buildTracks($oGpx->getTracks()); - if($oGeoJson->isSimplicationRequired()) $oGeoJson->buildTracks($oGpx->getTracks(), true); - $oGeoJson->sortOffTracks(); - $oGeoJson->saveFile(); - - return $oGpx->getLog().'
'.$oGeoJson->getLog(); - } - - public static function isGeoJsonValid($sCodeName) { - $bResult = false; - $sGpxFilePath = Geo::getFilePath($sCodeName, Gpx::EXT); - $sGeoJsonFilePath = Geo::getFilePath($sCodeName, GeoJson::EXT); - - //No need to generate if gpx is missing - if(!file_exists($sGpxFilePath) || file_exists($sGeoJsonFilePath) && filemtime($sGeoJsonFilePath) > filemtime(Geo::getFilePath($sCodeName, Gpx::EXT))) $bResult = true; - return $bResult; - } -} - -class Geo extends PhpObject { - - const GEO_FOLDER = 'geo/'; - const OPT_SIMPLE = 'simplification'; - - protected $asTracks; - protected $sFilePath; - - public function __construct($sCodeName) { - parent::__construct(get_class($this), Settings::DEBUG, PhpObject::MODE_HTML); - $this->sFilePath = self::getFilePath($sCodeName, static::EXT); - $this->asTracks = array(); - } - - public static function getFilePath($sCodeName, $sExt) { - return self::GEO_FOLDER.$sCodeName.$sExt; - } - - public function getLog() { - return $this->getCleanMessageStack(PhpObject::NOTICE_TAB); - } -} - -class Gpx extends Geo { - - const EXT = '.gpx'; - - public function __construct($sCodeName) { - parent::__construct($sCodeName); - $this->parseFile(); - } - - public function getTracks() { - return $this->asTracks; - } - - private function parseFile() { - $this->addNotice('Parsing: '.$this->sFilePath); - if(!file_exists($this->sFilePath)) $this->addError($this->sFilePath.' file missing'); - else { - $oXml = simplexml_load_file($this->sFilePath); - - //Tracks - $this->addNotice('Converting '.count($oXml->trk).' tracks'); - foreach($oXml->trk as $aoTrack) { - $asTrack = array( - 'name' => (string) $aoTrack->name, - 'desc' => str_replace("\n", '', ToolBox::fixEOL((strip_tags($aoTrack->desc)))), - 'cmt' => ToolBox::fixEOL((strip_tags($aoTrack->cmt))), - 'color' => (string) $aoTrack->extensions->children('gpxx', true)->TrackExtension->DisplayColor, - 'points'=> array() - ); - - foreach($aoTrack->trkseg as $asSegment) { - foreach($asSegment as $asPoint) { - $asTrack['points'][] = array( - 'lon' => (float) $asPoint['lon'], - 'lat' => (float) $asPoint['lat'], - 'ele' => (int) $asPoint->ele - ); - } - } - $this->asTracks[] = $asTrack; - } - - //Waypoints - $this->addNotice('Ignoring '.count($oXml->wpt).' waypoints'); - } - } -} class GeoJson extends Geo { @@ -280,10 +166,10 @@ class GeoJson extends Geo { private function isPointValid($asPointA, $asPointO, $asPointB) { /* A----O Calculate angle AO^OB - * \ If angle is within [90% Pi ; 110% Pi], O can be discarded - * \ O is valid otherwise - * B - */ + * \ If angle is within [90% Pi ; 110% Pi], O can be discarded + * \ O is valid otherwise + * B + */ //Path Turn Check -> -> -> -> //Law of Cosines (vector): angle = arccos(OA.OB / ||OA||.||OB||) diff --git a/lib/Gpx.php b/lib/Gpx.php new file mode 100644 index 0000000..f8c0a0e --- /dev/null +++ b/lib/Gpx.php @@ -0,0 +1,52 @@ +parseFile(); + } + + public function getTracks() { + return $this->asTracks; + } + + private function parseFile() { + $this->addNotice('Parsing: '.$this->sFilePath); + if(!file_exists($this->sFilePath)) $this->addError($this->sFilePath.' file missing'); + else { + $oXml = simplexml_load_file($this->sFilePath); + + //Tracks + $this->addNotice('Converting '.count($oXml->trk).' tracks'); + foreach($oXml->trk as $aoTrack) { + $asTrack = array( + 'name' => (string) $aoTrack->name, + 'desc' => str_replace("\n", '', ToolBox::fixEOL((strip_tags($aoTrack->desc)))), + 'cmt' => ToolBox::fixEOL((strip_tags($aoTrack->cmt))), + 'color' => (string) $aoTrack->extensions->children('gpxx', true)->TrackExtension->DisplayColor, + 'points'=> array() + ); + + foreach($aoTrack->trkseg as $asSegment) { + foreach($asSegment as $asPoint) { + $asTrack['points'][] = array( + 'lon' => (float) $asPoint['lon'], + 'lat' => (float) $asPoint['lat'], + 'ele' => (int) $asPoint->ele + ); + } + } + $this->asTracks[] = $asTrack; + } + + //Waypoints + $this->addNotice('Ignoring '.count($oXml->wpt).' waypoints'); + } + } +} \ No newline at end of file diff --git a/lib/Map.php b/lib/Map.php new file mode 100644 index 0000000..944af67 --- /dev/null +++ b/lib/Map.php @@ -0,0 +1,66 @@ +oDb = &$oDb; + $this->asMaps = array(); + } + + private function setMaps() { + $asMaps = $this->oDb->selectRows(array('from'=>self::MAP_TABLE)); + foreach($asMaps as $asMap) $this->asMaps[$asMap['codename']] = $asMap; + } + + private function getMaps($sCodeName='') { + if(empty($this->asMaps)) $this->setMaps(); + return ($sCodeName=='')?$this->asMaps:$this->asMaps[$sCodeName]; + } + + public function getProjectMaps($iProjectId) { + $asMappings = $this->oDb->selectRows( + array( + 'select' => array(Db::getId(self::MAP_TABLE), 'default_map'), + 'from' => self::MAPPING_TABLE, + 'constraint'=> array("IFNULL(id_project, {$iProjectId})" => $iProjectId) + ), + Db::getId(self::MAP_TABLE) + ); + + $asProjectMaps = array(); + foreach($this->getMaps() as $asMap) { + if(array_key_exists($asMap['id_map'], $asMappings)) { + $asMap['default_map'] = $asMappings[$asMap['id_map']]; + $asProjectMaps[] = $asMap; + } + } + + return $asProjectMaps; + } + + public function getMapUrl($sCodeName, $asParams) { + $asMap = $this->getMaps($sCodeName); + $asParams['token'] = $asMap['token']; + return self::populateParams($asMap['pattern'], $asParams); + } + + private static function populateParams($sUrl, $asParams) { + foreach($asParams as $sParam=>$sValue) { + $sUrl = str_replace('{'.$sParam.'}', $sValue, $sUrl); + } + + return $sUrl; + } +} \ No newline at end of file diff --git a/inc/Media.php b/lib/Media.php similarity index 95% rename from inc/Media.php rename to lib/Media.php index 04f915a..a26ea94 100644 --- a/inc/Media.php +++ b/lib/Media.php @@ -17,30 +17,21 @@ class Media extends PhpObject { const THUMB_MAX_WIDTH = 400; - /** - * Database Handle - * @var Db - */ - private $oDb; - - /** - * Media Project - * @var Project - */ - private $oProject; + private Db $oDb; + private Project $oProject; private $asMedia; private $asMedias; - private $sSystemType; + //private $sSystemType; private $iMediaId; - public function __construct(Db &$oDb, &$oProject, $iMediaId=0) { + public function __construct(Db &$oDb, Project &$oProject, $iMediaId=0) { parent::__construct(__CLASS__); $this->oDb = &$oDb; $this->oProject = &$oProject; $this->asMedia = array(); $this->asMedias = array(); - $this->sSystemType = (substr(php_uname(), 0, 7) == "Windows")?'win':'unix'; + //$this->sSystemType = (substr(php_uname(), 0, 7) == "Windows")?'win':'unix'; $this->setMediaId($iMediaId); } @@ -61,10 +52,10 @@ class Media extends PhpObject { $asData = array(); if($this->iMediaId > 0) { $bResult = $this->oDb->updateRow(self::MEDIA_TABLE, $this->iMediaId, array('comment'=>$sComment)); - if(!$bResult) $sError = 'error_commit_db'; + if(!$bResult) $sError = 'error.commit_db'; else $asData = $this->getInfo(); } - else $sError = 'media_no_id'; + else $sError = 'media.no_id'; return Spot::getResult(($sError==''), $sError, $asData); } @@ -110,11 +101,11 @@ class Media extends PhpObject { $sError = ''; $asParams = array(); if(!$this->isProjectEditable() && $sMethod!='sync') { - $sError = 'upload_mode_archived'; + $sError = 'upload.mode_archived'; $asParams[] = $this->oProject->getProjectCodeName(); } elseif($this->oDb->pingValue(self::MEDIA_TABLE, array('filename'=>$sMediaName)) && $sMethod!='sync') { - $sError = 'upload_media_exist'; + $sError = 'upload.media.exists'; $asParams[] = $sMediaName; } else { @@ -140,7 +131,7 @@ class Media extends PhpObject { if($sMethod=='sync') $iMediaId = $this->oDb->insertUpdateRow(self::MEDIA_TABLE, $asDbInfo, array('filename')); else $iMediaId = $this->oDb->insertRow(self::MEDIA_TABLE, $asDbInfo); - if(!$iMediaId) $sError = 'error_commit_db'; + if(!$iMediaId) $sError = 'error.commit_db'; else { $this->setMediaId($iMediaId); $asParams = $this->getInfo(); //Creates thumbnail diff --git a/inc/Project.php b/lib/Project.php similarity index 89% rename from inc/Project.php rename to lib/Project.php index 26378ec..04754de 100644 --- a/inc/Project.php +++ b/lib/Project.php @@ -120,6 +120,7 @@ class Project extends PhpObject { public function getProjects($iProjectId=0) { $bSpecificProj = ($iProjectId > 0); + $sDefaultProjectCodeName = $this->getProjectCodeName(); $asInfo = array( 'select'=> array( Db::getId(self::PROJ_TABLE)." AS id", @@ -142,15 +143,20 @@ class Project extends PhpObject { } $asProject['editable'] = $this->isModeEditable($asProject['mode']); - if($sCodeName != '' && !Converter::isGeoJsonValid($sCodeName)) Converter::convertToGeoJson($sCodeName); - - $asProject['geofilepath'] = Spot::addTimestampToFilePath(Geo::getFilePath($sCodeName, GeoJson::EXT)); - $asProject['gpxfilepath'] = Spot::addTimestampToFilePath(Geo::getFilePath($sCodeName, Gpx::EXT)); + //$asProject['geofilepath'] = Spot::addTimestampToFilePath(GeoJson::getDistFilePath($sCodeName)); + $asProject['gpxfilepath'] = Spot::addTimestampToFilePath(Gpx::getDistFilePath($sCodeName)); $asProject['codename'] = $sCodeName; + $asProject['default'] = ($sCodeName == $sDefaultProjectCodeName); } return $bSpecificProj?$asProject:$asProjects; } + public function getGeoJson() { + if($this->sCodeName != '' && !Converter::isGeoJsonValid($this->sCodeName)) Converter::convertToGeoJson($this->sCodeName); + + return json_decode(file_get_contents(GeoJson::getDistFilePath($this->sCodeName)), true); + } + public function getProject() { return $this->getProjects($this->getProjectId()); } @@ -185,7 +191,7 @@ class Project extends PhpObject { $this->sCodeName = $asProject['codename']; $this->sMode = $asProject['mode']; $this->asActive = array('from'=>$asProject['active_from'], 'to'=>$asProject['active_to']); - $this->asGeo = array('geofile'=>$asProject['geofilepath'], 'gpxfile'=>$asProject['gpxfilepath']); + $this->asGeo = array(/*'geofile'=>$asProject['geofilepath'], */'gpxfile'=>$asProject['gpxfilepath']); } else $this->addError('Error while setting project: no project ID'); } diff --git a/inc/Spot.php b/lib/Spot.php similarity index 76% rename from inc/Spot.php rename to lib/Spot.php index 4eec823..dfef49c 100755 --- a/inc/Spot.php +++ b/lib/Spot.php @@ -28,6 +28,8 @@ use \Settings; * - Posts (table `posts`): * - site_time: timestamp in Site Time * - timezone: Local Timezone + * - Users (table `users`): + * - timezone: Site Timezone (stored user's timezone for emails) */ class Spot extends Main @@ -40,6 +42,8 @@ class Spot extends Main const DEFAULT_LANG = 'en'; + const MAIN_PAGE = 'index'; + private Project $oProject; private Media $oMedia; private User $oUser; @@ -108,8 +112,8 @@ class Spot extends Main 'iso_time' => "VARCHAR(24)", 'language' => "VARCHAR(2)", 'last_update' => "TIMESTAMP DEFAULT 0", - 'latitude' => "DECIMAL(7,5)", - 'longitude' => "DECIMAL(8,5)", + 'latitude' => "DECIMAL(8,6)", + 'longitude' => "DECIMAL(9,6)", 'altitude' => "SMALLINT", 'model' => "VARCHAR(20)", 'name' => "VARCHAR(100)", @@ -146,7 +150,8 @@ class Spot extends Main Project::PROJ_TABLE => "UNIQUE KEY `uni_proj_name` (`codename`)", Media::MEDIA_TABLE => "UNIQUE KEY `uni_file_name` (`filename`)", User::USER_TABLE => "UNIQUE KEY `uni_email` (`email`)", - Map::MAP_TABLE => "UNIQUE KEY `uni_map_name` (`codename`)" + Map::MAP_TABLE => "UNIQUE KEY `uni_map_name` (`codename`)", + Map::MAPPING_TABLE => "default_on_generic_map_only CHECK (`default_map` = 0 OR `id_project` IS NULL)" ), 'cascading_delete' => array ( @@ -158,40 +163,32 @@ class Spot extends Main ); } - public function getAppMainPage() - { + public function getAppMainPage() { + //Cache Page List - $asPages = array_diff($this->asMasks, array('email_update', 'email_conf')); + $asPages = array_diff($this->asMasks, array('email.update', 'email.confirmation')); if(!$this->oUser->checkUserClearance(User::CLEARANCE_ADMIN)) { $asPages = array_diff($asPages, array('admin', 'upload')); } return parent::getMainPage( array( - 'vars' => array( - 'chunk_size' => self::FEED_CHUNK_SIZE, - 'default_project_codename' => $this->oProject->getProjectCodeName(), - 'projects' => $this->oProject->getProjects(), - 'user' => $this->oUser->getUserInfo() - ), + 'projects' => $this->oProject->getProjects(), + 'user' => $this->oUser->getUserInfo(), 'consts' => array( - 'server' => $this->asContext['serv_name'], 'modes' => Project::MODES, 'clearances' => User::CLEARANCES, - 'default_timezone' => Settings::TIMEZONE + 'default_timezone' => Settings::TIMEZONE, + 'chunk_size' => self::FEED_CHUNK_SIZE, + 'hash_sep' => '-', + 'title' => 'Spotty', + 'default_page' => 'project' ) ), - 'index', + self::MAIN_PAGE, array( - 'language' => $this->oLang->getLanguage(), - 'host_url' => $this->asContext['serv_name'], - 'filepath_css' => self::addTimestampToFilePath('style/spot.css'), - 'filepath_js_d3' => self::addTimestampToFilePath('script/d3.min.js'), - 'filepath_js_leaflet' => self::addTimestampToFilePath('script/leaflet.min.js'), - 'filepath_js_jquery' => self::addTimestampToFilePath('script/jquery.min.js'), - 'filepath_js_jquery_mods' => self::addTimestampToFilePath('script/jquery.mods.js'), - 'filepath_js_spot' => self::addTimestampToFilePath('script/spot.js'), - 'filepath_js_lightbox' => self::addTimestampToFilePath('script/lightbox.js') + 'language' => $this->oLang->getLanguage(), + 'filepath_js' => self::addTimestampToFilePath('../dist/app.js'), ), $asPages ); @@ -207,6 +204,10 @@ class Spot extends Main $this->oProject->setProjectId($iProjectId); } + public function getProjectGeoJson() { + return self::getJsonResult(true, '', $this->oProject->getGeoJson()); + } + public function updateProject() { $bNewMsg = false; $bSuccess = true; @@ -221,34 +222,7 @@ class Spot extends Main //Send Update Email if($bNewMsg) { - $oEmail = new Email($this->asContext['serv_name'], 'email_update'); - $oEmail->setDestInfo($this->oUser->getActiveUsersInfo()); - - //Add Position - $asLastMessage = array_shift($this->getSpotMessages(array($this->oProject->getLastMessageId($this->getFeedConstraints(Feed::MSG_TABLE))))); - $oEmail->oTemplate->setTags($asLastMessage); - $oEmail->oTemplate->setTag('date_time', 'time:'.$asLastMessage['unix_time'], 'd/m/Y, H:i'); - - //Add latest news feed - $asNews = $this->getNextFeed(0, true); - $iPostCount = 0; - foreach($asNews as $asPost) { - if($asPost['type'] != 'message') { - $oEmail->oTemplate->newInstance('news'); - $oEmail->oTemplate->setInstanceTags('news', array( - 'local_server' => $this->asContext['serv_name'], - 'project' => $this->oProject->getProjectCodeName(), - 'type' => $asPost['type'], - 'id' => $asPost['id_'.$asPost['type']]) - ); - $oEmail->oTemplate->addInstance($asPost['type'], $asPost); - $oEmail->oTemplate->setInstanceTag($asPost['type'], 'local_server', $this->asContext['serv_name']); - $iPostCount++; - } - if($iPostCount == self::MAIL_CHUNK_SIZE) break; - } - - $bSuccess = $oEmail->send(); + $bSuccess = $this->sendEmail(); $sDesc = $bSuccess?'mail_sent':'mail_failure'; } else $sDesc = 'no_new_msg'; @@ -256,6 +230,38 @@ class Spot extends Main return self::getJsonResult($bSuccess, $sDesc); } + private function sendEmail() { + $oEmail = new Email($this->asContext['serv_name'], 'email.update'); + $oEmail->setDestInfo($this->oUser->getActiveUsersInfo()); + + //Add Position + $asSpotMessages = $this->getSpotMessages(array($this->oProject->getLastMessageId($this->getFeedConstraints(Feed::MSG_TABLE)))); + $asLastMessage = array_shift($asSpotMessages); + $oEmail->oTemplate->setTags($asLastMessage); + $oEmail->oTemplate->setTag('date_time', 'time:'.$asLastMessage['unix_time'], 'd/m/Y, H:i'); + + //Add latest news feed + $asNews = $this->getNextFeed(0, true); + $iPostCount = 0; + foreach($asNews as $asPost) { + if($asPost['type'] != 'message') { + $oEmail->oTemplate->newInstance('news'); + $oEmail->oTemplate->setInstanceTags('news', array( + 'local_server' => $this->asContext['serv_name'], + 'project' => $this->oProject->getProjectCodeName(), + 'type' => $asPost['type'], + 'id' => $asPost['id_'.$asPost['type']]) + ); + $oEmail->oTemplate->addInstance($asPost['type'], $asPost); + $oEmail->oTemplate->setInstanceTag($asPost['type'], 'local_server', $this->asContext['serv_name']); + $iPostCount++; + } + if($iPostCount == self::MAIL_CHUNK_SIZE) break; + } + + return $oEmail->send(); + } + public function genCronFile() { //$bSuccess = (file_put_contents('spot_cron.sh', '#!/bin/bash'."\n".'cd '.dirname($_SERVER['SCRIPT_FILENAME'])."\n".'php -f index.php a=update_feed')!==false); $sFileName = 'spot_cron.sh'; @@ -269,21 +275,38 @@ class Spot extends Main public function getMarkers($asMessageIds=array(), $asMediaIds=array(), $bInternal=false) { + //Get messages $asMessages = $this->getSpotMessages($asMessageIds); - $asGeoMedias = array(); - usort($asMessages, function($a, $b){return $a['unix_time'] > $b['unix_time'];}); - $bHasMsg = !empty($asMessages); + foreach($asMessages as &$asMessage) { + $asMessage['id'] = $asMessage[Db::getId(Feed::MSG_TABLE)]; + $asMessage['type'] = 'message'; + $asMessage['subtype'] = 'message'; + } - //Add medias + //Get Geo-positioned Medias $asMedias = $this->getMedias('taken_on', $asMediaIds); - usort($asMedias, function($a, $b){return $a['unix_time'] > $b['unix_time'];}); + $asGeoMedias = $this->getMedias('posted_on', $asMediaIds, true); + foreach($asGeoMedias as &$asGeoMedia) { + $iId = $asGeoMedia[Db::getId(Media::MEDIA_TABLE)]; + unset($asGeoMedia[Db::getId(Media::MEDIA_TABLE)]); + + $asGeoMedia['id'] = $iId; + $asGeoMedia['type'] = 'media'; + $asGeoMedia['lat_dms'] = self::decToDms($asGeoMedia['latitude'], 'lat'); + $asGeoMedia['lon_dms'] = self::decToDms($asGeoMedia['longitude'], 'lon'); + $asGeoMedia['medias'] = array_values(array_filter($asMedias, function($asMedia) use ($iId) { + return $asMedia['id_media'] == $iId; + })); + } //Assign medias to closest message - $iIndex = 0; - $iMaxIndex = count($asMessages) - 1; - foreach($asMedias as $asMedia) { - if($asMedia['latitude']!='' && $asMedia['longitude']!='') $asGeoMedias[] = $asMedia; - elseif($bHasMsg) { + if(!empty($asMessages)) { + usort($asMessages, function($a, $b){return $a['unix_time'] > $b['unix_time'];}); + usort($asMedias, function($a, $b){return $a['unix_time'] > $b['unix_time'];}); + + $iIndex = 0; + $iMaxIndex = count($asMessages) - 1; + foreach($asMedias as $asMedia) { while($iIndex <= $iMaxIndex && $asMedia['unix_time'] > $asMessages[$iIndex]['unix_time']) $iIndex++; //All medias before first message or after last message are assigned to first/last message respectively @@ -298,13 +321,16 @@ class Spot extends Main } } + //Combine markers + $asMarkers = [...$asMessages, ...$asGeoMedias]; + usort($asMarkers, function($a, $b){return $a['unix_time'] > $b['unix_time'];}); + //Spot Last Update $asLastUpdate = array(); $this->addTimeStamp($asLastUpdate, $this->oProject->getLastUpdate()); $asResult = array( - 'messages' => $asMessages, - 'medias' => $asGeoMedias, + 'markers' => $asMarkers, 'maps' => $this->oMap->getProjectMaps($this->oProject->getProjectId()), 'last_update' => $asLastUpdate ); @@ -317,8 +343,8 @@ class Spot extends Main $asUserInfo = $this->oUser->getUserInfo(); //Send Confirmation Email - if($asResult['result'] && $asResult['desc']=='lang:nl_subscribed') { - $oConfEmail = new Email($this->asContext['serv_name'], 'email_conf'); + if($asResult['result'] && $asResult['desc']=='lang:newsletter.subscribed' && !Settings::DEBUG) { + $oConfEmail = new Email($this->asContext['serv_name'], 'email.confirmation'); $oConfEmail->setDestInfo($asUserInfo); $oConfEmail->send(); } @@ -328,7 +354,7 @@ class Spot extends Main public function unsubscribe() { $asResult = $this->oUser->removeUser(); - return self::getJsonResult($asResult['result'], $asResult['desc'], $asResult['data']); + return self::getJsonResult($asResult['result'], $asResult['desc'], User::DEFAULT_USER); } public function unsubscribeFromEmail($iUserId) { @@ -380,26 +406,30 @@ class Spot extends Main * @param String $sTimeRefField Field to calculate relative times: 'taken_on' or 'posted_on' * @return Array Medias info */ - private function getMedias($sTimeRefField, $asMediaIds=array()) + private function getMedias($sTimeRefField, $asMediaIds=array(), $bOnlyGeoMedia=false) { //Constraints $asConstraints = $this->getFeedConstraints(Media::MEDIA_TABLE, $sTimeRefField); if(!empty($asMediaIds)) { - $asConstraints['constraint'][Db::getId(Media::MEDIA_TABLE)] = $asMediaIds; $asConstraints['constOpe'][Db::getId(Media::MEDIA_TABLE)] = 'IN'; + $asConstraints['constraint'][Db::getId(Media::MEDIA_TABLE)] = $asMediaIds; + } + if($bOnlyGeoMedia) { + $asConstraints['constOpe']['latitude'] = ' IS NOT '; + $asConstraints['constraint']['latitude'] = 'NULL'; + $asConstraints['constOpe']['longitude'] = ' IS NOT '; + $asConstraints['constraint']['longitude'] = 'NULL'; } $asMedias = $this->oMedia->getMediasInfo($asConstraints); foreach($asMedias as &$asMedia) { - $iTimeStampTakenOn = strtotime($asMedia['taken_on']); - $iTimeStampPostedOn = strtotime($asMedia['posted_on']); - $asMedia['taken_on_formatted'] = $this->getTimeFormat($iTimeStampTakenOn); - $asMedia['taken_on_formatted_local'] = $this->getTimeFormat($iTimeStampTakenOn, $asMedia['timezone']); - $asMedia['posted_on_formatted'] = $this->getTimeFormat($iTimeStampPostedOn); - $asMedia['posted_on_formatted_local'] = $this->getTimeFormat($iTimeStampPostedOn, $asMedia['timezone']); $asMedia['displayed_id'] = $asMedia[Db::getId(Media::MEDIA_TABLE)]; $this->addTimeStamp($asMedia, strtotime($asMedia[$sTimeRefField]), $asMedia['timezone']); + $this->addTimeStamp($asMedia, strtotime($asMedia['taken_on']), $asMedia['timezone'], 'taken_on'); + $this->addTimeStamp($asMedia, strtotime($asMedia['posted_on']), $asMedia['timezone'], 'posted_on'); + unset($asMedia['taken_on']); + unset($asMedia['posted_on']); } return $asMedias; @@ -431,14 +461,16 @@ class Spot extends Main return $asPosts; } - private function addTimeStamp(&$asData, $iTime, $sTimeZone='') { - $asData['unix_time'] = (int) $iTime; - $asData['relative_time'] = Toolbox::getDateTimeDesc($iTime, $this->oLang->getLanguage()); - $asData['formatted_time'] = $this->getTimeFormat($iTime); + private function addTimeStamp(&$asData, $iTime, $sTimeZone='', $sPrefix='') { + if($sPrefix != '') $sPrefix = $sPrefix.'_'; + + $asData[$sPrefix.'unix_time'] = (int) $iTime; + $asData[$sPrefix.'relative_time'] = Toolbox::getDateTimeDesc($iTime, $this->oLang->getLanguage()); + $asData[$sPrefix.'formatted_time'] = $this->getTimeFormat($iTime); if($sTimeZone != '') { - $asData['formatted_time_local'] = $this->getTimeFormat($iTime, $sTimeZone); - $asData['day_offset'] = self::getTimeZoneDayOffset($iTime, $sTimeZone); + $asData[$sPrefix.'formatted_time_local'] = $this->getTimeFormat($iTime, $sTimeZone); + $asData[$sPrefix.'day_offset'] = self::getTimeZoneDayOffset($iTime, $sTimeZone); } } @@ -507,7 +539,7 @@ class Spot extends Main $asResult = array_merge($asResult, $asMarkers); } - else $sDesc = 'mode_histo'; + else $sDesc = 'project.modes.histo'; return self::getJsonResult(true, $sDesc, $asResult); } @@ -530,7 +562,6 @@ class Spot extends Main $this->oDb->cleanSql($sDirection); $this->oDb->cleanSql($sSort); - $sMediaRefField = 'posted_on'; $sProjectIdField = Db::getId(Project::PROJ_TABLE); $sMsgIdField = Db::getId(Feed::MSG_TABLE); $sMediaIdField = Db::getId(Media::MEDIA_TABLE); @@ -544,9 +575,9 @@ class Spot extends Main "INNER JOIN ".Feed::FEED_TABLE." USING({$sFeedIdField})", $this->getFeedConstraints(Feed::MSG_TABLE, 'site_time', 'sql'), "UNION", - "SELECT {$sProjectIdField}, {$sMediaIdField} AS id, 'media' AS type, CONCAT(UNIX_TIMESTAMP({$sMediaRefField}), '.1', {$sMediaIdField}) AS ref", + "SELECT {$sProjectIdField}, {$sMediaIdField} AS id, 'media' AS type, CONCAT(UNIX_TIMESTAMP(posted_on), '.1', {$sMediaIdField}) AS ref", "FROM ".Media::MEDIA_TABLE, - $this->getFeedConstraints(Media::MEDIA_TABLE, $sMediaRefField, 'sql'), + $this->getFeedConstraints(Media::MEDIA_TABLE, 'posted_on', 'sql'), "UNION", "SELECT {$sProjectIdField}, {$sPostIdField} AS id, 'post' AS type, CONCAT(UNIX_TIMESTAMP(site_time), '.2', {$sPostIdField}) AS ref", "FROM ".self::POST_TABLE, @@ -568,17 +599,18 @@ class Spot extends Main } //Sort Table IDs by type & Get attributes - $asFeedIds = array('message'=>array(), 'media'=>array(), 'message'=>array()); + $asFeedIds = array('message'=>array(), 'media'=>array(), 'post'=>array()); foreach($asItems as $asItem) { $asFeedIds[$asItem['type']][$asItem['id']] = $asItem; } $asFeedAttrs = array( 'message' => empty($asFeedIds['message'])?array():$this->getSpotMessages(array_keys($asFeedIds['message'])), - 'media' => empty($asFeedIds['media'])?array():$this->getMedias($sMediaRefField, array_keys($asFeedIds['media'])), + 'media' => empty($asFeedIds['media'])?array():$this->getMedias('posted_on', array_keys($asFeedIds['media'])), 'post' => empty($asFeedIds['post'])?array():$this->getPosts(array_keys($asFeedIds['post'])) ); //Replace Array Key with Item ID + $asFeeds = array(); foreach($asFeedAttrs as $sType=>$asFeedAttr) { foreach($asFeedAttr as $asFeed) { $asFeeds[$sType][$asFeed['id_'.$sType]] = $asFeed; @@ -612,7 +644,7 @@ class Spot extends Main $this->oUser->updateNickname($sName); } - else $sDesc = 'mode_histo'; + else $sDesc = 'project.modes.histo'; return self::getJsonResult(($iPostId > 0), $sDesc); } @@ -632,9 +664,21 @@ class Spot extends Main public function addPosition($sLat, $sLng, $iTimestamp) { $oFeed = new Feed($this->oDb, $this->oProject->getFeedIds()[0]); +<<<<<<< HEAD:inc/Spot.php $bResult = ($oFeed->addManualPosition($sLat, $sLng, $iTimestamp) > 0); return self::getJsonResult($bResult, $bResult?'':$this->oDb->getLastError()); +======= + $bSuccess = ($oFeed->addManualPosition($sLat, $sLng, $iTimestamp) > 0); + + if($bSuccess) { + $bSuccess = $this->sendEmail(); + $sDesc = $bSuccess?'mail_sent':'mail_failure'; + } + else $sDesc = 'error.commit_db'; + + return self::getJsonResult($bSuccess, $sDesc); +>>>>>>> vue:lib/Spot.php } public function getAdminSettings($sType='') { @@ -659,6 +703,8 @@ class Spot extends Main $sDesc = ''; $asResult = array(); + if($this->oDb->isId($sField) && $sValue <= 0) return self::getJsonResult(false, $this->oLang->getTranslation('error.impossible_value', [$sValue, $sField])); + switch($sType) { case 'project': $oProject = new Project($this->oDb, $iId); @@ -676,7 +722,7 @@ class Spot extends Main $bSuccess = $oProject->setActivePeriod($sValue.' 23:59:59', 'to'); break; default: - $sDesc = $this->oLang->getTranslation('unknown_field', $sField); + $sDesc = $this->oLang->getTranslation('error.unknown_field', $sField); } $asResult = $oProject->getProject(); $asResult['active_from'] = substr($asResult['active_from'], 0, 10); @@ -695,7 +741,7 @@ class Spot extends Main $bSuccess = $oFeed->setProjectId($sValue); break; default: - $sDesc = $this->oLang->getTranslation('unknown_field', $sField); + $sDesc = $this->oLang->getTranslation('error.unknown_field', $sField); } $asResult = $oFeed->getFeed(); break; @@ -707,48 +753,78 @@ class Spot extends Main $sDesc = $asReturnCode['desc']; break; default: - $sDesc = $this->oLang->getTranslation('unknown_field', $sField); + $sDesc = $this->oLang->getTranslation('error.unknown_field', $sField); } $asResult = $this->oUser->getActiveUserInfo($iId); break; } - if(!$bSuccess && $sDesc=='') $sDesc = Mask::LANG_PREFIX.'error_commit_db'; + if(!$bSuccess && $sDesc=='') $sDesc = Mask::LANG_PREFIX.'error.commit_db'; return self::getJsonResult($bSuccess, $sDesc, array($sType=>array($asResult))); } - public function delAdminSettings($sType, $iId) { + public function createAdminSettings($sType) { $bSuccess = false; $sDesc = ''; + $asResult = array(); + + switch($sType) { + case 'project': + $oProject = new Project($this->oDb); + $iNewProjectId = $oProject->createProjectId(); + + $oFeed = new Feed($this->oDb); + $oFeed->createFeedId($iNewProjectId); + + $bSuccess = $iNewProjectId > 0; + $asResult = array( + 'project' => array($oProject->getProject()), + 'feed' => array($oFeed->getFeed()) + ); + break; + case 'feed': + $oFeed = new Feed($this->oDb); + $iNewFeedId = $oFeed->createFeedId($this->oProject->getProjectId()); + $bSuccess = $iNewFeedId > 0; + $asResult = array( + 'feed' => array($oFeed->getFeed()) + ); + break; + } + + return self::getJsonResult($bSuccess, $sDesc, $asResult); + } + + public function deleteAdminSettings($sType, $iId) { + $bSuccess = false; + $sDesc = ''; + $asResult = array(); switch($sType) { case 'project': $oProject = new Project($this->oDb, $iId); $asResult = $oProject->delete(); $sDesc = $asResult['project'][0]['desc']; + $bSuccess = $asResult['project'][0]['del']; break; case 'feed': $oFeed = new Feed($this->oDb, $iId); - $asResult = array('feed'=>array($oFeed->delete())); + $asResult = array('feed' => array($oFeed->delete())); $sDesc = $asResult['feed'][0]['desc']; + $bSuccess = $asResult['feed'][0]['del']; + break; + case 'user': + $asResult = array('user' => array($this->oUser->removeUser($iId))); + $sDesc = $asResult['user'][0]['desc']; + $bSuccess = $asResult['user'][0]['result']; break; } - $bSuccess = ($sDesc==''); - + return self::getJsonResult($bSuccess, $sDesc, $asResult); } - public function createProject() { - $oProject = new Project($this->oDb); - $iNewProjectId = $oProject->createProjectId(); - - $oFeed = new Feed($this->oDb); - $oFeed->createFeedId($iNewProjectId); - - return self::getJsonResult($iNewProjectId>0, '', array( - 'project' => array($oProject->getProject()), - 'feed' => array($oFeed->getFeed()) - )); + public function buildGeoJSON($sCodeName) { + return Converter::convertToGeoJson($sCodeName); } public function buildGeoJSON($sCodeName) { @@ -794,7 +870,7 @@ class Spot extends Main $sDate = $oDate->format('d/m/Y'); $sTime = $oDate->format('H:i'); - return $this->oLang->getTranslation('date_time', array($sDate, $sTime)); + return $this->oLang->getTranslation('time.date_time', array($sDate, $sTime)); } public static function getTimeZoneDayOffset($iTime, $sLocalTimeZone) { @@ -802,7 +878,7 @@ class Spot extends Main $iLocalDate = (int) (new \DateTime('@'.$iTime))->setTimezone(new \DateTimeZone($sLocalTimeZone))->format('Ymd'); $iSiteDate = (int) (new \DateTime('@'.$iTime))->setTimezone(new \DateTimeZone($sSiteTimeZone ))->format('Ymd'); - return ($iLocalDate == $iSiteDate)?'0':(($iLocalDate > $iSiteDate)?'+1':'-1'); + return ($iLocalDate == $iSiteDate)?'0':(($iLocalDate < $iSiteDate)?'+1':'-1'); } public static function getTimeZoneFromDate($sDate) { diff --git a/inc/Uploader.php b/lib/Uploader.php similarity index 88% rename from inc/Uploader.php rename to lib/Uploader.php index 18d330f..1b22e73 100644 --- a/inc/Uploader.php +++ b/lib/Uploader.php @@ -25,7 +25,12 @@ class Uploader extends UploadHandler $this->oMedia = &$oMedia; $this->oLang = &$oLang; $this->sBody = ''; - parent::__construct(array('image_versions'=>array(), 'accept_file_types'=>'/\.(gif|jpe?g|png|mov|mp4)$/i')); + + parent::__construct(array( + 'upload_dir' => Media::MEDIA_FOLDER, + 'image_versions' => array(), + 'accept_file_types' => '/\.(gif|jpe?g|png|mov|mp4)$/i' + )); } protected function validate($uploaded_file, $file, $error, $index, $content_range) { @@ -33,7 +38,7 @@ class Uploader extends UploadHandler //Check project mode if(!$this->oMedia->isProjectEditable()) { - $file->error = $this->get_error_message('upload_mode_archived', array($this->oMedia->getProjectCodeName())); + $file->error = $this->get_error_message('upload.mode_archived', array($this->oMedia->getProjectCodeName())); $bResult = false; } diff --git a/inc/User.php b/lib/User.php similarity index 77% rename from inc/User.php rename to lib/User.php index 8c62eee..c9ed1e9 100644 --- a/inc/User.php +++ b/lib/User.php @@ -20,6 +20,18 @@ class User extends PhpObject { //Cookie const COOKIE_ID_USER = 'subscriber'; const COOKIE_DURATION = 60 * 60 * 24 * 365; //1 year + + const DEFAULT_USER = array( + 'id' => 0, + 'id_user' => 0, + 'name' => '', + 'email' => '', + 'language' => '', + 'timezone' => '', + 'active' => self::USER_INACTIVE, + 'clearance' => self::CLEARANCE_USER + ); + /** * Database Handle * @var Db @@ -33,104 +45,11 @@ class User extends PhpObject { public function __construct(Db &$oDb) { parent::__construct(__CLASS__); $this->oDb = &$oDb; - $this->iUserId = 0; - $this->asUserInfo = array( - 'id' => 0, - Db::getId(self::USER_TABLE) => 0, - 'name' => '', - 'email' => '', - 'language' => '', - 'timezone' => '', - 'active' => self::USER_INACTIVE, - 'clearance' => self::CLEARANCE_USER - ); + $this->setUserId(0); + $this->asUserInfo = self::DEFAULT_USER; $this->checkUserCookie(); } - public function getLang() { - return $this->asUserInfo['language']; - } - - public function addUser($sEmail, $sLang, $sTimezone, $sNickName='') { - $bSuccess = false; - $sDesc = ''; - $sEmail = trim($sEmail); - - //Check Email availability - $iUserId = $this->oDb->selectValue(self::USER_TABLE, Db::getId(self::USER_TABLE), array('email'=>$sEmail, 'active'=>self::USER_ACTIVE)); - - if($iUserId > 0) { - //Just log user in - $sDesc = 'lang:nl_email_exists'; - $bSuccess = true; - } - else { - //Add/Reactivate user - $iUserId = $this->oDb->insertUpdateRow( - self::USER_TABLE, - array('email'=>$sEmail, 'language'=>$sLang, 'timezone'=>$sTimezone, 'active'=>self::USER_ACTIVE), - array('email') - ); - - if($iUserId==0) $sDesc = 'lang:error_commit_db'; - else { - $sDesc = 'lang:nl_subscribed'; - $bSuccess = true; - } - } - - if($bSuccess) { - $this->setUserId($iUserId); - - //Set Cookie (valid 1 year) - $this->updateCookie(self::COOKIE_DURATION); - - //Update Nickname if user has already posted - $this->updateNickname($sNickName); - - //Retrieve Gravatar image - $this->updateGravatar($iUserId, $sEmail); - } - - return Spot::getResult($bSuccess, $sDesc); - } - - public function removeUser() { - $bSuccess = false; - $sDesc = ''; - - if($this->iUserId > 0) { - $iUserId = $this->oDb->updateRow(self::USER_TABLE, $this->getUserId(), array('active'=>self::USER_INACTIVE)); - if($iUserId==0) $sDesc = 'lang:error_commit_db'; - else { - $sDesc = 'lang:nl_unsubscribed'; - $this->updateCookie(-60 * 60); //Set Cookie in the past, deleting it - $bSuccess = true; - } - } - else $sDesc = 'lang:nl_unknown_email'; - - return Spot::getResult($bSuccess, $sDesc); - } - - public function updateNickname($sNickname) { - if($this->getUserId() > 0 && $sNickname!='') $this->oDb->updateRow(self::USER_TABLE, $this->getUserId(), array('name'=>$sNickname)); - } - - private function updateGravatar($iUserId, $sEmail) { - $sImage = ($sEmail != '')?@file_get_contents('https://www.gravatar.com/avatar/'.md5($sEmail).'.png?d=404&s=24'):''; - $this->oDb->updateRow(self::USER_TABLE, $iUserId, array('gravatar' => base64_encode($sImage))); - } - - private function checkUserCookie() { - if(isset($_COOKIE[self::COOKIE_ID_USER])){ - $this->setUserId($_COOKIE[self::COOKIE_ID_USER]); - - //Extend cookie life - if($this->getUserId() > 0) $this->updateCookie(self::COOKIE_DURATION); - } - } - public function getUserId() { return $this->iUserId; } @@ -138,10 +57,12 @@ class User extends PhpObject { public function setUserId($iUserId) { $this->iUserId = 0; - $asUser = $this->getActiveUserInfo($iUserId); - if(!empty($asUser)) { - $this->iUserId = $iUserId; - $this->asUserInfo = $asUser; + if($iUserId > 0) { + $asUser = $this->getActiveUserInfo($iUserId); + if(!empty($asUser)) { + $this->iUserId = $iUserId; + $this->asUserInfo = $asUser; + } } } @@ -174,6 +95,95 @@ class User extends PhpObject { return $this->oDb->selectRows($asInfo); } + public function getLang() { + return $this->asUserInfo['language']; + } + + public function addUser($sEmail, $sLang, $sTimezone, $sNickName='') { + $bSuccess = false; + $sDesc = ''; + $sEmail = trim($sEmail); + + //Check Email availability + $iUserId = $this->oDb->selectValue(self::USER_TABLE, Db::getId(self::USER_TABLE), array('email'=>$sEmail, 'active'=>self::USER_ACTIVE)); + + if($iUserId > 0) { + //Just log user in + $sDesc = 'lang:newsletter.email_exists'; + $bSuccess = true; + } + else { + //Add/Reactivate user + $iUserId = $this->oDb->insertUpdateRow( + self::USER_TABLE, + array('email'=>$sEmail, 'language'=>$sLang, 'timezone'=>$sTimezone, 'active'=>self::USER_ACTIVE), + array('email') + ); + + if($iUserId==0) $sDesc = 'lang:error.commit_db'; + else { + $sDesc = 'lang:newsletter.subscribed'; + $bSuccess = true; + } + } + + if($bSuccess) { + $this->setUserId($iUserId); + + //Set Cookie (valid 1 year) + $this->updateCookie(self::COOKIE_DURATION); + + //Update Nickname if user has already posted + $this->updateNickname($sNickName); + + //Retrieve Gravatar image + $this->updateGravatar($iUserId, $sEmail); + } + + return Spot::getResult($bSuccess, $sDesc); + } + + public function removeUser($iUserId=0) { + $iUserId = ($iUserId > 0)?$iUserId:$this->getUserId(); + $bSelf = ($iUserId == $this->getUserId()); + $bSuccess = false; + $sDesc = ''; + + if($bSelf || $this->checkUserClearance(self::CLEARANCE_ADMIN)) { + if($this->getUserId() > 0) { + $iUserId = $this->oDb->updateRow(self::USER_TABLE, $iUserId, array('active' => self::USER_INACTIVE)); + if($iUserId==0) $sDesc = 'lang:error.commit_db'; + else { + $sDesc = 'lang:newsletter.unsubscribed'; + if($bSelf) $this->updateCookie(-60 * 60); //Set Cookie in the past, deleting it + $bSuccess = true; + } + } + else $sDesc = 'lang:newsletter.unknown_email'; + } + else $sDesc = 'lang:error.no_auth'; + + return Spot::getResult($bSuccess, $sDesc); + } + + public function updateNickname($sNickname) { + if($this->getUserId() > 0 && $sNickname!='') $this->oDb->updateRow(self::USER_TABLE, $this->getUserId(), array('name'=>$sNickname)); + } + + private function updateGravatar($iUserId, $sEmail) { + $sImage = ($sEmail != '')?@file_get_contents('https://www.gravatar.com/avatar/'.md5($sEmail).'.png?d=404&s=24'):''; + $this->oDb->updateRow(self::USER_TABLE, $iUserId, array('gravatar' => base64_encode($sImage))); + } + + private function checkUserCookie() { + if(isset($_COOKIE[self::COOKIE_ID_USER])){ + $this->setUserId($_COOKIE[self::COOKIE_ID_USER]); + + //Extend cookie life + if($this->getUserId() > 0) $this->updateCookie(self::COOKIE_DURATION); + } + } + public function checkUserClearance($iClearance) { return ($this->asUserInfo['clearance'] >= $iClearance); @@ -188,7 +198,7 @@ class User extends PhpObject { if(!in_array($iClearance, self::CLEARANCES)) $sDesc = 'Setting wrong clearance "'.$iClearance.'" to user ID "'.$iUserId.'"'; else { $iUserId = $this->oDb->updateRow(self::USER_TABLE, $iUserId, array('clearance'=>$iClearance)); - if(!$iUserId) $sDesc = 'lang:error_commit_db'; + if(!$iUserId) $sDesc = 'lang:error.commit_db'; else $bSuccess = true; } } diff --git a/index.php b/lib/index.php similarity index 87% rename from index.php rename to lib/index.php index ef4494b..c47b9b3 100755 --- a/index.php +++ b/lib/index.php @@ -5,7 +5,8 @@ //Start buffering ob_start(); -$oLoader = require __DIR__.'/vendor/autoload.php'; +//Run from /dist/ +$oLoader = require __DIR__.'/../vendor/autoload.php'; use Franzz\Objects\ToolBox; use Franzz\Objects\Main; @@ -41,6 +42,9 @@ if($sAction!='') case 'markers': $sResult = $oSpot->getMarkers(); break; + case 'geojson': + $sResult = $oSpot->getProjectGeoJson(); + break; case 'next_feed': $sResult = $oSpot->getNextFeed($iId); break; @@ -75,9 +79,12 @@ if($sAction!='') break; case 'add_position': $sResult = $oSpot->addPosition($sLat, $sLng, $iTimestamp); +<<<<<<< HEAD:index.php break; case 'admin_new': $sResult = $oSpot->createProject(); +======= +>>>>>>> vue:lib/index.php break; case 'admin_get': $sResult = $oSpot->getAdminSettings(); @@ -85,8 +92,11 @@ if($sAction!='') case 'admin_set': $sResult = $oSpot->setAdminSettings($sType, $iId, $sField, $oValue); break; - case 'admin_del': - $sResult = $oSpot->delAdminSettings($sType, $iId); + case 'admin_create': + $sResult = $oSpot->createAdminSettings($sType); + break; + case 'admin_delete': + $sResult = $oSpot->deleteAdminSettings($sType, $iId); break; case 'generate_cron': $sResult = $oSpot->genCronFile(); diff --git a/masks/email_conf.html b/lib/masks/email.confirmation.html similarity index 54% rename from masks/email_conf.html rename to lib/masks/email.confirmation.html index dde63cd..121c417 100644 --- a/masks/email_conf.html +++ b/lib/masks/email.confirmation.html @@ -2,30 +2,30 @@ - [#]lang:email_conf_subject[#] + [#]lang:email.confirmation.subject[#] - [#]lang:conf_preheader[#] + [#]lang:email.confirmation.preheader[#] - +
logo

[#]lang:conf_thanks_sub[#]

[#]lang:email.confirmation.thanks_subject[#]

-

[#]lang:conf_body_para_1[#]

-

[#]lang:conf_body_para_2[#]

-

[#]lang:conf_body_para_3[#]

+

[#]lang:email.confirmation.body_1[#]

+

[#]lang:email.confirmation.body_2[#]

+

[#]lang:email.confirmation.body_3[#]

-

[#]lang:conf_body_conclusion[#]
[#]lang:conf_signature[#]

+

[#]lang:email.confirmation.conclusion[#]
[#]lang:email.confirmation.signature[#]

-

[#]lang:email_unsubscribe[#] [#]lang:email_unsub_btn[#]

+

[#]lang:email.unsubscribe[#] [#]lang:email.unsubscribe_button[#]

diff --git a/masks/email_update.html b/lib/masks/email.update.html similarity index 83% rename from masks/email_update.html rename to lib/masks/email.update.html index 64258d8..7b4c617 100644 --- a/masks/email_update.html +++ b/lib/masks/email.update.html @@ -2,14 +2,14 @@ - [#]lang:email_update_subject[#] + [#]lang:email.update.subject[#] - [#]lang:update_preheader[#] + [#]lang:email.update.preheader[#] - +
logo

[#]lang:update_title[#] [#]type[#] #[#]displayed_id[#]

[#]lang:email.update.title[#] [#]type[#] #[#]displayed_id[#]

@@ -22,7 +22,7 @@
-

[#]lang:update_latest_news[#]

+

[#]lang:email.update.latest_news[#]

@@ -39,7 +39,7 @@
-

[#]lang:email_unsubscribe[#] [#]lang:email_unsub_btn[#]

+

[#]lang:email.unsubscribe[#] [#]lang:email.unsubscribe_button[#]

diff --git a/masks/admin.html b/masks/admin.html deleted file mode 100644 index 70dd777..0000000 --- a/masks/admin.html +++ /dev/null @@ -1,212 +0,0 @@ -
- [#]lang:nav_back[#] -

[#]lang:projects[#]

-
- - - - - - - - - - - - - -
[#]lang:id_project[#][#]lang:project[#][#]lang:mode[#][#]lang:code_name[#][#]lang:start[#][#]lang:end[#][#]lang:delete[#]
-
-
-

[#]lang:feeds[#]

-
- - - - - - - - - - - - - - -
[#]lang:id_feed[#][#]lang:ref_feed_id[#][#]lang:id_spot[#][#]lang:id_project[#][#]lang:name[#][#]lang:status[#][#]lang:last_update[#][#]lang:delete[#]
-
-

Spots

-
- - - - - - - - - - -
[#]lang:id_spot[#][#]lang:ref_spot_id[#][#]lang:name[#][#]lang:model[#]
-
-

[#]lang:active_users[#]

-
- - - - - - - - - - - -
[#]lang:id_user[#][#]lang:user_name[#][#]lang:language[#][#]lang:time_zone[#][#]lang:clearance[#]
-
-

[#]lang:toolbox[#]

-
- -
- diff --git a/masks/project.html b/masks/project.html deleted file mode 100644 index 9c0eeec..0000000 --- a/masks/project.html +++ /dev/null @@ -1,1205 +0,0 @@ -
-
-
-
-
-
-
-
-
- -

-
-
-
-
-

[#]lang:hikes[#]

-
-
-
-

[#]lang:maps[#]

-
-
- - -
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
[#]lang:track_main[#]
-
[#]lang:track_off-track[#]
-
[#]lang:track_hitchhiking[#]
-
-
-
-
-
- \ No newline at end of file diff --git a/masks/upload.html b/masks/upload.html deleted file mode 100644 index 5615634..0000000 --- a/masks/upload.html +++ /dev/null @@ -1,94 +0,0 @@ -
- [#]lang:nav_back[#] -

[#]lang:upload_title[#]

- -
-
-
-
-
- -
-
-
- diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..c57344f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5373 @@ +{ + "name": "spot", + "version": "2.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "spot", + "version": "2.0.0", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^7.2.0", + "@fortawesome/free-solid-svg-icons": "^7.2.0", + "@fortawesome/vue-fontawesome": "^3.2.0", + "@uppy/core": "^5.2.0", + "@uppy/xhr-upload": "^5.2.0", + "autosize": "^6.0.1", + "clean-webpack-plugin": "^4.0.0", + "copy-webpack-plugin": "^14.0.0", + "css-loader": "^7.1.2", + "html-loader": "^5.0.0", + "maplibre-gl": "^5.4.0", + "sass": "^1.97.2", + "sass-loader": "^16.0.5", + "simplebar-vue": "^2.3.3", + "vue": "^3.3.8", + "vue-style-loader": "^4.1.3" + }, + "devDependencies": { + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "babel-loader": "^10.0.0", + "symlink-webpack-plugin": "^1.1.0", + "vue-loader": "^17.4.2", + "webpack": "^5.99.7", + "webpack-cli": "^7.0.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.3.tgz", + "integrity": "sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.29.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-7.29.3.tgz", + "integrity": "sha512-SRS46DFR4HqzUzCVgi90/xMoL+zeBDBvWdKYXSEzh79kXswNFEglUpMKxR04//dPqwYXWUBJ3mpUd933ru9Kmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.3.tgz", + "integrity": "sha512-ySZypNLAIH1ClygLDQzVMoGQRViATnkHkYYV6TcNDz+8+jwZCdsguGvsb3EY5d9wyWyhmF1iSuFM0Yh5XPnqSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "^7.29.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-1.0.0.tgz", + "integrity": "sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.17.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-7.2.0.tgz", + "integrity": "sha512-IpR0bER9FY25p+e7BmFH25MZKEwFHTfRAfhOyJubgiDnoJNsSvJ7nigLraHtp4VOG/cy8D7uiV0dLkHOne5Fhw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-7.2.0.tgz", + "integrity": "sha512-6639htZMjEkwskf3J+e6/iar+4cTNM9qhoWuRfj9F3eJD6r7iCzV1SWnQr2Mdv0QT0suuqU8BoJCZUyCtP9R4Q==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "7.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-7.2.0.tgz", + "integrity": "sha512-YTVITFGN0/24PxzXrwqCgnyd7njDuzp5ZvaCx5nq/jg55kUYd94Nj8UTchBdBofi/L0nwRfjGOg0E41d2u9T1w==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "7.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/vue-fontawesome": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.2.0.tgz", + "integrity": "sha512-7BwGjTZn8QDvVEIu8fvkHhsDRRv//tq7jtsldaDhF3dE1fyWLIQcEg3zvIzy33su7kcppWsZZ6XRYP5wp3UCgQ==", + "license": "MIT", + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6 || ~7", + "vue": ">= 3.0.0 < 4" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/point-geometry": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz", + "integrity": "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==", + "license": "ISC" + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.1.0.tgz", + "integrity": "sha512-uFJhNh36BR4OCuWIEiWaEix9CA2WzT6CAIcqVjWYpnx8+QDtS+oC4QehRrx5cX4mgWs37MmKnwUejeHxVymzNg==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/vector-tile": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.4.tgz", + "integrity": "sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~1.1.0", + "@types/geojson": "^7946.0.16", + "pbf": "^4.0.1" + } + }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "license": "ISC", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@maplibre/geojson-vt": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@maplibre/geojson-vt/-/geojson-vt-6.1.0.tgz", + "integrity": "sha512-2eIY4gZxeKIVOZVNkAMb+5NgXhgsMQpOveTQAvnp53LYqHGJZDidk7Ew0Tged9PThidpbS+NFTh0g4zivhPDzQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "24.8.2", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.8.2.tgz", + "integrity": "sha512-bAFyH5a53/PAlTPftFBl/lr6jIcjWQtiVnNl5nobuGPt9duXRPjuFGetNG2fLzOhJyCk3BwB3xERdS1l/D4h4w==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^3.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@maplibre/mlt": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.1.9.tgz", + "integrity": "sha512-g/tD8EYJB97udq33ipuJ9a4Q7fcbZnTEnUrgnEc/tLMmEL+zaCbR+X5fkDBO2dgpaAMsLH179qE3UXg2N0Nc/g==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0" + } + }, + "node_modules/@maplibre/vt-pbf": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.3.0.tgz", + "integrity": "sha512-jIvp8F5hQCcreqOOpEt42TJMUlsrEcpf/kI1T2v85YrQRV6PPXUcEXUg5karKtH6oh47XJZ4kHu56pUkOuqA7w==", + "license": "MIT", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/vector-tile": "^2.0.4", + "@maplibre/geojson-vt": "^5.0.4", + "@types/geojson": "^7946.0.16", + "@types/supercluster": "^7.1.3", + "pbf": "^4.0.1", + "supercluster": "^8.0.1" + } + }, + "node_modules/@maplibre/vt-pbf/node_modules/@maplibre/geojson-vt": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@maplibre/geojson-vt/-/geojson-vt-5.0.4.tgz", + "integrity": "sha512-KGg9sma45S+stfH9vPCJk1J0lSDLWZgCT9Y8u8qWZJyjFlP8MNP1WGTxIMYJZjDvVT3PDn05kN1C95Sut1HpgQ==", + "license": "ISC" + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@transloadit/prettier-bytes": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.3.5.tgz", + "integrity": "sha512-xF4A3d/ZyX2LJWeQZREZQw+qFX4TGQ8bGVP97OLRt6sPO6T0TNHBFTuRHOJh7RNmYOBmQ9MHxpolD9bXihpuVA==", + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.19.0" + } + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "license": "MIT" + }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@uppy/companion-client": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-5.1.1.tgz", + "integrity": "sha512-DzrOWTbIZHvtgAFXBMYHk2wD27NjpBSVhY2tEiEIUhPd2CxbFRZjHM/N3HOt3VwZEAP471QWFLlJRWPcIY3A2Q==", + "license": "MIT", + "dependencies": { + "@uppy/utils": "^7.1.1", + "namespace-emitter": "^2.0.1", + "p-retry": "^6.1.0" + }, + "peerDependencies": { + "@uppy/core": "^5.1.1" + } + }, + "node_modules/@uppy/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-5.2.0.tgz", + "integrity": "sha512-uvfNyz4cnaplt7LYJmEZHuqOuav0tKp4a9WKJIaH6iIj7XiqYvS2J5SEByexAlUFlzefOAyjzj4Ja2dd/8aMrw==", + "license": "MIT", + "dependencies": { + "@transloadit/prettier-bytes": "^0.3.4", + "@uppy/store-default": "^5.0.0", + "@uppy/utils": "^7.1.4", + "lodash": "^4.17.21", + "mime-match": "^1.0.2", + "namespace-emitter": "^2.0.1", + "nanoid": "^5.0.9", + "preact": "^10.5.13" + } + }, + "node_modules/@uppy/store-default": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-5.0.0.tgz", + "integrity": "sha512-hQtCSQ1yGiaval/wVYUWquYGDJ+bpQ7e4FhUUAsRQz1x1K+o7NBtjfp63O9I4Ks1WRoKunpkarZ+as09l02cPw==", + "license": "MIT" + }, + "node_modules/@uppy/utils": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-7.2.0.tgz", + "integrity": "sha512-6lC246qszMv6bTyl/+QyHwrudgeguWkA94ME1wHn+a6uRAvmtAEaUManIfGqTJfoKvWAiCJqdJPl5xRJjhAloQ==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.23", + "preact": "^10.26.10" + } + }, + "node_modules/@uppy/xhr-upload": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-5.2.0.tgz", + "integrity": "sha512-3LV/X5Of6BINnKplP+CwUJ0a4/7cRFfzxwGyXnW+uCrNQHoo09dttcz3begWHejGvzenQHuUnMO3Fxyc71Pryg==", + "license": "MIT", + "dependencies": { + "@uppy/companion-client": "^5.1.1", + "@uppy/utils": "^7.2.0" + }, + "peerDependencies": { + "@uppy/core": "^5.2.0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.33.tgz", + "integrity": "sha512-3PZLQwFw4Za3TC8t0FvTy3wI16Kt+pmwcgNZca4Pj9iWL2E72a/gZlpBtAJvEdDMdCxdG/qq0C7PN0bsJuv0Rw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.2", + "@vue/shared": "3.5.33", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.33.tgz", + "integrity": "sha512-PXq0yrfCLzzL07rbXO4awtXY1Z06LG2eu6Adg3RJFa/j3Cii217XxxLXG22N330gw7GmALCY0Z8RgXEviwgpjA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.33", + "@vue/shared": "3.5.33" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.33.tgz", + "integrity": "sha512-UTUvRO9cY+rROrx/pvN9P5Z7FgA6QGfokUCfhQE4EnmUj3rVnK+CHI0LsEO1pg+I7//iRYMUfcNcCPe7tg0CoA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.2", + "@vue/compiler-core": "3.5.33", + "@vue/compiler-dom": "3.5.33", + "@vue/compiler-ssr": "3.5.33", + "@vue/shared": "3.5.33", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.10", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.33.tgz", + "integrity": "sha512-IErjYdnj1qIupG5xxiVIYiiRvDhGWV4zuh/RCrwfYpuL+HWQzeU6lCk/nF9r7olWMnjKxCAkOctT2qFWFkzb1A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.33", + "@vue/shared": "3.5.33" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.33.tgz", + "integrity": "sha512-p8UfIqyIhb0rYGlSgSBV+lPhF2iUSBcRy7enhTmPqKWadHy9kcOFYF1AejYBP9P+avnd3OBbD49DU4pLWX/94A==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.33" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.33.tgz", + "integrity": "sha512-UpFF45RI9//a7rvq7RdOQblb4tup7hHG9QsmIrxkFQLzQ7R8/iNQ5LE15NhLZ1/WcHMU2b47u6P33CPUelHyIQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.33", + "@vue/shared": "3.5.33" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.33.tgz", + "integrity": "sha512-IOxMsAOwquhfITgmOgaPYl7/j8gKUxUFoflRc+u4LxyD3+783xne8vNta1PONVCvCV9A0w7hkyEepINDqfO0tw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.33", + "@vue/runtime-core": "3.5.33", + "@vue/shared": "3.5.33", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.33.tgz", + "integrity": "sha512-0xylq/8/h44lVG0pZFknv1XIdEgymq2E9n59uTWJBG+dIgiT0TMCSsxrN7nO16Z0MU0MPjFcguBbZV8Itk52Hw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.33", + "@vue/shared": "3.5.33" + }, + "peerDependencies": { + "vue": "3.5.33" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.33.tgz", + "integrity": "sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autosize": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/autosize/-/autosize-6.0.1.tgz", + "integrity": "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ==", + "license": "MIT" + }, + "node_modules/babel-loader": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.1.1.tgz", + "integrity": "sha512-JwKSzk2kjIe7mgPK+/lyZ2QAaJcpahNAdM+hgR2HI8D0OJVkdj8Rl6J3kaLYki9pwF7P2iWnD8qVv80Lq1ABtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": "^18.20.0 || ^20.10.0 || >=22.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0 || ^8.0.0-beta.1", + "@rspack/core": "^1.0.0 || ^2.0.0-0", + "webpack": ">=5.61.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8", + "core-js-compat": "^3.48.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.25", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.25.tgz", + "integrity": "sha512-QO/VHsXCQdnzADMfmkeOPvHdIAkoB7i0/rGjINPJEetLx75hNttVWGQ/jycHUDP9zZ9rupbm60WRxcwViB0MiA==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", + "license": "MIT", + "dependencies": { + "del": "^4.1.1" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": ">=4.0.0 <6.0.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-webpack-plugin": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-14.0.0.tgz", + "integrity": "sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==", + "license": "MIT", + "dependencies": { + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^7.0.3", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 20.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", + "integrity": "sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.40", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.6.3" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/earcut": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", + "license": "ISC" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.349", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.349.tgz", + "integrity": "sha512-QsWVGyRuY07Aqb234QytTfwd5d9AJlfNIQ5wIOl1L+PZDzI9d9+Fn0FRale/QYlFxt/bUnB0/nLd1jFPGxGK1A==", + "license": "ISC" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/gl-matrix": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-loader": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-5.1.0.tgz", + "integrity": "sha512-Jb3xwDbsm0W3qlXrCZwcYqYGnYz55hb6aoKQTlzyZPXsPpi6tHXzAfqalecglMQgNvtEfxrCQPaKT90Irt5XDA==", + "license": "MIT", + "dependencies": { + "html-minifier-terser": "^7.2.0", + "parse5": "^7.1.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/immutable": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "license": "MIT" + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-network-error": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", + "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "license": "MIT", + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stringify-pretty-compact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/maplibre-gl": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.24.0.tgz", + "integrity": "sha512-ALyFxgtd5R+65UqZ/++lOqwWcC0SNho9c27fYSyLmG7AfnAul2o46F05aDJGPbFU57wos9dgcIySHs0Xe6ia3A==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/tiny-sdf": "^2.1.0", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^2.0.4", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/geojson-vt": "^6.1.0", + "@maplibre/maplibre-gl-style-spec": "^24.8.1", + "@maplibre/mlt": "^1.1.8", + "@maplibre/vt-pbf": "^4.3.0", + "@types/geojson": "^7946.0.16", + "earcut": "^3.0.2", + "gl-matrix": "^3.4.4", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^4.0.1", + "potpack": "^2.1.0", + "quickselect": "^3.0.0", + "tinyqueue": "^3.0.0" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", + "license": "ISC", + "dependencies": { + "wildcard": "^1.1.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "license": "MIT" + }, + "node_modules/namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.11.tgz", + "integrity": "sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/pbf": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", + "license": "BSD-3-Clause", + "dependencies": { + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.13.tgz", + "integrity": "sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/potpack": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==", + "license": "ISC" + }, + "node_modules/preact": { + "version": "10.29.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.1.tgz", + "integrity": "sha512-gQCLc/vWroE8lIpleXtdJhTFDogTdZG9AjMUpVkDf2iTCNwYNWA+u16dL41TqUDJO4gm2IgrcMv3uTpjd4Pwmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.1.tgz", + "integrity": "sha512-VG2K63Igkiv9p76tk1lilczEK1cT+kCjKtkdhw1dQZV3k3IXJbd3o6Ho8b9zJZaHSnT2hKe4I+ObmX9w6m5SmQ==", + "license": "MIT" + }, + "node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "license": "MIT", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, + "node_modules/sass": { + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-loader": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", + "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz", + "integrity": "sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/simplebar-core": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/simplebar-core/-/simplebar-core-1.3.2.tgz", + "integrity": "sha512-qKgTTuTqapjsFGkNhCjyPhysnbZGpQqNmjk0nOYjFN5ordC/Wjvg+RbYCyMSnW60l/Z0ZS82GbNltly6PMUH1w==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21", + "lodash-es": "^4.17.21" + } + }, + "node_modules/simplebar-vue": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/simplebar-vue/-/simplebar-vue-2.4.2.tgz", + "integrity": "sha512-QQKzQ6wQdld5Nwop4Bfd7hitzmWqwfhRaJbtgan/xu7V6WcvspXrAH9fapJNH2Lqny34P43m4rRREp97NcdiiQ==", + "license": "MIT", + "dependencies": { + "simplebar-core": "^1.3.2", + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "vue": ">=2.5.17" + } + }, + "node_modules/simplebar-vue/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symlink-webpack-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/symlink-webpack-plugin/-/symlink-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-Mpjz00tIMZiu3UjfFCEH+LPJboRt+azyDiEkQK05sIiUucpaJ2IVc+qFXOrGwS57EFl4rsRA3+n4+KpT2aUIUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-extra": "^9.0.0" + } + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.46.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.2.tgz", + "integrity": "sha512-uxfo9fPcSgLDYob/w1FuL0c99MWiJDnv+5qXSQc5+Ki5NjVNsYi66INnMFBjf6uFz6OnX12piJQPF4IpjJTNTw==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/undici-types": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.33", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.33.tgz", + "integrity": "sha512-1AgChhx5w3ALgT4oK3acm2Es/7jyZhWSVUfs3rOBlGQC0rjEDkS7G4lWlJJGGNQD+BV3reCwbQrOe1mPNwKHBQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.33", + "@vue/compiler-sfc": "3.5.33", + "@vue/runtime-dom": "3.5.33", + "@vue/server-renderer": "3.5.33", + "@vue/shared": "3.5.33" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-loader": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz", + "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "license": "MIT", + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "license": "MIT" + }, + "node_modules/vue-style-loader/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-style-loader/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.106.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", + "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.16.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "loader-runner": "^4.3.1", + "mime-db": "^1.54.0", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-7.0.2.tgz", + "integrity": "sha512-dB0R4T+C/8YuvM+fabdvil6QE44/ChDXikV5lOOkrUeCkW5hTJv2pGLE3keh+D5hjYw8icBaJkZzpFoaHV4T+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^1.0.0", + "commander": "^14.0.3", + "cross-spawn": "^7.0.6", + "envinfo": "^7.14.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^6.0.1" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.101.0", + "webpack-bundle-analyzer": "^4.0.0 || ^5.0.0", + "webpack-dev-server": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-merge/node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-sources": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.4.1.tgz", + "integrity": "sha512-eACpxRN02yaawnt+uUNIF7Qje6A9zArxBbcAJjK1PK3S9Ycg5jIuJ8pW4q8EMnwNZCEGltcjkRx1QzOxOkKD8A==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==", + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..07979f7 --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "devDependencies": { + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "babel-loader": "^10.0.0", + "symlink-webpack-plugin": "^1.1.0", + "vue-loader": "^17.4.2", + "webpack": "^5.99.7", + "webpack-cli": "^7.0.2" + }, + "name": "spot", + "description": "FindMeSpot & GPX integration", + "version": "2.0.0", + "main": "index.js", + "private": true, + "scripts": { + "dev": "webpack --config build/webpack.config.js --mode development", + "prod": "webpack --config build/webpack.config.js --mode production" + }, + "keywords": [], + "author": "Franzz", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^7.2.0", + "@fortawesome/free-solid-svg-icons": "^7.2.0", + "@fortawesome/vue-fontawesome": "^3.2.0", + "@uppy/core": "^5.2.0", + "@uppy/xhr-upload": "^5.2.0", + "autosize": "^6.0.1", + "clean-webpack-plugin": "^4.0.0", + "copy-webpack-plugin": "^14.0.0", + "css-loader": "^7.1.2", + "html-loader": "^5.0.0", + "maplibre-gl": "^5.4.0", + "sass": "^1.97.2", + "sass-loader": "^16.0.5", + "simplebar-vue": "^2.3.3", + "vue": "^3.3.8", + "vue-style-loader": "^4.1.3" + } +} diff --git a/readme.md b/readme.md index e63f30b..6b02abb 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,10 @@ # Spot Project [Spot](https://www.findmespot.com) & GPX integration + ## Dependencies + +* npm 18+ +* composer * php-mbstring * php-imagick * php-gd @@ -9,24 +13,40 @@ * ffprobe & ffmpeg * STARTTLS Email Server (use Gmail if none available) * Optional: Geo Caching Server (WMTS Caching Service) + ## PHP Configuration + * max_execution_time = 300 * memory_limit = 500M * post_max_size = 4G * upload_max_filesize = 4G * max_file_uploads = 50 + ## Getting started + 1. Clone Git onto web server +<<<<<<< HEAD 2. Install dependencies & update php.ini parameters 3. Copy timezone data: mariadb_tzinfo_to_sql /usr/share/zoneinfo | mariadb -u root mysql 4. Copy settings-sample.php to settings.php and populate 5. Go to #admin and create a new project, feed & maps 6. Add a GPX file named .gpx to /geo/ 7. Run composer install +======= +2. composer install +3. npm install webpack +4. npm run dev +5. Update php.ini parameters +6. Copy timezone data: mariadb-tzinfo-to-sql /usr/share/zoneinfo | mariadb -u root mysql +7. Copy settings-sample.php to settings.php and populate +8. Go to #admin and create a new project, feed & maps +9. Add a GPX file named .gpx to /geo/ + +>>>>>>> vue ## To Do List -* ECMA import/export + * Add mail frequency slider * Use WMTS servers directly when not using Geo Caching Server * Allow HEIF picture format -* Vector tiles support (https://www.arcgis.com/home/item.html?id=7dc6cea0b1764a1f9af2e679f642f0f5) + Use of GL library. Use Mapbox GL JS / Maplibre GL JS / ESRI-Leaflet-vector? -* Fix .MOV playback on windows firefox \ No newline at end of file +* Fix .MOV playback on windows firefox +* Garmin InReach Integration diff --git a/script/d3.min.js b/script/d3.min.js deleted file mode 100644 index 5d78fee..0000000 --- a/script/d3.min.js +++ /dev/null @@ -1,2 +0,0 @@ -// https://d3js.org v7.6.1 Copyright 2010-2022 Mike Bostock -!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).d3=t.d3||{})}(this,(function(t){"use strict";function n(t,n){return null==t||null==n?NaN:tn?1:t>=n?0:NaN}function e(t,n){return null==t||null==n?NaN:nt?1:n>=t?0:NaN}function r(t){let r,o,a;function u(t,n,e=0,i=t.length){if(e>>1;o(t[r],n)<0?e=r+1:i=r}while(en(t(e),r),a=(n,e)=>t(n)-e):(r=t===n||t===e?t:i,o=t,a=t),{left:u,center:function(t,n,e=0,r=t.length){const i=u(t,n,e,r-1);return i>e&&a(t[i-1],n)>-a(t[i],n)?i-1:i},right:function(t,n,e=0,i=t.length){if(e>>1;o(t[r],n)<=0?e=r+1:i=r}while(e=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}const u=r(n),c=u.right,f=u.left,s=r(o).center;var l=c;const h=p(v),d=p((function(t){const n=v(t);return(t,e,r,i,o)=>{n(t,e,(r<<=2)+0,(i<<=2)+0,o<<=2),n(t,e,r+1,i+1,o),n(t,e,r+2,i+2,o),n(t,e,r+3,i+3,o)}}));function p(t){return function(n,e,r=e){if(!((e=+e)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:a}=n;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((a=Math.floor(void 0!==a?a:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!a||!e&&!r)return n;const u=e&&t(e),c=r&&t(r),f=i.slice();return u&&c?(g(u,f,i,o,a),g(u,i,f,o,a),g(u,f,i,o,a),y(c,i,f,o,a),y(c,f,i,o,a),y(c,i,f,o,a)):u?(g(u,i,f,o,a),g(u,f,i,o,a),g(u,i,f,o,a)):c&&(y(c,i,f,o,a),y(c,f,i,o,a),y(c,i,f,o,a)),n}}function g(t,n,e,r,i){for(let o=0,a=r*i;o{if(!((o-=a)>=i))return;let u=t*r[i];const c=a*t;for(let t=i,n=i+c;t{if(!((a-=u)>=o))return;let c=n*i[o];const f=u*n,s=f+u;for(let t=o,n=o+f;t=n&&++e;else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(i=+i)>=i&&++e}return e}function b(t){return 0|t.length}function m(t){return!(t>0)}function x(t){return"object"!=typeof t||"length"in t?t:Array.from(t)}function w(t,n){let e,r=0,i=0,o=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(e=n-i,i+=e/++r,o+=e*(n-i));else{let a=-1;for(let u of t)null!=(u=n(u,++a,t))&&(u=+u)>=u&&(e=u-i,i+=e/++r,o+=e*(u-i))}if(r>1)return o/(r-1)}function M(t,n){const e=w(t,n);return e?Math.sqrt(e):e}function A(t,n){let e,r;if(void 0===n)for(const n of t)null!=n&&(void 0===e?n>=n&&(e=r=n):(e>n&&(e=n),r=o&&(e=r=o):(e>o&&(e=o),r0){for(o=t[--i];i>0&&(n=o,e=t[--i],o=n+e,r=e-(o-n),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(e=2*r,n=o+e,e==n-o&&(o=n))}return o}}class InternMap extends Map{constructor(t,n=N){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,e]of t)this.set(n,e)}get(t){return super.get(S(this,t))}has(t){return super.has(S(this,t))}set(t,n){return super.set(E(this,t),n)}delete(t){return super.delete(k(this,t))}}class InternSet extends Set{constructor(t,n=N){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const n of t)this.add(n)}has(t){return super.has(S(this,t))}add(t){return super.add(E(this,t))}delete(t){return super.delete(k(this,t))}}function S({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):e}function E({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):(t.set(r,e),e)}function k({_intern:t,_key:n},e){const r=n(e);return t.has(r)&&(e=t.get(r),t.delete(r)),e}function N(t){return null!==t&&"object"==typeof t?t.valueOf():t}function C(t){return t}function P(t,...n){return I(t,C,C,n)}function z(t,...n){return I(t,Array.from,C,n)}function D(t,n){for(let e=1,r=n.length;et.pop().map((([n,e])=>[...t,n,e]))));return t}function R(t,n,...e){return I(t,C,n,e)}function F(t,n,...e){return I(t,Array.from,n,e)}function q(t){if(1!==t.length)throw new Error("duplicate key");return t[0]}function I(t,n,e,r){return function t(i,o){if(o>=r.length)return e(i);const a=new InternMap,u=r[o++];let c=-1;for(const t of i){const n=u(t,++c,i),e=a.get(n);e?e.push(t):a.set(n,[t])}for(const[n,e]of a)a.set(n,t(e,o));return n(a)}(t,0)}function O(t,n){return Array.from(n,(n=>t[n]))}function U(t,...n){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");t=Array.from(t);let[e]=n;if(e&&2!==e.length||n.length>1){const r=Uint32Array.from(t,((t,n)=>n));return n.length>1?(n=n.map((n=>t.map(n))),r.sort(((t,e)=>{for(const r of n){const n=Y(r[t],r[e]);if(n)return n}}))):(e=t.map(e),r.sort(((t,n)=>Y(e[t],e[n])))),O(t,r)}return t.sort(B(e))}function B(t=n){if(t===n)return Y;if("function"!=typeof t)throw new TypeError("compare is not a function");return(n,e)=>{const r=t(n,e);return r||0===r?r:(0===t(e,e))-(0===t(n,n))}}function Y(t,n){return(null==t||!(t>=t))-(null==n||!(n>=n))||(tn?1:0)}var L=Array.prototype.slice;function j(t){return()=>t}var $=Math.sqrt(50),H=Math.sqrt(10),X=Math.sqrt(2);function G(t,n,e){var r,i,o,a,u=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n0){let e=Math.round(t/a),r=Math.round(n/a);for(e*an&&--r,o=new Array(i=r-e+1);++un&&--r,o=new Array(i=r-e+1);++u=0?(o>=$?10:o>=H?5:o>=X?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=$?10:o>=H?5:o>=X?2:1)}function W(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=$?i*=10:o>=H?i*=5:o>=X&&(i*=2),n0?(t=Math.floor(t/i)*i,n=Math.ceil(n/i)*i):i<0&&(t=Math.ceil(t*i)/i,n=Math.floor(n*i)/i),r=i}}function K(t){return Math.ceil(Math.log(_(t))/Math.LN2)+1}function Q(){var t=C,n=A,e=K;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,a,u=r.length,c=new Array(u);for(i=0;i=h)if(t>=h&&n===A){const t=V(s,h,e);isFinite(t)&&(t>0?h=(Math.floor(h/t)+1)*t:t<0&&(h=(Math.ceil(h*-t)+1)/-t))}else d.pop()}for(var p=d.length;d[0]<=s;)d.shift(),--p;for(;d[p-1]>h;)d.pop(),--p;var g,y=new Array(p+1);for(i=0;i<=p;++i)(g=y[i]=[]).x0=i>0?d[i-1]:s,g.x1=i0)for(i=0;i=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e=i)&&(e=i)}return e}function tt(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e=o)&&(e=o,r=i);return r}function nt(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e}function et(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e>n||void 0===e&&n>=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e>o||void 0===e&&o>=o)&&(e=o,r=i);return r}function rt(t,n,e=0,r=t.length-1,i){for(i=void 0===i?Y:B(i);r>e;){if(r-e>600){const o=r-e+1,a=n-e+1,u=Math.log(o),c=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*c*(o-c)/o)*(a-o/2<0?-1:1);rt(t,n,Math.max(e,Math.floor(n-a*c/o+f)),Math.min(r,Math.floor(n+(o-a)*c/o+f)),i)}const o=t[n];let a=e,u=r;for(it(t,e,n),i(t[r],o)>0&&it(t,e,r);a0;)--u}0===i(t[e],o)?it(t,e,u):(++u,it(t,u,r)),u<=n&&(e=u+1),n<=u&&(r=u-1)}return t}function it(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function ot(t,e=n){let r,i=!1;if(1===e.length){let o;for(const a of t){const t=e(a);(i?n(t,o)>0:0===n(t,t))&&(r=a,o=t,i=!0)}}else for(const n of t)(i?e(n,r)>0:0===e(n,n))&&(r=n,i=!0);return r}function at(t,n,e){if(r=(t=Float64Array.from(a(t,e))).length){if((n=+n)<=0||r<2)return nt(t);if(n>=1)return J(t);var r,i=(r-1)*n,o=Math.floor(i),u=J(rt(t,o).subarray(0,o+1));return u+(nt(t.subarray(o+1))-u)*(i-o)}}function ut(t,n,e=o){if(r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),u=+e(t[a],a,t);return u+(+e(t[a+1],a+1,t)-u)*(i-a)}}function ct(t,n,e){if(r=(t=Float64Array.from(a(t,e))).length){if((n=+n)<=0||r<2)return et(t);if(n>=1)return tt(t);var r,i=Math.floor((r-1)*n),o=rt(Uint32Array.from(t,((t,n)=>n)),i,0,r-1,((n,e)=>Y(t[n],t[e])));return ot(o.subarray(0,i+1),(n=>t[n]))}}function ft(t){return Array.from(function*(t){for(const n of t)yield*n}(t))}function st(t,n){return[t,n]}function lt(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r+t(n)}function Tt(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function St(){return!this.__axis}function Et(t,n){var e=[],r=null,i=null,o=6,a=6,u=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,f=1===t||4===t?-1:1,s=4===t||2===t?"x":"y",l=1===t||3===t?wt:Mt;function h(h){var d=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):mt:i,g=Math.max(o,0)+u,y=n.range(),v=+y[0]+c,_=+y[y.length-1]+c,b=(n.bandwidth?Tt:At)(n.copy(),c),m=h.selection?h.selection():h,x=m.selectAll(".domain").data([null]),w=m.selectAll(".tick").data(d,n).order(),M=w.exit(),A=w.enter().append("g").attr("class","tick"),T=w.select("line"),S=w.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(A),T=T.merge(A.append("line").attr("stroke","currentColor").attr(s+"2",f*o)),S=S.merge(A.append("text").attr("fill","currentColor").attr(s,f*g).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==m&&(x=x.transition(h),w=w.transition(h),T=T.transition(h),S=S.transition(h),M=M.transition(h).attr("opacity",xt).attr("transform",(function(t){return isFinite(t=b(t))?l(t+c):this.getAttribute("transform")})),A.attr("opacity",xt).attr("transform",(function(t){var n=this.parentNode.__axis;return l((n&&isFinite(n=n(t))?n:b(t))+c)}))),M.remove(),x.attr("d",4===t||2===t?a?"M"+f*a+","+v+"H"+c+"V"+_+"H"+f*a:"M"+c+","+v+"V"+_:a?"M"+v+","+f*a+"V"+c+"H"+_+"V"+f*a:"M"+v+","+c+"H"+_),w.attr("opacity",1).attr("transform",(function(t){return l(b(t)+c)})),T.attr(s+"2",f*o),S.attr(s,f*g).text(p),m.filter(St).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),m.each((function(){this.__axis=b}))}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return e=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(e=null==t?[]:Array.from(t),h):e.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(o=a=+t,h):o},h.tickSizeInner=function(t){return arguments.length?(o=+t,h):o},h.tickSizeOuter=function(t){return arguments.length?(a=+t,h):a},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h.offset=function(t){return arguments.length?(c=+t,h):c},h}var kt={value:()=>{}};function Nt(){for(var t,n=0,e=arguments.length,r={};n=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function zt(t,n){for(var e,r=0,i=t.length;r0)for(var e,r,i=new Array(e),o=0;o=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Ft.hasOwnProperty(n)?{space:Ft[n],local:t}:t}function It(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Rt&&n.documentElement.namespaceURI===Rt?n.createElement(t):n.createElementNS(e,t)}}function Ot(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ut(t){var n=qt(t);return(n.local?Ot:It)(n)}function Bt(){}function Yt(t){return null==t?Bt:function(){return this.querySelector(t)}}function Lt(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function jt(){return[]}function $t(t){return null==t?jt:function(){return this.querySelectorAll(t)}}function Ht(t){return function(){return this.matches(t)}}function Xt(t){return function(n){return n.matches(t)}}var Gt=Array.prototype.find;function Vt(){return this.firstElementChild}var Wt=Array.prototype.filter;function Zt(){return Array.from(this.children)}function Kt(t){return new Array(t.length)}function Qt(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function Jt(t){return function(){return t}}function tn(t,n,e,r,i,o){for(var a,u=0,c=n.length,f=o.length;un?1:t>=n?0:NaN}function an(t){return function(){this.removeAttribute(t)}}function un(t){return function(){this.removeAttributeNS(t.space,t.local)}}function cn(t,n){return function(){this.setAttribute(t,n)}}function fn(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function sn(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function ln(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function hn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function dn(t){return function(){this.style.removeProperty(t)}}function pn(t,n,e){return function(){this.style.setProperty(t,n,e)}}function gn(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function yn(t,n){return t.style.getPropertyValue(n)||hn(t).getComputedStyle(t,null).getPropertyValue(n)}function vn(t){return function(){delete this[t]}}function _n(t,n){return function(){this[t]=n}}function bn(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function mn(t){return t.trim().split(/^|\s+/)}function xn(t){return t.classList||new wn(t)}function wn(t){this._node=t,this._names=mn(t.getAttribute("class")||"")}function Mn(t,n){for(var e=xn(t),r=-1,i=n.length;++r=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function Yn(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Xn=[null];function Gn(t,n){this._groups=t,this._parents=n}function Vn(){return new Gn([[document.documentElement]],Xn)}function Wn(t){return"string"==typeof t?new Gn([[document.querySelector(t)]],[document.documentElement]):new Gn([[t]],Xn)}Gn.prototype=Vn.prototype={constructor:Gn,select:function(t){"function"!=typeof t&&(t=Yt(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i=x&&(x=m+1);!(b=y[x])&&++x=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=on);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o1?this.each((null==n?dn:"function"==typeof n?gn:pn)(t,n,null==e?"":e)):yn(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?vn:"function"==typeof n?bn:_n)(t,n)):this.node()[t]},classed:function(t,n){var e=mn(t+"");if(arguments.length<2){for(var r=xn(this.node()),i=-1,o=e.length;++i()=>t;function ce(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:a,y:u,dx:c,dy:f,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:s}})}function fe(t){return!t.ctrlKey&&!t.button}function se(){return this.parentNode}function le(t,n){return null==n?{x:t.x,y:t.y}:n}function he(){return navigator.maxTouchPoints||"ontouchstart"in this}function de(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function pe(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function ge(){}ce.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var ye=.7,ve=1/ye,_e="\\s*([+-]?\\d+)\\s*",be="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",me="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",xe=/^#([0-9a-f]{3,8})$/,we=new RegExp(`^rgb\\(${_e},${_e},${_e}\\)$`),Me=new RegExp(`^rgb\\(${me},${me},${me}\\)$`),Ae=new RegExp(`^rgba\\(${_e},${_e},${_e},${be}\\)$`),Te=new RegExp(`^rgba\\(${me},${me},${me},${be}\\)$`),Se=new RegExp(`^hsl\\(${be},${me},${me}\\)$`),Ee=new RegExp(`^hsla\\(${be},${me},${me},${be}\\)$`),ke={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Ne(){return this.rgb().formatHex()}function Ce(){return this.rgb().formatRgb()}function Pe(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=xe.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?ze(n):3===e?new qe(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?De(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?De(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=we.exec(t))?new qe(n[1],n[2],n[3],1):(n=Me.exec(t))?new qe(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Ae.exec(t))?De(n[1],n[2],n[3],n[4]):(n=Te.exec(t))?De(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Se.exec(t))?Le(n[1],n[2]/100,n[3]/100,1):(n=Ee.exec(t))?Le(n[1],n[2]/100,n[3]/100,n[4]):ke.hasOwnProperty(t)?ze(ke[t]):"transparent"===t?new qe(NaN,NaN,NaN,0):null}function ze(t){return new qe(t>>16&255,t>>8&255,255&t,1)}function De(t,n,e,r){return r<=0&&(t=n=e=NaN),new qe(t,n,e,r)}function Re(t){return t instanceof ge||(t=Pe(t)),t?new qe((t=t.rgb()).r,t.g,t.b,t.opacity):new qe}function Fe(t,n,e,r){return 1===arguments.length?Re(t):new qe(t,n,e,null==r?1:r)}function qe(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ie(){return`#${Ye(this.r)}${Ye(this.g)}${Ye(this.b)}`}function Oe(){const t=Ue(this.opacity);return`${1===t?"rgb(":"rgba("}${Be(this.r)}, ${Be(this.g)}, ${Be(this.b)}${1===t?")":`, ${t})`}`}function Ue(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Be(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ye(t){return((t=Be(t))<16?"0":"")+t.toString(16)}function Le(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new He(t,n,e,r)}function je(t){if(t instanceof He)return new He(t.h,t.s,t.l,t.opacity);if(t instanceof ge||(t=Pe(t)),!t)return new He;if(t instanceof He)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,c=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e0&&c<1?0:a,new He(a,u,c,t.opacity)}function $e(t,n,e,r){return 1===arguments.length?je(t):new He(t,n,e,null==r?1:r)}function He(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Xe(t){return(t=(t||0)%360)<0?t+360:t}function Ge(t){return Math.max(0,Math.min(1,t||0))}function Ve(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}de(ge,Pe,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Ne,formatHex:Ne,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return je(this).formatHsl()},formatRgb:Ce,toString:Ce}),de(qe,Fe,pe(ge,{brighter(t){return t=null==t?ve:Math.pow(ve,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?ye:Math.pow(ye,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qe(Be(this.r),Be(this.g),Be(this.b),Ue(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ie,formatHex:Ie,formatHex8:function(){return`#${Ye(this.r)}${Ye(this.g)}${Ye(this.b)}${Ye(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Oe,toString:Oe})),de(He,$e,pe(ge,{brighter(t){return t=null==t?ve:Math.pow(ve,t),new He(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?ye:Math.pow(ye,t),new He(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new qe(Ve(t>=240?t-240:t+120,i,r),Ve(t,i,r),Ve(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new He(Xe(this.h),Ge(this.s),Ge(this.l),Ue(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Ue(this.opacity);return`${1===t?"hsl(":"hsla("}${Xe(this.h)}, ${100*Ge(this.s)}%, ${100*Ge(this.l)}%${1===t?")":`, ${t})`}`}}));const We=Math.PI/180,Ze=180/Math.PI,Ke=.96422,Qe=.82521,Je=4/29,tr=6/29,nr=3*tr*tr;function er(t){if(t instanceof ir)return new ir(t.l,t.a,t.b,t.opacity);if(t instanceof lr)return hr(t);t instanceof qe||(t=Re(t));var n,e,r=cr(t.r),i=cr(t.g),o=cr(t.b),a=or((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?n=e=a:(n=or((.4360747*r+.3850649*i+.1430804*o)/Ke),e=or((.0139322*r+.0971045*i+.7141733*o)/Qe)),new ir(116*a-16,500*(n-a),200*(a-e),t.opacity)}function rr(t,n,e,r){return 1===arguments.length?er(t):new ir(t,n,e,null==r?1:r)}function ir(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function or(t){return t>.008856451679035631?Math.pow(t,1/3):t/nr+Je}function ar(t){return t>tr?t*t*t:nr*(t-Je)}function ur(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function cr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function fr(t){if(t instanceof lr)return new lr(t.h,t.c,t.l,t.opacity);if(t instanceof ir||(t=er(t)),0===t.a&&0===t.b)return new lr(NaN,0=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r()=>t;function kr(t,n){return function(e){return t+e*n}}function Nr(t,n){var e=n-t;return e?kr(t,e>180||e<-180?e-360*Math.round(e/360):e):Er(isNaN(t)?n:t)}function Cr(t){return 1==(t=+t)?Pr:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Er(isNaN(n)?e:n)}}function Pr(t,n){var e=n-t;return e?kr(t,e):Er(isNaN(t)?n:t)}var zr=function t(n){var e=Cr(n);function r(t,n){var r=e((t=Fe(t)).r,(n=Fe(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Pr(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function Dr(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;eo&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,c.push({i:a,x:Br(e,r)})),o=jr.lastIndex;return o180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Br(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Br(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,c),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:Br(t,e)},{i:u-2,x:Br(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,c),o=a=null,function(t){for(var n,e=-1,r=c.length;++e=0&&n._call.call(void 0,t),n=n._next;--pi}function Ei(){_i=(vi=mi.now())+bi,pi=gi=0;try{Si()}finally{pi=0,function(){var t,n,e=hi,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:hi=n);di=t,Ni(r)}(),_i=0}}function ki(){var t=mi.now(),n=t-vi;n>1e3&&(bi-=n,vi=t)}function Ni(t){pi||(gi&&(gi=clearTimeout(gi)),t-_i>24?(t<1/0&&(gi=setTimeout(Ei,t-mi.now()-bi)),yi&&(yi=clearInterval(yi))):(yi||(vi=mi.now(),yi=setInterval(ki,1e3)),pi=1,xi(Ei)))}function Ci(t,n,e){var r=new Ai;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}Ai.prototype=Ti.prototype={constructor:Ai,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?wi():+e)+(null==n?0:+n),this._next||di===this||(di?di._next=this:hi=this,di=this),this._call=t,this._time=e,Ni()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ni())}};var Pi=Nt("start","end","cancel","interrupt"),zi=[];function Di(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=1,e.timer.restart(a,e.delay,e.time),e.delay<=t&&a(t-e.delay)}function a(o){var f,s,l,h;if(1!==e.state)return c();for(f in i)if((h=i[f]).name===e.name){if(3===h.state)return Ci(a);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+f0)throw new Error("too late; already scheduled");return e}function Fi(t,n){var e=qi(t,n);if(e.state>3)throw new Error("too late; already running");return e}function qi(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Ii(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):a=!1;a&&delete t.__transition}}function Oi(t,n){var e,r;return function(){var i=Fi(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Ri:Fi;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}var io=Vn.prototype.constructor;function oo(t){return function(){this.style.removeProperty(t)}}function ao(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function uo(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&ao(t,o,e)),r}return o._value=n,o}function co(t){return function(n){this.textContent=t.call(this,n)}}function fo(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&co(r)),n}return r._value=t,r}var so=0;function lo(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function ho(t){return Vn().transition(t)}function po(){return++so}var go=Vn.prototype;lo.prototype=ho.prototype={constructor:lo,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=Yt(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a()=>t;function Lo(t,{sourceEvent:n,target:e,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function jo(t){t.stopImmediatePropagation()}function $o(t){t.preventDefault(),t.stopImmediatePropagation()}var Ho={name:"drag"},Xo={name:"space"},Go={name:"handle"},Vo={name:"center"};const{abs:Wo,max:Zo,min:Ko}=Math;function Qo(t){return[+t[0],+t[1]]}function Jo(t){return[Qo(t[0]),Qo(t[1])]}var ta={name:"x",handles:["w","e"].map(ca),input:function(t,n){return null==t?null:[[+t[0],n[0][1]],[+t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},na={name:"y",handles:["n","s"].map(ca),input:function(t,n){return null==t?null:[[n[0][0],+t[0]],[n[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},ea={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(ca),input:function(t){return null==t?null:Jo(t)},output:function(t){return t}},ra={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},ia={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},oa={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},aa={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},ua={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function ca(t){return{type:t}}function fa(t){return!t.ctrlKey&&!t.button}function sa(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function la(){return navigator.maxTouchPoints||"ontouchstart"in this}function ha(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function da(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function pa(t){var n,e=sa,r=fa,i=la,o=!0,a=Nt("start","brush","end"),u=6;function c(n){var e=n.property("__brush",g).selectAll(".overlay").data([ca("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",ra.overlay).merge(e).each((function(){var t=ha(this).extent;Wn(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),n.selectAll(".selection").data([ca("selection")]).enter().append("rect").attr("class","selection").attr("cursor",ra.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=n.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return ra[t.type]})),n.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(i).on("touchstart.brush",h).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(){var t=Wn(this),n=ha(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?n[1][0]-u/2:n[0][0]-u/2})).attr("y",(function(t){return"s"===t.type[0]?n[1][1]-u/2:n[0][1]-u/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+u:u})).attr("height",(function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+u:u}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function s(t,n,e){var r=t.__brush.emitter;return!r||e&&r.clean?new l(t,n,e):r}function l(t,n,e){this.that=t,this.args=n,this.state=t.__brush,this.active=0,this.clean=e}function h(e){if((!n||e.touches)&&r.apply(this,arguments)){var i,a,u,c,l,h,d,p,g,y,v,_=this,b=e.target.__data__.type,m="selection"===(o&&e.metaKey?b="overlay":b)?Ho:o&&e.altKey?Vo:Go,x=t===na?null:aa[b],w=t===ta?null:ua[b],M=ha(_),A=M.extent,T=M.selection,S=A[0][0],E=A[0][1],k=A[1][0],N=A[1][1],C=0,P=0,z=x&&w&&o&&e.shiftKey,D=Array.from(e.touches||[e],(t=>{const n=t.identifier;return(t=te(t,_)).point0=t.slice(),t.identifier=n,t}));Ii(_);var R=s(_,arguments,!0).beforestart();if("overlay"===b){T&&(g=!0);const n=[D[0],D[1]||D[0]];M.selection=T=[[i=t===na?S:Ko(n[0][0],n[1][0]),u=t===ta?E:Ko(n[0][1],n[1][1])],[l=t===na?k:Zo(n[0][0],n[1][0]),d=t===ta?N:Zo(n[0][1],n[1][1])]],D.length>1&&U(e)}else i=T[0][0],u=T[0][1],l=T[1][0],d=T[1][1];a=i,c=u,h=l,p=d;var F=Wn(_).attr("pointer-events","none"),q=F.selectAll(".overlay").attr("cursor",ra[b]);if(e.touches)R.moved=O,R.ended=B;else{var I=Wn(e.view).on("mousemove.brush",O,!0).on("mouseup.brush",B,!0);o&&I.on("keydown.brush",Y,!0).on("keyup.brush",L,!0),oe(e.view)}f.call(_),R.start(e,m.name)}function O(t){for(const n of t.changedTouches||[t])for(const t of D)t.identifier===n.identifier&&(t.cur=te(n,_));if(z&&!y&&!v&&1===D.length){const t=D[0];Wo(t.cur[0]-t[0])>Wo(t.cur[1]-t[1])?v=!0:y=!0}for(const t of D)t.cur&&(t[0]=t.cur[0],t[1]=t.cur[1]);g=!0,$o(t),U(t)}function U(t){const n=D[0],e=n.point0;var r;switch(C=n[0]-e[0],P=n[1]-e[1],m){case Xo:case Ho:x&&(C=Zo(S-i,Ko(k-l,C)),a=i+C,h=l+C),w&&(P=Zo(E-u,Ko(N-d,P)),c=u+P,p=d+P);break;case Go:D[1]?(x&&(a=Zo(S,Ko(k,D[0][0])),h=Zo(S,Ko(k,D[1][0])),x=1),w&&(c=Zo(E,Ko(N,D[0][1])),p=Zo(E,Ko(N,D[1][1])),w=1)):(x<0?(C=Zo(S-i,Ko(k-i,C)),a=i+C,h=l):x>0&&(C=Zo(S-l,Ko(k-l,C)),a=i,h=l+C),w<0?(P=Zo(E-u,Ko(N-u,P)),c=u+P,p=d):w>0&&(P=Zo(E-d,Ko(N-d,P)),c=u,p=d+P));break;case Vo:x&&(a=Zo(S,Ko(k,i-C*x)),h=Zo(S,Ko(k,l+C*x))),w&&(c=Zo(E,Ko(N,u-P*w)),p=Zo(E,Ko(N,d+P*w)))}h0&&(i=a-C),w<0?d=p-P:w>0&&(u=c-P),m=Xo,q.attr("cursor",ra.selection),U(t));break;default:return}$o(t)}function L(t){switch(t.keyCode){case 16:z&&(y=v=z=!1,U(t));break;case 18:m===Vo&&(x<0?l=h:x>0&&(i=a),w<0?d=p:w>0&&(u=c),m=Go,U(t));break;case 32:m===Xo&&(t.altKey?(x&&(l=h-C*x,i=a+C*x),w&&(d=p-P*w,u=c+P*w),m=Vo):(x<0?l=h:x>0&&(i=a),w<0?d=p:w>0&&(u=c),m=Go),q.attr("cursor",ra[b]),U(t));break;default:return}$o(t)}}function d(t){s(this,arguments).moved(t)}function p(t){s(this,arguments).ended(t)}function g(){var n=this.__brush||{selection:null};return n.extent=Jo(e.apply(this,arguments)),n.dim=t,n}return c.move=function(n,e,r){n.tween?n.on("start.brush",(function(t){s(this,arguments).beforestart().start(t)})).on("interrupt.brush end.brush",(function(t){s(this,arguments).end(t)})).tween("brush",(function(){var n=this,r=n.__brush,i=s(n,arguments),o=r.selection,a=t.input("function"==typeof e?e.apply(this,arguments):e,r.extent),u=Hr(o,a);function c(t){r.selection=1===t&&null===a?null:u(t),f.call(n),i.brush()}return null!==o&&null!==a?c:c(1)})):n.each((function(){var n=this,i=arguments,o=n.__brush,a=t.input("function"==typeof e?e.apply(n,i):e,o.extent),u=s(n,i).beforestart();Ii(n),o.selection=null===a?null:a,f.call(n),u.start(r).brush(r).end(r)}))},c.clear=function(t,n){c.move(t,null,n)},l.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(t,n){return this.starting?(this.starting=!1,this.emit("start",t,n)):this.emit("brush",t),this},brush:function(t,n){return this.emit("brush",t,n),this},end:function(t,n){return 0==--this.active&&(delete this.state.emitter,this.emit("end",t,n)),this},emit:function(n,e,r){var i=Wn(this.that).datum();a.call(n,this.that,new Lo(n,{sourceEvent:e,target:c,selection:t.output(this.state.selection),mode:r,dispatch:a}),i)}},c.extent=function(t){return arguments.length?(e="function"==typeof t?t:Yo(Jo(t)),c):e},c.filter=function(t){return arguments.length?(r="function"==typeof t?t:Yo(!!t),c):r},c.touchable=function(t){return arguments.length?(i="function"==typeof t?t:Yo(!!t),c):i},c.handleSize=function(t){return arguments.length?(u=+t,c):u},c.keyModifiers=function(t){return arguments.length?(o=!!t,c):o},c.on=function(){var t=a.on.apply(a,arguments);return t===a?c:t},c}var ga=Math.abs,ya=Math.cos,va=Math.sin,_a=Math.PI,ba=_a/2,ma=2*_a,xa=Math.max,wa=1e-12;function Ma(t,n){return Array.from({length:n-t},((n,e)=>t+e))}function Aa(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}function Ta(t,n){var e=0,r=null,i=null,o=null;function a(a){var u,c=a.length,f=new Array(c),s=Ma(0,c),l=new Array(c*c),h=new Array(c),d=0;a=Float64Array.from({length:c*c},n?(t,n)=>a[n%c][n/c|0]:(t,n)=>a[n/c|0][n%c]);for(let n=0;nr(f[t],f[n])));for(const e of s){const r=n;if(t){const t=Ma(1+~c,c).filter((t=>t<0?a[~t*c+e]:a[e*c+t]));i&&t.sort(((t,n)=>i(t<0?-a[~t*c+e]:a[e*c+t],n<0?-a[~n*c+e]:a[e*c+n])));for(const r of t)if(r<0){(l[~r*c+e]||(l[~r*c+e]={source:null,target:null})).target={index:e,startAngle:n,endAngle:n+=a[~r*c+e]*d,value:a[~r*c+e]}}else{(l[e*c+r]||(l[e*c+r]={source:null,target:null})).source={index:e,startAngle:n,endAngle:n+=a[e*c+r]*d,value:a[e*c+r]}}h[e]={index:e,startAngle:r,endAngle:n,value:f[e]}}else{const t=Ma(0,c).filter((t=>a[e*c+t]||a[t*c+e]));i&&t.sort(((t,n)=>i(a[e*c+t],a[e*c+n])));for(const r of t){let t;if(eka)if(Math.abs(s*u-c*f)>ka&&i){var h=e-o,d=r-a,p=u*u+c*c,g=h*h+d*d,y=Math.sqrt(p),v=Math.sqrt(l),_=i*Math.tan((Sa-Math.acos((p+l-g)/(2*y*v)))/2),b=_/v,m=_/y;Math.abs(b-1)>ka&&(this._+="L"+(t+b*f)+","+(n+b*s)),this._+="A"+i+","+i+",0,0,"+ +(s*h>f*d)+","+(this._x1=t+m*u)+","+(this._y1=n+m*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,o=!!o;var a=(e=+e)*Math.cos(r),u=e*Math.sin(r),c=t+a,f=n+u,s=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+f:(Math.abs(this._x1-c)>ka||Math.abs(this._y1-f)>ka)&&(this._+="L"+c+","+f),e&&(l<0&&(l=l%Ea+Ea),l>Na?this._+="A"+e+","+e+",0,1,"+s+","+(t-a)+","+(n-u)+"A"+e+","+e+",0,1,"+s+","+(this._x1=c)+","+(this._y1=f):l>ka&&(this._+="A"+e+","+e+",0,"+ +(l>=Sa)+","+s+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var za=Array.prototype.slice;function Da(t){return function(){return t}}function Ra(t){return t.source}function Fa(t){return t.target}function qa(t){return t.radius}function Ia(t){return t.startAngle}function Oa(t){return t.endAngle}function Ua(){return 0}function Ba(){return 10}function Ya(t){var n=Ra,e=Fa,r=qa,i=qa,o=Ia,a=Oa,u=Ua,c=null;function f(){var f,s=n.apply(this,arguments),l=e.apply(this,arguments),h=u.apply(this,arguments)/2,d=za.call(arguments),p=+r.apply(this,(d[0]=s,d)),g=o.apply(this,d)-ba,y=a.apply(this,d)-ba,v=+i.apply(this,(d[0]=l,d)),_=o.apply(this,d)-ba,b=a.apply(this,d)-ba;if(c||(c=f=Pa()),h>wa&&(ga(y-g)>2*h+wa?y>g?(g+=h,y-=h):(g-=h,y+=h):g=y=(g+y)/2,ga(b-_)>2*h+wa?b>_?(_+=h,b-=h):(_-=h,b+=h):_=b=(_+b)/2),c.moveTo(p*ya(g),p*va(g)),c.arc(0,0,p,g,y),g!==_||y!==b)if(t){var m=+t.apply(this,arguments),x=v-m,w=(_+b)/2;c.quadraticCurveTo(0,0,x*ya(_),x*va(_)),c.lineTo(v*ya(w),v*va(w)),c.lineTo(x*ya(b),x*va(b))}else c.quadraticCurveTo(0,0,v*ya(_),v*va(_)),c.arc(0,0,v,_,b);if(c.quadraticCurveTo(0,0,p*ya(g),p*va(g)),c.closePath(),f)return c=null,f+""||null}return t&&(f.headRadius=function(n){return arguments.length?(t="function"==typeof n?n:Da(+n),f):t}),f.radius=function(t){return arguments.length?(r=i="function"==typeof t?t:Da(+t),f):r},f.sourceRadius=function(t){return arguments.length?(r="function"==typeof t?t:Da(+t),f):r},f.targetRadius=function(t){return arguments.length?(i="function"==typeof t?t:Da(+t),f):i},f.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:Da(+t),f):o},f.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Da(+t),f):a},f.padAngle=function(t){return arguments.length?(u="function"==typeof t?t:Da(+t),f):u},f.source=function(t){return arguments.length?(n=t,f):n},f.target=function(t){return arguments.length?(e=t,f):e},f.context=function(t){return arguments.length?(c=null==t?null:t,f):c},f}var La=Array.prototype.slice;function ja(t,n){return t-n}var $a=t=>()=>t;function Ha(t,n){for(var e,r=-1,i=n.length;++rr!=d>r&&e<(h-f)*(r-s)/(d-s)+f&&(i=-i)}return i}function Ga(t,n,e){var r,i,o,a;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],o=e[r],a=n[r],i<=o&&o<=a||a<=o&&o<=i)}function Va(){}var Wa=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Za(){var t=1,n=1,e=K,r=u;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(ja);else{const e=A(t),r=W(e[0],e[1],n);n=G(Math.floor(e[0]/r)*r,Math.floor(e[1]/r-1)*r,n)}return n.map((n=>o(t,n)))}function o(e,i){var o=[],u=[];return function(e,r,i){var o,u,c,f,s,l,h=new Array,d=new Array;o=u=-1,f=e[0]>=r,Wa[f<<1].forEach(p);for(;++o=r,Wa[c|f<<1].forEach(p);Wa[f<<0].forEach(p);for(;++u=r,s=e[u*t]>=r,Wa[f<<1|s<<2].forEach(p);++o=r,l=s,s=e[u*t+o+1]>=r,Wa[c|f<<1|s<<2|l<<3].forEach(p);Wa[f|s<<3].forEach(p)}o=-1,s=e[u*t]>=r,Wa[s<<2].forEach(p);for(;++o=r,Wa[s<<2|l<<3].forEach(p);function p(t){var n,e,r=[t[0][0]+o,t[0][1]+u],c=[t[1][0]+o,t[1][1]+u],f=a(r),s=a(c);(n=d[f])?(e=h[s])?(delete d[n.end],delete h[e.start],n===e?(n.ring.push(c),i(n.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[n.end],n.ring.push(c),d[n.end=s]=n):(n=h[s])?(e=d[f])?(delete h[n.start],delete d[e.end],n===e?(n.ring.push(c),i(n.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=f]=n):h[f]=d[s]={start:f,end:s,ring:[r,c]}}Wa[s<<3].forEach(p)}(e,i,(function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n0?o.push([t]):u.push(t)})),u.forEach((function(t){for(var n,e=0,r=o.length;e0&&a0&&u=0&&o>=0))throw new Error("invalid size");return t=r,n=o,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?$a(La.call(t)):$a(t),i):e},i.smooth=function(t){return arguments.length?(r=t?u:Va,i):r===u},i}function Ka(t){return t[0]}function Qa(t){return t[1]}function Ja(){return 1}const tu=134217729;function nu(t,n,e,r,i){let o,a,u,c,f=n[0],s=r[0],l=0,h=0;s>f==s>-f?(o=f,f=n[++l]):(o=s,s=r[++h]);let d=0;if(lf==s>-f?(a=f+o,u=o-(a-f),f=n[++l]):(a=s+o,u=o-(a-s),s=r[++h]),o=a,0!==u&&(i[d++]=u);lf==s>-f?(a=o+f,c=a-o,u=o-(a-c)+(f-c),f=n[++l]):(a=o+s,c=a-o,u=o-(a-c)+(s-c),s=r[++h]),o=a,0!==u&&(i[d++]=u);for(;l0!=u>0)return c;const f=Math.abs(a+u);return Math.abs(c)>=33306690738754716e-32*f?c:-function(t,n,e,r,i,o,a){let u,c,f,s,l,h,d,p,g,y,v,_,b,m,x,w,M,A;const T=t-i,S=e-i,E=n-o,k=r-o;m=T*k,h=tu*T,d=h-(h-T),p=T-d,h=tu*k,g=h-(h-k),y=k-g,x=p*y-(m-d*g-p*g-d*y),w=E*S,h=tu*E,d=h-(h-E),p=E-d,h=tu*S,g=h-(h-S),y=S-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,ru[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,ru[1]=b-(v+l)+(l-w),A=_+v,l=A-_,ru[2]=_-(A-l)+(v-l),ru[3]=A;let N=function(t,n){let e=n[0];for(let r=1;r=C||-N>=C)return N;if(l=t-T,u=t-(T+l)+(l-i),l=e-S,f=e-(S+l)+(l-i),l=n-E,c=n-(E+l)+(l-o),l=r-k,s=r-(k+l)+(l-o),0===u&&0===c&&0===f&&0===s)return N;if(C=11093356479670487e-47*a+33306690738754706e-32*Math.abs(N),N+=T*s+k*u-(E*f+S*c),N>=C||-N>=C)return N;m=u*k,h=tu*u,d=h-(h-u),p=u-d,h=tu*k,g=h-(h-k),y=k-g,x=p*y-(m-d*g-p*g-d*y),w=c*S,h=tu*c,d=h-(h-c),p=c-d,h=tu*S,g=h-(h-S),y=S-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,uu[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,uu[1]=b-(v+l)+(l-w),A=_+v,l=A-_,uu[2]=_-(A-l)+(v-l),uu[3]=A;const P=nu(4,ru,4,uu,iu);m=T*s,h=tu*T,d=h-(h-T),p=T-d,h=tu*s,g=h-(h-s),y=s-g,x=p*y-(m-d*g-p*g-d*y),w=E*f,h=tu*E,d=h-(h-E),p=E-d,h=tu*f,g=h-(h-f),y=f-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,uu[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,uu[1]=b-(v+l)+(l-w),A=_+v,l=A-_,uu[2]=_-(A-l)+(v-l),uu[3]=A;const z=nu(P,iu,4,uu,ou);m=u*s,h=tu*u,d=h-(h-u),p=u-d,h=tu*s,g=h-(h-s),y=s-g,x=p*y-(m-d*g-p*g-d*y),w=c*f,h=tu*c,d=h-(h-c),p=c-d,h=tu*f,g=h-(h-f),y=f-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,uu[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,uu[1]=b-(v+l)+(l-w),A=_+v,l=A-_,uu[2]=_-(A-l)+(v-l),uu[3]=A;const D=nu(z,ou,4,uu,au);return au[D-1]}(t,n,e,r,i,o,f)}const fu=Math.pow(2,-52),su=new Uint32Array(512);class lu{static from(t,n=vu,e=_u){const r=t.length,i=new Float64Array(2*r);for(let o=0;o>1;if(n>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const e=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*e),this._halfedges=new Int32Array(3*e),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:t,_hullPrev:n,_hullNext:e,_hullTri:r,_hullHash:i}=this,o=t.length>>1;let a=1/0,u=1/0,c=-1/0,f=-1/0;for(let n=0;nc&&(c=e),r>f&&(f=r),this._ids[n]=n}const s=(a+c)/2,l=(u+f)/2;let h,d,p,g=1/0;for(let n=0;n0&&(d=n,g=e)}let _=t[2*d],b=t[2*d+1],m=1/0;for(let n=0;nr&&(n[e++]=i,r=this._dists[i])}return this.hull=n.subarray(0,e),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(cu(y,v,_,b,x,w)<0){const t=d,n=_,e=b;d=p,_=x,b=w,p=t,x=n,w=e}const M=function(t,n,e,r,i,o){const a=e-t,u=r-n,c=i-t,f=o-n,s=a*a+u*u,l=c*c+f*f,h=.5/(a*f-u*c);return{x:t+(f*s-u*l)*h,y:n+(a*l-c*s)*h}}(y,v,_,b,x,w);this._cx=M.x,this._cy=M.y;for(let n=0;n0&&Math.abs(f-o)<=fu&&Math.abs(s-a)<=fu)continue;if(o=f,a=s,c===h||c===d||c===p)continue;let l=0;for(let t=0,n=this._hashKey(f,s);t=0;)if(y=g,y===l){y=-1;break}if(-1===y)continue;let v=this._addTriangle(y,c,e[y],-1,-1,r[y]);r[c]=this._legalize(v+2),r[y]=v,A++;let _=e[y];for(;g=e[_],cu(f,s,t[2*_],t[2*_+1],t[2*g],t[2*g+1])<0;)v=this._addTriangle(_,c,g,r[c],-1,r[_]),r[c]=this._legalize(v+2),e[_]=_,A--,_=g;if(y===l)for(;g=n[y],cu(f,s,t[2*g],t[2*g+1],t[2*y],t[2*y+1])<0;)v=this._addTriangle(g,c,y,-1,r[y],r[g]),this._legalize(v+2),r[g]=v,e[y]=y,A--,y=g;this._hullStart=n[c]=y,e[y]=n[_]=c,e[c]=_,i[this._hashKey(f,s)]=c,i[this._hashKey(t[2*y],t[2*y+1])]=y}this.hull=new Uint32Array(A);for(let t=0,n=this._hullStart;t0?3-e:1+e)/4}(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:n,_halfedges:e,coords:r}=this;let i=0,o=0;for(;;){const a=e[t],u=t-t%3;if(o=u+(t+2)%3,-1===a){if(0===i)break;t=su[--i];continue}const c=a-a%3,f=u+(t+1)%3,s=c+(a+2)%3,l=n[o],h=n[t],d=n[f],p=n[s];if(du(r[2*l],r[2*l+1],r[2*h],r[2*h+1],r[2*d],r[2*d+1],r[2*p],r[2*p+1])){n[t]=p,n[a]=l;const r=e[s];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===s){this._hullTri[n]=t;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(t,r),this._link(a,e[o]),this._link(o,s);const u=c+(a+1)%3;i=e&&n[t[a]]>o;)t[a+1]=t[a--];t[a+1]=r}else{let i=e+1,o=r;yu(t,e+r>>1,i),n[t[e]]>n[t[r]]&&yu(t,e,r),n[t[i]]>n[t[r]]&&yu(t,i,r),n[t[e]]>n[t[i]]&&yu(t,e,i);const a=t[i],u=n[a];for(;;){do{i++}while(n[t[i]]u);if(o=o-e?(gu(t,n,i,r),gu(t,n,e,o-1)):(gu(t,n,e,o-1),gu(t,n,i,r))}}function yu(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function vu(t){return t[0]}function _u(t){return t[1]}const bu=1e-6;class mu{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,e){const r=(t=+t)+(e=+e),i=n=+n;if(e<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>bu||Math.abs(this._y1-i)>bu)&&(this._+="L"+r+","+i),e&&(this._+=`A${e},${e},0,1,1,${t-e},${n}A${e},${e},0,1,1,${this._x1=r},${this._y1=i}`)}rect(t,n,e,r){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+e}v${+r}h${-e}Z`}value(){return this._||null}}class xu{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}}class wu{constructor(t,[n,e,r,i]=[0,0,960,500]){if(!((r=+r)>=(n=+n)&&(i=+i)>=(e=+e)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=n,this.ymax=i,this.ymin=e,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:e},vectors:r}=this,i=this.circumcenters=this._circumcenters.subarray(0,e.length/3*2);for(let n,r,o=0,a=0,u=e.length;o1;)i-=2;for(let t=2;t4)for(let t=0;t0){if(n>=this.ymax)return null;(i=(this.ymax-n)/r)0){if(t>=this.xmax)return null;(i=(this.xmax-t)/e)this.xmax?2:0)|(nthis.ymax?8:0)}}const Mu=2*Math.PI,Au=Math.pow;function Tu(t){return t[0]}function Su(t){return t[1]}function Eu(t,n,e){return[t+Math.sin(t+n)*e,n+Math.cos(t-n)*e]}class ku{static from(t,n=Tu,e=Su,r){return new ku("length"in t?function(t,n,e,r){const i=t.length,o=new Float64Array(2*i);for(let a=0;a2&&function(t){const{triangles:n,coords:e}=t;for(let t=0;t1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:n.length/2},((t,n)=>n)).sort(((t,e)=>n[2*t]-n[2*e]||n[2*t+1]-n[2*e+1]));const t=this.collinear[0],e=this.collinear[this.collinear.length-1],r=[n[2*t],n[2*t+1],n[2*e],n[2*e+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let t=0,e=n.length/2;t0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],o[r[0]]=1,2===r.length&&(o[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(t){return new wu(this,t)}*neighbors(t){const{inedges:n,hull:e,_hullIndex:r,halfedges:i,triangles:o,collinear:a}=this;if(a){const n=a.indexOf(t);return n>0&&(yield a[n-1]),void(n=0&&i!==e&&i!==r;)e=i;return i}_step(t,n,e){const{inedges:r,hull:i,_hullIndex:o,halfedges:a,triangles:u,points:c}=this;if(-1===r[t]||!c.length)return(t+1)%(c.length>>1);let f=t,s=Au(n-c[2*t],2)+Au(e-c[2*t+1],2);const l=r[t];let h=l;do{let r=u[h];const l=Au(n-c[2*r],2)+Au(e-c[2*r+1],2);if(l9999?"+"+Du(t,6):Du(t,4)}(t.getUTCFullYear())+"-"+Du(t.getUTCMonth()+1,2)+"-"+Du(t.getUTCDate(),2)+(i?"T"+Du(n,2)+":"+Du(e,2)+":"+Du(r,2)+"."+Du(i,3)+"Z":r?"T"+Du(n,2)+":"+Du(e,2)+":"+Du(r,2)+"Z":e||n?"T"+Du(n,2)+":"+Du(e,2)+"Z":"")}function Fu(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],o=t.length,a=0,u=0,c=o<=0,f=!1;function s(){if(c)return Cu;if(f)return f=!1,Nu;var n,r,i=a;if(34===t.charCodeAt(i)){for(;a++=o?c=!0:10===(r=t.charCodeAt(a++))?f=!0:13===r&&(f=!0,10===t.charCodeAt(a)&&++a),t.slice(i+1,n-1).replace(/""/g,'"')}for(;aec(n,e).then((n=>(new DOMParser).parseFromString(n,t)))}var cc=uc("application/xml"),fc=uc("text/html"),sc=uc("image/svg+xml");function lc(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,c,f,s,l,h,d=t._root,p={data:r},g=t._x0,y=t._y0,v=t._x1,_=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((f=n>=(o=(g+v)/2))?g=o:v=o,(s=e>=(a=(y+_)/2))?y=a:_=a,i=d,!(d=d[l=s<<1|f]))return i[l]=p,t;if(u=+t._x.call(null,d.data),c=+t._y.call(null,d.data),n===u&&e===c)return p.next=d,i?i[l]=p:t._root=p,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(f=n>=(o=(g+v)/2))?g=o:v=o,(s=e>=(a=(y+_)/2))?y=a:_=a}while((l=s<<1|f)==(h=(c>=a)<<1|u>=o));return i[h]=d,i[l]=p,t}function hc(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function dc(t){return t[0]}function pc(t){return t[1]}function gc(t,n,e){var r=new yc(null==n?dc:n,null==e?pc:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function yc(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function vc(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var _c=gc.prototype=yc.prototype;function bc(t){return function(){return t}}function mc(t){return 1e-6*(t()-.5)}function xc(t){return t.x+t.vx}function wc(t){return t.y+t.vy}function Mc(t){return t.index}function Ac(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}_c.copy=function(){var t,n,e=new yc(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=vc(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=vc(n));return e},_c.add=function(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return lc(this.cover(n,e),n,e,t)},_c.addAll=function(t){var n,e,r,i,o=t.length,a=new Array(o),u=new Array(o),c=1/0,f=1/0,s=-1/0,l=-1/0;for(e=0;es&&(s=r),il&&(l=i));if(c>s||f>l)return this;for(this.cover(c,f).cover(s,l),e=0;et||t>=i||r>n||n>=o;)switch(u=(nh||(o=c.y0)>d||(a=c.x1)=v)<<1|t>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-f],p[p.length-1-f]=c)}else{var _=t-+this._x.call(null,g.data),b=n-+this._y.call(null,g.data),m=_*_+b*b;if(m=(u=(p+y)/2))?p=u:y=u,(s=a>=(c=(g+v)/2))?g=c:v=c,n=d,!(d=d[l=s<<1|f]))return this;if(!d.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},_c.removeAll=function(t){for(var n=0,e=t.length;n1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Cc(t){return(t=Nc(Math.abs(t)))?t[1]:NaN}var Pc,zc=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Dc(t){if(!(n=zc.exec(t)))throw new Error("invalid format: "+t);var n;return new Rc({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Rc(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Fc(t,n){var e=Nc(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Dc.prototype=Rc.prototype,Rc.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var qc={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Fc(100*t,n),r:Fc,s:function(t,n){var e=Nc(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Pc=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Nc(t,Math.max(0,n+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Ic(t){return t}var Oc,Uc=Array.prototype.map,Bc=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Yc(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Ic:(n=Uc.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),o.push(t.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?Ic:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Uc.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",f=void 0===t.minus?"−":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function l(t){var n=(t=Dc(t)).fill,e=t.align,l=t.sign,h=t.symbol,d=t.zero,p=t.width,g=t.comma,y=t.precision,v=t.trim,_=t.type;"n"===_?(g=!0,_="g"):qc[_]||(void 0===y&&(y=12),v=!0,_="g"),(d||"0"===n&&"="===e)&&(d=!0,n="0",e="=");var b="$"===h?i:"#"===h&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===h?o:/[%p]/.test(_)?c:"",x=qc[_],w=/[defgprs%]/.test(_);function M(t){var i,o,c,h=b,M=m;if("c"===_)M=x(t)+M,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:x(Math.abs(t),y),v&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),A&&0==+t&&"+"!==l&&(A=!1),h=(A?"("===l?l:f:"-"===l||"("===l?"":l)+h,M=("s"===_?Bc[8+Pc/3]:"")+M+(A&&"("===l?")":""),w)for(i=-1,o=t.length;++i(c=t.charCodeAt(i))||c>57){M=(46===c?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var T=h.length+t.length+M.length,S=T>1)+h+t+M+S.slice(T);break;default:t=S+h+t+M}return u(t)}return y=void 0===y?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),M.toString=function(){return t+""},M}return{format:l,formatPrefix:function(t,n){var e=l(((t=Dc(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Cc(n)/3))),i=Math.pow(10,-r),o=Bc[8+r/3];return function(t){return e(i*t)+o}}}}function Lc(n){return Oc=Yc(n),t.format=Oc.format,t.formatPrefix=Oc.formatPrefix,Oc}function jc(t){return Math.max(0,-Cc(Math.abs(t)))}function $c(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Cc(n)/3)))-Cc(Math.abs(t)))}function Hc(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Cc(n)-Cc(t))+1}t.format=void 0,t.formatPrefix=void 0,Lc({thousands:",",grouping:[3],currency:["$",""]});var Xc=1e-6,Gc=1e-12,Vc=Math.PI,Wc=Vc/2,Zc=Vc/4,Kc=2*Vc,Qc=180/Vc,Jc=Vc/180,tf=Math.abs,nf=Math.atan,ef=Math.atan2,rf=Math.cos,of=Math.ceil,af=Math.exp,uf=Math.hypot,cf=Math.log,ff=Math.pow,sf=Math.sin,lf=Math.sign||function(t){return t>0?1:t<0?-1:0},hf=Math.sqrt,df=Math.tan;function pf(t){return t>1?0:t<-1?Vc:Math.acos(t)}function gf(t){return t>1?Wc:t<-1?-Wc:Math.asin(t)}function yf(t){return(t=sf(t/2))*t}function vf(){}function _f(t,n){t&&mf.hasOwnProperty(t.type)&&mf[t.type](t,n)}var bf={Feature:function(t,n){_f(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r=0?1:-1,i=r*e,o=rf(n=(n*=Jc)/2+Zc),a=sf(n),u=kf*a,c=Ef*o+u*rf(i),f=u*r*sf(i);Bf.add(ef(f,c)),Sf=t,Ef=o,kf=a}function Gf(t){return[ef(t[1],t[0]),gf(t[2])]}function Vf(t){var n=t[0],e=t[1],r=rf(e);return[r*rf(n),r*sf(n),sf(e)]}function Wf(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function Zf(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Kf(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Qf(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Jf(t){var n=hf(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var ts,ns,es,rs,is,os,as,us,cs,fs,ss,ls,hs,ds,ps,gs,ys={point:vs,lineStart:bs,lineEnd:ms,polygonStart:function(){ys.point=xs,ys.lineStart=ws,ys.lineEnd=Ms,If=new T,Lf.polygonStart()},polygonEnd:function(){Lf.polygonEnd(),ys.point=vs,ys.lineStart=bs,ys.lineEnd=ms,Bf<0?(Nf=-(Pf=180),Cf=-(zf=90)):If>Xc?zf=90:If<-1e-6&&(Cf=-90),Uf[0]=Nf,Uf[1]=Pf},sphere:function(){Nf=-(Pf=180),Cf=-(zf=90)}};function vs(t,n){Of.push(Uf=[Nf=t,Pf=t]),nzf&&(zf=n)}function _s(t,n){var e=Vf([t*Jc,n*Jc]);if(qf){var r=Zf(qf,e),i=Zf([r[1],-r[0],0],r);Jf(i),i=Gf(i);var o,a=t-Df,u=a>0?1:-1,c=i[0]*Qc*u,f=tf(a)>180;f^(u*Dfzf&&(zf=o):f^(u*Df<(c=(c+360)%360-180)&&czf&&(zf=n)),f?tAs(Nf,Pf)&&(Pf=t):As(t,Pf)>As(Nf,Pf)&&(Nf=t):Pf>=Nf?(tPf&&(Pf=t)):t>Df?As(Nf,t)>As(Nf,Pf)&&(Pf=t):As(t,Pf)>As(Nf,Pf)&&(Nf=t)}else Of.push(Uf=[Nf=t,Pf=t]);nzf&&(zf=n),qf=e,Df=t}function bs(){ys.point=_s}function ms(){Uf[0]=Nf,Uf[1]=Pf,ys.point=vs,qf=null}function xs(t,n){if(qf){var e=t-Df;If.add(tf(e)>180?e+(e>0?360:-360):e)}else Rf=t,Ff=n;Lf.point(t,n),_s(t,n)}function ws(){Lf.lineStart()}function Ms(){xs(Rf,Ff),Lf.lineEnd(),tf(If)>Xc&&(Nf=-(Pf=180)),Uf[0]=Nf,Uf[1]=Pf,qf=null}function As(t,n){return(n-=t)<0?n+360:n}function Ts(t,n){return t[0]-n[0]}function Ss(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nVc?t+Math.round(-t/Kc)*Kc:t,n]}function Ys(t,n,e){return(t%=Kc)?n||e?Us(js(t),$s(n,e)):js(t):n||e?$s(n,e):Bs}function Ls(t){return function(n,e){return[(n+=t)>Vc?n-Kc:n<-Vc?n+Kc:n,e]}}function js(t){var n=Ls(t);return n.invert=Ls(-t),n}function $s(t,n){var e=rf(t),r=sf(t),i=rf(n),o=sf(n);function a(t,n){var a=rf(n),u=rf(t)*a,c=sf(t)*a,f=sf(n),s=f*e+u*r;return[ef(c*i-s*o,u*e-f*r),gf(s*i+c*o)]}return a.invert=function(t,n){var a=rf(n),u=rf(t)*a,c=sf(t)*a,f=sf(n),s=f*i-c*o;return[ef(c*i+f*o,u*e+s*r),gf(s*e-u*r)]},a}function Hs(t){function n(n){return(n=t(n[0]*Jc,n[1]*Jc))[0]*=Qc,n[1]*=Qc,n}return t=Ys(t[0]*Jc,t[1]*Jc,t.length>2?t[2]*Jc:0),n.invert=function(n){return(n=t.invert(n[0]*Jc,n[1]*Jc))[0]*=Qc,n[1]*=Qc,n},n}function Xs(t,n,e,r,i,o){if(e){var a=rf(n),u=sf(n),c=r*e;null==i?(i=n+r*Kc,o=n-c/2):(i=Gs(a,i),o=Gs(a,o),(r>0?io)&&(i+=r*Kc));for(var f,s=i;r>0?s>o:s1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Ws(t,n){return tf(t[0]-n[0])=0;--o)i.point((s=f[o])[0],s[1]);else r(h.x,h.p.x,-1,i);h=h.p}f=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Qs(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r=0?1:-1,E=S*A,k=E>Vc,N=y*w;if(c.add(ef(N*S*sf(E),v*M+N*rf(E))),a+=k?A+S*Kc:A,k^p>=e^m>=e){var C=Zf(Vf(d),Vf(b));Jf(C);var P=Zf(o,C);Jf(P);var z=(k^A>=0?-1:1)*gf(P[2]);(r>z||r===z&&(C[0]||C[1]))&&(u+=k^A>=0?1:-1)}}return(a<-1e-6||a0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t1&&2&c&&h.push(h.pop().concat(h.shift())),a.push(h.filter(el))}return h}}function el(t){return t.length>1}function rl(t,n){return((t=t.x)[0]<0?t[1]-Wc-Xc:Wc-t[1])-((n=n.x)[0]<0?n[1]-Wc-Xc:Wc-n[1])}Bs.invert=Bs;var il=nl((function(){return!0}),(function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Vc:-Vc,c=tf(o-e);tf(c-Vc)0?Wc:-Wc),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&c>=Vc&&(tf(e-i)Xc?nf((sf(n)*(o=rf(r))*sf(e)-sf(r)*(i=rf(n))*sf(t))/(i*o*a)):(n+r)/2}(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}),(function(t,n,e,r){var i;if(null==t)i=e*Wc,r.point(-Vc,i),r.point(0,i),r.point(Vc,i),r.point(Vc,0),r.point(Vc,-i),r.point(0,-i),r.point(-Vc,-i),r.point(-Vc,0),r.point(-Vc,i);else if(tf(t[0]-n[0])>Xc){var o=t[0]0,i=tf(n)>Xc;function o(t,e){return rf(t)*rf(e)>n}function a(t,e,r){var i=[1,0,0],o=Zf(Vf(t),Vf(e)),a=Wf(o,o),u=o[0],c=a-u*u;if(!c)return!r&&t;var f=n*a/c,s=-n*u/c,l=Zf(i,o),h=Qf(i,f);Kf(h,Qf(o,s));var d=l,p=Wf(h,d),g=Wf(d,d),y=p*p-g*(Wf(h,h)-1);if(!(y<0)){var v=hf(y),_=Qf(d,(-p-v)/g);if(Kf(_,h),_=Gf(_),!r)return _;var b,m=t[0],x=e[0],w=t[1],M=e[1];x0^_[1]<(tf(_[0]-m)Vc^(m<=_[0]&&_[0]<=x)){var S=Qf(d,(-p+v)/g);return Kf(S,h),[_,Gf(S)]}}}function u(n,e){var i=r?t:Vc-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return nl(o,(function(t){var n,e,c,f,s;return{lineStart:function(){f=c=!1,s=1},point:function(l,h){var d,p=[l,h],g=o(l,h),y=r?g?0:u(l,h):g?u(l+(l<0?Vc:-Vc),h):0;if(!n&&(f=c=g)&&t.lineStart(),g!==c&&(!(d=a(n,p))||Ws(n,d)||Ws(p,d))&&(p[2]=1),g!==c)s=0,g?(t.lineStart(),d=a(p,n),t.point(d[0],d[1])):(d=a(n,p),t.point(d[0],d[1],2),t.lineEnd()),n=d;else if(i&&n&&r^g){var v;y&e||!(v=a(p,n,!0))||(s=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1],3)))}!g||n&&Ws(n,p)||t.point(p[0],p[1]),n=p,c=g,e=y},lineEnd:function(){c&&t.lineEnd(),n=null},clean:function(){return s|(f&&c)<<1}}}),(function(n,r,i,o){Xs(o,t,e,i,n,r)}),r?[0,-t]:[-Vc,t-Vc])}var al,ul,cl,fl,sl=1e9,ll=-sl;function hl(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,u,f){var s=0,l=0;if(null==i||(s=a(i,u))!==(l=a(o,u))||c(i,o)<0^u>0)do{f.point(0===s||3===s?t:e,s>1?r:n)}while((s=(s+u+4)%4)!==l);else f.point(o[0],o[1])}function a(r,i){return tf(r[0]-t)0?0:3:tf(r[0]-e)0?2:1:tf(r[1]-n)0?1:0:i>0?3:2}function u(t,n){return c(t.x,n.x)}function c(t,n){var e=a(t,1),r=a(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(a){var c,f,s,l,h,d,p,g,y,v,_,b=a,m=Vs(),x={point:w,lineStart:function(){x.point=M,f&&f.push(s=[]);v=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(M(l,h),d&&y&&m.rejoin(),c.push(m.result()));x.point=w,y&&b.lineEnd()},polygonStart:function(){b=m,c=[],f=[],_=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=f.length;er&&(h-o)*(r-a)>(d-a)*(t-o)&&++n:d<=r&&(h-o)*(r-a)<(d-a)*(t-o)&&--n;return n}(),e=_&&n,i=(c=ft(c)).length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&Ks(c,u,n,o,a),a.polygonEnd());b=a,c=f=s=null}};function w(t,n){i(t,n)&&b.point(t,n)}function M(o,a){var u=i(o,a);if(f&&s.push([o,a]),v)l=o,h=a,d=u,v=!1,u&&(b.lineStart(),b.point(o,a));else if(u&&y)b.point(o,a);else{var c=[p=Math.max(ll,Math.min(sl,p)),g=Math.max(ll,Math.min(sl,g))],m=[o=Math.max(ll,Math.min(sl,o)),a=Math.max(ll,Math.min(sl,a))];!function(t,n,e,r,i,o){var a,u=t[0],c=t[1],f=0,s=1,l=n[0]-u,h=n[1]-c;if(a=e-u,l||!(a>0)){if(a/=l,l<0){if(a0){if(a>s)return;a>f&&(f=a)}if(a=i-u,l||!(a<0)){if(a/=l,l<0){if(a>s)return;a>f&&(f=a)}else if(l>0){if(a0)){if(a/=h,h<0){if(a0){if(a>s)return;a>f&&(f=a)}if(a=o-c,h||!(a<0)){if(a/=h,h<0){if(a>s)return;a>f&&(f=a)}else if(h>0){if(a0&&(t[0]=u+f*l,t[1]=c+f*h),s<1&&(n[0]=u+s*l,n[1]=c+s*h),!0}}}}}(c,m,t,n,e,r)?u&&(b.lineStart(),b.point(o,a),_=!1):(y||(b.lineStart(),b.point(c[0],c[1])),b.point(m[0],m[1]),u||b.lineEnd(),_=!1)}p=o,g=a,y=u}return x}}var dl={sphere:vf,point:vf,lineStart:function(){dl.point=gl,dl.lineEnd=pl},lineEnd:vf,polygonStart:vf,polygonEnd:vf};function pl(){dl.point=dl.lineEnd=vf}function gl(t,n){ul=t*=Jc,cl=sf(n*=Jc),fl=rf(n),dl.point=yl}function yl(t,n){t*=Jc;var e=sf(n*=Jc),r=rf(n),i=tf(t-ul),o=rf(i),a=r*sf(i),u=fl*e-cl*r*o,c=cl*e+fl*r*o;al.add(ef(hf(a*a+u*u),c)),ul=t,cl=e,fl=r}function vl(t){return al=new T,Mf(t,dl),+al}var _l=[null,null],bl={type:"LineString",coordinates:_l};function ml(t,n){return _l[0]=t,_l[1]=n,vl(bl)}var xl={Feature:function(t,n){return Ml(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r0&&(i=ml(t[o],t[o-1]))>0&&e<=i&&r<=i&&(e+r-i)*(1-Math.pow((e-r)/i,2))Xc})).map(c)).concat(lt(of(o/d)*d,i,d).filter((function(t){return tf(t%g)>Xc})).map(f))}return v.lines=function(){return _().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[s(r).concat(l(a).slice(1),s(e).reverse().slice(1),l(u).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],u=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),u>a&&(t=u,u=a,a=t),v.precision(y)):[[r,u],[e,a]]},v.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),o>i&&(e=o,o=i,i=e),v.precision(y)):[[n,o],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],v):[h,d]},v.precision=function(h){return arguments.length?(y=+h,c=Nl(o,i,90),f=Cl(n,t,y),s=Nl(u,a,90),l=Cl(r,e,y),v):y},v.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}var zl,Dl,Rl,Fl,ql=t=>t,Il=new T,Ol=new T,Ul={point:vf,lineStart:vf,lineEnd:vf,polygonStart:function(){Ul.lineStart=Bl,Ul.lineEnd=jl},polygonEnd:function(){Ul.lineStart=Ul.lineEnd=Ul.point=vf,Il.add(tf(Ol)),Ol=new T},result:function(){var t=Il/2;return Il=new T,t}};function Bl(){Ul.point=Yl}function Yl(t,n){Ul.point=Ll,zl=Rl=t,Dl=Fl=n}function Ll(t,n){Ol.add(Fl*t-Rl*n),Rl=t,Fl=n}function jl(){Ll(zl,Dl)}var $l=Ul,Hl=1/0,Xl=Hl,Gl=-Hl,Vl=Gl,Wl={point:function(t,n){tGl&&(Gl=t);nVl&&(Vl=n)},lineStart:vf,lineEnd:vf,polygonStart:vf,polygonEnd:vf,result:function(){var t=[[Hl,Xl],[Gl,Vl]];return Gl=Vl=-(Xl=Hl=1/0),t}};var Zl,Kl,Ql,Jl,th=Wl,nh=0,eh=0,rh=0,ih=0,oh=0,ah=0,uh=0,ch=0,fh=0,sh={point:lh,lineStart:hh,lineEnd:gh,polygonStart:function(){sh.lineStart=yh,sh.lineEnd=vh},polygonEnd:function(){sh.point=lh,sh.lineStart=hh,sh.lineEnd=gh},result:function(){var t=fh?[uh/fh,ch/fh]:ah?[ih/ah,oh/ah]:rh?[nh/rh,eh/rh]:[NaN,NaN];return nh=eh=rh=ih=oh=ah=uh=ch=fh=0,t}};function lh(t,n){nh+=t,eh+=n,++rh}function hh(){sh.point=dh}function dh(t,n){sh.point=ph,lh(Ql=t,Jl=n)}function ph(t,n){var e=t-Ql,r=n-Jl,i=hf(e*e+r*r);ih+=i*(Ql+t)/2,oh+=i*(Jl+n)/2,ah+=i,lh(Ql=t,Jl=n)}function gh(){sh.point=lh}function yh(){sh.point=_h}function vh(){bh(Zl,Kl)}function _h(t,n){sh.point=bh,lh(Zl=Ql=t,Kl=Jl=n)}function bh(t,n){var e=t-Ql,r=n-Jl,i=hf(e*e+r*r);ih+=i*(Ql+t)/2,oh+=i*(Jl+n)/2,ah+=i,uh+=(i=Jl*t-Ql*n)*(Ql+t),ch+=i*(Jl+n),fh+=3*i,lh(Ql=t,Jl=n)}var mh=sh;function xh(t){this._context=t}xh.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Kc)}},result:vf};var wh,Mh,Ah,Th,Sh,Eh=new T,kh={point:vf,lineStart:function(){kh.point=Nh},lineEnd:function(){wh&&Ch(Mh,Ah),kh.point=vf},polygonStart:function(){wh=!0},polygonEnd:function(){wh=null},result:function(){var t=+Eh;return Eh=new T,t}};function Nh(t,n){kh.point=Ch,Mh=Th=t,Ah=Sh=n}function Ch(t,n){Th-=t,Sh-=n,Eh.add(hf(Th*Th+Sh*Sh)),Th=t,Sh=n}var Ph=kh;function zh(){this._string=[]}function Dh(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Rh(t){return function(n){var e=new Fh;for(var r in t)e[r]=t[r];return e.stream=n,e}}function Fh(){}function qh(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),Mf(e,t.stream(th)),n(th.result()),null!=r&&t.clipExtent(r),t}function Ih(t,n,e){return qh(t,(function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),a=+n[0][0]+(r-o*(e[1][0]+e[0][0]))/2,u=+n[0][1]+(i-o*(e[1][1]+e[0][1]))/2;t.scale(150*o).translate([a,u])}),e)}function Oh(t,n,e){return Ih(t,[[0,0],n],e)}function Uh(t,n,e){return qh(t,(function(e){var r=+n,i=r/(e[1][0]-e[0][0]),o=(r-i*(e[1][0]+e[0][0]))/2,a=-i*e[0][1];t.scale(150*i).translate([o,a])}),e)}function Bh(t,n,e){return qh(t,(function(e){var r=+n,i=r/(e[1][1]-e[0][1]),o=-i*e[0][0],a=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([o,a])}),e)}zh.prototype={_radius:4.5,_circle:Dh(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=Dh(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},Fh.prototype={constructor:Fh,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Yh=rf(30*Jc);function Lh(t,n){return+n?function(t,n){function e(r,i,o,a,u,c,f,s,l,h,d,p,g,y){var v=f-r,_=s-i,b=v*v+_*_;if(b>4*n&&g--){var m=a+h,x=u+d,w=c+p,M=hf(m*m+x*x+w*w),A=gf(w/=M),T=tf(tf(w)-1)n||tf((v*N+_*C)/b-.5)>.3||a*h+u*d+c*p2?t[2]%360*Jc:0,N()):[y*Qc,v*Qc,_*Qc]},E.angle=function(t){return arguments.length?(b=t%360*Jc,N()):b*Qc},E.reflectX=function(t){return arguments.length?(m=t?-1:1,N()):m<0},E.reflectY=function(t){return arguments.length?(x=t?-1:1,N()):x<0},E.precision=function(t){return arguments.length?(a=Lh(u,S=t*t),C()):hf(S)},E.fitExtent=function(t,n){return Ih(E,t,n)},E.fitSize=function(t,n){return Oh(E,t,n)},E.fitWidth=function(t,n){return Uh(E,t,n)},E.fitHeight=function(t,n){return Bh(E,t,n)},function(){return n=t.apply(this,arguments),E.invert=n.invert&&k,N()}}function Gh(t){var n=0,e=Vc/3,r=Xh(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Jc,e=t[1]*Jc):[n*Qc,e*Qc]},i}function Vh(t,n){var e=sf(t),r=(e+sf(n))/2;if(tf(r)0?n<-Wc+Xc&&(n=-Wc+Xc):n>Wc-Xc&&(n=Wc-Xc);var e=i/ff(rd(n),r);return[e*sf(r*t),i-e*rf(r*t)]}return o.invert=function(t,n){var e=i-n,o=lf(r)*hf(t*t+e*e),a=ef(t,tf(e))*lf(e);return e*r<0&&(a-=Vc*lf(t)*lf(e)),[a/r,2*nf(ff(i/o,1/r))-Wc]},o}function od(t,n){return[t,n]}function ad(t,n){var e=rf(t),r=t===n?sf(t):(e-rf(n))/(n-t),i=e/r+t;if(tf(r)=0;)n+=e[r].value;else n=1;t.value=n}function wd(t,n){t instanceof Map?(t=[void 0,t],void 0===n&&(n=Ad)):void 0===n&&(n=Md);for(var e,r,i,o,a,u=new Ed(t),c=[u];e=c.pop();)if((i=n(e.data))&&(a=(i=Array.from(i)).length))for(e.children=i,o=a-1;o>=0;--o)c.push(r=i[o]=new Ed(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(Sd)}function Md(t){return t.children}function Ad(t){return Array.isArray(t)?t[1]:null}function Td(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function Sd(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function Ed(t){this.data=t,this.depth=this.height=0,this.parent=null}function kd(t){return null==t?null:Nd(t)}function Nd(t){if("function"!=typeof t)throw new Error;return t}function Cd(){return 0}function Pd(t){return function(){return t}}hd.invert=function(t,n){for(var e,r=n,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=e=(r*(ud+cd*i+o*(fd+sd*i))-n)/(ud+3*cd*i+o*(7*fd+9*sd*i)))*r)*i*i,!(tf(e)Xc&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},gd.invert=Qh(gf),yd.invert=Qh((function(t){return 2*nf(t)})),vd.invert=function(t,n){return[-n,2*nf(af(t))-Wc]},Ed.prototype=wd.prototype={constructor:Ed,count:function(){return this.eachAfter(xd)},each:function(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this},eachAfter:function(t,n){for(var e,r,i,o=this,a=[o],u=[],c=-1;o=a.pop();)if(u.push(o),e=o.children)for(r=0,i=e.length;r=0;--r)o.push(e[r]);return this},find:function(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return wd(this).eachBefore(Td)},[Symbol.iterator]:function*(){var t,n,e,r,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(yield i,n=i.children)for(e=0,r=n.length;e(t=(1664525*t+1013904223)%zd)/zd}function Rd(t,n){for(var e,r,i=0,o=(t=function(t,n){let e,r,i=t.length;for(;i;)r=n()*i--|0,e=t[i],t[i]=t[r],t[r]=e;return t}(Array.from(t),n)).length,a=[];i0&&e*e>r*r+i*i}function Od(t,n){for(var e=0;e1e-6?(E+Math.sqrt(E*E-4*S*k))/(2*S):k/E);return{x:r+w+M*N,y:i+A+T*N,r:N}}function Ld(t,n,e){var r,i,o,a,u=t.x-n.x,c=t.y-n.y,f=u*u+c*c;f?(i=n.r+e.r,i*=i,a=t.r+e.r,i>(a*=a)?(r=(f+a-i)/(2*f),o=Math.sqrt(Math.max(0,a/f-r*r)),e.x=t.x-r*u-o*c,e.y=t.y-r*c+o*u):(r=(f+i-a)/(2*f),o=Math.sqrt(Math.max(0,i/f-r*r)),e.x=n.x+r*u-o*c,e.y=n.y+r*c+o*u)):(e.x=n.x+e.r,e.y=n.y)}function jd(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function $d(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function Hd(t){this._=t,this.next=null,this.previous=null}function Xd(t,n){if(!(o=(t=function(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}(t)).length))return 0;var e,r,i,o,a,u,c,f,s,l,h;if((e=t[0]).x=0,e.y=0,!(o>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(o>2))return e.r+r.r;Ld(r,e,i=t[2]),e=new Hd(e),r=new Hd(r),i=new Hd(i),e.next=i.previous=r,r.next=e.previous=i,i.next=r.previous=e;t:for(c=3;c1&&!op(t,n););return t.slice(0,n)}function op(t,n){if("/"===t[n]){let e=0;for(;n>0&&"\\"===t[--n];)++e;if(0==(1&e))return!0}return!1}function ap(t,n){return t.parent===n.parent?1:2}function up(t){var n=t.children;return n?n[0]:t.t}function cp(t){var n=t.children;return n?n[n.length-1]:t.t}function fp(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function sp(t,n,e){return t.a.parent===n.parent?t.a:e}function lp(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function hp(t,n,e,r,i){for(var o,a=t.children,u=-1,c=a.length,f=t.value&&(i-e)/t.value;++uh&&(h=u),y=s*s*g,(d=Math.max(h/y,y/l))>p){s-=u;break}p=d}v.push(a={value:s,dice:c1?n:1)},e}(dp);var yp=function t(n){function e(t,e,r,i,o){if((a=t._squarify)&&a.ratio===n)for(var a,u,c,f,s,l=-1,h=a.length,d=t.value;++l1?n:1)},e}(dp);function vp(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function _p(t,n){return t[0]-n[0]||t[1]-n[1]}function bp(t){const n=t.length,e=[0,1];let r,i=2;for(r=2;r1&&vp(t[e[i-2]],t[e[i-1]],t[r])<=0;)--i;e[i++]=r}return e.slice(0,i)}var mp=Math.random,xp=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(mp),wp=function t(n){function e(t,e){return arguments.length<2&&(e=t,t=0),t=Math.floor(t),e=Math.floor(e)-t,function(){return Math.floor(n()*e+t)}}return e.source=t,e}(mp),Mp=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(mp),Ap=function t(n){var e=Mp.source(n);function r(){var t=e.apply(this,arguments);return function(){return Math.exp(t())}}return r.source=t,r}(mp),Tp=function t(n){function e(t){return(t=+t)<=0?()=>0:function(){for(var e=0,r=t;r>1;--r)e+=n();return e+r*n()}}return e.source=t,e}(mp),Sp=function t(n){var e=Tp.source(n);function r(t){if(0==(t=+t))return n;var r=e(t);return function(){return r()/t}}return r.source=t,r}(mp),Ep=function t(n){function e(t){return function(){return-Math.log1p(-n())/t}}return e.source=t,e}(mp),kp=function t(n){function e(t){if((t=+t)<0)throw new RangeError("invalid alpha");return t=1/-t,function(){return Math.pow(1-n(),t)}}return e.source=t,e}(mp),Np=function t(n){function e(t){if((t=+t)<0||t>1)throw new RangeError("invalid p");return function(){return Math.floor(n()+t)}}return e.source=t,e}(mp),Cp=function t(n){function e(t){if((t=+t)<0||t>1)throw new RangeError("invalid p");return 0===t?()=>1/0:1===t?()=>1:(t=Math.log1p(-t),function(){return 1+Math.floor(Math.log1p(-n())/t)})}return e.source=t,e}(mp),Pp=function t(n){var e=Mp.source(n)();function r(t,r){if((t=+t)<0)throw new RangeError("invalid k");if(0===t)return()=>0;if(r=null==r?1:+r,1===t)return()=>-Math.log1p(-n())*r;var i=(t<1?t+1:t)-1/3,o=1/(3*Math.sqrt(i)),a=t<1?()=>Math.pow(n(),1/t):()=>1;return function(){do{do{var t=e(),u=1+o*t}while(u<=0);u*=u*u;var c=1-n()}while(c>=1-.0331*t*t*t*t&&Math.log(c)>=.5*t*t+i*(1-u+Math.log(u)));return i*u*a()*r}}return r.source=t,r}(mp),zp=function t(n){var e=Pp.source(n);function r(t,n){var r=e(t),i=e(n);return function(){var t=r();return 0===t?0:t/(t+i())}}return r.source=t,r}(mp),Dp=function t(n){var e=Cp.source(n),r=zp.source(n);function i(t,n){return t=+t,(n=+n)>=1?()=>t:n<=0?()=>0:function(){for(var i=0,o=t,a=n;o*a>16&&o*(1-a)>16;){var u=Math.floor((o+1)*a),c=r(u,o-u+1)();c<=a?(i+=u,o-=u,a=(a-c)/(1-c)):(o=u-1,a/=c)}for(var f=a<.5,s=e(f?a:1-a),l=s(),h=0;l<=o;++h)l+=s();return i+(f?h:o-h)}}return i.source=t,i}(mp),Rp=function t(n){function e(t,e,r){var i;return 0==(t=+t)?i=t=>-Math.log(t):(t=1/t,i=n=>Math.pow(n,t)),e=null==e?0:+e,r=null==r?1:+r,function(){return e+r*i(-Math.log1p(-n()))}}return e.source=t,e}(mp),Fp=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,function(){return t+e*Math.tan(Math.PI*n())}}return e.source=t,e}(mp),qp=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,function(){var r=n();return t+e*Math.log(r/(1-r))}}return e.source=t,e}(mp),Ip=function t(n){var e=Pp.source(n),r=Dp.source(n);function i(t){return function(){for(var i=0,o=t;o>16;){var a=Math.floor(.875*o),u=e(a)();if(u>o)return i+r(a-1,o/u)();i+=a,o-=u}for(var c=-Math.log1p(-n()),f=0;c<=o;++f)c-=Math.log1p(-n());return i+f}}return i.source=t,i}(mp);const Op=1/4294967296;function Up(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Bp(t,n){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof n?this.interpolator(n):this.range(n)}return this}const Yp=Symbol("implicit");function Lp(){var t=new InternMap,n=[],e=[],r=Yp;function i(i){let o=t.get(i);if(void 0===o){if(r!==Yp)return r;t.set(i,o=n.push(i)-1)}return e[o%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new InternMap;for(const r of e)t.has(r)||t.set(r,n.push(r)-1);return i},i.range=function(t){return arguments.length?(e=Array.from(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Lp(n,e).unknown(r)},Up.apply(i,arguments),i}function jp(){var t,n,e=Lp().unknown(void 0),r=e.domain,i=e.range,o=0,a=1,u=!1,c=0,f=0,s=.5;function l(){var e=r().length,l=an&&(e=t,t=n,n=e),function(e){return Math.max(t,Math.min(n,e))}}(a[0],a[t-1])),r=t>2?Zp:Wp,i=o=null,l}function l(n){return null==n||isNaN(n=+n)?e:(i||(i=r(a.map(t),u,c)))(t(f(n)))}return l.invert=function(e){return f(n((o||(o=r(u,a.map(t),Br)))(e)))},l.domain=function(t){return arguments.length?(a=Array.from(t,Hp),s()):a.slice()},l.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},l.rangeRound=function(t){return u=Array.from(t),c=Xr,s()},l.clamp=function(t){return arguments.length?(f=!!t||Gp,s()):f!==Gp},l.interpolate=function(t){return arguments.length?(c=t,s()):c},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,r){return t=e,n=r,s()}}function Jp(){return Qp()(Gp,Gp)}function tg(n,e,r,i){var o,a=W(n,e,r);switch((i=Dc(null==i?",f":i)).type){case"s":var u=Math.max(Math.abs(n),Math.abs(e));return null!=i.precision||isNaN(o=$c(a,u))||(i.precision=o),t.formatPrefix(i,u);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(o=Hc(a,Math.max(Math.abs(n),Math.abs(e))))||(i.precision=o-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(o=jc(a))||(i.precision=o-2*("%"===i.type))}return t.format(i)}function ng(t){var n=t.domain;return t.ticks=function(t){var e=n();return G(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return tg(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i,o=n(),a=0,u=o.length-1,c=o[a],f=o[u],s=10;for(f0;){if((i=V(c,f,e))===r)return o[a]=c,o[u]=f,n(o);if(i>0)c=Math.floor(c/i)*i,f=Math.ceil(f/i)*i;else{if(!(i<0))break;c=Math.ceil(c*i)/i,f=Math.floor(f*i)/i}r=i}return t},t}function eg(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a-t(-n,e)}function fg(n){const e=n(rg,ig),r=e.domain;let i,o,a=10;function u(){return i=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),n=>Math.log(n)/t)}(a),o=function(t){return 10===t?ug:t===Math.E?Math.exp:n=>Math.pow(t,n)}(a),r()[0]<0?(i=cg(i),o=cg(o),n(og,ag)):n(rg,ig),e}return e.base=function(t){return arguments.length?(a=+t,u()):a},e.domain=function(t){return arguments.length?(r(t),u()):r()},e.ticks=t=>{const n=r();let e=n[0],u=n[n.length-1];const c=u0){for(;l<=h;++l)for(f=1;fu)break;p.push(s)}}else for(;l<=h;++l)for(f=a-1;f>=1;--f)if(s=l>0?f/o(-l):f*o(l),!(su)break;p.push(s)}2*p.length{if(null==n&&(n=10),null==r&&(r=10===a?"s":","),"function"!=typeof r&&(a%1||null!=(r=Dc(r)).precision||(r.trim=!0),r=t.format(r)),n===1/0)return r;const u=Math.max(1,a*n/e.ticks().length);return t=>{let n=t/o(Math.round(i(t)));return n*ar(eg(r(),{floor:t=>o(Math.floor(i(t))),ceil:t=>o(Math.ceil(i(t)))})),e}function sg(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function lg(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function hg(t){var n=1,e=t(sg(n),lg(n));return e.constant=function(e){return arguments.length?t(sg(n=+e),lg(n)):n},ng(e)}function dg(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function pg(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function gg(t){return t<0?-t*t:t*t}function yg(t){var n=t(Gp,Gp),e=1;function r(){return 1===e?t(Gp,Gp):.5===e?t(pg,gg):t(dg(e),dg(1/e))}return n.exponent=function(t){return arguments.length?(e=+t,r()):e},ng(n)}function vg(){var t=yg(Qp());return t.copy=function(){return Kp(t,vg()).exponent(t.exponent())},Up.apply(t,arguments),t}function _g(t){return Math.sign(t)*t*t}function bg(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}var mg=new Date,xg=new Date;function wg(t,n,e,r){function i(n){return t(n=0===arguments.length?new Date:new Date(+n)),n}return i.floor=function(n){return t(n=new Date(+n)),n},i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n0))return u;do{u.push(a=new Date(+e)),n(e,o),t(e)}while(a=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););}))},e&&(i.count=function(n,r){return mg.setTime(+n),xg.setTime(+r),t(mg),t(xg),Math.floor(e(mg,xg))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var Mg=wg((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));Mg.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?wg((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):Mg:null};var Ag=Mg,Tg=Mg.range;const Sg=1e3,Eg=6e4,kg=36e5,Ng=864e5,Cg=6048e5,Pg=2592e6,zg=31536e6;var Dg=wg((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,n){t.setTime(+t+n*Sg)}),(function(t,n){return(n-t)/Sg}),(function(t){return t.getUTCSeconds()})),Rg=Dg,Fg=Dg.range,qg=wg((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Sg)}),(function(t,n){t.setTime(+t+n*Eg)}),(function(t,n){return(n-t)/Eg}),(function(t){return t.getMinutes()})),Ig=qg,Og=qg.range,Ug=wg((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Sg-t.getMinutes()*Eg)}),(function(t,n){t.setTime(+t+n*kg)}),(function(t,n){return(n-t)/kg}),(function(t){return t.getHours()})),Bg=Ug,Yg=Ug.range,Lg=wg((t=>t.setHours(0,0,0,0)),((t,n)=>t.setDate(t.getDate()+n)),((t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Eg)/Ng),(t=>t.getDate()-1)),jg=Lg,$g=Lg.range;function Hg(t){return wg((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Eg)/Cg}))}var Xg=Hg(0),Gg=Hg(1),Vg=Hg(2),Wg=Hg(3),Zg=Hg(4),Kg=Hg(5),Qg=Hg(6),Jg=Xg.range,ty=Gg.range,ny=Vg.range,ey=Wg.range,ry=Zg.range,iy=Kg.range,oy=Qg.range,ay=wg((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),uy=ay,cy=ay.range,fy=wg((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));fy.every=function(t){return isFinite(t=Math.floor(t))&&t>0?wg((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};var sy=fy,ly=fy.range,hy=wg((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+n*Eg)}),(function(t,n){return(n-t)/Eg}),(function(t){return t.getUTCMinutes()})),dy=hy,py=hy.range,gy=wg((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+n*kg)}),(function(t,n){return(n-t)/kg}),(function(t){return t.getUTCHours()})),yy=gy,vy=gy.range,_y=wg((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/Ng}),(function(t){return t.getUTCDate()-1})),by=_y,my=_y.range;function xy(t){return wg((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/Cg}))}var wy=xy(0),My=xy(1),Ay=xy(2),Ty=xy(3),Sy=xy(4),Ey=xy(5),ky=xy(6),Ny=wy.range,Cy=My.range,Py=Ay.range,zy=Ty.range,Dy=Sy.range,Ry=Ey.range,Fy=ky.range,qy=wg((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),Iy=qy,Oy=qy.range,Uy=wg((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));Uy.every=function(t){return isFinite(t=Math.floor(t))&&t>0?wg((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};var By=Uy,Yy=Uy.range;function Ly(t,n,e,i,o,a){const u=[[Rg,1,Sg],[Rg,5,5e3],[Rg,15,15e3],[Rg,30,3e4],[a,1,Eg],[a,5,3e5],[a,15,9e5],[a,30,18e5],[o,1,kg],[o,3,108e5],[o,6,216e5],[o,12,432e5],[i,1,Ng],[i,2,1728e5],[e,1,Cg],[n,1,Pg],[n,3,7776e6],[t,1,zg]];function c(n,e,i){const o=Math.abs(e-n)/i,a=r((([,,t])=>t)).right(u,o);if(a===u.length)return t.every(W(n/zg,e/zg,i));if(0===a)return Ag.every(Math.max(W(n,e,i),1));const[c,f]=u[o/u[a-1][2]=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:d_,s:p_,S:Rv,u:Fv,U:qv,V:Ov,w:Uv,W:Bv,x:null,X:null,y:Yv,Y:jv,Z:Hv,"%":h_},m={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Xv,e:Xv,f:Kv,g:c_,G:s_,H:Gv,I:Vv,j:Wv,L:Zv,m:Qv,M:Jv,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:d_,s:p_,S:t_,u:n_,U:e_,V:i_,w:o_,W:a_,x:null,X:null,y:u_,Y:f_,Z:l_,"%":h_},x={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p.get(r[0].toLowerCase()),e+r[0].length):-1},A:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.w=h.get(r[0].toLowerCase()),e+r[0].length):-1},b:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=_.get(r[0].toLowerCase()),e+r[0].length):-1},B:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=y.get(r[0].toLowerCase()),e+r[0].length):-1},c:function(t,e,r){return A(t,n,e,r)},d:yv,e:yv,f:wv,g:hv,G:lv,H:_v,I:_v,j:vv,L:xv,m:gv,M:bv,p:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.p=s.get(r[0].toLowerCase()),e+r[0].length):-1},q:pv,Q:Av,s:Tv,S:mv,u:uv,U:cv,V:fv,w:av,W:sv,x:function(t,n,r){return A(t,e,n,r)},X:function(t,n,e){return A(t,r,n,e)},y:hv,Y:lv,Z:dv,"%":Mv};function w(t,n){return function(e){var r,i,o,a=[],u=-1,c=0,f=t.length;for(e instanceof Date||(e=new Date(+e));++u53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=Vy(Wy(o.y,0,1))).getUTCDay(),r=i>4||0===i?My.ceil(r):My(r),r=by.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=Gy(Wy(o.y,0,1))).getDay(),r=i>4||0===i?Gg.ceil(r):Gg(r),r=jg.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Vy(Wy(o.y,0,1)).getUTCDay():Gy(Wy(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Vy(o)):Gy(o)}}function A(t,n,e,r){for(var i,o,a=0,u=n.length,c=e.length;a=c)return-1;if(37===(i=n.charCodeAt(a++))){if(i=n.charAt(a++),!(o=x[i in Qy?n.charAt(a++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return b.x=w(e,b),b.X=w(r,b),b.c=w(n,b),m.x=w(e,m),m.X=w(r,m),m.c=w(n,m),{format:function(t){var n=w(t+="",b);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",!1);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",m);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t+="",!0);return n.toString=function(){return t},n}}}var Ky,Qy={"-":"",_:" ",0:"0"},Jy=/^\s*\d+/,tv=/^%/,nv=/[\\^$*+?|[\]().{}]/g;function ev(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o[t.toLowerCase(),n])))}function av(t,n,e){var r=Jy.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function uv(t,n,e){var r=Jy.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function cv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function fv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function sv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function lv(t,n,e){var r=Jy.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function hv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function dv(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function pv(t,n,e){var r=Jy.exec(n.slice(e,e+1));return r?(t.q=3*r[0]-3,e+r[0].length):-1}function gv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function yv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function vv(t,n,e){var r=Jy.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function _v(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function bv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function mv(t,n,e){var r=Jy.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function xv(t,n,e){var r=Jy.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function wv(t,n,e){var r=Jy.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function Mv(t,n,e){var r=tv.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Av(t,n,e){var r=Jy.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function Tv(t,n,e){var r=Jy.exec(n.slice(e));return r?(t.s=+r[0],e+r[0].length):-1}function Sv(t,n){return ev(t.getDate(),n,2)}function Ev(t,n){return ev(t.getHours(),n,2)}function kv(t,n){return ev(t.getHours()%12||12,n,2)}function Nv(t,n){return ev(1+jg.count(sy(t),t),n,3)}function Cv(t,n){return ev(t.getMilliseconds(),n,3)}function Pv(t,n){return Cv(t,n)+"000"}function zv(t,n){return ev(t.getMonth()+1,n,2)}function Dv(t,n){return ev(t.getMinutes(),n,2)}function Rv(t,n){return ev(t.getSeconds(),n,2)}function Fv(t){var n=t.getDay();return 0===n?7:n}function qv(t,n){return ev(Xg.count(sy(t)-1,t),n,2)}function Iv(t){var n=t.getDay();return n>=4||0===n?Zg(t):Zg.ceil(t)}function Ov(t,n){return t=Iv(t),ev(Zg.count(sy(t),t)+(4===sy(t).getDay()),n,2)}function Uv(t){return t.getDay()}function Bv(t,n){return ev(Gg.count(sy(t)-1,t),n,2)}function Yv(t,n){return ev(t.getFullYear()%100,n,2)}function Lv(t,n){return ev((t=Iv(t)).getFullYear()%100,n,2)}function jv(t,n){return ev(t.getFullYear()%1e4,n,4)}function $v(t,n){var e=t.getDay();return ev((t=e>=4||0===e?Zg(t):Zg.ceil(t)).getFullYear()%1e4,n,4)}function Hv(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+ev(n/60|0,"0",2)+ev(n%60,"0",2)}function Xv(t,n){return ev(t.getUTCDate(),n,2)}function Gv(t,n){return ev(t.getUTCHours(),n,2)}function Vv(t,n){return ev(t.getUTCHours()%12||12,n,2)}function Wv(t,n){return ev(1+by.count(By(t),t),n,3)}function Zv(t,n){return ev(t.getUTCMilliseconds(),n,3)}function Kv(t,n){return Zv(t,n)+"000"}function Qv(t,n){return ev(t.getUTCMonth()+1,n,2)}function Jv(t,n){return ev(t.getUTCMinutes(),n,2)}function t_(t,n){return ev(t.getUTCSeconds(),n,2)}function n_(t){var n=t.getUTCDay();return 0===n?7:n}function e_(t,n){return ev(wy.count(By(t)-1,t),n,2)}function r_(t){var n=t.getUTCDay();return n>=4||0===n?Sy(t):Sy.ceil(t)}function i_(t,n){return t=r_(t),ev(Sy.count(By(t),t)+(4===By(t).getUTCDay()),n,2)}function o_(t){return t.getUTCDay()}function a_(t,n){return ev(My.count(By(t)-1,t),n,2)}function u_(t,n){return ev(t.getUTCFullYear()%100,n,2)}function c_(t,n){return ev((t=r_(t)).getUTCFullYear()%100,n,2)}function f_(t,n){return ev(t.getUTCFullYear()%1e4,n,4)}function s_(t,n){var e=t.getUTCDay();return ev((t=e>=4||0===e?Sy(t):Sy.ceil(t)).getUTCFullYear()%1e4,n,4)}function l_(){return"+0000"}function h_(){return"%"}function d_(t){return+t}function p_(t){return Math.floor(+t/1e3)}function g_(n){return Ky=Zy(n),t.timeFormat=Ky.format,t.timeParse=Ky.parse,t.utcFormat=Ky.utcFormat,t.utcParse=Ky.utcParse,Ky}t.timeFormat=void 0,t.timeParse=void 0,t.utcFormat=void 0,t.utcParse=void 0,g_({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var y_="%Y-%m-%dT%H:%M:%S.%LZ";var v_=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(y_),__=v_;var b_=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:t.utcParse(y_),m_=b_;function x_(t){return new Date(t)}function w_(t){return t instanceof Date?+t:+new Date(+t)}function M_(t,n,e,r,i,o,a,u,c,f){var s=Jp(),l=s.invert,h=s.domain,d=f(".%L"),p=f(":%S"),g=f("%I:%M"),y=f("%I %p"),v=f("%a %d"),_=f("%b %d"),b=f("%B"),m=f("%Y");function x(t){return(c(t)Rr(t[t.length-1]),Y_=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(N_),L_=B_(Y_),j_=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(N_),$_=B_(j_),H_=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(N_),X_=B_(H_),G_=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(N_),V_=B_(G_),W_=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(N_),Z_=B_(W_),K_=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(N_),Q_=B_(K_),J_=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(N_),tb=B_(J_),nb=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(N_),eb=B_(nb),rb=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(N_),ib=B_(rb),ob=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(N_),ab=B_(ob),ub=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(N_),cb=B_(ub),fb=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(N_),sb=B_(fb),lb=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(N_),hb=B_(lb),db=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(N_),pb=B_(db),gb=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(N_),yb=B_(gb),vb=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(N_),_b=B_(vb),bb=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(N_),mb=B_(bb),xb=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(N_),wb=B_(xb),Mb=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(N_),Ab=B_(Mb),Tb=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(N_),Sb=B_(Tb),Eb=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(N_),kb=B_(Eb),Nb=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(N_),Cb=B_(Nb),Pb=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(N_),zb=B_(Pb),Db=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(N_),Rb=B_(Db),Fb=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(N_),qb=B_(Fb),Ib=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(N_),Ob=B_(Ib),Ub=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(N_),Bb=B_(Ub);var Yb=si(wr(300,.5,0),wr(-240,.5,1)),Lb=si(wr(-100,.75,.35),wr(80,1.5,.8)),jb=si(wr(260,.75,.35),wr(80,1.5,.8)),$b=wr();var Hb=Fe(),Xb=Math.PI/3,Gb=2*Math.PI/3;function Vb(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}var Wb=Vb(N_("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Zb=Vb(N_("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Kb=Vb(N_("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Qb=Vb(N_("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Jb(t){return function(){return t}}const tm=Math.abs,nm=Math.atan2,em=Math.cos,rm=Math.max,im=Math.min,om=Math.sin,am=Math.sqrt,um=1e-12,cm=Math.PI,fm=cm/2,sm=2*cm;function lm(t){return t>1?0:t<-1?cm:Math.acos(t)}function hm(t){return t>=1?fm:t<=-1?-fm:Math.asin(t)}function dm(t){return t.innerRadius}function pm(t){return t.outerRadius}function gm(t){return t.startAngle}function ym(t){return t.endAngle}function vm(t){return t&&t.padAngle}function _m(t,n,e,r,i,o,a,u){var c=e-t,f=r-n,s=a-i,l=u-o,h=l*c-s*f;if(!(h*hC*C+P*P&&(A=S,T=E),{cx:A,cy:T,x01:-s,y01:-l,x11:A*(i/x-1),y11:T*(i/x-1)}}var mm=Array.prototype.slice;function xm(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function wm(t){this._context=t}function Mm(t){return new wm(t)}function Am(t){return t[0]}function Tm(t){return t[1]}function Sm(t,n){var e=Jb(!0),r=null,i=Mm,o=null;function a(a){var u,c,f,s=(a=xm(a)).length,l=!1;for(null==r&&(o=i(f=Pa())),u=0;u<=s;++u)!(u=s;--l)u.point(y[l],v[l]);u.lineEnd(),u.areaEnd()}g&&(y[f]=+t(h,f,c),v[f]=+n(h,f,c),u.point(r?+r(h,f,c):y[f],e?+e(h,f,c):v[f]))}if(d)return u=null,d+""||null}function f(){return Sm().defined(i).curve(a).context(o)}return t="function"==typeof t?t:void 0===t?Am:Jb(+t),n="function"==typeof n?n:Jb(void 0===n?0:+n),e="function"==typeof e?e:void 0===e?Tm:Jb(+e),c.x=function(n){return arguments.length?(t="function"==typeof n?n:Jb(+n),r=null,c):t},c.x0=function(n){return arguments.length?(t="function"==typeof n?n:Jb(+n),c):t},c.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Jb(+t),c):r},c.y=function(t){return arguments.length?(n="function"==typeof t?t:Jb(+t),e=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:Jb(+t),c):n},c.y1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:Jb(+t),c):e},c.lineX0=c.lineY0=function(){return f().x(t).y(n)},c.lineY1=function(){return f().x(t).y(e)},c.lineX1=function(){return f().x(r).y(n)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:Jb(!!t),c):i},c.curve=function(t){return arguments.length?(a=t,null!=o&&(u=a(o)),c):a},c.context=function(t){return arguments.length?(null==t?o=u=null:u=a(o=t),c):o},c}function km(t,n){return nt?1:n>=t?0:NaN}function Nm(t){return t}wm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Cm=zm(Mm);function Pm(t){this._curve=t}function zm(t){function n(n){return new Pm(t(n))}return n._curve=t,n}function Dm(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(zm(t)):n()._curve},t}function Rm(){return Dm(Sm().curve(Cm))}function Fm(){var t=Em().curve(Cm),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Dm(e())},delete t.lineX0,t.lineEndAngle=function(){return Dm(r())},delete t.lineX1,t.lineInnerRadius=function(){return Dm(i())},delete t.lineY0,t.lineOuterRadius=function(){return Dm(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(zm(t)):n()._curve},t}function qm(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}Pm.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};class Im{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n)}this._x0=t,this._y0=n}}class Om{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,n){if(t=+t,n=+n,0==this._point++)this._x0=t,this._y0=n;else{const e=qm(this._x0,this._y0),r=qm(this._x0,this._y0=(this._y0+n)/2),i=qm(t,this._y0),o=qm(t,n);this._context.moveTo(...e),this._context.bezierCurveTo(...r,...i,...o)}}}function Um(t){return new Im(t,!0)}function Bm(t){return new Im(t,!1)}function Ym(t){return new Om(t)}function Lm(t){return t.source}function jm(t){return t.target}function $m(t){let n=Lm,e=jm,r=Am,i=Tm,o=null,a=null;function u(){let u;const c=mm.call(arguments),f=n.apply(this,c),s=e.apply(this,c);if(null==o&&(a=t(u=Pa())),a.lineStart(),c[0]=f,a.point(+r.apply(this,c),+i.apply(this,c)),c[0]=s,a.point(+r.apply(this,c),+i.apply(this,c)),a.lineEnd(),u)return a=null,u+""||null}return u.source=function(t){return arguments.length?(n=t,u):n},u.target=function(t){return arguments.length?(e=t,u):e},u.x=function(t){return arguments.length?(r="function"==typeof t?t:Jb(+t),u):r},u.y=function(t){return arguments.length?(i="function"==typeof t?t:Jb(+t),u):i},u.context=function(n){return arguments.length?(null==n?o=a=null:a=t(o=n),u):o},u}const Hm=am(3);var Xm={draw(t,n){const e=.59436*am(n+im(n/28,.75)),r=e/2,i=r*Hm;t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-i,-r),t.lineTo(i,r),t.moveTo(-i,r),t.lineTo(i,-r)}},Gm={draw(t,n){const e=am(n/cm);t.moveTo(e,0),t.arc(0,0,e,0,sm)}},Vm={draw(t,n){const e=am(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}};const Wm=am(1/3),Zm=2*Wm;var Km={draw(t,n){const e=am(n/Zm),r=e*Wm;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},Qm={draw(t,n){const e=.62625*am(n);t.moveTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.lineTo(-e,0),t.closePath()}},Jm={draw(t,n){const e=.87559*am(n-im(n/7,2));t.moveTo(-e,0),t.lineTo(e,0),t.moveTo(0,e),t.lineTo(0,-e)}},tx={draw(t,n){const e=am(n),r=-e/2;t.rect(r,r,e,e)}},nx={draw(t,n){const e=.4431*am(n);t.moveTo(e,e),t.lineTo(e,-e),t.lineTo(-e,-e),t.lineTo(-e,e),t.closePath()}};const ex=om(cm/10)/om(7*cm/10),rx=om(sm/10)*ex,ix=-em(sm/10)*ex;var ox={draw(t,n){const e=am(.8908130915292852*n),r=rx*e,i=ix*e;t.moveTo(0,-e),t.lineTo(r,i);for(let n=1;n<5;++n){const o=sm*n/5,a=em(o),u=om(o);t.lineTo(u*e,-a*e),t.lineTo(a*r-u*i,u*r+a*i)}t.closePath()}};const ax=am(3);var ux={draw(t,n){const e=-am(n/(3*ax));t.moveTo(0,2*e),t.lineTo(-ax*e,-e),t.lineTo(ax*e,-e),t.closePath()}};const cx=am(3);var fx={draw(t,n){const e=.6824*am(n),r=e/2,i=e*cx/2;t.moveTo(0,-e),t.lineTo(i,r),t.lineTo(-i,r),t.closePath()}};const sx=-.5,lx=am(3)/2,hx=1/am(12),dx=3*(hx/2+1);var px={draw(t,n){const e=am(n/dx),r=e/2,i=e*hx,o=r,a=e*hx+e,u=-o,c=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,c),t.lineTo(sx*r-lx*i,lx*r+sx*i),t.lineTo(sx*o-lx*a,lx*o+sx*a),t.lineTo(sx*u-lx*c,lx*u+sx*c),t.lineTo(sx*r+lx*i,sx*i-lx*r),t.lineTo(sx*o+lx*a,sx*a-lx*o),t.lineTo(sx*u+lx*c,sx*c-lx*u),t.closePath()}},gx={draw(t,n){const e=.6189*am(n-im(n/6,1.7));t.moveTo(-e,-e),t.lineTo(e,e),t.moveTo(-e,e),t.lineTo(e,-e)}};const yx=[Gm,Vm,Km,tx,ox,ux,px],vx=[Gm,Jm,gx,fx,Xm,nx,Qm];function _x(){}function bx(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function mx(t){this._context=t}function xx(t){this._context=t}function wx(t){this._context=t}function Mx(t,n){this._basis=new mx(t),this._beta=n}mx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:bx(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:bx(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},xx.prototype={areaStart:_x,areaEnd:_x,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:bx(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},wx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:bx(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Mx.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],a=t[e]-i,u=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*a),this._beta*n[c]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Ax=function t(n){function e(t){return 1===n?new mx(t):new Mx(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function Tx(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function Sx(t,n){this._context=t,this._k=(1-n)/6}Sx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Tx(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Tx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Ex=function t(n){function e(t){return new Sx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function kx(t,n){this._context=t,this._k=(1-n)/6}kx.prototype={areaStart:_x,areaEnd:_x,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Tx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Nx=function t(n){function e(t){return new kx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Cx(t,n){this._context=t,this._k=(1-n)/6}Cx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Tx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Px=function t(n){function e(t){return new Cx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function zx(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>um){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>um){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,s=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-n*t._l12_2a)/s,a=(a*f+t._y1*t._l23_2a-e*t._l12_2a)/s}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function Dx(t,n){this._context=t,this._alpha=n}Dx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:zx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Rx=function t(n){function e(t){return n?new Dx(t,n):new Sx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Fx(t,n){this._context=t,this._alpha=n}Fx.prototype={areaStart:_x,areaEnd:_x,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:zx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var qx=function t(n){function e(t){return n?new Fx(t,n):new kx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Ix(t,n){this._context=t,this._alpha=n}Ix.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:zx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Ox=function t(n){function e(t){return n?new Ix(t,n):new Cx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Ux(t){this._context=t}function Bx(t){return t<0?-1:1}function Yx(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(Bx(o)+Bx(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function Lx(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function jx(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function $x(t){this._context=t}function Hx(t){this._context=new Xx(t)}function Xx(t){this._context=t}function Gx(t){this._context=t}function Vx(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n1)for(var e,r,i,o=1,a=t[n[0]],u=a.length;o=0;)e[n]=n;return e}function Qx(t,n){return t[n]}function Jx(t){const n=[];return n.key=t,n}function tw(t){var n=t.map(nw);return Kx(t).sort((function(t,e){return n[t]-n[e]}))}function nw(t){for(var n,e=-1,r=0,i=t.length,o=-1/0;++eo&&(o=n,r=e);return r}function ew(t){var n=t.map(rw);return Kx(t).sort((function(t,e){return n[t]-n[e]}))}function rw(t){for(var n,e=0,r=-1,i=t.length;++r=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var iw=t=>()=>t;function ow(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function aw(t,n,e){this.k=t,this.x=n,this.y=e}aw.prototype={constructor:aw,scale:function(t){return 1===t?this:new aw(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new aw(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var uw=new aw(1,0,0);function cw(t){for(;!t.__zoom;)if(!(t=t.parentNode))return uw;return t.__zoom}function fw(t){t.stopImmediatePropagation()}function sw(t){t.preventDefault(),t.stopImmediatePropagation()}function lw(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function hw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function dw(){return this.__zoom||uw}function pw(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function gw(){return navigator.maxTouchPoints||"ontouchstart"in this}function yw(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}cw.prototype=aw.prototype,t.Adder=T,t.Delaunay=ku,t.FormatSpecifier=Rc,t.InternMap=InternMap,t.InternSet=InternSet,t.Node=Ed,t.Voronoi=wu,t.ZoomTransform=aw,t.active=function(t,n){var e,r,i=t.__transition;if(i)for(r in n=null==n?null:n+"",i)if((e=i[r]).state>1&&e.name===n)return new lo([[t]],Bo,n,+r);return null},t.arc=function(){var t=dm,n=pm,e=Jb(0),r=null,i=gm,o=ym,a=vm,u=null;function c(){var c,f,s=+t.apply(this,arguments),l=+n.apply(this,arguments),h=i.apply(this,arguments)-fm,d=o.apply(this,arguments)-fm,p=tm(d-h),g=d>h;if(u||(u=c=Pa()),lum)if(p>sm-um)u.moveTo(l*em(h),l*om(h)),u.arc(0,0,l,h,d,!g),s>um&&(u.moveTo(s*em(d),s*om(d)),u.arc(0,0,s,d,h,g));else{var y,v,_=h,b=d,m=h,x=d,w=p,M=p,A=a.apply(this,arguments)/2,T=A>um&&(r?+r.apply(this,arguments):am(s*s+l*l)),S=im(tm(l-s)/2,+e.apply(this,arguments)),E=S,k=S;if(T>um){var N=hm(T/s*om(A)),C=hm(T/l*om(A));(w-=2*N)>um?(m+=N*=g?1:-1,x-=N):(w=0,m=x=(h+d)/2),(M-=2*C)>um?(_+=C*=g?1:-1,b-=C):(M=0,_=b=(h+d)/2)}var P=l*em(_),z=l*om(_),D=s*em(x),R=s*om(x);if(S>um){var F,q=l*em(b),I=l*om(b),O=s*em(m),U=s*om(m);if(pum?k>um?(y=bm(O,U,P,z,l,k,g),v=bm(q,I,D,R,l,k,g),u.moveTo(y.cx+y.x01,y.cy+y.y01),kum&&w>um?E>um?(y=bm(D,R,q,I,s,-E,g),v=bm(P,z,O,U,s,-E,g),u.lineTo(y.cx+y.x01,y.cy+y.y01),E=0))throw new RangeError("invalid r");let e=t.length;if(!((e=Math.floor(e))>=0))throw new RangeError("invalid length");if(!e||!n)return t;const r=v(n),i=t.slice();return r(t,i,0,e,1),r(i,t,0,e,1),r(t,i,0,e,1),t},t.blur2=h,t.blurImage=d,t.brush=function(){return pa(ea)},t.brushSelection=function(t){var n=t.__brush;return n?n.dim.output(n.selection):null},t.brushX=function(){return pa(ta)},t.brushY=function(){return pa(na)},t.buffer=function(t,n){return fetch(t,n).then(tc)},t.chord=function(){return Ta(!1,!1)},t.chordDirected=function(){return Ta(!0,!1)},t.chordTranspose=function(){return Ta(!1,!0)},t.cluster=function(){var t=_d,n=1,e=1,r=!1;function i(i){var o,a=0;i.eachAfter((function(n){var e=n.children;e?(n.x=function(t){return t.reduce(bd,0)/t.length}(e),n.y=function(t){return 1+t.reduce(md,0)}(e)):(n.x=o?a+=t(n,o):0,n.y=0,o=n)}));var u=function(t){for(var n;n=t.children;)t=n[0];return t}(i),c=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),f=u.x-t(u,c)/2,s=c.x+t(c,u)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-f)/(s-f)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},t.color=Pe,t.contourDensity=function(){var t=Ka,n=Qa,e=Ja,r=960,i=500,o=20,a=2,u=3*o,c=r+2*u>>a,f=i+2*u>>a,s=$a(20);function l(r){var i=new Float32Array(c*f),s=Math.pow(2,-a),l=-1;for(const o of r){var d=(t(o,++l,r)+u)*s,p=(n(o,l,r)+u)*s,g=+e(o,l,r);if(d>=0&&d=0&&pt*r)))(n).map(((t,n)=>(t.value=+e[n],p(t))))}function p(t){return t.coordinates.forEach(g),t}function g(t){t.forEach(y)}function y(t){t.forEach(v)}function v(t){t[0]=t[0]*Math.pow(2,a)-u,t[1]=t[1]*Math.pow(2,a)-u}function _(){return c=r+2*(u=3*o)>>a,f=i+2*u>>a,d}return d.contours=function(t){var n=l(t),e=Za().size([c,f]),r=Math.pow(2,2*a),i=t=>{t=+t;var i=p(e.contour(n,t*r));return i.value=t,i};return Object.defineProperty(i,"max",{get:()=>J(n)/r}),i},d.x=function(n){return arguments.length?(t="function"==typeof n?n:$a(+n),d):t},d.y=function(t){return arguments.length?(n="function"==typeof t?t:$a(+t),d):n},d.weight=function(t){return arguments.length?(e="function"==typeof t?t:$a(+t),d):e},d.size=function(t){if(!arguments.length)return[r,i];var n=+t[0],e=+t[1];if(!(n>=0&&e>=0))throw new Error("invalid size");return r=n,i=e,_()},d.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),_()},d.thresholds=function(t){return arguments.length?(s="function"==typeof t?t:Array.isArray(t)?$a(La.call(t)):$a(t),d):s},d.bandwidth=function(t){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*t*t+1)-1)/2,_()},d},t.contours=Za,t.count=_,t.create=function(t){return Wn(Ut(t).call(document.documentElement))},t.creator=Ut,t.cross=function(...t){const n="function"==typeof t[t.length-1]&&function(t){return n=>t(...n)}(t.pop()),e=(t=t.map(x)).map(b),r=t.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||e.some(m))return o;for(;;){o.push(i.map(((n,e)=>t[e][n])));let a=r;for(;++i[a]===e[a];){if(0===a)return n?o.map(n):o;i[a--]=0}}},t.csv=ic,t.csvFormat=Uu,t.csvFormatBody=Bu,t.csvFormatRow=Lu,t.csvFormatRows=Yu,t.csvFormatValue=ju,t.csvParse=Iu,t.csvParseRows=Ou,t.cubehelix=wr,t.cumsum=function(t,n){var e=0,r=0;return Float64Array.from(t,void 0===n?t=>e+=+t||0:i=>e+=+n(i,r++,t)||0)},t.curveBasis=function(t){return new mx(t)},t.curveBasisClosed=function(t){return new xx(t)},t.curveBasisOpen=function(t){return new wx(t)},t.curveBumpX=Um,t.curveBumpY=Bm,t.curveBundle=Ax,t.curveCardinal=Ex,t.curveCardinalClosed=Nx,t.curveCardinalOpen=Px,t.curveCatmullRom=Rx,t.curveCatmullRomClosed=qx,t.curveCatmullRomOpen=Ox,t.curveLinear=Mm,t.curveLinearClosed=function(t){return new Ux(t)},t.curveMonotoneX=function(t){return new $x(t)},t.curveMonotoneY=function(t){return new Hx(t)},t.curveNatural=function(t){return new Gx(t)},t.curveStep=function(t){return new Wx(t,.5)},t.curveStepAfter=function(t){return new Wx(t,1)},t.curveStepBefore=function(t){return new Wx(t,0)},t.descending=e,t.deviation=M,t.difference=function(t,...n){t=new InternSet(t);for(const e of n)for(const n of e)t.delete(n);return t},t.disjoint=function(t,n){const e=n[Symbol.iterator](),r=new InternSet;for(const n of t){if(r.has(n))return!1;let t,i;for(;({value:t,done:i}=e.next())&&!i;){if(Object.is(n,t))return!1;r.add(t)}}return!0},t.dispatch=Nt,t.drag=function(){var t,n,e,r,i=fe,o=se,a=le,u=he,c={},f=Nt("start","drag","end"),s=0,l=0;function h(t){t.on("mousedown.drag",d).filter(u).on("touchstart.drag",y).on("touchmove.drag",v,ne).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(a,u){if(!r&&i.call(this,a,u)){var c=b(this,o.call(this,a,u),a,u,"mouse");c&&(Wn(a.view).on("mousemove.drag",p,ee).on("mouseup.drag",g,ee),oe(a.view),re(a),e=!1,t=a.clientX,n=a.clientY,c("start",a))}}function p(r){if(ie(r),!e){var i=r.clientX-t,o=r.clientY-n;e=i*i+o*o>l}c.mouse("drag",r)}function g(t){Wn(t.view).on("mousemove.drag mouseup.drag",null),ae(t.view,e),ie(t),c.mouse("end",t)}function y(t,n){if(i.call(this,t,n)){var e,r,a=t.changedTouches,u=o.call(this,t,n),c=a.length;for(e=0;e+t,t.easePoly=mo,t.easePolyIn=_o,t.easePolyInOut=mo,t.easePolyOut=bo,t.easeQuad=yo,t.easeQuadIn=function(t){return t*t},t.easeQuadInOut=yo,t.easeQuadOut=function(t){return t*(2-t)},t.easeSin=Mo,t.easeSinIn=function(t){return 1==+t?1:1-Math.cos(t*wo)},t.easeSinInOut=Mo,t.easeSinOut=function(t){return Math.sin(t*wo)},t.every=function(t,n){if("function"!=typeof n)throw new TypeError("test is not a function");let e=-1;for(const r of t)if(!n(r,++e,t))return!1;return!0},t.extent=A,t.fcumsum=function(t,n){const e=new T;let r=-1;return Float64Array.from(t,void 0===n?t=>e.add(+t||0):i=>e.add(+n(i,++r,t)||0))},t.filter=function(t,n){if("function"!=typeof n)throw new TypeError("test is not a function");const e=[];let r=-1;for(const i of t)n(i,++r,t)&&e.push(i);return e},t.flatGroup=function(t,...n){return D(z(t,...n),n)},t.flatRollup=function(t,n,...e){return D(F(t,n,...e),e)},t.forceCenter=function(t,n){var e,r=1;function i(){var i,o,a=e.length,u=0,c=0;for(i=0;if+p||os+p||ac.index){var g=f-u.x-u.vx,y=s-u.y-u.vy,v=g*g+y*y;vt.r&&(t.r=t[n].r)}function c(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r[u(t,n,r),t])));for(a=0,i=new Array(f);a=u)){(t.data!==n||t.next)&&(0===l&&(p+=(l=mc(e))*l),0===h&&(p+=(h=mc(e))*h),p(t=(1664525*t+1013904223)%Tc)/Tc}();function l(){h(),f.call("tick",n),e1?(null==e?u.delete(t):u.set(t,p(e)),n):u.get(t)},find:function(n,e,r){var i,o,a,u,c,f=0,s=t.length;for(null==r?r=1/0:r*=r,f=0;f1?(f.on(t,e),n):f.on(t)}}},t.forceX=function(t){var n,e,r,i=bc(.1);function o(t){for(var i,o=0,a=n.length;o=.12&&i<.234&&r>=-.425&&r<-.214?u:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:a).invert(t)},s.stream=function(e){return t&&n===e?t:(r=[a.stream(n=e),u.stream(e),c.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++eAs(r[0],r[1])&&(r[1]=i[1]),As(i[0],r[1])>As(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(u=As(r[1],i[0]))>a&&(a=u,Nf=i[0],Pf=r[1])}return Of=Uf=null,Nf===1/0||Cf===1/0?[[NaN,NaN],[NaN,NaN]]:[[Nf,Cf],[Pf,zf]]},t.geoCentroid=function(t){ts=ns=es=rs=is=os=as=us=0,cs=new T,fs=new T,ss=new T,Mf(t,Es);var n=+cs,e=+fs,r=+ss,i=uf(n,e,r);return i2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=vd,t.gray=function(t,n){return new ir(t,0,0,null==n?1:n)},t.greatest=ot,t.greatestIndex=function(t,e=n){if(1===e.length)return tt(t,e);let r,i=-1,o=-1;for(const n of t)++o,(i<0?0===e(n,n):e(n,r)>0)&&(r=n,i=o);return i},t.group=P,t.groupSort=function(t,e,r){return(2!==e.length?U(R(t,e,r),(([t,e],[r,i])=>n(e,i)||n(t,r))):U(P(t,r),(([t,r],[i,o])=>e(r,o)||n(t,i)))).map((([t])=>t))},t.groups=z,t.hcl=sr,t.hierarchy=wd,t.histogram=Q,t.hsl=$e,t.html=fc,t.image=function(t,n){return new Promise((function(e,r){var i=new Image;for(var o in n)i[o]=n[o];i.onerror=r,i.onload=function(){e(i)},i.src=t}))},t.index=function(t,...n){return I(t,C,q,n)},t.indexes=function(t,...n){return I(t,Array.from,q,n)},t.interpolate=Hr,t.interpolateArray=function(t,n){return(Ir(n)?qr:Or)(t,n)},t.interpolateBasis=Tr,t.interpolateBasisClosed=Sr,t.interpolateBlues=Cb,t.interpolateBrBG=L_,t.interpolateBuGn=ab,t.interpolateBuPu=cb,t.interpolateCividis=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-2710.57*t)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-67.37*t)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-2475.67*t)))))))+")"},t.interpolateCool=jb,t.interpolateCubehelix=fi,t.interpolateCubehelixDefault=Yb,t.interpolateCubehelixLong=si,t.interpolateDate=Ur,t.interpolateDiscrete=function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},t.interpolateGnBu=sb,t.interpolateGreens=zb,t.interpolateGreys=Rb,t.interpolateHcl=ai,t.interpolateHclLong=ui,t.interpolateHsl=ri,t.interpolateHslLong=ii,t.interpolateHue=function(t,n){var e=Nr(+t,+n);return function(t){var n=e(t);return n-360*Math.floor(n/360)}},t.interpolateInferno=Kb,t.interpolateLab=function(t,n){var e=Pr((t=rr(t)).l,(n=rr(n)).l),r=Pr(t.a,n.a),i=Pr(t.b,n.b),o=Pr(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}},t.interpolateMagma=Zb,t.interpolateNumber=Br,t.interpolateNumberArray=qr,t.interpolateObject=Yr,t.interpolateOrRd=hb,t.interpolateOranges=Bb,t.interpolatePRGn=$_,t.interpolatePiYG=X_,t.interpolatePlasma=Qb,t.interpolatePuBu=yb,t.interpolatePuBuGn=pb,t.interpolatePuOr=V_,t.interpolatePuRd=_b,t.interpolatePurples=qb,t.interpolateRainbow=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return $b.h=360*t-100,$b.s=1.5-1.5*n,$b.l=.8-.9*n,$b+""},t.interpolateRdBu=Z_,t.interpolateRdGy=Q_,t.interpolateRdPu=mb,t.interpolateRdYlBu=tb,t.interpolateRdYlGn=eb,t.interpolateReds=Ob,t.interpolateRgb=zr,t.interpolateRgbBasis=Rr,t.interpolateRgbBasisClosed=Fr,t.interpolateRound=Xr,t.interpolateSinebow=function(t){var n;return t=(.5-t)*Math.PI,Hb.r=255*(n=Math.sin(t))*n,Hb.g=255*(n=Math.sin(t+Xb))*n,Hb.b=255*(n=Math.sin(t+Gb))*n,Hb+""},t.interpolateSpectral=ib,t.interpolateString=$r,t.interpolateTransformCss=Qr,t.interpolateTransformSvg=Jr,t.interpolateTurbo=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"},t.interpolateViridis=Wb,t.interpolateWarm=Lb,t.interpolateYlGn=Ab,t.interpolateYlGnBu=wb,t.interpolateYlOrBr=Sb,t.interpolateYlOrRd=kb,t.interpolateZoom=ni,t.interrupt=Ii,t.intersection=function(t,...n){t=new InternSet(t),n=n.map(vt);t:for(const e of t)for(const r of n)if(!r.has(e)){t.delete(e);continue t}return t},t.interval=function(t,n,e){var r=new Ai,i=n;return null==n?(r.restart(t,n,e),r):(r._restart=r.restart,r.restart=function(t,n,e){n=+n,e=null==e?wi():+e,r._restart((function o(a){a+=i,r._restart(o,i+=n,e),t(a)}),n,e)},r.restart(t,n,e),r)},t.isoFormat=__,t.isoParse=m_,t.json=function(t,n){return fetch(t,n).then(ac)},t.lab=rr,t.lch=function(t,n,e,r){return 1===arguments.length?fr(t):new lr(e,n,t,null==r?1:r)},t.least=function(t,e=n){let r,i=!1;if(1===e.length){let o;for(const a of t){const t=e(a);(i?n(t,o)<0:0===n(t,t))&&(r=a,o=t,i=!0)}}else for(const n of t)(i?e(n,r)<0:0===e(n,n))&&(r=n,i=!0);return r},t.leastIndex=ht,t.line=Sm,t.lineRadial=Rm,t.link=$m,t.linkHorizontal=function(){return $m(Um)},t.linkRadial=function(){const t=$m(Ym);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return $m(Bm)},t.local=Kn,t.map=function(t,n){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");if("function"!=typeof n)throw new TypeError("mapper is not a function");return Array.from(t,((e,r)=>n(e,r,t)))},t.matcher=Ht,t.max=J,t.maxIndex=tt,t.mean=function(t,n){let e=0,r=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++e,r+=n);else{let i=-1;for(let o of t)null!=(o=n(o,++i,t))&&(o=+o)>=o&&(++e,r+=o)}if(e)return r/e},t.median=function(t,n){return at(t,.5,n)},t.medianIndex=function(t,n){return ct(t,.5,n)},t.merge=ft,t.min=nt,t.minIndex=et,t.mode=function(t,n){const e=new InternMap;if(void 0===n)for(let n of t)null!=n&&n>=n&&e.set(n,(e.get(n)||0)+1);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&i>=i&&e.set(i,(e.get(i)||0)+1)}let r,i=0;for(const[t,n]of e)n>i&&(i=n,r=t);return r},t.namespace=qt,t.namespaces=Ft,t.nice=Z,t.now=wi,t.pack=function(){var t=null,n=1,e=1,r=Cd;function i(i){const o=Dd();return i.x=n/2,i.y=e/2,t?i.eachBefore(Vd(t)).eachAfter(Wd(r,.5,o)).eachBefore(Zd(1)):i.eachBefore(Vd(Gd)).eachAfter(Wd(Cd,1,o)).eachAfter(Wd(r,i.r/Math.min(n,e),o)).eachBefore(Zd(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=kd(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:Pd(+t),i):r},i},t.packEnclose=function(t){return Rd(t,Dd())},t.packSiblings=function(t){return Xd(t,Dd()),t},t.pairs=function(t,n=st){const e=[];let r,i=!1;for(const o of t)i&&e.push(n(r,o)),r=o,i=!0;return e},t.partition=function(){var t=1,n=1,e=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/o,i.eachBefore(function(t,n){return function(r){r.children&&Qd(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,o=r.y0,a=r.x1-e,u=r.y1-e;a0&&(d+=l);for(null!=n?p.sort((function(t,e){return n(g[t],g[e])})):null!=e&&p.sort((function(t,n){return e(a[t],a[n])})),u=0,f=d?(v-h*b)/d:0;u0?l*f:0)+b,g[c]={data:a[c],index:u,value:l,startAngle:y,endAngle:s,padAngle:_};return g}return a.value=function(n){return arguments.length?(t="function"==typeof n?n:Jb(+n),a):t},a.sortValues=function(t){return arguments.length?(n=t,e=null,a):n},a.sort=function(t){return arguments.length?(e=t,n=null,a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Jb(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Jb(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Jb(+t),a):o},a},t.piecewise=li,t.pointRadial=qm,t.pointer=te,t.pointers=function(t,n){return t.target&&(t=Jn(t),void 0===n&&(n=t.currentTarget),t=t.touches||[t]),Array.from(t,(t=>te(t,n)))},t.polygonArea=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++eu!=f>u&&a<(c-e)*(u-r)/(f-r)+e&&(s=!s),c=e,f=r;return s},t.polygonHull=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n=0;--n)f.push(t[r[o[n]][2]]);for(n=+u;n(n=1664525*n+1013904223|0,Op*(n>>>0))},t.randomLogNormal=Ap,t.randomLogistic=qp,t.randomNormal=Mp,t.randomPareto=kp,t.randomPoisson=Ip,t.randomUniform=xp,t.randomWeibull=Rp,t.range=lt,t.rank=function(t,e=n){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");let r=Array.from(t);const i=new Float64Array(r.length);2!==e.length&&(r=r.map(e),e=n);const o=(t,n)=>e(r[t],r[n]);let a,u;return Uint32Array.from(r,((t,n)=>n)).sort(e===n?(t,n)=>Y(r[t],r[n]):B(o)).forEach(((t,n)=>{const e=o(t,void 0===a?t:a);e>=0?((void 0===a||e>0)&&(a=t,u=n),i[t]=u):i[t]=NaN})),i},t.reduce=function(t,n,e){if("function"!=typeof n)throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let i,o,a=-1;if(arguments.length<3){if(({done:i,value:e}=r.next()),i)return;++a}for(;({done:i,value:o}=r.next()),!i;)e=n(e,o,++a,t);return e},t.reverse=function(t){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");return Array.from(t).reverse()},t.rgb=Fe,t.ribbon=function(){return Ya()},t.ribbonArrow=function(){return Ya(Ba)},t.rollup=R,t.rollups=F,t.scaleBand=jp,t.scaleDiverging=function t(){var n=ng(E_()(Gp));return n.copy=function(){return T_(n,t())},Bp.apply(n,arguments)},t.scaleDivergingLog=function t(){var n=fg(E_()).domain([.1,1,10]);return n.copy=function(){return T_(n,t()).base(n.base())},Bp.apply(n,arguments)},t.scaleDivergingPow=k_,t.scaleDivergingSqrt=function(){return k_.apply(null,arguments).exponent(.5)},t.scaleDivergingSymlog=function t(){var n=hg(E_());return n.copy=function(){return T_(n,t()).constant(n.constant())},Bp.apply(n,arguments)},t.scaleIdentity=function t(n){var e;function r(t){return null==t||isNaN(t=+t)?e:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(n=Array.from(t,Hp),r):n.slice()},r.unknown=function(t){return arguments.length?(e=t,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,Hp):[0,1],ng(r)},t.scaleImplicit=Yp,t.scaleLinear=function t(){var n=Jp();return n.copy=function(){return Kp(n,t())},Up.apply(n,arguments),ng(n)},t.scaleLog=function t(){const n=fg(Qp()).domain([1,10]);return n.copy=()=>Kp(n,t()).base(n.base()),Up.apply(n,arguments),n},t.scaleOrdinal=Lp,t.scalePoint=function(){return $p(jp.apply(null,arguments).paddingInner(1))},t.scalePow=vg,t.scaleQuantile=function t(){var e,r=[],i=[],o=[];function a(){var t=0,n=Math.max(1,i.length);for(o=new Array(n-1);++t0?o[n-1]:r[0],n=i?[o[i-1],r]:[o[n-1],o[n]]},u.unknown=function(t){return arguments.length?(n=t,u):u},u.thresholds=function(){return o.slice()},u.copy=function(){return t().domain([e,r]).range(a).unknown(n)},Up.apply(ng(u),arguments)},t.scaleRadial=function t(){var n,e=Jp(),r=[0,1],i=!1;function o(t){var r=bg(e(t));return isNaN(r)?n:i?Math.round(r):r}return o.invert=function(t){return e.invert(_g(t))},o.domain=function(t){return arguments.length?(e.domain(t),o):e.domain()},o.range=function(t){return arguments.length?(e.range((r=Array.from(t,Hp)).map(_g)),o):r.slice()},o.rangeRound=function(t){return o.range(t).round(!0)},o.round=function(t){return arguments.length?(i=!!t,o):i},o.clamp=function(t){return arguments.length?(e.clamp(t),o):e.clamp()},o.unknown=function(t){return arguments.length?(n=t,o):n},o.copy=function(){return t(e.domain(),r).round(i).clamp(e.clamp()).unknown(n)},Up.apply(o,arguments),ng(o)},t.scaleSequential=function t(){var n=ng(A_()(Gp));return n.copy=function(){return T_(n,t())},Bp.apply(n,arguments)},t.scaleSequentialLog=function t(){var n=fg(A_()).domain([1,10]);return n.copy=function(){return T_(n,t()).base(n.base())},Bp.apply(n,arguments)},t.scaleSequentialPow=S_,t.scaleSequentialQuantile=function t(){var e=[],r=Gp;function i(t){if(null!=t&&!isNaN(t=+t))return r((l(e,t,1)-1)/(e.length-1))}return i.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)null==n||isNaN(n=+n)||e.push(n);return e.sort(n),i},i.interpolator=function(t){return arguments.length?(r=t,i):r},i.range=function(){return e.map(((t,n)=>r(n/(e.length-1))))},i.quantiles=function(t){return Array.from({length:t+1},((n,r)=>at(e,r/t)))},i.copy=function(){return t(r).domain(e)},Bp.apply(i,arguments)},t.scaleSequentialSqrt=function(){return S_.apply(null,arguments).exponent(.5)},t.scaleSequentialSymlog=function t(){var n=hg(A_());return n.copy=function(){return T_(n,t()).constant(n.constant())},Bp.apply(n,arguments)},t.scaleSqrt=function(){return vg.apply(null,arguments).exponent(.5)},t.scaleSymlog=function t(){var n=hg(Qp());return n.copy=function(){return Kp(n,t()).constant(n.constant())},Up.apply(n,arguments)},t.scaleThreshold=function t(){var n,e=[.5],r=[0,1],i=1;function o(t){return null!=t&&t<=t?r[l(e,t,0,i)]:n}return o.domain=function(t){return arguments.length?(e=Array.from(t),i=Math.min(e.length,r.length-1),o):e.slice()},o.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(e.length,r.length-1),o):r.slice()},o.invertExtent=function(t){var n=r.indexOf(t);return[e[n-1],e[n]]},o.unknown=function(t){return arguments.length?(n=t,o):n},o.copy=function(){return t().domain(e).range(r).unknown(n)},Up.apply(o,arguments)},t.scaleTime=function(){return Up.apply(M_(Hy,Xy,sy,uy,Xg,jg,Bg,Ig,Rg,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},t.scaleUtc=function(){return Up.apply(M_(jy,$y,By,Iy,wy,by,yy,dy,Rg,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},t.scan=function(t,n){const e=ht(t,n);return e<0?void 0:e},t.schemeAccent=P_,t.schemeBlues=Nb,t.schemeBrBG=Y_,t.schemeBuGn=ob,t.schemeBuPu=ub,t.schemeCategory10=C_,t.schemeDark2=z_,t.schemeGnBu=fb,t.schemeGreens=Pb,t.schemeGreys=Db,t.schemeOrRd=lb,t.schemeOranges=Ub,t.schemePRGn=j_,t.schemePaired=D_,t.schemePastel1=R_,t.schemePastel2=F_,t.schemePiYG=H_,t.schemePuBu=gb,t.schemePuBuGn=db,t.schemePuOr=G_,t.schemePuRd=vb,t.schemePurples=Fb,t.schemeRdBu=W_,t.schemeRdGy=K_,t.schemeRdPu=bb,t.schemeRdYlBu=J_,t.schemeRdYlGn=nb,t.schemeReds=Ib,t.schemeSet1=q_,t.schemeSet2=I_,t.schemeSet3=O_,t.schemeSpectral=rb,t.schemeTableau10=U_,t.schemeYlGn=Mb,t.schemeYlGnBu=xb,t.schemeYlOrBr=Tb,t.schemeYlOrRd=Eb,t.select=Wn,t.selectAll=function(t){return"string"==typeof t?new Gn([document.querySelectorAll(t)],[document.documentElement]):new Gn([Lt(t)],Xn)},t.selection=Vn,t.selector=Yt,t.selectorAll=$t,t.shuffle=dt,t.shuffler=pt,t.some=function(t,n){if("function"!=typeof n)throw new TypeError("test is not a function");let e=-1;for(const r of t)if(n(r,++e,t))return!0;return!1},t.sort=U,t.stack=function(){var t=Jb([]),n=Kx,e=Zx,r=Qx;function i(i){var o,a,u=Array.from(t.apply(this,arguments),Jx),c=u.length,f=-1;for(const t of i)for(o=0,++f;o0)for(var e,r,i,o,a,u,c=0,f=t[n[0]].length;c0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)},t.stackOffsetExpand=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,a=t[0].length;o0){for(var e,r=0,i=t[n[0]],o=i.length;r0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,a=1;afunction(t){let n=(t=`${t}`).length;op(t,n-1)&&!op(t,n-2)&&(t=t.slice(0,-1));return"/"===t[0]?t:`/${t}`}(t(n,e,r)))),e=n.map(ip),i=new Set(n).add("");for(const t of e)i.has(t)||(i.add(t),n.push(t),e.push(ip(t)),h.push(np));d=(t,e)=>n[e],p=(t,n)=>e[n]}for(a=0,i=h.length;a=0&&(f=h[t],f.data===np);--t)f.data=null}if(u.parent=Jd,u.eachBefore((function(t){t.depth=t.parent.depth+1,--i})).eachBefore(Sd),u.parent=null,i>0)throw new Error("cycle");return u}return r.id=function(t){return arguments.length?(n=kd(t),r):n},r.parentId=function(t){return arguments.length?(e=kd(t),r):e},r.path=function(n){return arguments.length?(t=kd(n),r):t},r},t.style=yn,t.subset=function(t,n){return _t(n,t)},t.sum=function(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let r=-1;for(let i of t)(i=+n(i,++r,t))&&(e+=i)}return e},t.superset=_t,t.svg=sc,t.symbol=function(t,n){let e=null;function r(){let r;if(e||(e=r=Pa()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return t="function"==typeof t?t:Jb(t||Gm),n="function"==typeof n?n:Jb(void 0===n?64:+n),r.type=function(n){return arguments.length?(t="function"==typeof n?n:Jb(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:Jb(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r},t.symbolAsterisk=Xm,t.symbolCircle=Gm,t.symbolCross=Vm,t.symbolDiamond=Km,t.symbolDiamond2=Qm,t.symbolPlus=Jm,t.symbolSquare=tx,t.symbolSquare2=nx,t.symbolStar=ox,t.symbolTriangle=ux,t.symbolTriangle2=fx,t.symbolWye=px,t.symbolX=gx,t.symbols=yx,t.symbolsFill=yx,t.symbolsStroke=vx,t.text=ec,t.thresholdFreedmanDiaconis=function(t,n,e){return Math.ceil((e-n)/(2*(at(t,.75)-at(t,.25))*Math.pow(_(t),-1/3)))},t.thresholdScott=function(t,n,e){return Math.ceil((e-n)*Math.cbrt(_(t))/(3.49*M(t)))},t.thresholdSturges=K,t.tickFormat=tg,t.tickIncrement=V,t.tickStep=W,t.ticks=G,t.timeDay=jg,t.timeDays=$g,t.timeFormatDefaultLocale=g_,t.timeFormatLocale=Zy,t.timeFriday=Kg,t.timeFridays=iy,t.timeHour=Bg,t.timeHours=Yg,t.timeInterval=wg,t.timeMillisecond=Ag,t.timeMilliseconds=Tg,t.timeMinute=Ig,t.timeMinutes=Og,t.timeMonday=Gg,t.timeMondays=ty,t.timeMonth=uy,t.timeMonths=cy,t.timeSaturday=Qg,t.timeSaturdays=oy,t.timeSecond=Rg,t.timeSeconds=Fg,t.timeSunday=Xg,t.timeSundays=Jg,t.timeThursday=Zg,t.timeThursdays=ry,t.timeTickInterval=Xy,t.timeTicks=Hy,t.timeTuesday=Vg,t.timeTuesdays=ny,t.timeWednesday=Wg,t.timeWednesdays=ey,t.timeWeek=Xg,t.timeWeeks=Jg,t.timeYear=sy,t.timeYears=ly,t.timeout=Ci,t.timer=Ti,t.timerFlush=Si,t.transition=ho,t.transpose=gt,t.tree=function(){var t=ap,n=1,e=1,r=null;function i(i){var c=function(t){for(var n,e,r,i,o,a=new lp(t,0),u=[a];n=u.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)u.push(e=n.children[i]=new lp(r[i],i)),e.parent=n;return(a.parent=new lp(null,0)).children=[a],a}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)i.eachBefore(u);else{var f=i,s=i,l=i;i.eachBefore((function(t){t.xs.x&&(s=t),t.depth>l.depth&&(l=t)}));var h=f===s?1:t(f,s)/2,d=h-f.x,p=n/(s.x+h+d),g=e/(l.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var o=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-o):n.z=o}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,o=n,a=n,u=e,c=o.parent.children[0],f=o.m,s=a.m,l=u.m,h=c.m;u=cp(u),o=up(o),u&&o;)c=up(c),(a=cp(a)).a=n,(i=u.z+l-o.z-f+t(u._,o._))>0&&(fp(sp(u,n,r),n,i),f+=i,s+=i),l+=u.m,f+=o.m,h+=c.m,s+=a.m;u&&!cp(a)&&(a.t=u,a.m+=l-s),o&&!up(c)&&(c.t=o,c.m+=f-h,r=n)}return r}(n,i,n.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function u(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},t.treemap=function(){var t=gp,n=!1,e=1,r=1,i=[0],o=Cd,a=Cd,u=Cd,c=Cd,f=Cd;function s(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(l),i=[0],n&&t.eachBefore(Kd),t}function l(n){var e=i[n.depth],r=n.x0+e,s=n.y0+e,l=n.x1-e,h=n.y1-e;l=e-1){var s=u[n];return s.x0=i,s.y0=o,s.x1=a,void(s.y1=c)}var l=f[n],h=r/2+l,d=n+1,p=e-1;for(;d>>1;f[g]c-o){var _=r?(i*v+a*y)/r:a;t(n,d,y,i,o,_,c),t(d,e,v,_,o,a,c)}else{var b=r?(o*v+c*y)/r:c;t(n,d,y,i,o,a,b),t(d,e,v,i,b,a,c)}}(0,c,t.value,n,e,r,i)},t.treemapDice=Qd,t.treemapResquarify=yp,t.treemapSlice=hp,t.treemapSliceDice=function(t,n,e,r,i){(1&t.depth?hp:Qd)(t,n,e,r,i)},t.treemapSquarify=gp,t.tsv=oc,t.tsvFormat=Gu,t.tsvFormatBody=Vu,t.tsvFormatRow=Zu,t.tsvFormatRows=Wu,t.tsvFormatValue=Ku,t.tsvParse=Hu,t.tsvParseRows=Xu,t.union=function(...t){const n=new InternSet;for(const e of t)for(const t of e)n.add(t);return n},t.utcDay=by,t.utcDays=my,t.utcFriday=Ey,t.utcFridays=Ry,t.utcHour=yy,t.utcHours=vy,t.utcMillisecond=Ag,t.utcMilliseconds=Tg,t.utcMinute=dy,t.utcMinutes=py,t.utcMonday=My,t.utcMondays=Cy,t.utcMonth=Iy,t.utcMonths=Oy,t.utcSaturday=ky,t.utcSaturdays=Fy,t.utcSecond=Rg,t.utcSeconds=Fg,t.utcSunday=wy,t.utcSundays=Ny,t.utcThursday=Sy,t.utcThursdays=Dy,t.utcTickInterval=$y,t.utcTicks=jy,t.utcTuesday=Ay,t.utcTuesdays=Py,t.utcWednesday=Ty,t.utcWednesdays=zy,t.utcWeek=wy,t.utcWeeks=Ny,t.utcYear=By,t.utcYears=Yy,t.variance=w,t.version="7.6.1",t.window=hn,t.xml=cc,t.zip=function(){return gt(arguments)},t.zoom=function(){var t,n,e,r=lw,i=hw,o=yw,a=pw,u=gw,c=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],s=250,l=ni,h=Nt("start","zoom","end"),d=500,p=0,g=10;function y(t){t.property("__zoom",dw).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",T).filter(u).on("touchstart.zoom",S).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",k).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,n){return(n=Math.max(c[0],Math.min(c[1],n)))===t.k?t:new aw(n,t.x,t.y)}function _(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new aw(t.k,r,i)}function b(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function m(t,n,e,r){t.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,a=x(t,o).event(r),u=i.apply(t,o),c=null==e?b(u):"function"==typeof e?e.apply(t,o):e,f=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),s=t.__zoom,h="function"==typeof n?n.apply(t,o):n,d=l(s.invert(c).concat(f/s.k),h.invert(c).concat(f/h.k));return function(t){if(1===t)t=h;else{var n=d(t),e=f/n[2];t=new aw(e,c[0]-n[0]*e,c[1]-n[1]*e)}a.zoom(null,t)}}))}function x(t,n,e){return!e&&t.__zooming||new w(t,n)}function w(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,n),this.taps=0}function M(t,...n){if(r.apply(this,arguments)){var e=x(this,n).event(t),i=this.__zoom,u=Math.max(c[0],Math.min(c[1],i.k*Math.pow(2,a.apply(this,arguments)))),s=te(t);if(e.wheel)e.mouse[0][0]===s[0]&&e.mouse[0][1]===s[1]||(e.mouse[1]=i.invert(e.mouse[0]=s)),clearTimeout(e.wheel);else{if(i.k===u)return;e.mouse=[s,i.invert(s)],Ii(this),e.start()}sw(t),e.wheel=setTimeout(l,150),e.zoom("mouse",o(_(v(i,u),e.mouse[0],e.mouse[1]),e.extent,f))}function l(){e.wheel=null,e.end()}}function A(t,...n){if(!e&&r.apply(this,arguments)){var i=t.currentTarget,a=x(this,n,!0).event(t),u=Wn(t.view).on("mousemove.zoom",h,!0).on("mouseup.zoom",d,!0),c=te(t,i),s=t.clientX,l=t.clientY;oe(t.view),fw(t),a.mouse=[c,this.__zoom.invert(c)],Ii(this),a.start()}function h(t){if(sw(t),!a.moved){var n=t.clientX-s,e=t.clientY-l;a.moved=n*n+e*e>p}a.event(t).zoom("mouse",o(_(a.that.__zoom,a.mouse[0]=te(t,i),a.mouse[1]),a.extent,f))}function d(t){u.on("mousemove.zoom mouseup.zoom",null),ae(t.view,a.moved),sw(t),a.event(t).end()}}function T(t,...n){if(r.apply(this,arguments)){var e=this.__zoom,a=te(t.changedTouches?t.changedTouches[0]:t,this),u=e.invert(a),c=e.k*(t.shiftKey?.5:2),l=o(_(v(e,c),a,u),i.apply(this,n),f);sw(t),s>0?Wn(this).transition().duration(s).call(m,l,a,t):Wn(this).call(y.transform,l,a,t)}}function S(e,...i){if(r.apply(this,arguments)){var o,a,u,c,f=e.touches,s=f.length,l=x(this,i,e.changedTouches.length===s).event(e);for(fw(e),a=0;a+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=u(e||this.defaultElement||this)[0],this.element=u(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=u(),this.hoverable=u(),this.focusable=u(),this.classesElementLookup={},e!==this&&(u.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=u(e.style?e.ownerDocument:e.document||e),this.window=u(this.document[0].defaultView||this.document[0].parentWindow)),this.options=u.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:u.noop,_create:u.noop,_init:u.noop,destroy:function(){var i=this;this._destroy(),u.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:u.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return u.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=u.widget.extend({},this.options[t]),n=0;n')).attr("accept-charset",r.formAcceptCharset),o=/\?/.test(r.url)?"&":"?","DELETE"===r.type?(r.url=r.url+o+"_method=DELETE",r.type="POST"):"PUT"===r.type?(r.url=r.url+o+"_method=PUT",r.type="POST"):"PATCH"===r.type&&(r.url=r.url+o+"_method=PATCH",r.type="POST"),a=e('').on("load",function(){var t,o=e.isArray(r.paramName)?r.paramName:[r.paramName];a.off("load").on("load",function(){var t;try{if(!(t=a.contents()).length||!t[0].firstChild)throw new Error}catch(e){t=void 0}f(200,"success",{iframe:t}),e('').appendTo(n),window.setTimeout(function(){n.remove()},0)}),n.prop("target",a.prop("name")).prop("action",r.url).prop("method",r.type),r.formData&&e.each(r.formData,function(t,r){e('').prop("name",r.name).val(r.value).appendTo(n)}),r.fileInput&&r.fileInput.length&&"POST"===r.type&&(t=r.fileInput.clone(),r.fileInput.after(function(e){return t[e]}),r.paramName&&r.fileInput.each(function(t){e(this).prop("name",o[t]||r.paramName)}),n.append(r.fileInput).prop("enctype","multipart/form-data").prop("encoding","multipart/form-data"),r.fileInput.removeAttr("form")),window.setTimeout(function(){n.submit(),t&&t.length&&r.fileInput.each(function(r,n){var a=e(t[r]);e(n).prop("name",a.prop("name")).attr("form",a.attr("form")),a.replaceWith(n)})},0)}),n.append(a).appendTo(document.body)},abort:function(){a&&a.off("load").prop("src",i),n&&n.remove()}}}}),e.ajaxSetup({converters:{"iframe text":function(t){return t&&e(t[0].body).text()},"iframe json":function(t){return t&&r[n](e(t[0].body).text())},"iframe html":function(t){return t&&e(t[0].body).html()},"iframe xml":function(t){var r=t&&t[0];return r&&e.isXMLDoc(r)?r:e.parseXML(r.XMLDocument&&r.XMLDocument.xml||e(r.body).html())},"iframe script":function(t){return t&&e.globalEval(e(t[0].body).text())}}})}); - -/* jQuery-File-Upload - v10.32.0 - https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload.js */ -!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery-ui/ui/widget"],e):"object"==typeof exports?e(require("jquery"),require("./vendor/jquery.ui.widget")):e(window.jQuery)}(function(e){"use strict";function t(t){var i="dragover"===t;return function(r){r.dataTransfer=r.originalEvent&&r.originalEvent.dataTransfer;var n=r.dataTransfer;n&&-1!==e.inArray("Files",n.types)&&!1!==this._trigger(t,e.Event(t,{delegatedEvent:r}))&&(r.preventDefault(),i&&(n.dropEffect="copy"))}}var i;e.support.fileInput=!(new RegExp("(Android (1\\.[0156]|2\\.[01]))|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)|(w(eb)?OSBrowser)|(webOS)|(Kindle/(1\\.0|2\\.[05]|3\\.0))").test(window.navigator.userAgent)||e('').prop("disabled")),e.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader),e.support.xhrFormDataFileUpload=!!window.FormData,e.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice),e.widget("blueimp.fileupload",{options:{dropZone:e(document),pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,uniqueFilenames:void 0,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(t,i){return t=this.messages[t]||t.toString(),i&&e.each(i,function(e,i){t=t.replace("{"+e+"}",i)}),t},formData:function(e){return e.serializeArray()},add:function(t,i){if(t.isDefaultPrevented())return!1;(i.autoUpload||!1!==i.autoUpload&&e(this).fileupload("option","autoUpload"))&&i.process().done(function(){i.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_promisePipe:(i=e.fn.jquery.split("."),Number(i[0])>1||Number(i[1])>7?"then":"pipe"),_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:e.support.blobSlice&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime(),this.loaded=0,this.bitrate=0,this.getBitrate=function(e,t,i){var r=e-this.timestamp;return(!this.bitrate||!i||r>i)&&(this.bitrate=(t-this.loaded)*(1e3/r)*8,this.loaded=t,this.timestamp=e),this.bitrate}},_isXHRUpload:function(t){return!t.forceIframeTransport&&(!t.multipart&&e.support.xhrFileUpload||e.support.xhrFormDataFileUpload)},_getFormData:function(t){var i;return"function"===e.type(t.formData)?t.formData(t.form):e.isArray(t.formData)?t.formData:"object"===e.type(t.formData)?(i=[],e.each(t.formData,function(e,t){i.push({name:e,value:t})}),i):[]},_getTotal:function(t){var i=0;return e.each(t,function(e,t){i+=t.size||1}),i},_initProgressObject:function(t){var i={loaded:0,total:0,bitrate:0};t._progress?e.extend(t._progress,i):t._progress=i},_initResponseObject:function(e){var t;if(e._response)for(t in e._response)Object.prototype.hasOwnProperty.call(e._response,t)&&delete e._response[t];else e._response={}},_onProgress:function(t,i){if(t.lengthComputable){var r,n=Date.now?Date.now():(new Date).getTime();if(i._time&&i.progressInterval&&n-i._time").prop("href",t.url).prop("host");t.dataType="iframe "+(t.dataType||""),t.formData=this._getFormData(t),t.redirect&&i&&i!==location.host&&t.formData.push({name:t.redirectParamName||"redirect",value:t.redirect})},_initDataSettings:function(e){this._isXHRUpload(e)?(this._chunkedUpload(e,!0)||(e.data||this._initXHRData(e),this._initProgressListener(e)),e.postMessage&&(e.dataType="postmessage "+(e.dataType||""))):this._initIframeSettings(e)},_getParamName:function(t){var i=e(t.fileInput),r=t.paramName;return r?e.isArray(r)||(r=[r]):(r=[],i.each(function(){for(var t=e(this),i=t.prop("name")||"files[]",n=(t.prop("files")||[1]).length;n;)r.push(i),n-=1}),r.length||(r=[i.prop("name")||"files[]"])),r},_initFormSettings:function(t){t.form&&t.form.length||(t.form=e(t.fileInput.prop("form")),t.form.length||(t.form=e(this.options.fileInput.prop("form")))),t.paramName=this._getParamName(t),t.url||(t.url=t.form.prop("action")||location.href),t.type=(t.type||"string"===e.type(t.form.prop("method"))&&t.form.prop("method")||"").toUpperCase(),"POST"!==t.type&&"PUT"!==t.type&&"PATCH"!==t.type&&(t.type="POST"),t.formAcceptCharset||(t.formAcceptCharset=t.form.attr("accept-charset"))},_getAJAXSettings:function(t){var i=e.extend({},this.options,t);return this._initFormSettings(i),this._initDataSettings(i),i},_getDeferredState:function(e){return e.state?e.state():e.isResolved()?"resolved":e.isRejected()?"rejected":"pending"},_enhancePromise:function(e){return e.success=e.done,e.error=e.fail,e.complete=e.always,e},_getXHRPromise:function(t,i,r){var n=e.Deferred(),o=n.promise();return i=i||this.options.context||o,!0===t?n.resolveWith(i,r):!1===t&&n.rejectWith(i,r),o.abort=n.promise,this._enhancePromise(o)},_addConvenienceMethods:function(t,i){var r=this,n=function(t){return e.Deferred().resolveWith(r,t).promise()};i.process=function(t,o){return(t||o)&&(i._processQueue=this._processQueue=(this._processQueue||n([this]))[r._promisePipe](function(){return i.errorThrown?e.Deferred().rejectWith(r,[i]).promise():n(arguments)})[r._promisePipe](t,o)),this._processQueue||n([this])},i.submit=function(){return"pending"!==this.state()&&(i.jqXHR=this.jqXHR=!1!==r._trigger("submit",e.Event("submit",{delegatedEvent:t}),this)&&r._onSend(t,this)),this.jqXHR||r._getXHRPromise()},i.abort=function(){return this.jqXHR?this.jqXHR.abort():(this.errorThrown="abort",r._trigger("fail",null,this),r._getXHRPromise(!1))},i.state=function(){return this.jqXHR?r._getDeferredState(this.jqXHR):this._processQueue?r._getDeferredState(this._processQueue):void 0},i.processing=function(){return!this.jqXHR&&this._processQueue&&"pending"===r._getDeferredState(this._processQueue)},i.progress=function(){return this._progress},i.response=function(){return this._response}},_getUploadedBytes:function(e){var t=e.getResponseHeader("Range"),i=t&&t.split("-"),r=i&&i.length>1&&parseInt(i[1],10);return r&&r+1},_chunkedUpload:function(t,i){t.uploadedBytes=t.uploadedBytes||0;var r,n,o=this,s=t.files[0],a=s.size,l=t.uploadedBytes,p=t.maxChunkSize||a,u=this._blobSlice,d=e.Deferred(),h=d.promise();return!(!(this._isXHRUpload(t)&&u&&(l||("function"===e.type(p)?p(t):p)=a?(s.error=t.i18n("uploadedBytes"),this._getXHRPromise(!1,t.context,[null,"error",s.error])):(n=function(){var i=e.extend({},t),h=i._progress.loaded;i.blob=u.call(s,l,l+("function"===e.type(p)?p(i):p),s.type),i.chunkSize=i.blob.size,i.contentRange="bytes "+l+"-"+(l+i.chunkSize-1)+"/"+a,o._trigger("chunkbeforesend",null,i),o._initXHRData(i),o._initProgressListener(i),r=(!1!==o._trigger("chunksend",null,i)&&e.ajax(i)||o._getXHRPromise(!1,i.context)).done(function(r,s,p){l=o._getUploadedBytes(p)||l+i.chunkSize,h+i.chunkSize-i._progress.loaded&&o._onProgress(e.Event("progress",{lengthComputable:!0,loaded:l-i.uploadedBytes,total:l-i.uploadedBytes}),i),t.uploadedBytes=i.uploadedBytes=l,i.result=r,i.textStatus=s,i.jqXHR=p,o._trigger("chunkdone",null,i),o._trigger("chunkalways",null,i),la._sending)for(var r=a._slots.shift();r;){if("pending"===a._getDeferredState(r)){r.resolve();break}r=a._slots.shift()}0===a._active&&a._trigger("stop")})};return this._beforeSend(t,l),this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?(this.options.limitConcurrentUploads>1?(o=e.Deferred(),this._slots.push(o),s=o[a._promisePipe](p)):(this._sequence=this._sequence[a._promisePipe](p,p),s=this._sequence),s.abort=function(){return n=[void 0,"abort","abort"],r?r.abort():(o&&o.rejectWith(l.context,n),p())},this._enhancePromise(s)):p()},_onAdd:function(t,i){var r,n,o,s,a=this,l=!0,p=e.extend({},this.options,i),u=i.files,d=u.length,h=p.limitMultiFileUploads,c=p.limitMultiFileUploadSize,f=p.limitMultiFileUploadSizeOverhead,g=0,_=this._getParamName(p),m=0;if(!d)return!1;if(c&&void 0===u[0].size&&(c=void 0),(p.singleFileUploads||h||c)&&this._isXHRUpload(p))if(p.singleFileUploads||c||!h)if(!p.singleFileUploads&&c)for(o=[],r=[],s=0;sc||h&&s+1-m>=h)&&(o.push(u.slice(m,s+1)),(n=_.slice(m,s+1)).length||(n=_),r.push(n),m=s+1,g=0);else r=_;else for(o=[],r=[],s=0;s").append(r)[0].reset(),i.after(r).detach(),n&&r.trigger("focus"),e.cleanData(i.off("remove")),this.options.fileInput=this.options.fileInput.map(function(e,t){return t===i[0]?r[0]:t}),i[0]===this.element[0]&&(this.element=r)},_handleFileTreeEntry:function(t,i){var r,n=this,o=e.Deferred(),s=[],a=function(e){e&&!e.entry&&(e.entry=t),o.resolve([e])},l=function(){r.readEntries(function(e){e.length?(s=s.concat(e),l()):function(e){n._handleFileTreeEntries(e,i+t.name+"/").done(function(e){o.resolve(e)}).fail(a)}(s)},a)};return i=i||"",t.isFile?t._file?(t._file.relativePath=i,o.resolve(t._file)):t.file(function(e){e.relativePath=i,o.resolve(e)},a):t.isDirectory?(r=t.createReader(),l()):o.resolve([]),o.promise()},_handleFileTreeEntries:function(t,i){var r=this;return e.when.apply(e,e.map(t,function(e){return r._handleFileTreeEntry(e,i)}))[this._promisePipe](function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(t){var i=(t=t||{}).items;return i&&i.length&&(i[0].webkitGetAsEntry||i[0].getAsEntry)?this._handleFileTreeEntries(e.map(i,function(e){var t;return e.webkitGetAsEntry?((t=e.webkitGetAsEntry())&&(t._file=e.getAsFile()),t):e.getAsEntry()})):e.Deferred().resolve(e.makeArray(t.files)).promise()},_getSingleFileInputFiles:function(t){var i,r,n=(t=e(t)).prop("entries");if(n&&n.length)return this._handleFileTreeEntries(n);if((i=e.makeArray(t.prop("files"))).length)void 0===i[0].name&&i[0].fileName&&e.each(i,function(e,t){t.name=t.fileName,t.size=t.fileSize});else{if(!(r=t.prop("value")))return e.Deferred().resolve([]).promise();i=[{name:r.replace(/^.*\\/,"")}]}return e.Deferred().resolve(i).promise()},_getFileInputFiles:function(t){return t instanceof e&&1!==t.length?e.when.apply(e,e.map(t,this._getSingleFileInputFiles))[this._promisePipe](function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(t)},_onChange:function(t){var i=this,r={fileInput:e(t.target),form:e(t.target.form)};this._getFileInputFiles(r.fileInput).always(function(n){r.files=n,i.options.replaceFileInput&&i._replaceFileInput(r),!1!==i._trigger("change",e.Event("change",{delegatedEvent:t}),r)&&i._onAdd(t,r)})},_onPaste:function(t){var i=t.originalEvent&&t.originalEvent.clipboardData&&t.originalEvent.clipboardData.items,r={files:[]};i&&i.length&&(e.each(i,function(e,t){var i=t.getAsFile&&t.getAsFile();i&&r.files.push(i)}),!1!==this._trigger("paste",e.Event("paste",{delegatedEvent:t}),r)&&this._onAdd(t,r))},_onDrop:function(t){t.dataTransfer=t.originalEvent&&t.originalEvent.dataTransfer;var i=this,r=t.dataTransfer,n={};r&&r.files&&r.files.length&&(t.preventDefault(),this._getDroppedFiles(r).always(function(r){n.files=r,!1!==i._trigger("drop",e.Event("drop",{delegatedEvent:t}),n)&&i._onAdd(t,n)}))},_onDragOver:t("dragover"),_onDragEnter:t("dragenter"),_onDragLeave:t("dragleave"),_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave}),this._on(this.options.pasteZone,{paste:this._onPaste})),e.support.fileInput&&this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragenter dragleave dragover drop"),this._off(this.options.pasteZone,"paste"),this._off(this.options.fileInput,"change")},_destroy:function(){this._destroyEventHandlers()},_setOption:function(t,i){var r=-1!==e.inArray(t,this._specialOptions);r&&this._destroyEventHandlers(),this._super(t,i),r&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var t=this.options;void 0===t.fileInput?t.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):t.fileInput instanceof e||(t.fileInput=e(t.fileInput)),t.dropZone instanceof e||(t.dropZone=e(t.dropZone)),t.pasteZone instanceof e||(t.pasteZone=e(t.pasteZone))},_getRegExp:function(e){var t=e.split("/"),i=t.pop();return t.shift(),new RegExp(t.join("/"),i)},_isRegExpOption:function(t,i){return"url"!==t&&"string"===e.type(i)&&/^\/.*\/[igm]{0,3}$/.test(i)},_initDataAttributes:function(){var t=this,i=this.options,r=this.element.data();e.each(this.element[0].attributes,function(e,n){var o,s=n.name.toLowerCase();/^data-/.test(s)&&(s=s.slice(5).replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()}),o=r[s],t._isRegExpOption(s,o)&&(o=t._getRegExp(o)),i[s]=o)})},_create:function(){this._initDataAttributes(),this._initSpecialOptions(),this._slots=[],this._sequence=this._getXHRPromise(!0),this._sending=this._active=0,this._initProgressObject(this),this._initEventHandlers()},active:function(){return this._active},progress:function(){return this._progress},add:function(t){var i=this;t&&!this.options.disabled&&(t.fileInput&&!t.files?this._getFileInputFiles(t.fileInput).always(function(e){t.files=e,i._onAdd(null,t)}):(t.files=e.makeArray(t.files),this._onAdd(null,t)))},send:function(t){if(t&&!this.options.disabled){if(t.fileInput&&!t.files){var i,r,n=this,o=e.Deferred(),s=o.promise();return s.abort=function(){return r=!0,i?i.abort():(o.reject(null,"abort","abort"),s)},this._getFileInputFiles(t.fileInput).always(function(e){r||(e.length?(t.files=e,(i=n._onSend(null,t)).then(function(e,t,i){o.resolve(e,t,i)},function(e,t,i){o.reject(e,t,i)})):o.reject())}),this._enhancePromise(s)}if(t.files=e.makeArray(t.files),t.files.length)return this._onSend(null,t)}return this._getXHRPromise(!1,t&&t.context)}})}); - -/* SimpleBar - v5.3.9 - https://unpkg.com/simplebar@latest/dist/simplebar.min.js - Under MIT License */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).SimpleBar=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r,n,i=function(t){return t&&t.Math==Math&&t},o=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof t&&t)||function(){return this}()||Function("return this")(),s=Object.defineProperty,a=function(t,e){try{s(o,t,{value:e,configurable:!0,writable:!0})}catch(r){o[t]=e}return e},c=o["__core-js_shared__"]||a("__core-js_shared__",{}),l=e((function(t){(t.exports=function(t,e){return c[t]||(c[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.22.6",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.6/LICENSE",source:"https://github.com/zloirock/core-js"})})),u=function(t){try{return!!t()}catch(t){return!0}},f=!u((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),h=Function.prototype,d=h.bind,p=h.call,v=f&&d.bind(p,p),g=f?function(t){return t&&v(t)}:function(t){return t&&function(){return p.apply(t,arguments)}},b=o.TypeError,y=function(t){if(null==t)throw b("Can't call method on "+t);return t},m=o.Object,x=function(t){return m(y(t))},E=g({}.hasOwnProperty),w=Object.hasOwn||function(t,e){return E(x(t),e)},O=0,S=Math.random(),A=g(1..toString),k=function(t){return"Symbol("+(void 0===t?"":t)+")_"+A(++O+S,36)},T=function(t){return"function"==typeof t},L=function(t){return T(t)?t:void 0},R=function(t,e){return arguments.length<2?L(o[t]):o[t]&&o[t][e]},_=R("navigator","userAgent")||"",j=o.process,z=o.Deno,M=j&&j.versions||z&&z.version,C=M&&M.v8;C&&(n=(r=C.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!n&&_&&(!(r=_.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=_.match(/Chrome\/(\d+)/))&&(n=+r[1]);var N=n,W=!!Object.getOwnPropertySymbols&&!u((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&N&&N<41})),I=W&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,P=l("wks"),B=o.Symbol,D=B&&B.for,F=I?B:B&&B.withoutSetter||k,V=function(t){if(!w(P,t)||!W&&"string"!=typeof P[t]){var e="Symbol."+t;W&&w(B,t)?P[t]=B[t]:P[t]=I&&D?D(e):F(e)}return P[t]},$={};$[V("toStringTag")]="z";var X="[object z]"===String($),H=!u((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),q=function(t){return"object"==typeof t?null!==t:T(t)},Y=o.document,G=q(Y)&&q(Y.createElement),U=function(t){return G?Y.createElement(t):{}},K=!H&&!u((function(){return 7!=Object.defineProperty(U("div"),"a",{get:function(){return 7}}).a})),J=H&&u((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Q=o.String,Z=o.TypeError,tt=function(t){if(q(t))return t;throw Z(Q(t)+" is not an object")},et=Function.prototype.call,rt=f?et.bind(et):function(){return et.apply(et,arguments)},nt=g({}.isPrototypeOf),it=o.Object,ot=I?function(t){return"symbol"==typeof t}:function(t){var e=R("Symbol");return T(e)&&nt(e.prototype,it(t))},st=o.String,at=function(t){try{return st(t)}catch(t){return"Object"}},ct=o.TypeError,lt=function(t){if(T(t))return t;throw ct(at(t)+" is not a function")},ut=function(t,e){var r=t[e];return null==r?void 0:lt(r)},ft=o.TypeError,ht=o.TypeError,dt=V("toPrimitive"),pt=function(t,e){if(!q(t)||ot(t))return t;var r,n=ut(t,dt);if(n){if(void 0===e&&(e="default"),r=rt(n,t,e),!q(r)||ot(r))return r;throw ht("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var r,n;if("string"===e&&T(r=t.toString)&&!q(n=rt(r,t)))return n;if(T(r=t.valueOf)&&!q(n=rt(r,t)))return n;if("string"!==e&&T(r=t.toString)&&!q(n=rt(r,t)))return n;throw ft("Can't convert object to primitive value")}(t,e)},vt=function(t){var e=pt(t,"string");return ot(e)?e:e+""},gt=o.TypeError,bt=Object.defineProperty,yt=Object.getOwnPropertyDescriptor,mt={f:H?J?function(t,e,r){if(tt(t),e=vt(e),tt(r),"function"==typeof t&&"prototype"===e&&"value"in r&&"writable"in r&&!r.writable){var n=yt(t,e);n&&n.writable&&(t[e]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return bt(t,e,r)}:bt:function(t,e,r){if(tt(t),e=vt(e),tt(r),K)try{return bt(t,e,r)}catch(t){}if("get"in r||"set"in r)throw gt("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},xt=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},Et=H?function(t,e,r){return mt.f(t,e,xt(1,r))}:function(t,e,r){return t[e]=r,t},wt=Function.prototype,Ot=H&&Object.getOwnPropertyDescriptor,St=w(wt,"name"),At={EXISTS:St,PROPER:St&&"something"===function(){}.name,CONFIGURABLE:St&&(!H||H&&Ot(wt,"name").configurable)},kt=g(Function.toString);T(c.inspectSource)||(c.inspectSource=function(t){return kt(t)});var Tt,Lt,Rt,_t=c.inspectSource,jt=o.WeakMap,zt=T(jt)&&/native code/.test(_t(jt)),Mt=l("keys"),Ct=function(t){return Mt[t]||(Mt[t]=k(t))},Nt={},Wt=o.TypeError,It=o.WeakMap;if(zt||c.state){var Pt=c.state||(c.state=new It),Bt=g(Pt.get),Dt=g(Pt.has),Ft=g(Pt.set);Tt=function(t,e){if(Dt(Pt,t))throw new Wt("Object already initialized");return e.facade=t,Ft(Pt,t,e),e},Lt=function(t){return Bt(Pt,t)||{}},Rt=function(t){return Dt(Pt,t)}}else{var Vt=Ct("state");Nt[Vt]=!0,Tt=function(t,e){if(w(t,Vt))throw new Wt("Object already initialized");return e.facade=t,Et(t,Vt,e),e},Lt=function(t){return w(t,Vt)?t[Vt]:{}},Rt=function(t){return w(t,Vt)}}var $t={set:Tt,get:Lt,has:Rt,enforce:function(t){return Rt(t)?Lt(t):Tt(t,{})},getterFor:function(t){return function(e){var r;if(!q(e)||(r=Lt(e)).type!==t)throw Wt("Incompatible receiver, "+t+" required");return r}}},Xt=e((function(t){var e=At.CONFIGURABLE,r=$t.enforce,n=$t.get,i=Object.defineProperty,o=H&&!u((function(){return 8!==i((function(){}),"length",{value:8}).length})),s=String(String).split("String"),a=t.exports=function(t,n,a){if("Symbol("===String(n).slice(0,7)&&(n="["+String(n).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),a&&a.getter&&(n="get "+n),a&&a.setter&&(n="set "+n),(!w(t,"name")||e&&t.name!==n)&&i(t,"name",{value:n,configurable:!0}),o&&a&&w(a,"arity")&&t.length!==a.arity&&i(t,"length",{value:a.arity}),a&&w(a,"constructor")&&a.constructor){if(H)try{i(t,"prototype",{writable:!1})}catch(t){}}else t.prototype=void 0;var c=r(t);return w(c,"source")||(c.source=s.join("string"==typeof n?n:"")),t};Function.prototype.toString=a((function(){return T(this)&&n(this).source||_t(this)}),"toString")})),Ht=function(t,e,r,n){n||(n={});var i=n.enumerable,o=void 0!==n.name?n.name:e;return T(r)&&Xt(r,o,n),n.global?i?t[e]=r:a(e,r):(n.unsafe?t[e]&&(i=!0):delete t[e],i?t[e]=r:Et(t,e,r)),t},qt=g({}.toString),Yt=g("".slice),Gt=function(t){return Yt(qt(t),8,-1)},Ut=V("toStringTag"),Kt=o.Object,Jt="Arguments"==Gt(function(){return arguments}()),Qt=X?Gt:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Kt(t),Ut))?r:Jt?Gt(e):"Object"==(n=Gt(e))&&T(e.callee)?"Arguments":n},Zt=X?{}.toString:function(){return"[object "+Qt(this)+"]"};X||Ht(Object.prototype,"toString",Zt,{unsafe:!0});var te={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},ee=U("span").classList,re=ee&&ee.constructor&&ee.constructor.prototype,ne=re===Object.prototype?void 0:re,ie=g(g.bind),oe=function(t,e){return lt(t),void 0===e?t:f?ie(t,e):function(){return t.apply(e,arguments)}},se=o.Object,ae=g("".split),ce=u((function(){return!se("z").propertyIsEnumerable(0)}))?function(t){return"String"==Gt(t)?ae(t,""):se(t)}:se,le=Math.ceil,ue=Math.floor,fe=Math.trunc||function(t){var e=+t;return(e>0?ue:le)(e)},he=function(t){var e=+t;return e!=e||0===e?0:fe(e)},de=Math.min,pe=function(t){return t>0?de(he(t),9007199254740991):0},ve=function(t){return pe(t.length)},ge=Array.isArray||function(t){return"Array"==Gt(t)},be=function(){},ye=[],me=R("Reflect","construct"),xe=/^\s*(?:class|function)\b/,Ee=g(xe.exec),we=!xe.exec(be),Oe=function(t){if(!T(t))return!1;try{return me(be,ye,t),!0}catch(t){return!1}},Se=function(t){if(!T(t))return!1;switch(Qt(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return we||!!Ee(xe,_t(t))}catch(t){return!0}};Se.sham=!0;var Ae=!me||u((function(){var t;return Oe(Oe.call)||!Oe(Object)||!Oe((function(){t=!0}))||t}))?Se:Oe,ke=V("species"),Te=o.Array,Le=function(t,e){return new(function(t){var e;return ge(t)&&(e=t.constructor,(Ae(e)&&(e===Te||ge(e.prototype))||q(e)&&null===(e=e[ke]))&&(e=void 0)),void 0===e?Te:e}(t))(0===e?0:e)},Re=g([].push),_e=function(t){var e=1==t,r=2==t,n=3==t,i=4==t,o=6==t,s=7==t,a=5==t||o;return function(c,l,u,f){for(var h,d,p=x(c),v=ce(p),g=oe(l,u),b=ve(v),y=0,m=f||Le,E=e?m(c,b):r||s?m(c,0):void 0;b>y;y++)if((a||y in v)&&(d=g(h=v[y],y,p),t))if(e)E[y]=d;else if(d)switch(t){case 3:return!0;case 5:return h;case 6:return y;case 2:Re(E,h)}else switch(t){case 4:return!1;case 7:Re(E,h)}return o?-1:n||i?i:E}},je={forEach:_e(0),map:_e(1),filter:_e(2),some:_e(3),every:_e(4),find:_e(5),findIndex:_e(6),filterReject:_e(7)},ze=function(t,e){var r=[][t];return!!r&&u((function(){r.call(null,e||function(){return 1},1)}))},Me=je.forEach,Ce=ze("forEach")?[].forEach:function(t){return Me(this,t,arguments.length>1?arguments[1]:void 0)},Ne=function(t){if(t&&t.forEach!==Ce)try{Et(t,"forEach",Ce)}catch(e){t.forEach=Ce}};for(var We in te)te[We]&&Ne(o[We]&&o[We].prototype);Ne(ne);var Ie=!("undefined"==typeof window||!window.document||!window.document.createElement),Pe={}.propertyIsEnumerable,Be=Object.getOwnPropertyDescriptor,De={f:Be&&!Pe.call({1:2},1)?function(t){var e=Be(this,t);return!!e&&e.enumerable}:Pe},Fe=function(t){return ce(y(t))},Ve=Object.getOwnPropertyDescriptor,$e={f:H?Ve:function(t,e){if(t=Fe(t),e=vt(e),K)try{return Ve(t,e)}catch(t){}if(w(t,e))return xt(!rt(De.f,t,e),t[e])}},Xe=Math.max,He=Math.min,qe=function(t,e){var r=he(t);return r<0?Xe(r+e,0):He(r,e)},Ye=function(t){return function(e,r,n){var i,o=Fe(e),s=ve(o),a=qe(n,s);if(t&&r!=r){for(;s>a;)if((i=o[a++])!=i)return!0}else for(;s>a;a++)if((t||a in o)&&o[a]===r)return t||a||0;return!t&&-1}},Ge={includes:Ye(!0),indexOf:Ye(!1)}.indexOf,Ue=g([].push),Ke=function(t,e){var r,n=Fe(t),i=0,o=[];for(r in n)!w(Nt,r)&&w(n,r)&&Ue(o,r);for(;e.length>i;)w(n,r=e[i++])&&(~Ge(o,r)||Ue(o,r));return o},Je=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Qe=Je.concat("length","prototype"),Ze={f:Object.getOwnPropertyNames||function(t){return Ke(t,Qe)}},tr={f:Object.getOwnPropertySymbols},er=g([].concat),rr=R("Reflect","ownKeys")||function(t){var e=Ze.f(tt(t)),r=tr.f;return r?er(e,r(t)):e},nr=function(t,e,r){for(var n=rr(e),i=mt.f,o=$e.f,s=0;s>>0||(kr(Ar,r)?16:10))}:wr;hr({global:!0,forced:parseInt!=Tr},{parseInt:Tr});var Lr=Object.keys||function(t){return Ke(t,Je)},Rr=Object.assign,_r=Object.defineProperty,jr=g([].concat),zr=!Rr||u((function(){if(H&&1!==Rr({b:1},Rr(_r({},"a",{enumerable:!0,get:function(){_r(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=Rr({},t)[r]||"abcdefghijklmnopqrst"!=Lr(Rr({},e)).join("")}))?function(t,e){for(var r=x(t),n=arguments.length,i=1,o=tr.f,s=De.f;n>i;)for(var a,c=ce(arguments[i++]),l=o?jr(Lr(c),o(c)):Lr(c),u=l.length,f=0;u>f;)a=l[f++],H&&!rt(s,c,a)||(r[a]=c[a]);return r}:Rr;hr({target:"Object",stat:!0,arity:2,forced:Object.assign!==zr},{assign:zr});var Mr,Cr=V("species"),Nr=je.filter,Wr=(Mr="filter",N>=51||!u((function(){var t=[];return(t.constructor={})[Cr]=function(){return{foo:1}},1!==t[Mr](Boolean).foo})));hr({target:"Array",proto:!0,forced:!Wr},{filter:function(t){return Nr(this,t,arguments.length>1?arguments[1]:void 0)}});var Ir,Pr={f:H&&!J?Object.defineProperties:function(t,e){tt(t);for(var r,n=Fe(e),i=Lr(e),o=i.length,s=0;o>s;)mt.f(t,r=i[s++],n[r]);return t}},Br=R("document","documentElement"),Dr=Ct("IE_PROTO"),Fr=function(){},Vr=function(t){return" + diff --git a/src/app.js b/src/app.js new file mode 100644 index 0000000..6d6d116 --- /dev/null +++ b/src/app.js @@ -0,0 +1,36 @@ +//Librairies +import Api from '@scripts/api'; +import Lang from '@scripts/lang'; +import Projects from '@scripts/projects'; +import User from '@scripts/user'; +import { createApp, reactive } from 'vue'; + +//Main template +import Spot from './Spot'; + +//Style +import Css from '@styles/spot'; + +//App Configuration from PHP +const appConfig = JSON.parse(document.getElementById('app-config').textContent); + +//Instances +const oProjects = new Projects(appConfig.projects); +const oUser = reactive(new User(appConfig.user, appConfig.consts.default_timezone)); +const oLang = new Lang({translations: appConfig.consts.lang, prefix: appConfig.consts.lang_prefix}); +const oApi = new Api({ + server: appConfig.consts.server, + processPage: appConfig.consts.process_page, + timezone: oUser.timezone, + errorCode: appConfig.consts.error, + lang: oLang +}); + +//Mount app +const oSpot = createApp(Spot); +oSpot.provide('appConfig', appConfig); +oSpot.provide('api', oApi); +oSpot.provide('lang', oLang); +oSpot.provide('projects', oProjects); +oSpot.provide('user', oUser); +oSpot.mount('#container'); diff --git a/src/components/admin.vue b/src/components/admin.vue new file mode 100644 index 0000000..5ae6a0e --- /dev/null +++ b/src/components/admin.vue @@ -0,0 +1,231 @@ + + diff --git a/src/components/adminInput.vue b/src/components/adminInput.vue new file mode 100644 index 0000000..bf99065 --- /dev/null +++ b/src/components/adminInput.vue @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/src/components/project.vue b/src/components/project.vue new file mode 100644 index 0000000..bfd3d8e --- /dev/null +++ b/src/components/project.vue @@ -0,0 +1,636 @@ + + + diff --git a/src/components/projectMapLink.vue b/src/components/projectMapLink.vue new file mode 100644 index 0000000..6aefb3a --- /dev/null +++ b/src/components/projectMapLink.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/components/projectMediaLink.vue b/src/components/projectMediaLink.vue new file mode 100644 index 0000000..061d82a --- /dev/null +++ b/src/components/projectMediaLink.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/components/projectNewsletter.vue b/src/components/projectNewsletter.vue new file mode 100644 index 0000000..e16e976 --- /dev/null +++ b/src/components/projectNewsletter.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/components/projectPopup.vue b/src/components/projectPopup.vue new file mode 100644 index 0000000..dc0873f --- /dev/null +++ b/src/components/projectPopup.vue @@ -0,0 +1,85 @@ + + + diff --git a/src/components/projectPost.vue b/src/components/projectPost.vue new file mode 100644 index 0000000..0d72c33 --- /dev/null +++ b/src/components/projectPost.vue @@ -0,0 +1,233 @@ + + + diff --git a/src/components/projectRelTime.vue b/src/components/projectRelTime.vue new file mode 100644 index 0000000..1bbc5ec --- /dev/null +++ b/src/components/projectRelTime.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/components/spotButton.vue b/src/components/spotButton.vue new file mode 100644 index 0000000..c4a2b5f --- /dev/null +++ b/src/components/spotButton.vue @@ -0,0 +1,19 @@ + + diff --git a/src/components/spotIcon.vue b/src/components/spotIcon.vue new file mode 100644 index 0000000..4109411 --- /dev/null +++ b/src/components/spotIcon.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/components/spotIconStack.vue b/src/components/spotIconStack.vue new file mode 100644 index 0000000..7f96eb9 --- /dev/null +++ b/src/components/spotIconStack.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/components/upload.vue b/src/components/upload.vue new file mode 100644 index 0000000..38780a9 --- /dev/null +++ b/src/components/upload.vue @@ -0,0 +1,149 @@ + + diff --git a/images/footprint_mapbox.png b/src/images/footprint_mapbox.png similarity index 100% rename from images/footprint_mapbox.png rename to src/images/footprint_mapbox.png diff --git a/images/icons/android-chrome-192x192.png b/src/images/icons/android-chrome-192x192.png similarity index 100% rename from images/icons/android-chrome-192x192.png rename to src/images/icons/android-chrome-192x192.png diff --git a/images/icons/android-chrome-512x512.png b/src/images/icons/android-chrome-512x512.png similarity index 100% rename from images/icons/android-chrome-512x512.png rename to src/images/icons/android-chrome-512x512.png diff --git a/images/icons/apple-touch-icon.png b/src/images/icons/apple-touch-icon.png similarity index 100% rename from images/icons/apple-touch-icon.png rename to src/images/icons/apple-touch-icon.png diff --git a/images/icons/browserconfig.xml b/src/images/icons/browserconfig.xml similarity index 100% rename from images/icons/browserconfig.xml rename to src/images/icons/browserconfig.xml diff --git a/images/icons/favicon-16x16.png b/src/images/icons/favicon-16x16.png similarity index 100% rename from images/icons/favicon-16x16.png rename to src/images/icons/favicon-16x16.png diff --git a/images/icons/favicon-32x32.png b/src/images/icons/favicon-32x32.png similarity index 100% rename from images/icons/favicon-32x32.png rename to src/images/icons/favicon-32x32.png diff --git a/images/icons/favicon.ico b/src/images/icons/favicon.ico similarity index 100% rename from images/icons/favicon.ico rename to src/images/icons/favicon.ico diff --git a/images/icons/mstile-144x144.png b/src/images/icons/mstile-144x144.png similarity index 100% rename from images/icons/mstile-144x144.png rename to src/images/icons/mstile-144x144.png diff --git a/images/icons/mstile-150x150.png b/src/images/icons/mstile-150x150.png similarity index 100% rename from images/icons/mstile-150x150.png rename to src/images/icons/mstile-150x150.png diff --git a/images/icons/mstile-310x150.png b/src/images/icons/mstile-310x150.png similarity index 100% rename from images/icons/mstile-310x150.png rename to src/images/icons/mstile-310x150.png diff --git a/images/icons/mstile-310x310.png b/src/images/icons/mstile-310x310.png similarity index 100% rename from images/icons/mstile-310x310.png rename to src/images/icons/mstile-310x310.png diff --git a/images/icons/mstile-70x70.png b/src/images/icons/mstile-70x70.png similarity index 100% rename from images/icons/mstile-70x70.png rename to src/images/icons/mstile-70x70.png diff --git a/images/icons/safari-pinned-tab.svg b/src/images/icons/safari-pinned-tab.svg similarity index 100% rename from images/icons/safari-pinned-tab.svg rename to src/images/icons/safari-pinned-tab.svg diff --git a/images/icons/site.webmanifest b/src/images/icons/site.webmanifest similarity index 100% rename from images/icons/site.webmanifest rename to src/images/icons/site.webmanifest diff --git a/images/logo_black.png b/src/images/logo_black.png similarity index 100% rename from images/logo_black.png rename to src/images/logo_black.png diff --git a/images/ogp.png b/src/images/ogp.png similarity index 100% rename from images/ogp.png rename to src/images/ogp.png diff --git a/images/source/footprint_mapbox.svg b/src/images/source/footprint_mapbox.svg similarity index 100% rename from images/source/footprint_mapbox.svg rename to src/images/source/footprint_mapbox.svg diff --git a/images/source/ogp.xcf b/src/images/source/ogp.xcf similarity index 100% rename from images/source/ogp.xcf rename to src/images/source/ogp.xcf diff --git a/images/source/spot.svg b/src/images/source/spot.svg similarity index 100% rename from images/source/spot.svg rename to src/images/source/spot.svg diff --git a/images/spot-logo-only.svg b/src/images/spot-logo-only.svg similarity index 100% rename from images/spot-logo-only.svg rename to src/images/spot-logo-only.svg diff --git a/images/spot-logo.svg b/src/images/spot-logo.svg similarity index 100% rename from images/spot-logo.svg rename to src/images/spot-logo.svg diff --git a/src/masks/email.confirmation.html b/src/masks/email.confirmation.html new file mode 100644 index 0000000..121c417 --- /dev/null +++ b/src/masks/email.confirmation.html @@ -0,0 +1,33 @@ + + + + + [#]lang:email.confirmation.subject[#] + + + [#]lang:email.confirmation.preheader[#] + + + + + + + + + + + + + + +
logo

[#]lang:email.confirmation.thanks_subject[#]

+

[#]lang:email.confirmation.body_1[#]

+

[#]lang:email.confirmation.body_2[#]

+

[#]lang:email.confirmation.body_3[#]

+
+

[#]lang:email.confirmation.conclusion[#]
[#]lang:email.confirmation.signature[#]

+
+

[#]lang:email.unsubscribe[#] [#]lang:email.unsubscribe_button[#]

+
+ + \ No newline at end of file diff --git a/src/masks/email.update.html b/src/masks/email.update.html new file mode 100644 index 0000000..7b4c617 --- /dev/null +++ b/src/masks/email.update.html @@ -0,0 +1,47 @@ + + + + + [#]lang:email.update.subject[#] + + + [#]lang:email.update.preheader[#] + + + + + + + + + + + + + + +
logo

[#]lang:email.update.title[#] [#]type[#] #[#]displayed_id[#]

+
+ position +
[#]lat_dms[#] [#]lon_dms[#] +
[#]date_time[#] ([#]timezone[#]) +
+
+

[#]lang:email.update.latest_news[#]

+ + + + + + +
+ +
[#]comment[#] + [#]content[#]
--[#]formatted_name[#] +
+
+
+

[#]lang:email.unsubscribe[#] [#]lang:email.unsubscribe_button[#]

+
+ + \ No newline at end of file diff --git a/masks/index.html b/src/masks/index.html similarity index 53% rename from masks/index.html rename to src/masks/index.html index a6572df..2bb9cfe 100755 --- a/masks/index.html +++ b/src/masks/index.html @@ -3,13 +3,13 @@ - + - + - + - + @@ -19,22 +19,11 @@ - - - - - - - - - + + Spotty -
-
-
+
+ - \ No newline at end of file + diff --git a/src/scripts/api.js b/src/scripts/api.js new file mode 100644 index 0000000..90c2db2 --- /dev/null +++ b/src/scripts/api.js @@ -0,0 +1,44 @@ +export default class Api { + + constructor({server, processPage, timezone, errorCode, lang}) { + this.server = server; + this.processPage = processPage; + this.timezone = timezone; + this.errorCode = errorCode; + this.lang = lang; + } + + async get(action, params = {}) { + const response = await this.request(action, params); + return response.data; + } + + async request(action, params = {}) { + const requestParams = { + ...params, + a: action, + t: this.timezone + }; + + const url = new URL(this.processPage, this.server); + url.search = new URLSearchParams(requestParams).toString(); + + const request = await fetch(url, { + method: 'GET', + headers: {'Content-Type': 'application/json'} + }); + + if(!request.ok) { + throw new Error('Error HTTP ' + request.status + ': ' + request.statusText); + } + + const response = await request.json(); + response.desc = this.lang.parse(response.desc); + + if(response.result == this.errorCode) { + throw response.desc; + } + + return response; + } +} diff --git a/src/scripts/common.js b/src/scripts/common.js new file mode 100644 index 0000000..e5ed44c --- /dev/null +++ b/src/scripts/common.js @@ -0,0 +1,47 @@ +/* Common Functions */ + +export function copyTextToClipboard(text) { + if(!navigator.clipboard) { + var textArea = document.createElement('textarea'); + textArea.value = text; + + // Avoid scrolling to bottom + textArea.style.top = '0'; + textArea.style.left = '0'; + textArea.style.position = 'fixed'; + + document.body.appendChild(textArea); + textArea.focus(); + textArea.select(); + + try { + var successful = document.execCommand('copy'); + if(!successful) console.error('Fallback: Oops, unable to copy', text); + } catch (err) { + console.error('Fallback: Oops, unable to copy', err); + } + + document.body.removeChild(textArea); + return; + } + navigator.clipboard.writeText(text).then( + function() {}, + function(err) { + console.error('Async: Could not copy text: ', err); + } + ); +} + +export function getOuterWidth(element) { + var style = getComputedStyle(element); + var width = element.offsetWidth; // Width without padding and border + width += parseInt(style.marginLeft) + parseInt(style.marginRight); // Add margins + + // Check if the box-sizing is border-box (includes padding and border in the width) + if (style.boxSizing === 'border-box') { + width += parseInt(style.paddingLeft) + parseInt(style.paddingRight); // Add padding + width += parseInt(style.borderLeftWidth) + parseInt(style.borderRightWidth); // Add border + } + + return width; +} \ No newline at end of file diff --git a/src/scripts/icons.js b/src/scripts/icons.js new file mode 100644 index 0000000..8a79665 --- /dev/null +++ b/src/scripts/icons.js @@ -0,0 +1,168 @@ +import { + faArrowsRotate, + faBars, + faCamera, + faCarSide, + faChartArea, + faCheck, + faChevronLeft, + faChevronRight, + faCircleCheck, + faCircleDown, + faCirclePlay, + faCircleRight, + faCircleUp, + faCircleXmark, + faCloudArrowUp, + faCloudBolt, + faCloudMoon, + faCloudMoonRain, + faCloudRain, + faCloudSun, + faCloudSunRain, + faComment, + faCompass, + faFileArrowDown, + faFilm, + faFloppyDisk, + faGear, + faGlobe, + faImage, + faLayerGroup, + faLink, + faLocationPin, + faMagnifyingGlass, + faMagnifyingGlassLocation, + faMapLocationDot, + faMountain, + faPaperPlane, + faPaw, + faPersonHiking, + faPhotoFilm, + faPlus, + faScrewdriverWrench, + faShoePrints, + faSun, + faTemperatureThreeQuarters, + faTriangleExclamation, + faVideo, + faWifi, + faWind, + faClock +} from '@fortawesome/free-solid-svg-icons'; + +function customIcon(iconName, width, height, hex, path) { + return { + prefix: 'fas', + iconName, + icon: [width, height, [], hex, path] + }; +} + +/* TODO: Use official icons: https://github.com/visualcrossing/WeatherIcons/tree/main/SVG/2nd%20Set%20-%20Monochrome */ +const faCloudBoltMoon = customIcon('cloud-bolt-moon', 640, 512, 'f76d', 'M399.1 48.4c34.7 19.6 59.3 54.8 64.2 96.1 38.8 22 64.9 63.6 64.9 111.4 35.6 .6 63.5-10.3 89.7-31.2 3.5-2.8 6.9-5.8 10.1-8.9 4.1-4 5.3-10.1 3-15.3s-7.7-8.4-13.4-7.9c-4 .3-7.9 .4-11.9 .3-55.5-1.9-99.9-47.5-99.9-103.4 0-36.3 18.7-68.3 47.1-86.8 3.3-2.2 6.8-4.1 10.3-5.9 5.1-2.5 8.1-8 7.4-13.7s-4.9-10.3-10.4-11.6c-10.5-2.4-21.2-3.5-31.9-3.5-56.7 0-105.8 32.8-129.3 80.5zM206.8 416L175.5 520.1c-3.6 11.9 5.3 23.9 17.8 23.9 4.6 0 9-1.7 12.4-4.7L346.9 412.9c3.5-3.1 5.5-7.6 5.5-12.4 0-9.2-7.4-16.6-16.6-16.6l-61.8 0 31.2-104.1c3.6-11.9-5.3-23.9-17.8-23.9-4.6 0-9 1.7-12.4 4.7L133.9 387.1c-3.5 3.1-5.5 7.6-5.5 12.4 0 9.2 7.4 16.6 16.6 16.6l61.8 0zm193.5-80.1c44.2 0 80-35.8 80-80 0-39.3-28.4-72.1-65.8-78.7 1.2-5.6 1.9-11.3 1.9-17.2 0-44.2-35.8-80-80-80-17 0-32.8 5.3-45.8 14.4-16.8-27.8-47.3-46.4-82.2-46.4-53.1 0-96.3 44.5-96 97.3-45.4 7.6-80 47.1-80 94.6 0 50 38.3 91.1 87.2 95.6L243.1 225c12.2-10.9 28-17 44.4-17 44.6 0 76.5 43 63.7 85.7l-12.7 42.2 61.8 0z'); +const faCloudBoltSun = customIcon('cloud-bolt-sun', 576, 512, 'f76e', 'M248.5-31c-4.2-1.7-8.9-1.3-12.6 1.2L176 9.9 116.2-29.8c-3.7-2.5-8.5-2.9-12.6-1.2s-7.2 5.4-8.1 9.8L81.2 49.2 10.8 63.4c-4.4 .9-8.1 3.9-9.8 8.1S-.2 80.4 2.3 84.2L41.9 144 2.3 203.8c-2.5 3.7-2.9 8.5-1.2 12.6s5.4 7.2 9.8 8.1l69.3 14c.5-47.2 26.5-88.2 64.9-110 7.3-60.8 57.3-108.5 119.1-112.3l-7.6-37.4c-.9-4.4-3.9-8.1-8.1-9.8zM128 239.9c0 44.2 35.8 80 80 80l6.7 0 124-111c12.2-10.9 28-17 44.4-17 44.6 0 76.5 43 63.7 85.7l-12.7 42.2 45.8 0c53 0 96-43 96-96 0-47.6-34.6-87-80-94.6 .4-52.8-42.9-97.3-96-97.3-34.9 0-65.4 18.6-82.2 46.4-13-9.1-28.8-14.4-45.8-14.4-44.2 0-80 35.8-80 80 0 5.9 .6 11.7 1.9 17.2-37.4 6.7-65.8 39.4-65.8 78.7zM302.4 400L271.2 504.1c-3.6 11.9 5.3 23.9 17.8 23.9 4.6 0 9-1.7 12.4-4.7L442.5 396.9c3.5-3.1 5.5-7.6 5.5-12.4 0-9.2-7.4-16.6-16.6-16.6l-61.8 0 31.2-104.1c3.6-11.9-5.3-23.9-17.8-23.9-4.6 0-9 1.7-12.4 4.7L229.5 371.1c-3.5 3.1-5.5 7.6-5.5 12.4 0 9.2 7.4 16.6 16.6 16.6l61.8 0z'); +const faCloudFog = customIcon('cloud-fog', 576, 512, 'f74e', 'M32 224c0 53 43 96 96 96l320 0c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0 1.1-5.2 1.6-10.5 1.6-16 0-44.2-35.8-80-80-80-24.3 0-46.1 10.9-60.8 28-18.7-35.7-56.1-60-99.2-60-61.9 0-112 50.1-112 112 0 7.1 .7 14.1 1.9 20.8-38.3 12.6-65.9 48.7-65.9 91.2zM512 392c0-13.3-10.7-24-24-24L24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24zM88 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm176 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l288 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-288 0z'); +const faCloudHail = customIcon('cloud-hail', 512, 512, 'f739', 'M96 320c-53 0-96-43-96-96 0-42.5 27.6-78.6 65.9-91.2-1.3-6.7-1.9-13.7-1.9-20.8 0-61.9 50.1-112 112-112 43.1 0 80.5 24.3 99.2 60 14.7-17.1 36.5-28 60.8-28 44.2 0 80 35.8 80 80 0 5.5-.6 10.8-1.6 16 .5 0 1.1 0 1.6 0 53 0 96 43 96 96s-43 96-96 96L96 320zm0 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'); +const faCloudSleet = customIcon('cloud-sleet', 512, 512, 'f741', 'M96 320c-53 0-96-43-96-96 0-42.5 27.6-78.6 65.9-91.2-1.3-6.7-1.9-13.7-1.9-20.8 0-61.9 50.1-112 112-112 43.1 0 80.5 24.3 99.2 60 14.7-17.1 36.5-28 60.8-28 44.2 0 80 35.8 80 80 0 5.5-.6 10.8-1.6 16 .5 0 1.1 0 1.6 0 53 0 96 43 96 96s-43 96-96 96L96 320zm80 48c13.3 0 24 10.7 24 24l0 16 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-16c0-13.3 10.7-24 24-24zm272 24l0 16 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24zM86.8 399.6l-32 96C50.6 508.2 37 515 24.4 510.8S5 493 9.2 480.4l32-96C45.4 371.8 59 365 71.6 369.2S91 387 86.8 399.6zm248 0l-32 96c-4.2 12.6-17.8 19.4-30.4 15.2S253 493 257.2 480.4l32-96c4.2-12.6 17.8-19.4 30.4-15.2S339 387 334.8 399.6z'); +const faCloudSnow = customIcon('cloud-snow', 512, 512, 'f742', 'M96 320c-53 0-96-43-96-96 0-42.5 27.6-78.6 65.9-91.2-1.3-6.7-1.9-13.7-1.9-20.8 0-61.9 50.1-112 112-112 43.1 0 80.5 24.3 99.2 60 14.7-17.1 36.5-28 60.8-28 44.2 0 80 35.8 80 80 0 5.5-.6 10.8-1.6 16 .5 0 1.1 0 1.6 0 53 0 96 43 96 96s-43 96-96 96L96 320zm0 72l0 16 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24zm184 32l0 16 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24zm160-56c13.3 0 24 10.7 24 24l0 16 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-16 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-16 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-16c0-13.3 10.7-24 24-24z'); +const faClouds = customIcon('clouds', 576, 512, 'e47d', 'M112.4 276.4c-5.6 3.5-11 7.4-16 11.6l-.4 0c-53 0-96-43-96-96S43 96 96 96l1.1 0c7.8-54.3 54.4-96 110.9-96 47.9 0 88.8 30.1 104.8 72.4 12-5.4 25.2-8.4 39.2-8.4 53 0 96 43 96 96 0 1.3 0 2.7-.1 4-10.2-2.6-20.9-4-31.9-4-14 0-27.4 2.2-40 6.4-27.9-23.9-64.3-38.4-104-38.4-84.4 0-153.6 65.4-159.6 148.4zM184 480c-48.6 0-88-39.4-88-88 0-40.9 27.8-75.2 65.6-85.1-1-6.1-1.6-12.4-1.6-18.9 0-61.9 50.1-112 112-112 39 0 73.3 19.9 93.3 50.1 13.8-11.3 31.4-18.1 50.7-18.1 44.2 0 80 35.8 80 80 0 .4 0 .9 0 1.3 45.4 7.6 80 47.1 80 94.7 0 53-43 96-96 96l-296 0z'); +const faCommentPen = customIcon('comment-pen', 512, 512, 'f4ae', 'M256 480c141.4 0 256-107.5 256-240S397.4 0 256 0 0 107.5 0 240c0 54.3 19.2 104.3 51.6 144.5L2.8 476.8c-4.8 9-3.3 20 3.6 27.5s17.8 9.8 27.1 5.8l118.4-50.7C183.7 472.6 218.9 480 256 480zM144.4 334.3l12.3-49.4c2.1-8.4 6.5-16.2 12.6-22.3L290.7 141.3c8.5-8.5 20-13.3 32-13.3 25 0 45.3 20.3 45.3 45.3 0 12-4.8 23.5-13.3 32L233.4 326.6c-6.2 6.2-13.9 10.5-22.3 12.6l-49.4 12.3c-1.1 .3-2.3 .4-3.5 .4-7.9 0-14.2-6.4-14.2-14.2 0-1.2 .1-2.3 .4-3.5z'); +const faMoonStars = customIcon('moon-stars', 512, 512, 'f755', 'M439.8 89.8c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11 11 38.6zM224 64C100.3 64 0 164.3 0 288S100.3 512 224 512c60.2 0 114.9-23.8 155.1-62.4 6.4-6.1 8.2-15.7 4.6-23.8s-12-13-20.8-12.3c-4.3 .3-8.6 .5-12.9 .5-88.9 0-161-72.1-161-161 0-63.1 36.3-117.8 89.3-144.2 7.9-4 12.6-12.5 11.5-21.3s-7.6-16-16.2-18C257.6 65.9 241 64 224 64zM355.2 268.8l16.6 58c1.6 5.5 6.6 9.2 12.2 9.2s10.7-3.8 12.2-9.2l16.6-58 58-16.6c5.5-1.6 9.2-6.6 9.2-12.2s-3.8-10.7-9.2-12.2l-58-16.6-16.6-58c-1.6-5.5-6.6-9.2-12.2-9.2s-10.7 3.8-12.2 9.2l-16.6 58-58 16.6c-5.5 1.6-9.2 6.6-9.2 12.2s3.8 10.7 9.2 12.2l58 16.6z'); + +const ICONS = { + /* Navigation */ + menu: faBars, + error: faTriangleExclamation, + warning: faTriangleExclamation, + success: faCircleCheck, + new: faPlus, + refresh: faArrowsRotate, + cancel: faImage, + prev: faChevronLeft, + back: faChevronLeft, + next: faChevronRight, + close: faCircleXmark, + + /* Map */ + map: faMapLocationDot, + marker: faLocationPin, + footprint: faShoePrints, + 'off-track': faPersonHiking, + 'main': faPersonHiking, + 'hitchhiking': faCarSide, + 'track-start': faPersonHiking, + 'track-end': faPersonHiking, + layers: faLayerGroup, + 'elev-chart': faChartArea, + distance: faCircleRight, + 'elev-drop': faCircleDown, + 'elev-gain': faCircleUp, + download: faFileArrowDown, + + /* Admin */ + newsletter: faWifi, + project: faPersonHiking, + unsubscribe: faCircleXmark, + credits: faPaw, + admin: faScrewdriverWrench, + config: faGear, + upload: faCloudArrowUp, + + /* Upload */ + save: faFloppyDisk, + + /* Feed */ + post: faComment, + media: faPhotoFilm, + video: faFilm, + image: faImage, + message: faLocationPin, + time: faClock, + coords: faCompass, + altitude: faMountain, + 'drill-video': faCirclePlay, + 'drill-image': faMagnifyingGlass, + 'drill-message': faMagnifyingGlassLocation, + 'video-shot': faVideo, + 'image-shot': faCamera, + link: faLink, + copied: faCheck, + + /* Feed - Poster */ + poster: faCommentPen, + send: faPaperPlane, + subscribe: faPaperPlane, + + /* Lightbox */ + timezone: faGlobe, + + /* Weather */ + temperature: faTemperatureThreeQuarters, + 'clear-day': faSun, + 'clear-night': faMoonStars, + cloudy: faClouds, + fog: faCloudFog, + hail: faCloudHail, + 'partly-cloudy-day': faCloudSun, + 'partly-cloudy-night': faCloudMoon, + 'rain-snow-showers-day': faCloudSunRain, + 'rain-snow-showers-night': faCloudMoonRain, + 'rain-snow': faCloudSleet, + rain: faCloudRain, + 'showers-day': faCloudSunRain, + 'showers-night': faCloudMoonRain, + sleet: faCloudSleet, + snow: faCloudSnow, + 'snow-showers-day': faCloudSnow, + 'snow-showers-night': faCloudSnow, + 'thunder-rain': faCloudBolt, + 'thunder-showers-day': faCloudBoltSun, + 'thunder-showers-night': faCloudBoltMoon, + thunder: faCloudBolt, + wind: faWind +}; + +export function getIcon(iconName) { + return ICONS[iconName] || null; +} diff --git a/src/scripts/lang.js b/src/scripts/lang.js new file mode 100644 index 0000000..a613b81 --- /dev/null +++ b/src/scripts/lang.js @@ -0,0 +1,31 @@ +export default class Lang { + + constructor({ translations = {}, prefix = '' } = {}) { + this.translations = translations; + this.prefix = prefix; + } + + get(key = '', params = []) { + if(key === '') return ''; + + const normalizedParams = Array.isArray(params) ? params : [params]; + + if(Object.prototype.hasOwnProperty.call(this.translations, key)) { + let text = this.translations[key]; + normalizedParams.forEach((param, index) => { + text = text.replace('$' + index, param); + }); + return text; + } + + console.warn('Missing translation:', key); + return key; + } + + parse(message = '') { + if(this.prefix && typeof message === 'string' && message.startsWith(this.prefix)) { + return this.get(message.slice(this.prefix.length)); + } + return message; + } +} diff --git a/src/scripts/lightbox.js b/src/scripts/lightbox.js new file mode 100644 index 0000000..dfa4850 --- /dev/null +++ b/src/scripts/lightbox.js @@ -0,0 +1,613 @@ +import { icon } from '@fortawesome/fontawesome-svg-core'; +import { getIcon } from '@scripts/icons'; + +export default class Lightbox { + constructor(options = {}) { + this.album = []; + this.currentImageIndex = 0; + this.options = { + albumLabel: 'Image %1 of %2', + alwaysShowNavOnTouchDevices: false, + fadeDuration: 600, + fitImagesInViewport: true, + imageFadeDuration: 600, + positionFromTop: 50, + resizeDuration: 700, + wrapAround: false, + disableScrolling: false, + sanitizeTitle: false, + hasVideo: true, + onMediaChange: () => {}, + onClosing: () => {} + }; + this.option(options); + this.gMouseDownOffsetX = 0; + this.gMouseDownOffsetY = 0; + this.resizeTimer = null; + this.boundOnBodyClick = this.onBodyClick.bind(this); + this.boundOnResize = this.sizeOverlay.bind(this); + this.boundOnKeyUp = this.keyboardAction.bind(this); + this.boundOnWheel = this.onWheel.bind(this); + this.boundOnDragStart = this.onDragStart.bind(this); + this.boundOnDragMove = this.onDragMove.bind(this); + this.boundOnDragEnd = this.onDragEnd.bind(this); + this.init(); + } + + option(options = {}) { + Object.assign(this.options, options); + } + + init() { + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', () => { + this.build(); + this.enable(); + }, { once: true }); + } else { + this.build(); + this.enable(); + } + } + + enable() { + document.body.addEventListener('click', this.boundOnBodyClick); + } + + onBodyClick(event) { + const link = event.target.closest('a[data-lightbox], area[data-lightbox]'); + if (!link) return; + event.preventDefault(); + this.start(link); + } + + renderIcon(name, sClass=null) { + return icon(getIcon(name), {classes: ['spot-icon', name, sClass]}).html; + } + + build() { + if (!document.getElementById('lightbox')) { + const wrapper = document.createElement('div'); + wrapper.innerHTML = ` +
+ + `; + document.body.append(...wrapper.children); + } + + this.overlay = document.getElementById('lightboxOverlay'); + this.lightbox = document.getElementById('lightbox'); + this.outerContainer = this.lightbox.querySelector('.lb-outerContainer'); + this.container = this.lightbox.querySelector('.lb-container'); + this.image = this.lightbox.querySelector('.lb-image'); + this.nav = this.lightbox.querySelector('.lb-nav'); + this.loader = this.lightbox.querySelector('.lb-loader'); + this.caption = this.lightbox.querySelector('.lb-caption'); + this.closeButton = this.lightbox.querySelector('.lb-close'); + this.dataContainer = this.lightbox.querySelector('.lb-dataContainer'); + this.prev = this.lightbox.querySelector('.lb-prev'); + this.next = this.lightbox.querySelector('.lb-next'); + this.video = this.lightbox.querySelector('.lb-video'); + + this.setVisible(this.overlay, false); + this.setVisible(this.lightbox, false); + + this.containerPadding = this.getBoxMetrics(this.container, 'padding'); + this.imageBorderWidth = this.getBoxMetrics(this.image, 'border'); + this.videoBorderWidth = this.getBoxMetrics(this.video, 'border'); + + this.overlay.addEventListener('click', () => this.end()); + this.dataContainer.addEventListener('click', () => this.end()); + this.lightbox.addEventListener('click', (event) => { + if (event.target === this.lightbox) this.end(); + }); + this.outerContainer.addEventListener('click', (event) => { + if (event.target === this.outerContainer) this.end(); + event.stopPropagation(); + }); + + this.prev.addEventListener('click', (event) => { + event.preventDefault(); + if (this.currentImageIndex === 0) this.changeImage(this.album.length - 1); + else this.changeImage(this.currentImageIndex - 1); + }); + this.next.addEventListener('click', (event) => { + event.preventDefault(); + if (this.currentImageIndex === this.album.length - 1) this.changeImage(0); + else this.changeImage(this.currentImageIndex + 1); + }); + + this.loader.addEventListener('click', (event) => { + event.preventDefault(); + this.end(); + }); + this.closeButton.addEventListener('click', (event) => { + event.preventDefault(); + event.stopPropagation(); + this.end(); + }); + this.closeButton.addEventListener('keyup', (event) => { + if (event.key === 'Enter' || event.key === ' ') this.end(); + }); + + this.nav.addEventListener('wheel', this.boundOnWheel, { passive: false }); + this.nav.addEventListener('mousedown', this.boundOnDragStart); + window.addEventListener('mouseup', this.boundOnDragEnd); + } + + getBoxMetrics(element, type) { + const styles = getComputedStyle(element); + return { + top: parseInt(styles[`${type}-top-width`], 10) || 0, + right: parseInt(styles[`${type}-right-width`], 10) || 0, + bottom: parseInt(styles[`${type}-bottom-width`], 10) || 0, + left: parseInt(styles[`${type}-left-width`], 10) || 0 + }; + } + + start(link) { + this.sizeOverlay(); + this.album = []; + let imageNumber = 0; + const setName = link.getAttribute('data-lightbox'); + + const links = [...document.querySelectorAll(`${link.tagName}[data-lightbox="${CSS.escape(setName)}"]`)]; + links.forEach((item, index) => { + this.addToAlbum(item); + if (item === link) imageNumber = index; + }); + + this.fade(this.overlay, true, this.options.fadeDuration); + this.fade(this.lightbox, true, this.options.fadeDuration); + + if (this.options.disableScrolling) document.body.classList.add('lb-disable-scrolling'); + + window.addEventListener('resize', this.boundOnResize); + this.changeImage(imageNumber); + } + + addToAlbum(link) { + const img = link.querySelector('img'); + this.album.push({ + alt: link.getAttribute('data-alt') || '', + link: link.getAttribute('href'), + title: link.getAttribute('data-title') || link.getAttribute('title') || '', + orientation: parseInt(link.getAttribute('data-orientation') || '0', 10), + type: link.getAttribute('data-type') || 'image', + id: link.getAttribute('data-id'), + width: parseInt(img?.getAttribute('width') || '0', 10), + height: parseInt(img?.getAttribute('height') || '0', 10), + set: link.getAttribute('data-lightbox') || '' + }); + } + + hasMediaAfterCurrent() { + return this.currentImageIndex < this.album.length - 1; + } + + refreshAlbum() { + const current = this.album[this.currentImageIndex]; + if (!current?.set) return; + + const links = [...document.querySelectorAll(`a[data-lightbox="${CSS.escape(current.set)}"], area[data-lightbox="${CSS.escape(current.set)}"]`)]; + if (!links.length) return; + + const existingKeys = new Set(this.album.map((media) => this.getMediaKey(media))); + links.forEach((link) => { + const key = this.getLinkMediaKey(link); + if (existingKeys.has(key)) return; + + this.addToAlbum(link); + existingKeys.add(key); + }); + + this.updateNav(); + } + + getMediaKey(media) { + return `${media.set}:${media.id}`; + } + + getLinkMediaKey(link) { + return `${link.getAttribute('data-lightbox') || ''}:${link.getAttribute('data-id')}`; + } + + getMaxSizes(mediaWidth, mediaHeight, mediaType) { + let maxWidth = window.innerWidth - this.containerPadding.left - this.containerPadding.right; + let maxHeight = window.innerHeight - this.containerPadding.top - this.containerPadding.bottom - this.options.positionFromTop; + const border = mediaType === 'image' ? this.imageBorderWidth : this.videoBorderWidth; + maxWidth -= border.left + border.right; + maxHeight -= border.top + border.bottom; + maxHeight -= this.getDataContainerHeight(maxWidth + this.containerPadding.left + this.containerPadding.right + border.left + border.right); + + return { + maxWidth: Math.max(maxWidth, 1), + maxHeight: Math.max(maxHeight, 1) + }; + } + + getDataContainerHeight(width = null) { + if (!this.dataContainer) return 0; + + const currentWidth = this.dataContainer.style.width; + if (width !== null) this.dataContainer.style.width = `${width}px`; + const height = Math.ceil(this.dataContainer.getBoundingClientRect().height || this.dataContainer.offsetHeight || 0); + this.dataContainer.style.width = currentWidth; + + return height; + } + + updateSize(index) { + const media = this.album[index]; + const maxSizes = this.getMaxSizes(media.width, media.height, media.type); + let maxWidth = maxSizes.maxWidth; + let maxHeight = maxSizes.maxHeight; + + if (this.options.fitImagesInViewport) { + if (this.options.maxWidth && this.options.maxWidth < maxWidth) maxWidth = this.options.maxWidth; + if (this.options.maxHeight && this.options.maxHeight < maxHeight) maxHeight = this.options.maxHeight; + } else { + maxWidth = this.options.maxWidth || media.width || maxWidth; + maxHeight = this.options.maxHeight || media.height || maxHeight; + } + + let finalWidth; + let finalHeight; + if (media.width > maxWidth || media.height > maxHeight) { + if ((media.width / maxWidth) > (media.height / maxHeight)) { + finalWidth = maxWidth; + finalHeight = Math.round(media.height / (media.width / maxWidth)); + } else { + finalWidth = Math.round(media.width / (media.height / maxHeight)); + finalHeight = maxHeight; + } + } else { + finalWidth = media.width; + finalHeight = media.height; + } + + const target = media.type === 'video' ? this.video : this.image; + target.width = finalWidth; + target.height = finalHeight; + this.sizeContainer(finalWidth, finalHeight, media.type); + } + + changeImage(index) { + const media = this.album[index]; + if (!media) return; + + this.updateDetails(media, false); + this.hideElements([this.dataContainer]); + this.disableKeyboardNav(); + this.fade(this.overlay, true, this.options.fadeDuration); + this.fade(this.loader, true, 200); + this.hideElements([this.image, this.video, this.nav, this.prev, this.next]); + this.resetImageTransform(); + this.outerContainer.classList.add('animating'); + this.container.classList.remove('moveable', 'moving', 'lb-video-nav'); + this.currentImageIndex = index; + + this.options.onMediaChange(media); + + if (media.type === 'video') { + this.image.removeAttribute('src'); + this.container.classList.add('lb-video-nav'); + this.video.onloadedmetadata = () => { + media.width = this.video.videoWidth; + media.height = this.video.videoHeight; + this.video.onloadedmetadata = null; + this.updateSize(index); + }; + this.video.src = media.link; + } else { + this.video.pause(); + this.video.removeAttribute('src'); + this.image.onload = () => { + this.image.alt = media.alt; + let width = this.image.naturalWidth; + let height = this.image.naturalHeight; + if (Math.abs(media.orientation) === 90 && width > height) { + const tmp = width; + width = height; + height = tmp; + } + media.width = width; + media.height = height; + this.image.onload = null; + this.updateSize(index); + }; + this.image.src = media.link; + } + } + + sizeOverlay() { + if (this.resizeTimer) clearTimeout(this.resizeTimer); + if (!this.album.length) return; + + this.resizeTimer = window.setTimeout(() => { + const current = this.album[this.currentImageIndex]; + if (!current) return; + if (current.type === 'image') this.changeImage(this.currentImageIndex); + else this.updateSize(this.currentImageIndex); + }, 200); + } + + sizeContainer(width, height, mediaType = 'image') { + const border = mediaType === 'image' ? this.imageBorderWidth : this.videoBorderWidth; + const newWidth = width + this.containerPadding.left + this.containerPadding.right + border.left + border.right; + const newHeight = height + this.containerPadding.top + this.containerPadding.bottom + border.top + border.bottom; + const dataHeight = this.getDataContainerHeight(newWidth); + + this.outerContainer.style.transition = `width ${this.options.resizeDuration}ms, height ${this.options.resizeDuration}ms`; + this.outerContainer.style.width = `${newWidth}px`; + this.outerContainer.style.height = `${newHeight + dataHeight}px`; + this.container.style.height = `${newHeight}px`; + + window.setTimeout(() => { + this.overlay.focus(); + this.showImage(); + this.outerContainer.style.transition = ''; + }, this.options.resizeDuration); + } + + showImage() { + this.fade(this.loader, false, 0); + if (this.options.hasVideo && this.album[this.currentImageIndex].type === 'video') this.fade(this.video, true, this.options.imageFadeDuration); + else this.fade(this.image, true, this.options.imageFadeDuration); + + this.updateNav(); + this.updateDetails(); + this.preloadNeighboringImages(); + this.enableKeyboardNav(); + } + + updateNav() { + this.setVisible(this.nav, true); + this.setVisible(this.prev, false); + this.setVisible(this.next, false); + + const alwaysShowNav = ('ontouchstart' in window) && this.options.alwaysShowNavOnTouchDevices; + if (this.album.length <= 1) return; + + if (this.options.wrapAround) { + this.setVisible(this.prev, true); + this.setVisible(this.next, true); + } else { + if (this.currentImageIndex > 0) this.setVisible(this.prev, true); + if (this.currentImageIndex < this.album.length - 1) this.setVisible(this.next, true); + } + + if (alwaysShowNav) { + this.prev.style.opacity = '1'; + this.next.style.opacity = '1'; + } else { + this.prev.style.opacity = ''; + this.next.style.opacity = ''; + } + } + + updateDetails(media = this.album[this.currentImageIndex], show = true) { + if (!media) return; + + if (media.title) { + if (this.options.sanitizeTitle) this.caption.textContent = media.title; + else this.caption.innerHTML = media.title; + if (show) this.fade(this.caption, true, 200); + else this.setVisible(this.caption, true); + } else { + this.caption.textContent = ''; + this.setVisible(this.caption, false); + } + + if (show) { + this.fade(this.closeButton, true, 200); + this.outerContainer.classList.remove('animating'); + this.fade(this.dataContainer, true, this.options.resizeDuration); + } else { + this.setVisible(this.closeButton, true); + this.setVisible(this.dataContainer, false); + this.dataContainer.style.transition = ''; + this.dataContainer.style.opacity = '0'; + } + } + + preloadNeighboringImages() { + const next = this.album[this.currentImageIndex + 1]; + const prev = this.album[this.currentImageIndex - 1]; + if (next && next.type === 'image') { + const preloadNext = new Image(); + preloadNext.src = next.link; + } + if (prev && prev.type === 'image') { + const preloadPrev = new Image(); + preloadPrev.src = prev.link; + } + } + + enableKeyboardNav() { + this.disableKeyboardNav(); + this.lightbox.addEventListener('keyup', this.boundOnKeyUp); + this.overlay.addEventListener('keyup', this.boundOnKeyUp); + } + + disableKeyboardNav() { + this.lightbox?.removeEventListener('keyup', this.boundOnKeyUp); + this.overlay?.removeEventListener('keyup', this.boundOnKeyUp); + } + + keyboardAction(event) { + switch (event.key) { + case 'Escape': + event.stopPropagation(); + this.end(); + break; + case 'ArrowLeft': + if (this.currentImageIndex !== 0) this.changeImage(this.currentImageIndex - 1); + else if (this.options.wrapAround && this.album.length > 1) this.changeImage(this.album.length - 1); + break; + case 'ArrowRight': + if (this.currentImageIndex !== this.album.length - 1) this.changeImage(this.currentImageIndex + 1); + else if (this.options.wrapAround && this.album.length > 1) this.changeImage(0); + break; + } + } + + onWheel(event) { + const media = this.album[this.currentImageIndex]; + if (!media || media.type === 'video') return; + event.preventDefault(); + + const rect = this.image.getBoundingClientRect(); + const oldTransform = this.getImageTransform(); + const oldZoom = oldTransform.scale; + const maxZoom = Math.max(media.width / Math.max(this.image.width, 1), media.height / Math.max(this.image.height, 1), 1); + const newZoom = Math.min(Math.max(oldZoom + (-Math.sign(event.deltaY) / 10), 1), maxZoom); + + const imageCenterX = rect.left + rect.width / 2 - oldTransform.translateX; + const imageCenterY = rect.top + rect.height / 2 - oldTransform.translateY; + const cursorX = event.clientX - imageCenterX; + const cursorY = event.clientY - imageCenterY; + const zoomRatio = newZoom / oldZoom; + const transform = this.clampImageTransform({ + scale: newZoom, + translateX: cursorX - zoomRatio * (cursorX - oldTransform.translateX), + translateY: cursorY - zoomRatio * (cursorY - oldTransform.translateY) + }); + + this.container.classList.toggle('moveable', newZoom > 1); + this.setImageTransform(transform); + } + + onDragStart(event) { + const scale = parseFloat(this.image.style.getPropertyValue('--scale') || '1'); + if (scale <= 1) return; + + this.gMouseDownOffsetX = event.clientX - parseFloat(this.image.style.getPropertyValue('--translate-x') || '0'); + this.gMouseDownOffsetY = event.clientY - parseFloat(this.image.style.getPropertyValue('--translate-y') || '0'); + this.container.classList.add('moving'); + window.addEventListener('mousemove', this.boundOnDragMove); + } + + onDragMove(event) { + const zoom = parseFloat(this.image.style.getPropertyValue('--scale') || '1'); + const transform = this.clampImageTransform({ + scale: zoom, + translateX: event.clientX - this.gMouseDownOffsetX, + translateY: event.clientY - this.gMouseDownOffsetY + }); + + this.setImageTransform(transform); + } + + onDragEnd() { + window.removeEventListener('mousemove', this.boundOnDragMove); + this.container?.classList.remove('moving'); + } + + resetImageTransform() { + this.setImageTransform({scale: 1, translateX: 0, translateY: 0}); + } + + getImageTransform() { + return { + scale: parseFloat(this.image.style.getPropertyValue('--scale') || '1'), + translateX: parseFloat(this.image.style.getPropertyValue('--translate-x') || '0'), + translateY: parseFloat(this.image.style.getPropertyValue('--translate-y') || '0') + }; + } + + clampImageTransform(transform) { + const maxTranslateX = (transform.scale - 1) * this.image.width / 2; + const maxTranslateY = (transform.scale - 1) * this.image.height / 2; + + return { + scale: transform.scale, + translateX: Math.max(Math.min(transform.translateX, maxTranslateX), -maxTranslateX), + translateY: Math.max(Math.min(transform.translateY, maxTranslateY), -maxTranslateY) + }; + } + + setImageTransform(transform) { + if (!this.image) return; + this.image.style.setProperty('--scale', String(transform.scale)); + this.image.style.setProperty('--translate-x', `${transform.translateX}px`); + this.image.style.setProperty('--translate-y', `${transform.translateY}px`); + } + + hideElements(elements) { + elements.forEach((element) => { + this.setVisible(element, false); + }); + } + + setVisible(element, visible) { + if (!element) return; + element.style.visibility = visible ? 'visible' : 'hidden'; + element.style.pointerEvents = visible ? '' : 'none'; + } + + fade(element, show, duration, done) { + if (!element) return; + + const safeDuration = duration || 0; + element.style.transition = `opacity ${safeDuration}ms`; + if (show) { + this.setVisible(element, true); + requestAnimationFrame(() => { + element.style.opacity = element === this.overlay ? '0.8' : '1'; + }); + } else { + element.style.opacity = '0'; + element.style.pointerEvents = 'none'; + window.setTimeout(() => { + this.setVisible(element, false); + }, safeDuration); + } + + if (typeof done === 'function') { + window.setTimeout(done, safeDuration); + } + } + + end() { + this.disableKeyboardNav(); + this.video?.pause(); + this.video?.removeAttribute('src'); + this.container.classList.remove('lb-video-nav', 'moveable', 'moving'); + window.removeEventListener('resize', this.boundOnResize); + window.removeEventListener('mousemove', this.boundOnDragMove); + this.fade(this.lightbox, false, this.options.fadeDuration); + this.fade(this.overlay, false, this.options.fadeDuration); + + if (this.options.disableScrolling) document.body.classList.remove('lb-disable-scrolling'); + this.options.onClosing(); + } +} diff --git a/src/scripts/projects.js b/src/scripts/projects.js new file mode 100644 index 0000000..2179f0e --- /dev/null +++ b/src/scripts/projects.js @@ -0,0 +1,98 @@ +import { LngLat } from 'maplibre-gl'; + +export default class Projects { + + constructor(asProjects = {}) { + Object.assign(this, asProjects); + } + + getDefaultCodeName() { + for(const [sCodeName, asProject] of Object.entries(this)) { + if(asProject.default) return sCodeName; + } + } + + getDefaultProject() { + const sCodeName = this.getDefaultCodeName(); + return this[this.getDefaultCodeName()]; + } + + getTrackInfo(oFeature, oTrack, oLang) { + const iTrackId = Number(oFeature.properties.track_id); + const oTrackFeature = oTrack.features[iTrackId] || oFeature; + const aoCoords = oTrackFeature.geometry.coordinates; + + if(oTrackFeature.properties.type == 'hitchhiking') { + return { + type: 'track', + subtype: oTrackFeature.properties.type, + name: oTrackFeature.properties.name + }; + } + + const asStats = this.getTrackStats(aoCoords); + return { + type: 'track', + subtype: oTrackFeature.properties.type, + name: oTrackFeature.properties.name, + description: oTrackFeature.properties.description, + distance: Math.round(asStats.distance / 100) / 10, + elev_gain: Math.round(asStats.elevGain), + elev_drop: Math.abs(Math.round(asStats.elevDrop)), + duration: this.getNaturalDuration(asStats.time, oLang) + }; + } + + getNaturalDuration(iHours, oLang) { + let iTimeMinutes = 0, iTimeHours = 0, iTimeDays = Math.floor(iHours/8); //8 hours a day + if(iTimeDays > 1) iTimeDays = Math.round(iTimeDays * 2) / 2; //Round down to the closest half day + else { + iTimeDays = 0; + iTimeHours = Math.floor(iHours); + iHours -= iTimeHours; + + iTimeMinutes = Math.floor(iHours * 4) * 15; //Round down to the closest 15 minutes + } + return '~' + +(iTimeDays>0?(iTimeDays+(iTimeDays%2==0?'':'\u00bd')+' '+oLang.get(iTimeDays>1?'unit.days':'unit.day')):'') //Days + +((iTimeHours>0 || iTimeDays==0)?iTimeHours+oLang.get('unit.hour'):'') //Hours + +((iTimeDays>0 || iTimeMinutes==0)?'':iTimeMinutes); //Minutes + + } + + getTrackStats(aoCoords) { + let iDistance = 0, iElevDrop = 0, iElevGain = 0, iTime = 0; + + for(let i = 1; i < aoCoords.length; i++) { + const oCurrPoint = new LngLat(aoCoords[i][0], aoCoords[i][1]); + const oPrevPoint = new LngLat(aoCoords[i - 1][0], aoCoords[i - 1][1]); + const iCurrElev = Number(aoCoords[i][2]); + const iPrevElev = Number(aoCoords[i - 1][2]); + const iElevDelta = (Number.isFinite(iCurrElev) && Number.isFinite(iPrevElev))?(iCurrElev - iPrevElev):0; + const iSegDistance = oCurrPoint.distanceTo(oPrevPoint); + if(iSegDistance <= 0) continue; + + iDistance += iSegDistance; + iElevDrop += Math.min(iElevDelta, 0); + iElevGain += Math.max(iElevDelta, 0); + + let iSpeedCorrecRatio = 0; + const iAngle = iElevDelta / iSegDistance; + if(iAngle < -1) iSpeedCorrecRatio = 0.5; + else if(iAngle < -0.2) iSpeedCorrecRatio = 1.25; + else if(iAngle < 0.1) iSpeedCorrecRatio = 1; + else if(iAngle < 0.25) iSpeedCorrecRatio = 0.85; + else if(iAngle < 0.5) iSpeedCorrecRatio = 0.6; + else if(iAngle < 1) iSpeedCorrecRatio = 0.5; + else iSpeedCorrecRatio = 0.25; + iTime += iSegDistance / 1000 * iSpeedCorrecRatio / 3.5; + } + + return { + distance: iDistance, + elevDrop: iElevDrop, + elevGain: iElevGain, + time: iTime + }; + } +} diff --git a/src/scripts/user.js b/src/scripts/user.js new file mode 100644 index 0000000..71cb35f --- /dev/null +++ b/src/scripts/user.js @@ -0,0 +1,15 @@ +export default class User { + + constructor(asUserInfo = {}, sDefaultTimeZone = '') { + this.setInfo(asUserInfo); + this.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone || this.timezone || sDefaultTimeZone; + } + + setInfo(asUserInfo = {}) { + Object.assign(this, asUserInfo); + } + + hasClearance(sClearance) { + return this.clearance >= sClearance; + } +} diff --git a/src/styles/_color.scss b/src/styles/_color.scss new file mode 100644 index 0000000..69b069d --- /dev/null +++ b/src/styles/_color.scss @@ -0,0 +1,61 @@ +@use "sass:color"; + +//Default colors +$default: hsl(0, 0%, 27%); +$default-hover: color.adjust($default, $lightness: -10%, $space: hsl); +$default-disabled: color.adjust($default, $lightness: 50%, $space: hsl); +$default-bg: color.adjust($default, $lightness: 60%, $space: hsl); +$default-bg-light: color.adjust($default, $lightness: 65%, $space: hsl); +$default-bg-trans: color.adjust($default, $lightness: 70%, $alpha: -0.2, $space: hsl); +$default-bg-trans-disabled: color.adjust($default, $lightness: 70%, $alpha: -0.5, $space: hsl); +$default-inv: $default-bg; +$default-inv-hover: color.adjust($default-bg, $lightness: 10%, $space: hsl); +$default-inv-bg: $default; + +//Feed colors +$post-input-bg: #ffffff; +$post: $default; +$post-hover: $default-hover; +$post-bg: $default-bg; + +$message: hsl(109, 45%, 27%); +$message-flashy: hsl(148, 100%, 50%); +$message-hover: color.adjust($message, $lightness: -10%, $space: hsl); +$message-bg: color.adjust($message, $lightness: 60%, $space: hsl); +$message-bg-light: color.adjust($message, $lightness: 70%, $alpha: -0.3, $space: hsl); + +$media: hsl(214, 45%, 27%); +$media-flashy: hsl(193, 100%, 50%); +$media-hover: color.adjust($media, $lightness: -10%, $space: hsl); +$media-bg: color.adjust($media, $lightness: 60%, $space: hsl); +$media-bg-light: color.adjust($media, $lightness: 70%, $alpha: -0.3, $space: hsl); + +//Over image colors +$over-img: #DDD; +$over-img-hover: #ffffff; +$over-img-bg: color.adjust($default, $lightness: 70%, $alpha: -0.5, $space: hsl); +$over-img-shadow: rgba(0, 0, 0, 0.5); + +//Settings colors +$title: $default; +$subtitle: #999; +$download-hover: #0078A8; + +//Legend colors +$legend: $default; +$main-track: $message-flashy; +$off-track: #0000ff; +$hitchhiking: #ff7814; + +//Tracks +$track-start: $main-track; +$track-end: $hitchhiking; + +//Loader +$loader: $default-bg; +$loader-bg: $default; + +//Feedback +$error: #ff0000; +$warning: #ffa500; +$success: #008000; \ No newline at end of file diff --git a/style/_common.scss b/src/styles/_common.scss similarity index 84% rename from style/_common.scss rename to src/styles/_common.scss index 7db5ae3..4ef63e6 100644 --- a/style/_common.scss +++ b/src/styles/_common.scss @@ -1,3 +1,5 @@ +@use "@styles/color"; + /* Animations */ @-webkit-keyframes fadeIn { @@ -73,7 +75,7 @@ } [title]:not(a):not(.clickable) { - cursor: inherit; + cursor: default; } .clickable { @@ -102,12 +104,12 @@ a.button { button, a.button { @extend .clickable; font-weight: bold; - color: #000; - background: #eee; + color: color.$default; + background: color.$default-bg; &:hover { - color: #eee; - background: #000; + color: color.$default-inv; + background: color.$default-inv-bg; } } @@ -123,19 +125,31 @@ h1 { margin: 1em 0 0.5em; } +h2 { + font-size: 1.2em; + font-weight: bold; + margin: 1em 0 0.5em; +} + /* Feedback */ .feedback { p { margin: 0 0 1em 0; &.error { - color: red; + color: color.$error; } &.warning { - color: orange; + color: color.$warning; } &.success { - color: green; + color: color.$success; } } } + +/* Mobile */ + +#mobile { + display: none; +} \ No newline at end of file diff --git a/style/_fonts.scss b/src/styles/_fonts.scss similarity index 61% rename from style/_fonts.scss rename to src/styles/_fonts.scss index 6c96390..96f9300 100644 --- a/style/_fonts.scss +++ b/src/styles/_fonts.scss @@ -1,4 +1,4 @@ -/* Google Fonts - Ubuntu v15 - https://fonts.googleapis.com/css?family=Ubuntu:400,700&subset=latin-ext&display=swap */ +/* Google Fonts - Ubuntu v20 - https://fonts.googleapis.com/css?family=Ubuntu:400,700&subset=latin-ext&display=swap */ /* cyrillic-ext */ @font-face { @@ -6,7 +6,7 @@ font-style: normal; font-weight: 400; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcg72j00.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKcg72j00.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @@ -15,8 +15,8 @@ font-style: normal; font-weight: 400; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKew72j00.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKew72j00.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { @@ -24,7 +24,7 @@ font-style: normal; font-weight: 400; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcw72j00.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKcw72j00.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @@ -33,7 +33,7 @@ font-style: normal; font-weight: 400; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKfA72j00.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKfA72j00.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* latin-ext */ @@ -42,8 +42,8 @@ font-style: normal; font-weight: 400; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcQ72j00.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCs6KVjbNBYlgoKcQ72j00.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { @@ -52,7 +52,7 @@ font-weight: 400; font-display: swap; src: url(fonts/4iCs6KVjbNBYlgoKfw72.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* cyrillic-ext */ @font-face { @@ -60,7 +60,7 @@ font-style: normal; font-weight: 700; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @@ -69,8 +69,8 @@ font-style: normal; font-weight: 700; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { @@ -78,7 +78,7 @@ font-style: normal; font-weight: 700; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format('woff2'); unicode-range: U+1F00-1FFF; } /* greek */ @@ -87,7 +87,7 @@ font-style: normal; font-weight: 700; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format('woff2'); unicode-range: U+0370-03FF; } /* latin-ext */ @@ -96,8 +96,8 @@ font-style: normal; font-weight: 700; font-display: swap; - src: url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + src: url(https://fonts.gstatic.com/s/ubuntu/v20/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { @@ -106,5 +106,5 @@ font-weight: 700; font-display: swap; src: url(fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } \ No newline at end of file diff --git a/src/styles/_lightbox.scss b/src/styles/_lightbox.scss new file mode 100644 index 0000000..06dc669 --- /dev/null +++ b/src/styles/_lightbox.scss @@ -0,0 +1,205 @@ +@use "@styles/common"; +@use "@styles/var"; +@use "@styles/color"; + +body.lb-disable-scrolling { + overflow: hidden; +} + +.lightboxOverlay { + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 9999; + background-color: black; + opacity: 0.8; + outline: none; +} + +.lightbox { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + z-index: 10000; + outline: none; + width: 100%; + height: 100%; + overflow: hidden; + + /* Data Container (comments, close) */ + + .lb-dataContainer { + overflow: hidden; + background-color: color.$media-bg-light; + + .lb-data { + display: flex; + align-items: center; + margin: var.$elem-spacing; + gap: var.$block-spacing; + color: color.$media; + + .lb-details { + display: contents; + } + + .lb-caption { + display: contents; + + .lb-caption-line { + flex: 0 0 auto; + line-height: 1.33333333333em; //icon height + } + + .lb-caption-line.comment { + flex: 1 1 auto; + min-width: 0; + } + } + + .lb-closeContainer { + flex: 0 0 auto; + margin-left: auto; + + .lb-close { + @extend .clickable; + color: color.$media; + + &:hover { + color: color.$media-hover; + } + } + } + } + } + + /* Picture Container */ + + .lb-outerContainer { + position: relative; + width: 250px; + height: 250px; + margin: 0; + background-color: color.$default-bg-trans; + + .lb-container { + overflow: hidden; + position: relative; + + &.moveable { + cursor: grab; + } + + &.moving { + cursor: grabbing; + } + + .lb-image { + max-width: inherit; + max-height: none; + border-radius: 0; + border: none; + + image-orientation: from-image; + --translate-x: 0; + --translate-y: 0; + --scale: 1; + transform: + translateX(var(--translate-x, 0)) + translateY(var(--translate-y, 0)) + scale(var(--scale, 1)); + } + + .lb-video { + box-sizing: content-box; + position: absolute; + top: 0; + left: 0; + } + + &.lb-video-nav .lb-nav { + top: 100px; + height: calc(100% - 200px); //Leave space for video progress bar + } + + .lb-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; + + .lb-prev-area, .lb-next-area { + position: absolute; + top: 0; + height: 100%; + width: 50%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + + &.lb-next-area { + right: 0; + } + + &:hover a.lb-prev, &:hover a.lb-next { + opacity: 1; + } + } + + a.lb-prev, a.lb-next { + cursor: pointer; + color: color.$over-img; + text-decoration: none; + filter: drop-shadow(0px 1px 1px color.$over-img-shadow); + width: 150px; + height: 150px; + position: absolute; + top: 50%; + transform: translateY(-50%); + transition: opacity 0.3s, color 0.3s; + opacity: 0; + outline: none; + font-size: 2em; + + &:hover { + color: color.$over-img-hover; + } + + .spot-icon { + vertical-align: inherit; + top: 50%; + transform: translate(-50%, -50%); + position: relative; + left: 50%; + } + } + + a.lb-prev { + left: 0; + } + + a.lb-next { + right: 0; + } + } + + .lb-loader { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + + .lb-cancel { + @extend .flicker; + font-size: 2em; + color: color.$default; + text-decoration: none; + } + } + } + } +} diff --git a/src/styles/_mobile.scss b/src/styles/_mobile.scss new file mode 100644 index 0000000..c7e6fcf --- /dev/null +++ b/src/styles/_mobile.scss @@ -0,0 +1,73 @@ +@use "@styles/var"; + +@media only screen and (max-width: 800px) { + + $panel-width: "100vw - #{var.$button-width} - 2 * #{var.$block-spacing}"; + $panel-width-max: $panel-width; + $panel-actual-width: $panel-width; + + .desktop { + display: none !important; + } + + #projects { + .map-container { + width: calc(#{$panel-width}); + max-width: calc(#{$panel-width}); + } + + #title { + text-align: center; + width: 100%; + } + + &.with-feed, &.with-settings { + #title { + max-width: calc(100vw - var.$block-spacing - #{$panel-actual-width} - (var.$button-width + var.$block-spacing * 2) * 2); + } + + #submap { + transform: translateX(0); + } + } + + &.with-feed { + .map-container-left { + transform: translateX(-200vw); + } + + .map-container-right { + transform: translateX(calc(var.$button-width + var.$block-spacing * 2)); + } + } + + &.with-settings { + .map-container-left { + transform: translateX(0); + } + + .map-container-right { + transform: translateX(200vw); + } + } + } + + .lightbox .lb-outerContainer .lb-container .lb-nav { + a.lb-prev, a.lb-next { + height: 100%; + width: 100%; + } + + a.lb-prev::before { + left: 1em; + } + + a.lb-next::before { + right: 1em; + } + } + + #mobile { + display: block; + } +} \ No newline at end of file diff --git a/src/styles/_page.admin.scss b/src/styles/_page.admin.scss new file mode 100644 index 0000000..49dbbb4 --- /dev/null +++ b/src/styles/_page.admin.scss @@ -0,0 +1,43 @@ +@use "@styles/var"; +@use "@styles/color"; + +#admin { + margin: 1em; + + table { + margin-bottom: 1em; + border-collapse: collapse; + border-radius: var.$block-radius; + overflow: hidden; + + tr { + th { + background: color.$default-inv-bg; + color: color.$default-inv; + padding: var.$text-spacing var.$elem-spacing; + } + td { + background: color.$default-bg-light; + text-align: center; + padding: var.$text-spacing var.$elem-spacing; + + input { + &[type="number"] { + width: 50px; + } + &[name="ref_feed_id"] { + width: 300px; + } + } + + button { + color: color.$default; + background: none; + &:hover { + color: color.$default-hover; + } + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/_page.project.feed.scss b/src/styles/_page.project.feed.scss new file mode 100644 index 0000000..0e8f022 --- /dev/null +++ b/src/styles/_page.project.feed.scss @@ -0,0 +1,295 @@ +@use "@styles/var"; +@use "@styles/color"; + +#feed { + #feed-panel { + #feed-header { + .poster { + .poster-form { + display: flex; + flex-direction: column; + gap: var.$block-spacing; + + .poster-actions { + display: flex; + align-items: stretch; + gap: var.$block-spacing; + + input[name=name] { + flex: 1 1 auto; + min-width: 0; + } + + button[name=submit] { + flex: 0 0 auto; + } + } + } + } + + .archived { + background: color.$default-bg-light; + } + } + + #feed-posts { + position: relative; + } + + .body-box { + position:relative; + display: flex; + flex-direction: column; + } + + .post-item { + margin-bottom: var.$block-spacing; + background: color.$post-bg; + color: color.$post; + border-radius: var.$block-radius; + width: calc(100% - var.$block-spacing); + box-shadow: 2px 2px var.$block-shadow 0px color.$over-img-shadow; + + a { + color: color.$post; + &:hover { + color: color.$post-hover; + } + } + + .header { + display: flex; + align-items: center; + padding: 0 var.$block-spacing; + position: relative; + + div { + font-size: 0.8em; + padding: var.$elem-spacing 0px; + + &.index { + display: flex; + align-items: center; + gap: var.$elem-spacing; + flex: 0 0 auto; + + .link { + padding: 0; + line-height: 1; + } + } + + &.time { + flex: 1 1 auto; + text-align: right; + font-style: italic; + } + } + } + + .body { + clear: both; + padding: 0em var.$block-spacing var.$block-spacing; + } + + &.headerless { + .body { + padding-top: var.$block-spacing; + text-align: center; + + p { + margin: 0; + + .spot-icon { + display: inline-block; + font-size: 2em; + margin: var.$elem-spacing 0; + } + } + } + } + + .drill { + &:hover .comment { + opacity: 0.3; + } + + .comment { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + margin: 0; + padding: var.$elem-spacing; + line-height: normal; + box-sizing: border-box; + border-radius: 0 0 var.$block-radius var.$block-radius; + transition: opacity 0.3s; + cursor: auto; + font-size: 0.9em; + + &:hover { + opacity: 1; + } + + p { + margin: 0; + } + + p + p { + margin-top: var.$elem-spacing; + } + } + } + + + &.message { + background: color.$message-bg; + color: color.$message; + + a { + color: color.$message; + &:hover { + color: color.$message-hover; + } + } + + .drill { + + .drill-icon { + + .drill-hover-icon { + display: none; + filter: drop-shadow(0px 1px 1px color.$over-img-shadow); + } + } + + &:hover { + .sub { + display: none; + } + .drill-hover-icon { + color: color.$message-flashy; + } + } + + .comment { + background: color.$message-bg-light; + } + } + + .weather { + position: absolute; + top: var.$block-spacing; + right: var.$block-spacing; + + .spot-icon-with-text { + gap: 0; + + .spot-icon { + font-size: 1.3em; + vertical-align: middle; + height: var.$block-spacing; + background: color.$message; + color: color.$message-bg; + border-radius: var.$block-radius 0 0 var.$block-radius; + padding: var.$elem-spacing; + } + + .temperature { + display: inline-block; + line-height: var.$block-spacing; + vertical-align: middle; + padding: var.$elem-spacing; + background: color.$message-bg; + color: color.$message; + border-radius: 0 var.$block-radius var.$block-radius 0; + } + } + } + + .staticmap { + width: 100%; + border-radius: var.$block-radius; + } + } + + &.post { + .body { + padding: 0 var.$block-spacing var.$elem-spacing; + + .message { + margin: 0; + } + + .signature { + margin: var.$elem-spacing 0 0 0; + text-align: right; + font-style: italic; + + img { + vertical-align: baseline; + margin: 0 0.2em calc((1em - 24px)/2) 0; + position: relative; + } + } + } + } + + &.media { + background: color.$media-bg; + color: color.$media; + + a { + color: color.$media; + &:hover { + color: color.$media-hover; + } + } + + .body { + a { + display: inline-block; + width: 100%; + margin: 0; + position: relative; + line-height: 0; + + &.drill { + .comment { + background: color.$media-bg-light; + } + + .drill-icon { + + .drill-image { + color: transparent; + } + .drill-video { + color: color.$over-img-bg; + } + } + + &:hover { + .drill-icon { + .drill-image, .drill-video { + color: color.$media-bg; + filter: drop-shadow(0px 1px 1px color.$over-img-shadow); + } + } + } + } + + img { + width: 100%; + height: auto; + image-orientation: from-image; + outline: none; + border-radius: var.$block-radius; + } + } + } + } + } + } +} diff --git a/src/styles/_page.project.map.scss b/src/styles/_page.project.map.scss new file mode 100644 index 0000000..601be8d --- /dev/null +++ b/src/styles/_page.project.map.scss @@ -0,0 +1,124 @@ +@use "@styles/common"; +@use "@styles/var"; +@use "@styles/color"; + +$thumbnail-max-size: 60px; + +#map { + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 100%; + + .maplibregl-popup { + max-width: 300px; + } + + .maplibregl-popup-tip { + border-top-color: color.$default-bg-light; + } + + .maplibregl-popup-content { + padding: var.$block-spacing; + background-color: color.$default-bg-light; + + .header h1 { + font-size: 1.4em; + margin: 0; + font-weight: bold; + text-align: center; + + span.hitchhiking { + font-size: calc(1em / 1.4 * 1.2); + font-weight: normal; + } + } + + .description { + text-align: center; + } + + .separator { + border-top: 1px solid color.$default-bg; + margin: var.$elem-spacing 0; + } + + .section { + font-size: 1.0em; + margin: var.$elem-spacing 0 0 0; + + &:first-child { + margin: 0; + } + + a { + color: color.$default; + } + } + + .track-stats { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: var.$elem-spacing var.$block-spacing; + } + + .medias-list { + line-height: 0; + + a.media-link { + img { + width: auto; + height: auto; + image-orientation: from-image; + transition: All 0.2s; + border-radius: var.$block-radius; + } + + &.drill { + .drill-image { + color: transparent; + } + .drill-video { + color: color.$over-img-bg; + } + + &:hover { + .drill-video, .drill-image { + color: color.$default-bg; + } + } + } + } + } + + .message .medias-list { + display: flex; + flex-wrap: wrap; + gap: var.$elem-spacing; + align-items: center; + margin-top: var.$elem-spacing; + + a.media-link { + flex: 0 0 auto; + + img { + max-width: $thumbnail-max-size; + max-height: calc($thumbnail-max-size * 2/3); + } + + &.drill .drill-icon { + font-size: 1.5em; + } + } + } + + .media { + .medias-list { + a.media-link img { + width: 100%; + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/_page.project.panel.scss b/src/styles/_page.project.panel.scss new file mode 100644 index 0000000..980b945 --- /dev/null +++ b/src/styles/_page.project.panel.scss @@ -0,0 +1,218 @@ +@use "@styles/common"; +@use "@styles/var"; +@use "@styles/color"; + +$panel-width: 30vw; +$panel-width-max: "400px + 3 * #{var.$block-spacing}"; +$panel-actual-width: min($panel-width, #{$panel-width-max}); + +#projects { + &.with-feed, &.with-settings { + #title { + max-width: calc(100vw - var.$block-spacing - $panel-actual-width - (var.$button-width + var.$block-spacing * 2) * 2); + } + } + + &.with-feed { + #submap { + transform: translateX(calc($panel-actual-width / -2)); + } + + .map-container-right { + transform: translateX(calc(100vw - $panel-actual-width)); + } + } + + &.with-settings { + #submap { + transform: translateX(calc($panel-actual-width / 2)); + } + + .map-container-left { + transform: translateX(0); + + .map-panel { + box-shadow: 2px 2px var.$block-shadow 0px color.$over-img-shadow; + } + } + } + + &.with-feed.with-settings { + #submap { + transform: translateX(0); + } + + #title { + max-width: calc(100vw - var.$block-spacing - $panel-actual-width * 2 - (var.$button-width + var.$block-spacing * 2) * 2); + } + } + + .map-container { //#feed, #settings + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + user-select: none; + width: #{$panel-width}; + max-width: calc(#{$panel-width-max}); + transition: transform 0.5s; + + &.moving { + cursor: grabbing; + transition: none; + } + + .map-panel { //#feed-panel, #settings-panel + position: absolute; + top: 0; + bottom: 0; + left: 0; + } + + input, textarea { + background-color: color.$post-input-bg; + color: color.$post; + outline: none; + } + + button, a.button { + background-color: color.$default-inv-bg; + color: color.$default-inv; + + &:hover, &:hover a, &:hover a:visited { + background-color: color.$default-bg-light; + color: color.$default; + } + + a, a:visited { + background-color: color.$default; + color: color.$default-bg; + text-decoration: none; + } + + } + } + + .map-container-left { //#settings + transform: translateX(-100%); + + .map-panel { //#settings-panel + width: calc(100% - var.$block-spacing); + margin: var.$block-spacing; + border-radius: var.$block-radius; + color: color.$default; + background: color.$default-bg-trans; + display: flex; + flex-direction: column; + flex-wrap: nowrap; + } + } + + .map-container-right { //#feed + transform: translateX(100vw); + + .map-panel { //#feed-panel + width: 100%; + padding-top: var.$block-spacing; + } + } + + .map-control { + position: absolute; + background-color: color.$default-bg; + padding: var.$elem-spacing; + border-radius: 3px; + box-shadow: 2px 2px var.$block-shadow 0px color.$over-img-shadow; + font-size: 12px; + line-height: 1.5; + + &.map-control-top { + top: var.$block-spacing; + } + + &.map-control-bottom { + bottom: var.$block-spacing; + } + + &.map-control-icon { + cursor: pointer; + + .spot-icon { + color: color.$default; + } + + &:hover { + background-color: color.$default-inv-bg; + + .spot-icon { + color: color.$default-inv; + } + } + } + } + + .feed-control { + right: calc(100% + var.$block-spacing); + } + + .settings-control { + left: calc(100% + var.$block-spacing); + } + + #legend { + .track { + white-space: nowrap; + .line { + width: 2em; + display: inline-block; + border-radius: 2px; + vertical-align: middle; + } + + .desc { + font-size: 1em; + margin-left: 0.5em; + color: color.$legend; + } + } + } + + #title { + left: calc(100% + var.$button-width + 2 * var.$block-spacing); + max-width: calc(100vw - var.$block-spacing - (var.$button-width + 2 * var.$block-spacing) * 2); + transition: max-width 0.5s; + @include common.no-text-overflow(); + + span { + font-size: 1.3em; + line-height: calc(var.$block-spacing / 1.3); + vertical-align: center; + } + } + + #background { + background: color.$loader-bg; + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + } + + #submap { + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + transition: transform 0.5s; + + .loader { + position: absolute; + font-size: 3em; + top: calc(50% - 0.5em); + left: calc(50% - 1.25em/2); + color: color.$loader; + } + } +} \ No newline at end of file diff --git a/src/styles/_page.project.scss b/src/styles/_page.project.scss new file mode 100644 index 0000000..1c6ca83 --- /dev/null +++ b/src/styles/_page.project.scss @@ -0,0 +1,80 @@ +@use "@styles/var"; +@use "@styles/color"; + +@use '@styles/page.project.map' as map; +@use '@styles/page.project.panel' as panel; +@use '@styles/page.project.feed' as feed; +@use '@styles/page.project.settings' as settings; + +#projects { + overflow: hidden; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + + /* Drill icon */ + + .drill { + position: relative; + overflow: hidden; + text-decoration: none; + display: inline-block; + line-height: 0; + + .drill-icon { + position: absolute; + display: inline-block; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 2.5em; + filter: drop-shadow(0px 1px 1px color.$over-img-shadow); + + &.message { + transform: translate(-50%, -100%); + } + + .spot-icon { + transition: color 0.3s, text-shadow 0.3s; + } + } + } + + /* Icon Stack */ + + .spot-icon-stack { + &:not(.drill-icon) { + font-size: 2.5em; + filter: drop-shadow(0px 1px 1px color.$over-img-shadow); + } + + &.message { + .main { + color: color.$message-flashy; + } + .sub { + color: color.$message; + } + } + + &.media { + .main { + color: color.$media-flashy; + } + .sub { + color: color.$media; + } + } + + &.track { + .track-start { + color: color.$track-start; + } + .track-end { + color: color.$track-end; + } + } + } +} \ No newline at end of file diff --git a/src/styles/_page.project.settings.scss b/src/styles/_page.project.settings.scss new file mode 100644 index 0000000..5b701a4 --- /dev/null +++ b/src/styles/_page.project.settings.scss @@ -0,0 +1,167 @@ +@use "@styles/common"; +@use "@styles/var"; +@use "@styles/color"; + +#settings { + #settings-panel { + .settings-header { + text-align: center; + flex: 0 1 auto; + + .logo { + background: color.$default-bg; + padding: 2rem var.$block-spacing; + border-radius: var.$block-radius var.$block-radius 0 0; + + img { + width: 100%; + height: auto; + max-width: 180px; + transform: translateX(-10%); //Center Text, not logo. logo width (40px) / image width (200px) = 20%. And centering: 20% / 2 = 10% + } + } + + #last_update { + position: absolute; + margin-top: -2em; + padding: 0 var.$block-spacing; + width: calc(100% - 2rem); + + p { + text-align: center; + font-size: 0.8em; + margin: 0; + color: color.$subtitle; + transform: translateX(calc(-0.5 * (12px + 0.5em))); //icon width + margin right + + span { + margin-right: 0.5em; + img { + width: 12px; + vertical-align: middle; + animation: spotlogo 20s infinite; + } + } + + abbr { + text-decoration: none; + vertical-align: middle; + } + } + } + } + + .settings-footer { + flex: 0 1 auto; + display: flex; + justify-content: center; + background: color.$default-bg; + border-radius: 0 0 var.$block-radius var.$block-radius; + font-size: 0.7em; + padding: var.$text-spacing; + color: color.$default; + + a { + color: color.$default; + text-decoration: none; + + &:hover { + color: color.$default-hover; + } + } + } + + .settings-sections { + flex: 1 1 auto; + overflow: auto; + + #settings-sections-scrollbox { + height: 100%; + width: 100%; + } + + .settings-section { + display: inline-block; + margin: 2rem var.$block-spacing 0 var.$block-spacing; + width: calc(100% - 2 * var.$block-spacing); + + &:last-child { + margin-bottom: 2rem; + } + + h1 { + margin: 0 0 var.$block-spacing; + color: color.$title; + font-size: 1.5em; + } + + .settings-section-body { + .radio { + &:not(:first-child) { + margin-top: var.$elem-spacing; + } + + label { + margin-left: var.$text-spacing; + @extend .clickable; + @include common.no-text-overflow(); + } + + .download { + color: color.$default; + + &:hover { + color: color.$download-hover; + } + } + } + } + + &.newsletter { + .newsletter-form { + display: flex; + align-items: stretch; + gap: var.$block-spacing; + margin-bottom: var.$block-spacing; + + input#email { + flex: 1 1 auto; + min-width: 0; + + &:disabled { + color: color.$default-disabled; + background: color.$default-bg-trans-disabled; + } + } + + button.manage { + flex: 0 0 auto; + + &.loading { + background-color: color.$message; + color: color.$post-input-bg; + + .spot-icon { + @extend .flicker; + } + } + } + } + } + + &.admin { + .admin-actions { + display: flex; + flex-wrap: wrap; + gap: var.$block-spacing; + + a.button { + flex: 0 0 auto; + min-width: 0; + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/styles/_page.upload.scss b/src/styles/_page.upload.scss new file mode 100644 index 0000000..597d6e7 --- /dev/null +++ b/src/styles/_page.upload.scss @@ -0,0 +1,73 @@ +@use "@styles/var"; +@use "@styles/color"; + +#upload { + padding: var.$block-spacing; + + .section { + border-radius: var.$block-radius; + + & + .section { + margin-top: var.$block-spacing; + } + } + + #fileupload { + padding: var.$block-spacing 0; + } + + .progress { + position: relative; + height: 1rem; + + div { + position: absolute; + height: 100%; + border-radius: var.$block-radius; + top: 0; + } + + .bar { + background: color.$success; + + } + .total { + background: color.$default-bg; + width: 100%; + } + } + + .comment { + .thumb { + width: 30%; + max-width: 120px; + } + + .form { + display: inline-block; + width: 70%; + min-width: calc(100% - 120px); + padding-left: var.$block-spacing; + vertical-align: top; + box-sizing: border-box; + + .content { + width: 100%; + box-sizing: border-box; + padding: var.$elem-spacing; + background: color.$default-bg; + } + + button.save { + margin-top: var.$block-spacing; + padding: var.$elem-spacing; + } + } + } + + .logs { + p.log { + margin: 0; + } + } +} \ No newline at end of file diff --git a/src/styles/_var.scss b/src/styles/_var.scss new file mode 100644 index 0000000..51de454 --- /dev/null +++ b/src/styles/_var.scss @@ -0,0 +1,7 @@ +//Feed width +$elem-spacing: 0.5rem; +$text-spacing: 0.3em; +$block-spacing: 1rem; +$block-radius: 3px; +$block-shadow: 3px; +$button-width: 31px; \ No newline at end of file diff --git a/src/styles/_vue.scss b/src/styles/_vue.scss new file mode 100644 index 0000000..0244bc1 --- /dev/null +++ b/src/styles/_vue.scss @@ -0,0 +1,9 @@ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.3s ease; +} + +.fade-enter-from, +.fade-leave-to { + opacity: 0; +} \ No newline at end of file diff --git a/src/styles/spot.scss b/src/styles/spot.scss new file mode 100755 index 0000000..e3d33b0 --- /dev/null +++ b/src/styles/spot.scss @@ -0,0 +1,15 @@ +/* Site Global CSS */ +@use "sass:meta"; +@use '@styles/common'; + +/* Modules */ +@use '@styles/lightbox'; +@import 'simplebar-vue/dist/simplebar.min.css'; +@include meta.load-css('@styles/vue'); + +/* Pages Specific CSS */ +@include meta.load-css('@styles/page.project'); +@include meta.load-css('@styles/page.upload'); +@include meta.load-css('@styles/page.admin'); + +@include meta.load-css('@styles/mobile'); \ No newline at end of file diff --git a/style/_fa.scss b/style/_fa.scss deleted file mode 100644 index aa74982..0000000 --- a/style/_fa.scss +++ /dev/null @@ -1,130 +0,0 @@ -$fa-font-path: "fa/fonts"; -$fa-css-prefix: fa; - -@import 'fa/solid'; -@import 'fa/mixins'; -@import 'fa/core'; -@import 'fa/sizing'; -@import 'fa/fixed-width'; -@import 'fa/list'; -@import 'fa/bordered-pulled'; -@import 'fa/animated'; -@import 'fa/rotated-flipped'; -@import 'fa/stacked'; - -.fa { - &.push { - margin-right: 0.5rem; - } - &.push-left { - margin-left: 0.5rem; - } -} - -.control-icon { - @extend .fa; - font-size: 28px; - text-align: center; - line-height: 44px; - text-decoration: none; - color: #CCC; - background: none; - text-shadow: 0px 1px 1px rgba(0,0,0,0.8); - - &:hover { - color: white; - } - - &:before { - display: block; - width: 44px; - height: 44px; - } -} - -/* Navigation */ -.#{$fa-css-prefix}-menu:before { content: fa-content($fa-var-bars); } -.#{$fa-css-prefix}-error:before { content: fa-content($fa-var-square-exclamation); } -.#{$fa-css-prefix}-warning:before { content: fa-content($fa-var-exclamation-triangle); } -.#{$fa-css-prefix}-success:before { content: fa-content($fa-var-check-circle); } -.#{$fa-css-prefix}-new:before { content: fa-content($fa-var-plus); } -.#{$fa-css-prefix}-refresh:before { content: fa-content($fa-var-sync); } -.#{$fa-css-prefix}-refresh:before { content: fa-content($fa-var-sync); } -.#{$fa-css-prefix}-cancel:before { content: fa-content($fa-var-image); } -.#{$fa-css-prefix}-prev:before, -.#{$fa-css-prefix}-back:before { content: fa-content($fa-var-chevron-left); } -.#{$fa-css-prefix}-next:before { content: fa-content($fa-var-chevron-right); } -.#{$fa-css-prefix}-close:before { content: fa-content($fa-var-times-circle); } - -/* Map */ -.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map-marked); } -.#{$fa-css-prefix}-track-off-track:before { content: fa-content($fa-var-hiking); } -.#{$fa-css-prefix}-track-main:before { content: fa-content($fa-var-hiking); } -.#{$fa-css-prefix}-track-hitchhiking:before { content: fa-content($fa-var-car-side); } -.#{$fa-css-prefix}-track-start:before { content: fa-content($fa-var-hiking);} -.#{$fa-css-prefix}-track-end:before { content: fa-content($fa-var-hiking);} -.#{$fa-css-prefix}-layers:before { content: fa-content($fa-var-layer-group); } -.#{$fa-css-prefix}-elev-chart:before { content: fa-content($fa-var-chart-area); } -.#{$fa-css-prefix}-distance:before { content: fa-content($fa-var-arrow-circle-right); } -.#{$fa-css-prefix}-elev-drop:before { content: fa-content($fa-var-arrow-circle-down); } -.#{$fa-css-prefix}-elev-gain:before { content: fa-content($fa-var-arrow-circle-up); } -.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-file-download); } - -/* Admin */ -.#{$fa-css-prefix}-newsletter:before { content: fa-content($fa-var-wifi); } -.#{$fa-css-prefix}-project:before { content: fa-content($fa-var-hiking); } -.#{$fa-css-prefix}-unsubscribe:before { content: fa-content($fa-var-times); } -.#{$fa-css-prefix}-credits:before { content: fa-content($fa-var-paw); } -.#{$fa-css-prefix}-admin:before { content: fa-content($fa-var-tools); } -.#{$fa-css-prefix}-config:before { content: fa-content($fa-var-cogs); } -.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-cloud-upload); } - -/* Feed */ -.#{$fa-css-prefix}-post:before { content: fa-content($fa-var-comment); } -.#{$fa-css-prefix}-media:before { content: fa-content($fa-var-photo-video); } -.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-film); } -.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); } -.#{$fa-css-prefix}-message:before { content: fa-content($fa-var-map-marker); } -.#{$fa-css-prefix}-message-in:before { content: fa-content($fa-var-shoe-prints); } -.#{$fa-css-prefix}-time:before { content: fa-content($fa-var-clock); } -.#{$fa-css-prefix}-coords:before { content: fa-content($fa-var-compass); } -.#{$fa-css-prefix}-altitude:before { content: fa-content($fa-var-mountain); } -.#{$fa-css-prefix}-drill-video:before { content: fa-content($fa-var-play-circle); } -.#{$fa-css-prefix}-drill-image:before { content: fa-content($fa-var-search); } -.#{$fa-css-prefix}-drill-message:before { content: fa-content($fa-var-search-location); } -.#{$fa-css-prefix}-video-shot:before { content: fa-content($fa-var-camcorder); } -.#{$fa-css-prefix}-image-shot:before { content: fa-content($fa-var-camera-alt); } -.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); } -.#{$fa-css-prefix}-link.copied:before { content: fa-content($fa-var-check); } - -/* Feed - Poster */ -.#{$fa-css-prefix}-poster:before { content: fa-content($fa-var-comment-edit); } -.#{$fa-css-prefix}-send:before { content: fa-content($fa-var-paper-plane); } - -/* Lightbox */ -.#{$fa-css-prefix}-timezone:before { content: fa-content($fa-var-globe); } - -/* Weather */ -.#{$fa-css-prefix}-temperature:before { content: fa-content($fa-var-thermometer-three-quarters); } -.#{$fa-css-prefix}-clear-day:before { content: fa-content($fa-var-sun); } -.#{$fa-css-prefix}-clear-night:before { content: fa-content($fa-var-moon-stars); } -.#{$fa-css-prefix}-cloudy:before { content: fa-content($fa-var-clouds); } -.#{$fa-css-prefix}-fog:before { content: fa-content($fa-var-fog); } -.#{$fa-css-prefix}-hail:before { content: fa-content($fa-var-cloud-hail); } -.#{$fa-css-prefix}-partly-cloudy-day:before { content: fa-content($fa-var-cloud-sun); } -.#{$fa-css-prefix}-partly-cloudy-night:before { content: fa-content($fa-var-cloud-moon); } -.#{$fa-css-prefix}-rain-snow-showers-day:before { content: fa-content($fa-var-cloud-sun-rain); } -.#{$fa-css-prefix}-rain-snow-showers-night:before { content: fa-content($fa-var-cloud-moon-rain); } -.#{$fa-css-prefix}-rain-snow:before { content: fa-content($fa-var-cloud-sleet); } -.#{$fa-css-prefix}-rain:before { content: fa-content($fa-var-cloud-rain); } -.#{$fa-css-prefix}-showers-day:before { content: fa-content($fa-var-cloud-sun-rain); } -.#{$fa-css-prefix}-showers-night:before { content: fa-content($fa-var-cloud-moon-rain); } -.#{$fa-css-prefix}-sleet:before { content: fa-content($fa-var-cloud-sleet); } -.#{$fa-css-prefix}-snow-showers-day:before { content: fa-content($fa-var-cloud-snow); } -.#{$fa-css-prefix}-snow-showers-night:before { content: fa-content($fa-var-cloud-snow); } -.#{$fa-css-prefix}-snow:before { content: fa-content($fa-var-cloud-snow); } -.#{$fa-css-prefix}-thunder-rain:before { content: fa-content($fa-var-thunderstorm); } -.#{$fa-css-prefix}-thunder-showers-day:before { content: fa-content($fa-var-thunderstorm-sun); } -.#{$fa-css-prefix}-thunder-showers-night:before { content: fa-content($fa-var-thunderstorm-moon); } -.#{$fa-css-prefix}-thunder:before { content: fa-content($fa-var-thunderstorm); } -.#{$fa-css-prefix}-wind:before { content: fa-content($fa-var-wind); } diff --git a/style/_leaflet.scss b/style/_leaflet.scss deleted file mode 100644 index 9b25fd4..0000000 --- a/style/_leaflet.scss +++ /dev/null @@ -1,110 +0,0 @@ -$theme : "spot-theme"; -$base-color : #CCC; -$highlight-color : #FFF; -$background : rgba($base-color, 0.2); -$drag-color : rgba($highlight-color, 0.2); -$axis-color : darken($base-color,20%); -$stroke-color : darken($base-color,40%); -$stroke-width-mouse-focus : 1; -$stroke-width-height-focus: 2; -$stroke-width-axis : 2; - -@import 'leaflet/leaflet'; -@import 'leaflet/leaflet_heightgraph'; - -/* Leaflet fixes */ -.leaflet-container { - background: none; -} - -.leaflet-popup { - .leaflet-popup-content-wrapper { - border-radius: 5px; - padding: 0; - - .leaflet-popup-content { - margin: 0; - padding: 1rem; - box-sizing: border-box; - } - } -} - -.leaflet-control.spot-control, .leaflet-control.heightgraph .heightgraph-toggle { - @extend .clickable; - width: 44px; - height: 44px; - text-align: center; - box-shadow: none; - - .fa { - @extend .control-icon; - width: 100%; - } -} - -/* Leaflet Heightgraph fixes */ - -.legend-text, .tick, .tick text, .focusbox, .height-focus.circle, .height-focus.label, .lineSelection, .horizontalLineText { - fill: #333 !important; -} - -.axis path, .focusbox rect, .focusLine line, .height-focus.label rect, .height-focus.line, .horizontalLine { - stroke: #333 !important; -} - -.focusbox rect, .height-focus.label rect { - stroke-width: 0; -} - -.focusLine line, .focusbox rect, .height-focus.label rect { - -webkit-filter: drop-shadow(1px 0px 2px rgba(0, 0, 0, 0.6)); - filter: drop-shadow(1px 0px 2px rgba(0, 0, 0, 0.6)); -} - -.height-focus.label rect, .focusbox rect { - fill: rgba(255,255,255,.6); -} - -.heightgraph.leaflet-control { - svg.heightgraph-container { - background: none; - border-radius: 0; - - .area { - @include drop-shadow(0.6); - } - } - - .horizontalLine { - stroke-width: 2px; - } - - .heightgraph-toggle { - background: none; - - .heightgraph-toggle-icon { - @extend .control-icon; - @extend .fa-elev-chart; - height: 44px; - position: static; - background: none; - } - } - - .heightgraph-close-icon { - @extend .control-icon; - @extend .fa-unsubscribe; - background: none; - font-size: 20px; - line-height: 26px; - width: 26px; - text-align: center; - display: none; - - &:before { - width: 26px; - height: 26px; - } - } -} diff --git a/style/_lightbox.scss b/style/_lightbox.scss deleted file mode 100644 index 52b104a..0000000 --- a/style/_lightbox.scss +++ /dev/null @@ -1,227 +0,0 @@ -@import 'lightbox/lightbox'; - -@mixin lightbox-icon($icon) { - background: none; - font-size: 2em; - @extend .fa; - @extend .#{$fa-css-prefix}-#{$icon}; -} - -.lightboxOverlay { - bottom: 0; - right: 0; - outline: none; -} - -.lightbox { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - height: 100%; - overflow: hidden; - - &.vertical { - flex-direction: column; - - .lb-dataContainer { - width: 100%; - height: 30px; - - .lb-data { - flex-direction: row; - - .lb-details { - width: calc(100% - 1.25rem); - - .lb-caption { - .lb-caption-line { - padding-right: 1em; - line-height: 1.33333333333em; //icon height - overflow: hidden; - - &.comment { - max-width: 50%; - @include no-text-overflow(); - } - } - } - } - - .lb-closeContainer { - .lb-close { - text-align: right; - } - } - } - } - } - &.horizontal { - flex-direction: row; - - .lb-dataContainer { - width: 200px; - height: 100%; - - .lb-data { - flex-direction: column; - - .lb-caption-line { - display: block; - margin-top: 1em; - line-height: 1.33333333em; - - &.comment { - .fa { - vertical-align: text-bottom; - } - - .comment-text { - display: inline-block; - width: calc(100% - 1.25em*1.33333333333 - 0.5rem); - vertical-align: top; - } - } - } - - .lb-closeContainer .lb-close { - margin-top: calc(1em/1.33333333); - float: none; - } - } - } - } - - /* Image */ - - .lb-outerContainer { - margin: 0; - border-radius:0; - background-color: rgba(255, 255, 255, 0.5); - - .lb-container { - overflow: hidden; - - &.moveable { - cursor: grab; - } - - &.moving { - cursor: grabbing; - } - - .lb-image { - image-orientation: from-image; - border-radius: 0; - border: none; - --translate-x: 0; - --translate-y: 0; - --scale: 1; - - transform: - translateX(var(--translate-x, 0)) - translateY(var(--translate-y, 0)) - scale(var(--scale, 1)); - } - - .lb-video { - box-sizing: content-box; - } - &.lb-video-nav .lb-nav { - top: 100px; - height: calc(100% - 200px); //Leave space for video progress bar - } - - .lb-nav { - - .lb-prev-area, .lb-next-area { - position: absolute; - top: 0; - height: 100%; - width: 50%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - - &.lb-next-area { - right: 0; - } - - &:hover a.lb-prev, &:hover a.lb-next { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; - } - } - - a.lb-prev, a.lb-next { - color: white; - text-decoration: none; - text-shadow: 0px 1px 1px rgba(0,0,0,0.8); - width: 150px; - height: 150px; - position: absolute; - top: 50%; - transform: translateY(-50%); - - -webkit-transition: opacity 0.4s; - -moz-transition: opacity 0.4s; - -o-transition: opacity 0.4s; - transition: opacity 0.4s; - - &:before { - position: absolute; - top: 50%; - transform: translateY(-50%); - } - } - - a.lb-prev { - @include lightbox-icon(prev); - left: 0; - } - - a.lb-next { - @include lightbox-icon(next); - right: 0; - } - } - } - } - /* Titles */ - - .lb-dataContainer { - margin: 0; - padding: 0; - flex: 0 0 auto; - overflow: hidden; - - .lb-data { - text-align: left; - padding: 0.5rem 0.5rem 0 0.5rem; - display: flex; - - .lb-details { - float: none; - - .lb-caption-line:first-child { - margin-top: 0; - } - } - - .lb-closeContainer .lb-close { - @include lightbox-icon(close); - @extend .fa-lg; - @extend .fa-fw; - height: auto; - font-size: 1.3333333333em; - line-height: 1em; - color: white; - } - } - } - - .lb-cancel { - @include lightbox-icon(cancel); - @extend .flicker; - color: #CCC; - text-decoration: none; - } -} \ No newline at end of file diff --git a/style/_mask_admin.scss b/style/_mask_admin.scss deleted file mode 100644 index 624f179..0000000 --- a/style/_mask_admin.scss +++ /dev/null @@ -1,37 +0,0 @@ -#admin { - margin: 1em; - - table { - margin-bottom: 1em; - border-collapse: collapse; - tr { - th { - background: #AAA; - color: white; - padding: 0.2rem 0.5rem; - } - td { - background: #EEE; - text-align: center; - padding: 0.2rem 0.5rem; - - input { - &[type="number"] { - width: 50px; - } - &[name="ref_feed_id"] { - width: 300px; - } - } - - button { - color: #AAA; - background: none; - &:hover { - color: #666; - } - } - } - } - } -} \ No newline at end of file diff --git a/style/_mask_project.scss b/style/_mask_project.scss deleted file mode 100644 index 6f9db76..0000000 --- a/style/_mask_project.scss +++ /dev/null @@ -1,842 +0,0 @@ -//Feed width -$elem-spacing: 0.5rem; -$block-spacing: 1rem; -$block-radius: 3px; -$block-shadow: 3px; -$panel-width: 30vw; -$panel-width-max: "400px + 3 * #{$block-spacing}"; -$button-width: 44px; - -//Feed colors -$post-input-bg: #ffffff; //#d9deff; -$post-color: #333; //#323268; -$post-color-hover: darken($post-color, 10%); -$post-bg: rgba(255,255,255,.8); //#B4BDFF; -$message-color: #326526; -$message-color-hover: darken($message-color, 10%); -$message-bg: #6DFF58; -$media-color: #333; //#635C28; -$media-bg: rgba(255,255,255,.8); //#F3EC9F; - -//Settings colors -$title-color: $post-color; -$subtitle-color: #999; - -//Legend colors -$track-main-color: #00ff78; -$track-off-track-color: #0000ff; -$track-hitchhiking-color: #FF7814; -$legend-color: $post-color; - -#projects { - overflow: hidden; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - - /* Panels movements */ - &.with-feed { - #submap { - width: calc(100% - min(#{$panel-width}, #{$panel-width-max})); - } - - #feed { - right: 0; - } - - .leaflet-right { - right: min(#{$panel-width}, #{$panel-width-max}); - } - - #feed-button { - .fa { - @extend .fa-next; - } - } - - #title { - max-width: calc(100vw - max(#{$panel-width}, #{$panel-width-max}) - (#{$button-width} + #{$block-spacing} * 2) * 2); - } - } - - &.with-settings { - #submap { - width: calc(100% - min(#{$panel-width}, #{$panel-width-max})); - left: min(#{$panel-width}, #{$panel-width-max}); - } - - #settings { - left: 0; - } - - .leaflet-left { - left: min(#{$panel-width}, #{$panel-width-max}); - } - - #settings-button { - .fa { - @extend .fa-prev; - } - } - - #title { - max-width: calc(100vw - #{$block-spacing} * 2 - min(#{$panel-width}, #{$panel-width-max}) - (#{$button-width} + #{$block-spacing} * 2) * 2); - } - } - - &.with-feed.with-settings { - #submap { - left: 0; - width: 100%; - } - - #title { - max-width: calc(100vw - #{$block-spacing} * 2 - min(#{$panel-width}, #{$panel-width-max}) * 2 - (#{$button-width} + #{$block-spacing} * 2) * 2); - } - } - - #background { - background: #666; - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - } - - #submap { - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 100%; - transition: width 0.5s, left 0.5s; - - .loader { - position: absolute; - font-size: 3em; - top: calc(50% - 0.5em); - left: calc(50% - 1.25em/2); - color: #CCC; - } - } - - #map { - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 100%; - - /* Leaflet Popup */ - .leaflet-popup-content { - - h1 { - font-size: 1.4em; - margin: 0; - font-weight: bold; - } - - .separator { - border-top: 1px solid #CCC; - margin: $elem-spacing 0 $block-spacing 0; - } - - /* Marker Popup */ - .info-window { - h1 .message-type { - color: #CCC; - font-weight: normal; - font-size: calc(1em / 1.4); - margin-left: 0.5em; - vertical-align: text-bottom; - } - - p { - font-size: 1.0em; - margin: $elem-spacing 0 0 0; - - a { - color: $post-color; - } - } - - .medias { - line-height: 0; - - a { - display: inline-block; - - margin: $block-spacing $block-spacing 0 0; - &:last-child { - margin-right: 0; - } - - &.drill { - font-size: 2em; - - .fa-drill-image { - color: transparent; - } - .fa-drill-video { - color: rgba(255, 255, 255, 0.5); - } - - &:hover { - .fa-drill-video, .fa-drill-image { - color: rgba(255, 255, 255, 0.75); - } - } - } - - img { - width: auto; - height: auto; - max-width: 200px; - max-height: 100px; - border-radius: $block-radius; - image-orientation: from-image; - transition: All 0.2s; - } - } - } - } - - /* Track Popup */ - .track_tooltip { - p { - margin: 0; - - &.description { - font-size: 1.15em; - } - } - - h1, .description { - @include no-text-overflow(); - } - .body { - padding-left: calc(1.25em*1.4 + #{$elem-spacing} ); - - .details { - margin-top: -$block-spacing; - - p.detail { - margin-top: $block-spacing; - width: 50%; - display: inline-block; - } - } - } - } - } - } - - /* Leaflet patches */ - .leaflet-control { - background-color: rgba(255, 255, 255, 0.6); - font-family: Roboto, Arial, sans-serif; - border-radius: $block-radius; - border: none; - margin: $block-spacing; - box-shadow: 0 1px 7px rgba(0, 0, 0, .4); - - &+ .leaflet-control:not(.leaflet-control-inline) { - margin-top: 0; - } - &+ .leaflet-control.leaflet-control-inline { - margin-left: 0; - } - - &.leaflet-control-scale { - padding: 0.5em; - - .leaflet-control-scale-line { - background: none; - } - } - - &.leaflet-control-inline { - clear: none; - } - } - - /* Pull right/left controls by $panel-width */ - .leaflet-right, .leaflet-left { - transition: left 0.5s, right 0.5s; - } - - /* Hide default layer control */ - .leaflet-top.leaflet-left .leaflet-control-layers .leaflet-control-layers-toggle { - display: none; - } - - #legend { - .track { - white-space: nowrap; - .line { - width: 2em; - height: 4px; - display: inline-block; - border-radius: 2px; - vertical-align: middle; - - &.main { - background-color: $track-main-color; - } - &.off-track { - background-color: $track-off-track-color; - } - &.hitchhiking { - background-color: $track-hitchhiking-color; - } - } - - .desc { - font-size: 1em; - margin-left: 0.5em; - color: $legend-color; - } - } - } - - #title { - @include no-text-overflow(); - line-height: $button-width; - height: $button-width; - padding: 0 $block-spacing; - margin-bottom: 0; - - span#project_name { - font-size: 1.3em; - } - } - - #feed-button .fa { - @extend .fa-post; - } - #settings-button .fa { - @extend .fa-menu; - } - - /* Drill & Map icons */ - - a.drill { - position: relative; - overflow: hidden; - text-decoration: none; - display: inline-block; - - .drill-icon { - position: absolute; - display: inline-block; - top: 50%; - left: 50%; - transform: translate(-50%,-50%); - - i { - transition: color 0.3s; - } - } - } - - .fa-stack { - .fa-message { - font-size: 32px; - text-shadow: rgba(0, 0, 0, 0.5) 3px 3px 3px; - color: $message-bg; - } - .fa-message-in { - font-size: 13px; - color: $message-color; - top: 1px; - } - .fa-track-start, .fa-track-end { - color: $message-color; - font-size: 14px; - top: 1px; - } - .fa-track-end { - color: $track-hitchhiking-color; - } - } - - /* Feed/Settings Panel */ - - #feed, #settings { - position: absolute; - top: 0; - bottom: 0; - overflow: hidden; - z-index: 999; - cursor: grab; - user-select: none; - - &.moving { - cursor: grabbing; - transition: none; - } - - input, textarea { - background-color: $post-input-bg; - color: $post-color; - outline: none; - } - - button, a.button { - background-color: $post-color; - color: $post-bg; - - &:hover, &:hover a, &:hover a:visited { - background-color: $post-input-bg; - color: $post-color; - } - - a, a:visited { - background-color: $post-color; - color: $post-bg; - text-decoration: none; - } - - &+ button, &+ a.button { - margin-left: $elem-spacing; - } - } - - #feed-panel, #settings-panel { - position: absolute; - top: 0; - bottom: 0; - left: 0; - } - } - #feed { - right: calc(min(#{$panel-width}, #{$panel-width-max}) * -1); - transition: right 0.5s; - width: #{$panel-width}; - max-width: calc(#{$panel-width-max}); - - #feed-panel { - width: 100%; - padding-top: $block-spacing; - - #posts_list { - position: relative; - } - - #poster { - &.histo-mode .poster, &:not(.histo-mode) .archived { - display: none; - } - - .poster { - textarea#post { - margin-bottom: 1em; - width: calc(100% - 2em); - } - - input#name { - width: calc(100% - 6em); - } - - button#submit { - margin-left: 1em; - margin-bottom: 0.5em; - } - } - - .archived { - background: #EEE; - } - } - - .body-box { - position:relative; - display: flex; - flex-direction: column; - } - - .post-item { - margin-bottom: $block-spacing; - background: $post-bg; - color: $post-color; - border-radius: $block-radius; - width: calc(100% - #{$block-spacing}); - box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.5); - - a { - color: $post-color; - &:hover { - color: $post-color-hover; - } - } - - .message { - margin: 0; - } - .signature { - margin: $elem-spacing 0 0 0; - text-align: right; - font-style: italic; - - img { - vertical-align: baseline; - margin: 0 0.2em calc((1em - 24px)/2) 0; - position: relative; - } - } - .header { - padding: 0 $block-spacing; - position: relative; - - span { - display: inline-block; - font-size: 0.8em; - padding: $elem-spacing 0px; - - &.index { - width: 25%; - - .link, .link:visited, .link_copied { - margin-left: $elem-spacing; - padding: 0; - line-height: 1; - } - } - - &.time { - width: 75%; - text-align: right; - font-style: italic; - } - } - } - .body { - clear: both; - padding: 0em $block-spacing $block-spacing; - } - - &.headerless { - .header { - display: none; - } - .body { - padding-top: $block-spacing; - text-align: center; - - p { - margin: 0; - - .fa { - display: inline-block; - font-size: 2em; - margin: $elem-spacing 0; - } - } - } - } - - &.message { - background: $message-bg; - color: $message-color; - - p { - font-size: 0.9em; - margin: 0 0 $elem-spacing 0; - display: inline-block; - width: 100%; - } - - a { - color: $message-color; - &:hover { - color: $message-color-hover; - } - } - - a.drill { - line-height: 0; - - .drill-icon { - transform: translate(-16px, -32px); - - .fa-message-in { - top: -1px; - left: -1px; - } - } - - &:hover { - .fa-message { - @extend .#{$fa-css-prefix}-drill-message; - top: 13px; - left: 3px; - } - .fa-message-in { - display: none; - } - } - } - - .weather { - position: absolute; - top: $block-spacing; - right: $block-spacing; - - .fa { - font-size: 1.3em; - vertical-align: middle; - line-height: 1rem; - background: $message-color; - color: $message-bg; - border-radius: $block-radius 0 0 $block-radius; - padding: $elem-spacing; - } - - span { - vertical-align: middle; - padding: $elem-spacing; - background: $message-bg; - color: $message-color; - border-radius: 0 $block-radius $block-radius 0; - } - } - - .staticmap { - width: 100%; - border-radius: $block-radius; - } - } - - &.post { - .body { - padding: 0em 1em 0.5em; - } - } - - &.media { - background: $media-bg; - color: $media-color; - - .body { - a { - display: inline-block; - width: 100%; - margin: 0; - color: $media-color; - position: relative; - line-height: 0; - - &.drill { - &:hover { - .drill-icon .fa-drill-image, .drill-icon .fa-drill-video { - color: rgba($media-bg, 0.75); - } - .comment { - opacity: 0; - } - } - - .drill-icon { - font-size: 3em; - - .fa-drill-image { - color: transparent; - } - .fa-drill-video { - color: rgba(255, 255, 255, 0.5); - } - } - } - - img { - width: 100%; - height: auto; - image-orientation: from-image; - outline: none; - border-radius: $block-radius; - } - - .comment { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - line-height: normal; - box-sizing: border-box; - margin: 0; - padding: 0.5em; - text-align: justify; - background: rgba(255, 255, 255, 0.6); - border-radius: 0 0 $block-radius $block-radius; - transition: opacity 0.3s; - opacity: 1; - } - } - } - } - } - } - } - #settings { - left: calc(min(#{$panel-width} + #{$block-shadow}, #{$panel-width-max} + #{$block-shadow}) * -1); - transition: left 0.5s; - width: calc(#{$panel-width} + #{$block-shadow}); //Add box-shadow - max-width: calc(#{$panel-width-max} + #{$block-shadow}); //Add box-shadow - - #settings-panel { - width: calc(100% - #{$block-spacing} - #{$block-shadow}); //Remove box-shadow - margin: $block-spacing; - border-radius: $block-radius; - box-shadow: 2px 2px $block-shadow 0px rgba(0, 0, 0, .5); - color: $post-color; - background: rgba(255, 255, 255, 0.8); - display: flex; - flex-direction: column; - flex-wrap: nowrap; - - .settings-header { - text-align: center; - flex: 0 1 auto; - - .logo { - background: rgba(255, 255, 255, .4); - padding: 2rem 1rem; - border-radius: $block-radius $block-radius 0 0; - - img { - width: 100%; - height: auto; - max-width: 180px; - transform: translateX(-10%); //Center Text, not logo. logo width (40px) / image width (200px) = 20%. And centering: 20% / 2 = 10% - } - } - - #last_update { - position: absolute; - margin-top: -2em; - padding: 0 1rem; - width: calc(100% - 2rem); - - p { - text-align: center; - font-size: 0.8em; - margin: 0; - color: $subtitle-color; - transform: translateX(calc(-0.5 * (12px + 0.5em))); //icon width + margin right - - span { - margin-right: 0.5em; - img { - width: 12px; - vertical-align: middle; - animation: spotlogo 20s infinite; - } - } - - abbr { - text-decoration: none; - vertical-align: middle; - } - } - } - } - - .settings-footer { - flex: 0 1 auto; - background: rgba(255, 255, 255, .4); - border-radius: 0 0 3px 3px; - font-size: 0.7em; - padding: 0.3rem; - text-align: center; - color: #888; - - a { - color: #777; - text-decoration: none; - } - } - - .settings-sections { - flex: 1 1 auto; - overflow: auto; - - #settings-sections-scrollbox { - height: 100%; - width: 100%; - } - - .settings-section { - display: inline-block; - margin: 1.5rem 1rem 0 1rem; - width: calc(100% - 2 * #{$block-spacing}); - - &:last-child { - margin-bottom: 1.5rem; - } - - h1 { - margin: 0 0 $block-spacing; - color: $title-color; - font-size: 1.5em; - } - - label { - margin-bottom: .3em; - display: block; - @extend .clickable; - - & > div { - @include no-text-overflow(); - } - } - - &.newsletter { - input#email { - width: calc(100% - 6em); - - &:disabled { - color: #999; - background: rgba(255,255,255,0.2); - } - } - button#nl_btn { - margin-left: 1em; - margin-bottom: 1em; - - &.subscribe .fa { - @extend .fa-send; - } - &.unsubscribe .fa { - @extend .fa-unsubscribe; - } - &.loading { - background-color: $message-color; - color: white; - span { - @extend .flicker; - } - } - } - } - - #settings-projects { - a.fa-download { - color: $legend-color; - - &:hover { - color: #0078A8; - } - } - } - } - } - } - } -} - -#elems { - display: none; -} diff --git a/style/_mask_upload.scss b/style/_mask_upload.scss deleted file mode 100644 index b860477..0000000 --- a/style/_mask_upload.scss +++ /dev/null @@ -1,36 +0,0 @@ -#upload { - padding: 1em; - - .bar { - height: 18px; - background: green; - } - - .comment { - margin-top: 1em; - - .thumb { - width: 30%; - max-width: 100px; - } - form { - display: inline-block; - width: calc(70% - 1em); - min-width: calc(100% - 100px - 1em); - margin-left: 1em; - vertical-align: top; - - .content { - width: 100%; - box-sizing: border-box; - padding: 0.5em; - border: 1px solid #333; - } - - .save { - margin-top: 1em; - padding: 0.5em; - } - } - } -} \ No newline at end of file diff --git a/style/_mobile.scss b/style/_mobile.scss deleted file mode 100644 index ac254e7..0000000 --- a/style/_mobile.scss +++ /dev/null @@ -1,91 +0,0 @@ -@media only screen and (max-width: 800px) { - - $panel-width: "100vw - #{$button-width} - 2 * #{$block-spacing}"; - - .desktop { - display: none !important; - } - - #projects { - #feed, #settings { - width: calc(#{$panel-width}); - max-width: calc(#{$panel-width}); - } - - #feed { - right: calc((#{$panel-width}) * -1); - } - - #settings { - left: calc((#{$panel-width}) * -1); - } - - #title { - width: calc(#{$panel-width} - #{$button-width} - 4 * #{$block-spacing}); - max-width: calc(#{$panel-width} - #{$button-width} - 4 * #{$block-spacing}); - text-align: center; - } - - .leaflet-right, .leaflet-left { - width: 100%; - } - - &.with-feed, &.with-settings { - #submap { - width: 100%; - } - - .leaflet-control-container .leaflet-top.leaflet-right { - display: none; - } - - #title { - width: calc(#{$panel-width} - #{$button-width} - 4 * #{$block-spacing}); - max-width: calc(#{$panel-width} - #{$button-width} - 4 * #{$block-spacing}); - } - } - - &.with-feed { - .leaflet-right { - right: calc(#{$panel-width}); - } - .leaflet-left { - left: calc((#{$panel-width}) * -1); - } - } - - &.with-settings { - .leaflet-right { - right: calc((#{$panel-width}) * -1); - } - .leaflet-left { - left: calc(#{$panel-width}); - } - } - - .leaflet-control-container .leaflet-top.leaflet-left { - display: none; - } - } - - .lightbox .lb-outerContainer .lb-container .lb-nav { - a.lb-prev, a.lb-next { - height: 100%; - width: 100%; - } - - a.lb-prev::before { - left: 1em; - } - - a.lb-next::before { - right: 1em; - } - } -} - -@media only screen and (min-width: 801px) { - .mobile { - display: none !important; - } -} diff --git a/style/_simplebar.scss b/style/_simplebar.scss deleted file mode 100644 index e13bcdc..0000000 --- a/style/_simplebar.scss +++ /dev/null @@ -1,211 +0,0 @@ -[data-simplebar] { - position: relative; - flex-direction: column; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; -} - -.simplebar-wrapper { - overflow: hidden; - width: inherit; - height: inherit; - max-width: inherit; - max-height: inherit; -} - -.simplebar-mask { - direction: inherit; - position: absolute; - overflow: hidden; - padding: 0; - margin: 0; - left: 0; - top: 0; - bottom: 0; - right: 0; - width: auto !important; - height: auto !important; - z-index: 0; -} - -.simplebar-offset { - direction: inherit !important; - box-sizing: inherit !important; - resize: none !important; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: 0; - margin: 0; - -webkit-overflow-scrolling: touch; -} - -.simplebar-content-wrapper { - direction: inherit; - box-sizing: border-box !important; - position: relative; - display: block; - height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */ - width: auto; - max-width: 100%; /* Not required for horizontal scroll to trigger */ - max-height: 100%; /* Needed for vertical scroll to trigger */ - scrollbar-width: none; - -ms-overflow-style: none; -} - -.simplebar-content-wrapper::-webkit-scrollbar, -.simplebar-hide-scrollbar::-webkit-scrollbar { - width: 0; - height: 0; -} - -.simplebar-content:before, -.simplebar-content:after { - content: ' '; - display: table; -} - -.simplebar-placeholder { - max-height: 100%; - max-width: 100%; - width: 100%; - pointer-events: none; -} - -.simplebar-height-auto-observer-wrapper { - box-sizing: inherit !important; - height: 100%; - width: 100%; - max-width: 1px; - position: relative; - float: left; - max-height: 1px; - overflow: hidden; - z-index: -1; - padding: 0; - margin: 0; - pointer-events: none; - flex-grow: inherit; - flex-shrink: 0; - flex-basis: 0; -} - -.simplebar-height-auto-observer { - box-sizing: inherit; - display: block; - opacity: 0; - position: absolute; - top: 0; - left: 0; - height: 1000%; - width: 1000%; - min-height: 1px; - min-width: 1px; - overflow: hidden; - pointer-events: none; - z-index: -1; -} - -.simplebar-track { - z-index: 1; - position: absolute; - right: 0; - bottom: 0; - pointer-events: none; - overflow: hidden; -} - -[data-simplebar].simplebar-dragging .simplebar-content { - pointer-events: none; - user-select: none; - -webkit-user-select: none; -} - -[data-simplebar].simplebar-dragging .simplebar-track { - pointer-events: all; -} - -.simplebar-scrollbar { - position: absolute; - left: 0; - right: 0; - min-height: 10px; -} - -.simplebar-scrollbar:before { - position: absolute; - content: ''; - background: black; - border-radius: 7px; - left: 2px; - right: 2px; - opacity: 0; - transition: opacity 0.2s linear; -} - -.simplebar-scrollbar.simplebar-visible:before { - /* When hovered, remove all transitions from drag handle */ - opacity: 0.5; - transition: opacity 0s linear; -} - -.simplebar-track.simplebar-vertical { - top: 0; - width: 11px; -} - -.simplebar-track.simplebar-vertical .simplebar-scrollbar:before { - top: 2px; - bottom: 2px; -} - -.simplebar-track.simplebar-horizontal { - left: 0; - height: 11px; -} - -.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before { - height: 100%; - left: 2px; - right: 2px; -} - -.simplebar-track.simplebar-horizontal .simplebar-scrollbar { - right: auto; - left: 0; - top: 2px; - height: 7px; - min-height: 0; - min-width: 10px; - width: auto; -} - -/* Rtl support */ -[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical { - right: auto; - left: 0; -} - -.hs-dummy-scrollbar-size { - direction: rtl; - position: fixed; - opacity: 0; - visibility: hidden; - height: 500px; - width: 500px; - overflow-y: hidden; - overflow-x: scroll; -} - -.simplebar-hide-scrollbar { - position: fixed; - left: 0; - visibility: hidden; - overflow-y: scroll; - scrollbar-width: none; - -ms-overflow-style: none; -} diff --git a/style/fa/_animated.scss b/style/fa/_animated.scss deleted file mode 100644 index 93555b2..0000000 --- a/style/fa/_animated.scss +++ /dev/null @@ -1,153 +0,0 @@ -// animating icons -// -------------------------- - -.#{$fa-css-prefix}-beat { - animation-name: #{$fa-css-prefix}-beat; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out); -} - -.#{$fa-css-prefix}-bounce { - animation-name: #{$fa-css-prefix}-bounce; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(0.280, 0.840, 0.420, 1)); -} - -.#{$fa-css-prefix}-fade { - animation-name: #{$fa-css-prefix}-fade; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1)); -} - -.#{$fa-css-prefix}-beat-fade { - animation-name: #{$fa-css-prefix}-beat-fade; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, cubic-bezier(.4,0,.6,1)); -} - -.#{$fa-css-prefix}-flip { - animation-name: #{$fa-css-prefix}-flip; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, ease-in-out); -} - -.#{$fa-css-prefix}-shake { - animation-name: #{$fa-css-prefix}-shake; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear); -} - -.#{$fa-css-prefix}-spin { - animation-name: #{$fa-css-prefix}-spin; - animation-delay: var(--#{$fa-css-prefix}-animation-delay, 0s); - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 2s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, linear); -} - -.#{$fa-css-prefix}-spin-reverse { - --#{$fa-css-prefix}-animation-direction: reverse; -} - -.#{$fa-css-prefix}-pulse, -.#{$fa-css-prefix}-spin-pulse { - animation-name: #{$fa-css-prefix}-spin; - animation-direction: var(--#{$fa-css-prefix}-animation-direction, normal); - animation-duration: var(--#{$fa-css-prefix}-animation-duration, 1s); - animation-iteration-count: var(--#{$fa-css-prefix}-animation-iteration-count, infinite); - animation-timing-function: var(--#{$fa-css-prefix}-animation-timing, steps(8)); -} - -// if agent or operating system prefers reduced motion, disable animations -// see: https://www.smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/ -// see: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion -@media (prefers-reduced-motion: reduce) { - .#{$fa-css-prefix}-beat, - .#{$fa-css-prefix}-bounce, - .#{$fa-css-prefix}-fade, - .#{$fa-css-prefix}-beat-fade, - .#{$fa-css-prefix}-flip, - .#{$fa-css-prefix}-pulse, - .#{$fa-css-prefix}-shake, - .#{$fa-css-prefix}-spin, - .#{$fa-css-prefix}-spin-pulse { - animation-delay: -1ms; - animation-duration: 1ms; - animation-iteration-count: 1; - transition-delay: 0s; - transition-duration: 0s; - } -} - -@keyframes #{$fa-css-prefix}-beat { - 0%, 90% { transform: scale(1); } - 45% { transform: scale(var(--#{$fa-css-prefix}-beat-scale, 1.25)); } -} - -@keyframes #{$fa-css-prefix}-bounce { - 0% { transform: scale(1,1) translateY(0); } - 10% { transform: scale(var(--#{$fa-css-prefix}-bounce-start-scale-x, 1.1),var(--#{$fa-css-prefix}-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { transform: scale(var(--#{$fa-css-prefix}-bounce-jump-scale-x, 0.9),var(--#{$fa-css-prefix}-bounce-jump-scale-y, 1.1)) translateY(var(--#{$fa-css-prefix}-bounce-height, -0.5em)); } - 50% { transform: scale(var(--#{$fa-css-prefix}-bounce-land-scale-x, 1.05),var(--#{$fa-css-prefix}-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { transform: scale(1,1) translateY(var(--#{$fa-css-prefix}-bounce-rebound, -0.125em)); } - 64% { transform: scale(1,1) translateY(0); } - 100% { transform: scale(1,1) translateY(0); } -} - -@keyframes #{$fa-css-prefix}-fade { - 50% { opacity: var(--#{$fa-css-prefix}-fade-opacity, 0.4); } -} - -@keyframes #{$fa-css-prefix}-beat-fade { - 0%, 100% { - opacity: var(--#{$fa-css-prefix}-beat-fade-opacity, 0.4); - transform: scale(1); - } - 50% { - opacity: 1; - transform: scale(var(--#{$fa-css-prefix}-beat-fade-scale, 1.125)); - } -} - -@keyframes #{$fa-css-prefix}-flip { - 50% { - transform: rotate3d(var(--#{$fa-css-prefix}-flip-x, 0), var(--#{$fa-css-prefix}-flip-y, 1), var(--#{$fa-css-prefix}-flip-z, 0), var(--#{$fa-css-prefix}-flip-angle, -180deg)); - } -} - -@keyframes #{$fa-css-prefix}-shake { - 0% { transform: rotate(-15deg); } - 4% { transform: rotate(15deg); } - 8%, 24% { transform: rotate(-18deg); } - 12%, 28% { transform: rotate(18deg); } - 16% { transform: rotate(-22deg); } - 20% { transform: rotate(22deg); } - 32% { transform: rotate(-12deg); } - 36% { transform: rotate(12deg); } - 40%, 100% { transform: rotate(0deg); } -} - -@keyframes #{$fa-css-prefix}-spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - diff --git a/style/fa/_bordered-pulled.scss b/style/fa/_bordered-pulled.scss deleted file mode 100644 index 9068253..0000000 --- a/style/fa/_bordered-pulled.scss +++ /dev/null @@ -1,20 +0,0 @@ -// bordered + pulled icons -// ------------------------- - -.#{$fa-css-prefix}-border { - border-color: var(--#{$fa-css-prefix}-border-color, #{$fa-border-color}); - border-radius: var(--#{$fa-css-prefix}-border-radius, #{$fa-border-radius}); - border-style: var(--#{$fa-css-prefix}-border-style, #{$fa-border-style}); - border-width: var(--#{$fa-css-prefix}-border-width, #{$fa-border-width}); - padding: var(--#{$fa-css-prefix}-border-padding, #{$fa-border-padding}); -} - -.#{$fa-css-prefix}-pull-left { - float: left; - margin-right: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin}); -} - -.#{$fa-css-prefix}-pull-right { - float: right; - margin-left: var(--#{$fa-css-prefix}-pull-margin, #{$fa-pull-margin}); -} diff --git a/style/fa/_core.scss b/style/fa/_core.scss deleted file mode 100644 index 502c9e2..0000000 --- a/style/fa/_core.scss +++ /dev/null @@ -1,66 +0,0 @@ -// base icon class definition -// ------------------------- - -.#{$fa-css-prefix} { - font-family: var(--#{$fa-css-prefix}-style-family, '#{$fa-style-family}'); - font-weight: var(--#{$fa-css-prefix}-style, #{$fa-style}); -} - -.#{$fa-css-prefix}, -.#{$fa-css-prefix}-classic, -.#{$fa-css-prefix}-sharp, -.fas, -.#{$fa-css-prefix}-solid, -.far, -.#{$fa-css-prefix}-regular, -.fal, -.#{$fa-css-prefix}-light, -.fat, -.#{$fa-css-prefix}-thin, -.fad, -.#{$fa-css-prefix}-duotone, -.fass, -.#{$fa-css-prefix}-sharp-solid, -.fab, -.#{$fa-css-prefix}-brands { - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: var(--#{$fa-css-prefix}-display, #{$fa-display}); - font-style: normal; - font-variant: normal; - line-height: 1; - text-rendering: auto; -} - -.fas, -.#{$fa-css-prefix}-classic, -.#{$fa-css-prefix}-solid, -.far, -.#{$fa-css-prefix}-regular, -.fal, -.#{$fa-css-prefix}-light, -.fat, -.#{$fa-css-prefix}-thin { - font-family: 'Font Awesome 6 Pro'; -} - -.fab, -.#{$fa-css-prefix}-brands { - font-family: 'Font Awesome 6 Brands'; -} - -.fad, -.#{$fa-css-prefix}-classic.#{$fa-css-prefix}-duotone, -.#{$fa-css-prefix}-duotone { - font-family: 'Font Awesome 6 Duotone'; -} - -.fass, -.#{$fa-css-prefix}-sharp { - font-family: 'Font Awesome 6 Sharp'; - font-weight: 900; -} - -%fa-icon { - @include fa-icon; -} diff --git a/style/fa/_duotone-icons.scss b/style/fa/_duotone-icons.scss deleted file mode 100644 index 12d08da..0000000 --- a/style/fa/_duotone-icons.scss +++ /dev/null @@ -1,10 +0,0 @@ -// specific duotone icon class definition -// ------------------------- - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ - -@each $name, $icon in $fa-icons { - .fad.#{$fa-css-prefix}-#{$name}::after, .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-#{$name}::after { - content: unquote("\"#{ $icon }#{ $icon }\""); - } -} diff --git a/style/fa/_fixed-width.scss b/style/fa/_fixed-width.scss deleted file mode 100644 index 7234236..0000000 --- a/style/fa/_fixed-width.scss +++ /dev/null @@ -1,7 +0,0 @@ -// fixed-width icons -// ------------------------- - -.#{$fa-css-prefix}-fw { - text-align: center; - width: $fa-fw-width; -} diff --git a/style/fa/_functions.scss b/style/fa/_functions.scss deleted file mode 100644 index a17ffe8..0000000 --- a/style/fa/_functions.scss +++ /dev/null @@ -1,57 +0,0 @@ -// functions -// -------------------------- - -// fa-content: convenience function used to set content property -@function fa-content($fa-var) { - @return unquote("\"#{ $fa-var }\""); -} - -// fa-divide: Originally obtained from the Bootstrap https://github.com/twbs/bootstrap -// -// Licensed under: The MIT License (MIT) -// -// Copyright (c) 2011-2021 Twitter, Inc. -// Copyright (c) 2011-2021 The Bootstrap Authors -// -// 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. - -@function fa-divide($dividend, $divisor, $precision: 10) { - $sign: if($dividend > 0 and $divisor > 0, 1, -1); - $dividend: abs($dividend); - $divisor: abs($divisor); - $quotient: 0; - $remainder: $dividend; - @if $dividend == 0 { - @return 0; - } - @if $divisor == 0 { - @error "Cannot divide by 0"; - } - @if $divisor == 1 { - @return $dividend; - } - @while $remainder >= $divisor { - $quotient: $quotient + 1; - $remainder: $remainder - $divisor; - } - @if $remainder > 0 and $precision > 0 { - $remainder: fa-divide($remainder * 10, $divisor, $precision - 1) * .1; - } - @return ($quotient + $remainder) * $sign; -} diff --git a/style/fa/_icons.scss b/style/fa/_icons.scss deleted file mode 100644 index 9e57e39..0000000 --- a/style/fa/_icons.scss +++ /dev/null @@ -1,9 +0,0 @@ -// specific icon class definition -// ------------------------- - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ - -@each $name, $icon in $fa-icons { - .#{$fa-css-prefix}-#{$name}::before { content: unquote("\"#{ $icon }\""); } -} diff --git a/style/fa/_list.scss b/style/fa/_list.scss deleted file mode 100644 index ced36e2..0000000 --- a/style/fa/_list.scss +++ /dev/null @@ -1,18 +0,0 @@ -// icons in a list -// ------------------------- - -.#{$fa-css-prefix}-ul { - list-style-type: none; - margin-left: var(--#{$fa-css-prefix}-li-margin, #{$fa-li-margin}); - padding-left: 0; - - > li { position: relative; } -} - -.#{$fa-css-prefix}-li { - left: calc(var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}) * -1); - position: absolute; - text-align: center; - width: var(--#{$fa-css-prefix}-li-width, #{$fa-li-width}); - line-height: inherit; -} diff --git a/style/fa/_mixins.scss b/style/fa/_mixins.scss deleted file mode 100644 index 4017c6e..0000000 --- a/style/fa/_mixins.scss +++ /dev/null @@ -1,121 +0,0 @@ -// mixins -// -------------------------- - -// base rendering for an icon -@mixin fa-icon { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: inline-block; - font-style: normal; - font-variant: normal; - font-weight: normal; - line-height: 1; -} - -// sets relative font-sizing and alignment (in _sizing) -@mixin fa-size ($font-size) { - font-size: fa-divide($font-size, $fa-size-scale-base) * 1em; // converts step in sizing scale into an em-based value that's relative to the scale's base - line-height: fa-divide(1, $font-size) * 1em; // sets the line-height of the icon back to that of it's parent - vertical-align: (fa-divide(6, $font-size) - fa-divide(3, 8)) * 1em; // vertically centers the icon taking into account the surrounding text's descender -} - -// only display content to screen readers -// see: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ -// see: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ -@mixin fa-sr-only() { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -// use in conjunction with .sr-only to only display content when it's focused -@mixin fa-sr-only-focusable() { - &:not(:focus) { - @include fa-sr-only(); - } -} - -// sets a specific icon family to use alongside style + icon mixins -@mixin fa-family-classic() { - font-family: 'Font Awesome 6 Pro'; -} - -@mixin fa-family-sharp() { - font-family: 'Font Awesome 6 Sharp'; -} - -// convenience mixins for declaring pseudo-elements by CSS variable, -// including all style-specific font properties, and both the ::before -// and ::after elements in the duotone case. -@mixin fa-icon-solid($fa-var) { - @extend %fa-icon; - @extend .fa-solid; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } -} - -@mixin fa-icon-regular($fa-var) { - @extend %fa-icon; - @extend .fa-regular; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } -} - -@mixin fa-icon-light($fa-var) { - @extend %fa-icon; - @extend .fa-light; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } -} - -@mixin fa-icon-thin($fa-var) { - @extend %fa-icon; - @extend .fa-thin; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } -} - -@mixin fa-icon-duotone($fa-var) { - @extend %fa-icon; - @extend .fa-duotone; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } - &::after { - content: unquote("\"#{ $fa-var }#{ $fa-var }\""); - } -} - -@mixin fa-icon-sharp-solid($fa-var) { - @extend %fa-icon; - @extend .fa-sharp-solid; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } -} - -@mixin fa-icon-brands($fa-var) { - @extend %fa-icon; - @extend .fa-brands; - - &::before { - content: unquote("\"#{ $fa-var }\""); - } -} - diff --git a/style/fa/_rotated-flipped.scss b/style/fa/_rotated-flipped.scss deleted file mode 100644 index f27fabe..0000000 --- a/style/fa/_rotated-flipped.scss +++ /dev/null @@ -1,31 +0,0 @@ -// rotating + flipping icons -// ------------------------- - -.#{$fa-css-prefix}-rotate-90 { - transform: rotate(90deg); -} - -.#{$fa-css-prefix}-rotate-180 { - transform: rotate(180deg); -} - -.#{$fa-css-prefix}-rotate-270 { - transform: rotate(270deg); -} - -.#{$fa-css-prefix}-flip-horizontal { - transform: scale(-1, 1); -} - -.#{$fa-css-prefix}-flip-vertical { - transform: scale(1, -1); -} - -.#{$fa-css-prefix}-flip-both, -.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { - transform: scale(-1, -1); -} - -.#{$fa-css-prefix}-rotate-by { - transform: rotate(var(--#{$fa-css-prefix}-rotate-angle, none)); -} diff --git a/style/fa/_screen-reader.scss b/style/fa/_screen-reader.scss deleted file mode 100644 index 2beb887..0000000 --- a/style/fa/_screen-reader.scss +++ /dev/null @@ -1,14 +0,0 @@ -// screen-reader utilities -// ------------------------- - -// only display content to screen readers -.sr-only, -.#{$fa-css-prefix}-sr-only { - @include fa-sr-only; -} - -// use in conjunction with .sr-only to only display content when it's focused -.sr-only-focusable, -.#{$fa-css-prefix}-sr-only-focusable { - @include fa-sr-only-focusable; -} diff --git a/style/fa/_shims.scss b/style/fa/_shims.scss deleted file mode 100644 index 6d5fbcc..0000000 --- a/style/fa/_shims.scss +++ /dev/null @@ -1,2042 +0,0 @@ -.#{$fa-css-prefix}.#{$fa-css-prefix}-glass:before { content: unquote("\"#{ $fa-var-martini-glass-empty }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o:before { content: unquote("\"#{ $fa-var-envelope }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o:before { content: unquote("\"#{ $fa-var-star }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-remove:before { content: unquote("\"#{ $fa-var-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-close:before { content: unquote("\"#{ $fa-var-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gear:before { content: unquote("\"#{ $fa-var-gear }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o:before { content: unquote("\"#{ $fa-var-trash-can }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-home:before { content: unquote("\"#{ $fa-var-house }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o:before { content: unquote("\"#{ $fa-var-file }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o:before { content: unquote("\"#{ $fa-var-clock }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down:before { content: unquote("\"#{ $fa-var-circle-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up:before { content: unquote("\"#{ $fa-var-circle-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o:before { content: unquote("\"#{ $fa-var-circle-play }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-repeat:before { content: unquote("\"#{ $fa-var-arrow-rotate-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-right:before { content: unquote("\"#{ $fa-var-arrow-rotate-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-refresh:before { content: unquote("\"#{ $fa-var-arrows-rotate }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-list-alt { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-list-alt:before { content: unquote("\"#{ $fa-var-rectangle-list }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dedent:before { content: unquote("\"#{ $fa-var-outdent }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-video-camera:before { content: unquote("\"#{ $fa-var-video }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o:before { content: unquote("\"#{ $fa-var-image }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-photo { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-photo:before { content: unquote("\"#{ $fa-var-image }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-image { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-image:before { content: unquote("\"#{ $fa-var-image }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-map-marker:before { content: unquote("\"#{ $fa-var-location-dot }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o:before { content: unquote("\"#{ $fa-var-pen-to-square }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-edit { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-edit:before { content: unquote("\"#{ $fa-var-pen-to-square }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-share-square-o:before { content: unquote("\"#{ $fa-var-share-from-square }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o:before { content: unquote("\"#{ $fa-var-square-check }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows:before { content: unquote("\"#{ $fa-var-up-down-left-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o:before { content: unquote("\"#{ $fa-var-circle-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o:before { content: unquote("\"#{ $fa-var-circle-check }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-forward:before { content: unquote("\"#{ $fa-var-share }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-expand:before { content: unquote("\"#{ $fa-var-up-right-and-down-left-from-center }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-compress:before { content: unquote("\"#{ $fa-var-down-left-and-up-right-to-center }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-eye { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-eye-slash { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-warning:before { content: unquote("\"#{ $fa-var-triangle-exclamation }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar:before { content: unquote("\"#{ $fa-var-calendar-days }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-v:before { content: unquote("\"#{ $fa-var-up-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-h:before { content: unquote("\"#{ $fa-var-left-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart:before { content: unquote("\"#{ $fa-var-chart-column }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart-o:before { content: unquote("\"#{ $fa-var-chart-column }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter-square:before { content: unquote("\"#{ $fa-var-square-twitter }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-square:before { content: unquote("\"#{ $fa-var-square-facebook }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gears:before { content: unquote("\"#{ $fa-var-gears }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up:before { content: unquote("\"#{ $fa-var-thumbs-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down:before { content: unquote("\"#{ $fa-var-thumbs-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o:before { content: unquote("\"#{ $fa-var-heart }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-out:before { content: unquote("\"#{ $fa-var-right-from-bracket }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square:before { content: unquote("\"#{ $fa-var-linkedin }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thumb-tack:before { content: unquote("\"#{ $fa-var-thumbtack }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link:before { content: unquote("\"#{ $fa-var-up-right-from-square }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-in:before { content: unquote("\"#{ $fa-var-right-to-bracket }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-github-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-github-square:before { content: unquote("\"#{ $fa-var-square-github }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o:before { content: unquote("\"#{ $fa-var-lemon }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o:before { content: unquote("\"#{ $fa-var-square }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o:before { content: unquote("\"#{ $fa-var-bookmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook:before { content: unquote("\"#{ $fa-var-facebook-f }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f:before { content: unquote("\"#{ $fa-var-facebook-f }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-github { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-feed:before { content: unquote("\"#{ $fa-var-rss }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o:before { content: unquote("\"#{ $fa-var-hard-drive }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right:before { content: unquote("\"#{ $fa-var-hand-point-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left:before { content: unquote("\"#{ $fa-var-hand-point-left }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up:before { content: unquote("\"#{ $fa-var-hand-point-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down:before { content: unquote("\"#{ $fa-var-hand-point-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-globe:before { content: unquote("\"#{ $fa-var-earth-americas }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-tasks:before { content: unquote("\"#{ $fa-var-bars-progress }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-alt:before { content: unquote("\"#{ $fa-var-maximize }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-group:before { content: unquote("\"#{ $fa-var-users }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-chain:before { content: unquote("\"#{ $fa-var-link }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cut:before { content: unquote("\"#{ $fa-var-scissors }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o:before { content: unquote("\"#{ $fa-var-copy }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o:before { content: unquote("\"#{ $fa-var-floppy-disk }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-save { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-save:before { content: unquote("\"#{ $fa-var-floppy-disk }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-navicon:before { content: unquote("\"#{ $fa-var-bars }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-reorder:before { content: unquote("\"#{ $fa-var-bars }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-magic:before { content: unquote("\"#{ $fa-var-wand-magic-sparkles }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-square:before { content: unquote("\"#{ $fa-var-square-pinterest }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-square:before { content: unquote("\"#{ $fa-var-square-google-plus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus:before { content: unquote("\"#{ $fa-var-google-plus-g }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-money:before { content: unquote("\"#{ $fa-var-money-bill-1 }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-unsorted:before { content: unquote("\"#{ $fa-var-sort }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-desc:before { content: unquote("\"#{ $fa-var-sort-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-asc:before { content: unquote("\"#{ $fa-var-sort-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin:before { content: unquote("\"#{ $fa-var-linkedin-in }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-left:before { content: unquote("\"#{ $fa-var-arrow-rotate-left }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-legal:before { content: unquote("\"#{ $fa-var-gavel }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-tachometer:before { content: unquote("\"#{ $fa-var-gauge-high }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dashboard:before { content: unquote("\"#{ $fa-var-gauge-high }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o:before { content: unquote("\"#{ $fa-var-comment }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o:before { content: unquote("\"#{ $fa-var-comments }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-flash:before { content: unquote("\"#{ $fa-var-bolt }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-clipboard:before { content: unquote("\"#{ $fa-var-paste }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o:before { content: unquote("\"#{ $fa-var-lightbulb }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-exchange:before { content: unquote("\"#{ $fa-var-right-left }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-download:before { content: unquote("\"#{ $fa-var-cloud-arrow-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-upload:before { content: unquote("\"#{ $fa-var-cloud-arrow-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o:before { content: unquote("\"#{ $fa-var-bell }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cutlery:before { content: unquote("\"#{ $fa-var-utensils }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o:before { content: unquote("\"#{ $fa-var-file-lines }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o:before { content: unquote("\"#{ $fa-var-building }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o:before { content: unquote("\"#{ $fa-var-hospital }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-tablet:before { content: unquote("\"#{ $fa-var-tablet-screen-button }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile:before { content: unquote("\"#{ $fa-var-mobile-screen-button }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile-phone:before { content: unquote("\"#{ $fa-var-mobile-screen-button }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o:before { content: unquote("\"#{ $fa-var-circle }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply:before { content: unquote("\"#{ $fa-var-reply }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-github-alt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o:before { content: unquote("\"#{ $fa-var-folder }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o:before { content: unquote("\"#{ $fa-var-folder-open }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o:before { content: unquote("\"#{ $fa-var-face-smile }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o:before { content: unquote("\"#{ $fa-var-face-frown }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o:before { content: unquote("\"#{ $fa-var-face-meh }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o:before { content: unquote("\"#{ $fa-var-keyboard }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o:before { content: unquote("\"#{ $fa-var-flag }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply-all:before { content: unquote("\"#{ $fa-var-reply-all }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o:before { content: unquote("\"#{ $fa-var-star-half-stroke }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty:before { content: unquote("\"#{ $fa-var-star-half-stroke }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full:before { content: unquote("\"#{ $fa-var-star-half-stroke }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-code-fork:before { content: unquote("\"#{ $fa-var-code-branch }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-chain-broken:before { content: unquote("\"#{ $fa-var-link-slash }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-unlink:before { content: unquote("\"#{ $fa-var-link-slash }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o:before { content: unquote("\"#{ $fa-var-calendar }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-maxcdn { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-html5 { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-css3 { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-unlock-alt:before { content: unquote("\"#{ $fa-var-unlock }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o:before { content: unquote("\"#{ $fa-var-square-minus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-level-up:before { content: unquote("\"#{ $fa-var-turn-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-level-down:before { content: unquote("\"#{ $fa-var-turn-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square:before { content: unquote("\"#{ $fa-var-square-pen }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link-square:before { content: unquote("\"#{ $fa-var-square-up-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-compass { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down:before { content: unquote("\"#{ $fa-var-square-caret-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down:before { content: unquote("\"#{ $fa-var-square-caret-down }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up:before { content: unquote("\"#{ $fa-var-square-caret-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up:before { content: unquote("\"#{ $fa-var-square-caret-up }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right:before { content: unquote("\"#{ $fa-var-square-caret-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right:before { content: unquote("\"#{ $fa-var-square-caret-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-eur:before { content: unquote("\"#{ $fa-var-euro-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-euro:before { content: unquote("\"#{ $fa-var-euro-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gbp:before { content: unquote("\"#{ $fa-var-sterling-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-usd:before { content: unquote("\"#{ $fa-var-dollar-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dollar:before { content: unquote("\"#{ $fa-var-dollar-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-inr:before { content: unquote("\"#{ $fa-var-indian-rupee-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rupee:before { content: unquote("\"#{ $fa-var-indian-rupee-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-jpy:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cny:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rmb:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-yen:before { content: unquote("\"#{ $fa-var-yen-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rub:before { content: unquote("\"#{ $fa-var-ruble-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-ruble:before { content: unquote("\"#{ $fa-var-ruble-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rouble:before { content: unquote("\"#{ $fa-var-ruble-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-krw:before { content: unquote("\"#{ $fa-var-won-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-won:before { content: unquote("\"#{ $fa-var-won-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-btc { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin:before { content: unquote("\"#{ $fa-var-btc }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text:before { content: unquote("\"#{ $fa-var-file-lines }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-asc:before { content: unquote("\"#{ $fa-var-arrow-down-a-z }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-desc:before { content: unquote("\"#{ $fa-var-arrow-down-z-a }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-asc:before { content: unquote("\"#{ $fa-var-arrow-down-short-wide }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-desc:before { content: unquote("\"#{ $fa-var-arrow-down-wide-short }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-asc:before { content: unquote("\"#{ $fa-var-arrow-down-1-9 }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-desc:before { content: unquote("\"#{ $fa-var-arrow-down-9-1 }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-square:before { content: unquote("\"#{ $fa-var-square-youtube }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-xing { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-xing-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-xing-square:before { content: unquote("\"#{ $fa-var-square-xing }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play:before { content: unquote("\"#{ $fa-var-youtube }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dropbox { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-overflow { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-instagram { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-flickr { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-adn { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square:before { content: unquote("\"#{ $fa-var-bitbucket }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr-square:before { content: unquote("\"#{ $fa-var-square-tumblr }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-down:before { content: unquote("\"#{ $fa-var-down-long }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-up:before { content: unquote("\"#{ $fa-var-up-long }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-left:before { content: unquote("\"#{ $fa-var-left-long }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-right:before { content: unquote("\"#{ $fa-var-right-long }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-apple { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-windows { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-android { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-linux { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dribbble { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-skype { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-foursquare { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-trello { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gratipay { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip:before { content: unquote("\"#{ $fa-var-gratipay }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o:before { content: unquote("\"#{ $fa-var-sun }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o:before { content: unquote("\"#{ $fa-var-moon }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-vk { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-weibo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-renren { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pagelines { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-exchange { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right:before { content: unquote("\"#{ $fa-var-circle-right }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left:before { content: unquote("\"#{ $fa-var-circle-left }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left:before { content: unquote("\"#{ $fa-var-square-caret-left }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left:before { content: unquote("\"#{ $fa-var-square-caret-left }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o:before { content: unquote("\"#{ $fa-var-circle-dot }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo-square:before { content: unquote("\"#{ $fa-var-square-vimeo }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-try:before { content: unquote("\"#{ $fa-var-turkish-lira-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-turkish-lira:before { content: unquote("\"#{ $fa-var-turkish-lira-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o:before { content: unquote("\"#{ $fa-var-square-plus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-slack { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wordpress { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-openid { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-institution:before { content: unquote("\"#{ $fa-var-building-columns }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bank:before { content: unquote("\"#{ $fa-var-building-columns }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mortar-board:before { content: unquote("\"#{ $fa-var-graduation-cap }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-yahoo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-google { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-square:before { content: unquote("\"#{ $fa-var-square-reddit }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon-circle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-delicious { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-digg { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-pp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-alt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-drupal { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-joomla { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-behance { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-behance-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-behance-square:before { content: unquote("\"#{ $fa-var-square-behance }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-steam { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-steam-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-steam-square:before { content: unquote("\"#{ $fa-var-square-steam }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-automobile:before { content: unquote("\"#{ $fa-var-car }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cab:before { content: unquote("\"#{ $fa-var-taxi }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-spotify { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-deviantart { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-soundcloud { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o:before { content: unquote("\"#{ $fa-var-file-pdf }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o:before { content: unquote("\"#{ $fa-var-file-word }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o:before { content: unquote("\"#{ $fa-var-file-excel }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o:before { content: unquote("\"#{ $fa-var-file-powerpoint }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o:before { content: unquote("\"#{ $fa-var-file-image }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o:before { content: unquote("\"#{ $fa-var-file-image }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o:before { content: unquote("\"#{ $fa-var-file-image }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o:before { content: unquote("\"#{ $fa-var-file-zipper }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o:before { content: unquote("\"#{ $fa-var-file-zipper }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o:before { content: unquote("\"#{ $fa-var-file-audio }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o:before { content: unquote("\"#{ $fa-var-file-audio }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o:before { content: unquote("\"#{ $fa-var-file-video }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o:before { content: unquote("\"#{ $fa-var-file-video }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o:before { content: unquote("\"#{ $fa-var-file-code }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-vine { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-codepen { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-jsfiddle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-life-bouy:before { content: unquote("\"#{ $fa-var-life-ring }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-life-buoy:before { content: unquote("\"#{ $fa-var-life-ring }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-life-saver:before { content: unquote("\"#{ $fa-var-life-ring }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-support:before { content: unquote("\"#{ $fa-var-life-ring }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o-notch:before { content: unquote("\"#{ $fa-var-circle-notch }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-rebel { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-ra { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-ra:before { content: unquote("\"#{ $fa-var-rebel }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance:before { content: unquote("\"#{ $fa-var-rebel }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-empire { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-ge { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-ge:before { content: unquote("\"#{ $fa-var-empire }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-git-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-git-square:before { content: unquote("\"#{ $fa-var-square-git }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-git { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hacker-news { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square:before { content: unquote("\"#{ $fa-var-hacker-news }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square:before { content: unquote("\"#{ $fa-var-hacker-news }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-tencent-weibo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-qq { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-weixin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat:before { content: unquote("\"#{ $fa-var-weixin }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-send:before { content: unquote("\"#{ $fa-var-paper-plane }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o:before { content: unquote("\"#{ $fa-var-paper-plane }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o:before { content: unquote("\"#{ $fa-var-paper-plane }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin:before { content: unquote("\"#{ $fa-var-circle }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-header:before { content: unquote("\"#{ $fa-var-heading }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o:before { content: unquote("\"#{ $fa-var-futbol }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o:before { content: unquote("\"#{ $fa-var-futbol }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-slideshare { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-twitch { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-yelp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o:before { content: unquote("\"#{ $fa-var-newspaper }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-paypal { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-wallet { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-visa { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-mastercard { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-discover { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-amex { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-paypal { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-stripe { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o:before { content: unquote("\"#{ $fa-var-bell-slash }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-trash:before { content: unquote("\"#{ $fa-var-trash-can }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-copyright { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-eyedropper:before { content: unquote("\"#{ $fa-var-eye-dropper }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-area-chart:before { content: unquote("\"#{ $fa-var-chart-area }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pie-chart:before { content: unquote("\"#{ $fa-var-chart-pie }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-line-chart:before { content: unquote("\"#{ $fa-var-chart-line }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm-square:before { content: unquote("\"#{ $fa-var-square-lastfm }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-ioxhost { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-angellist { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc:before { content: unquote("\"#{ $fa-var-closed-captioning }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-ils:before { content: unquote("\"#{ $fa-var-shekel-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-shekel:before { content: unquote("\"#{ $fa-var-shekel-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sheqel:before { content: unquote("\"#{ $fa-var-shekel-sign }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-buysellads { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-connectdevelop { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-dashcube { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-forumbee { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-leanpub { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sellsy { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-shirtsinbulk { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-simplybuilt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-skyatlas { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond:before { content: unquote("\"#{ $fa-var-gem }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-transgender:before { content: unquote("\"#{ $fa-var-mars-and-venus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-intersex:before { content: unquote("\"#{ $fa-var-mars-and-venus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-transgender-alt:before { content: unquote("\"#{ $fa-var-transgender }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official:before { content: unquote("\"#{ $fa-var-facebook }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-p { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-whatsapp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hotel:before { content: unquote("\"#{ $fa-var-bed }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-viacoin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-medium { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-yc { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-yc:before { content: unquote("\"#{ $fa-var-y-combinator }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-optin-monster { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-opencart { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-expeditedssl { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-4:before { content: unquote("\"#{ $fa-var-battery-full }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-battery:before { content: unquote("\"#{ $fa-var-battery-full }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-3:before { content: unquote("\"#{ $fa-var-battery-three-quarters }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-2:before { content: unquote("\"#{ $fa-var-battery-half }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-1:before { content: unquote("\"#{ $fa-var-battery-quarter }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-0:before { content: unquote("\"#{ $fa-var-battery-empty }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-object-group { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-object-ungroup { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o:before { content: unquote("\"#{ $fa-var-note-sticky }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-jcb { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-diners-club { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-clone { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-o:before { content: unquote("\"#{ $fa-var-hourglass }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-1:before { content: unquote("\"#{ $fa-var-hourglass-start }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-2:before { content: unquote("\"#{ $fa-var-hourglass-half }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-3:before { content: unquote("\"#{ $fa-var-hourglass-end }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o:before { content: unquote("\"#{ $fa-var-hand-back-fist }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o:before { content: unquote("\"#{ $fa-var-hand-back-fist }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o:before { content: unquote("\"#{ $fa-var-hand }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o:before { content: unquote("\"#{ $fa-var-hand }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o:before { content: unquote("\"#{ $fa-var-hand-scissors }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o:before { content: unquote("\"#{ $fa-var-hand-lizard }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o:before { content: unquote("\"#{ $fa-var-hand-spock }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o:before { content: unquote("\"#{ $fa-var-hand-pointer }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o:before { content: unquote("\"#{ $fa-var-hand-peace }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-registered { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-creative-commons { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gg { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gg-circle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki-square:before { content: unquote("\"#{ $fa-var-square-odnoklassniki }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-get-pocket { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wikipedia-w { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-safari { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-chrome { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-firefox { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-opera { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-internet-explorer { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-television:before { content: unquote("\"#{ $fa-var-tv }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-contao { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-500px { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-amazon { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o:before { content: unquote("\"#{ $fa-var-calendar-plus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o:before { content: unquote("\"#{ $fa-var-calendar-minus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o:before { content: unquote("\"#{ $fa-var-calendar-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o:before { content: unquote("\"#{ $fa-var-calendar-check }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o:before { content: unquote("\"#{ $fa-var-map }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting:before { content: unquote("\"#{ $fa-var-comment-dots }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o:before { content: unquote("\"#{ $fa-var-comment-dots }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-houzz { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo:before { content: unquote("\"#{ $fa-var-vimeo-v }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-black-tie { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-fonticons { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-alien { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-edge { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card-alt:before { content: unquote("\"#{ $fa-var-credit-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-codiepie { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-modx { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-fort-awesome { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-usb { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-product-hunt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-mixcloud { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-scribd { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o:before { content: unquote("\"#{ $fa-var-circle-pause }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o:before { content: unquote("\"#{ $fa-var-circle-stop }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth-b { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-gitlab { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wpbeginner { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wpforms { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-envira { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt:before { content: unquote("\"#{ $fa-var-accessible-icon }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o:before { content: unquote("\"#{ $fa-var-circle-question }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-volume-control-phone:before { content: unquote("\"#{ $fa-var-phone-volume }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-asl-interpreting:before { content: unquote("\"#{ $fa-var-hands-asl-interpreting }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-deafness:before { content: unquote("\"#{ $fa-var-ear-deaf }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-hard-of-hearing:before { content: unquote("\"#{ $fa-var-ear-deaf }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-glide { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-glide-g { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-signing:before { content: unquote("\"#{ $fa-var-hands }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo-square:before { content: unquote("\"#{ $fa-var-square-viadeo }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-ghost { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-ghost:before { content: unquote("\"#{ $fa-var-snapchat }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-square:before { content: unquote("\"#{ $fa-var-square-snapchat }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-first-order { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-yoast { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-themeisle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official:before { content: unquote("\"#{ $fa-var-google-plus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle:before { content: unquote("\"#{ $fa-var-google-plus }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-font-awesome { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-fa { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-fa:before { content: unquote("\"#{ $fa-var-font-awesome }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o:before { content: unquote("\"#{ $fa-var-handshake }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o:before { content: unquote("\"#{ $fa-var-envelope-open }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-linode { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o:before { content: unquote("\"#{ $fa-var-address-book }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard:before { content: unquote("\"#{ $fa-var-address-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o:before { content: unquote("\"#{ $fa-var-address-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o:before { content: unquote("\"#{ $fa-var-address-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o:before { content: unquote("\"#{ $fa-var-circle-user }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o:before { content: unquote("\"#{ $fa-var-user }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-id-badge { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license:before { content: unquote("\"#{ $fa-var-id-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o:before { content: unquote("\"#{ $fa-var-id-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o:before { content: unquote("\"#{ $fa-var-id-card }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-quora { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-free-code-camp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-telegram { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-4:before { content: unquote("\"#{ $fa-var-temperature-full }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer:before { content: unquote("\"#{ $fa-var-temperature-full }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-3:before { content: unquote("\"#{ $fa-var-temperature-three-quarters }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-2:before { content: unquote("\"#{ $fa-var-temperature-half }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-1:before { content: unquote("\"#{ $fa-var-temperature-quarter }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-0:before { content: unquote("\"#{ $fa-var-temperature-empty }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bathtub:before { content: unquote("\"#{ $fa-var-bath }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-s15:before { content: unquote("\"#{ $fa-var-bath }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-window-maximize { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-window-restore { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle:before { content: unquote("\"#{ $fa-var-rectangle-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o:before { content: unquote("\"#{ $fa-var-rectangle-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o:before { content: unquote("\"#{ $fa-var-rectangle-xmark }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-bandcamp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-grav { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-etsy { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-imdb { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-ravelry { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast:before { content: unquote("\"#{ $fa-var-sellcast }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o { - font-family: 'Font Awesome 6 Pro'; - font-weight: 400; -} -.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o:before { content: unquote("\"#{ $fa-var-snowflake }\""); } - -.#{$fa-css-prefix}.#{$fa-css-prefix}-superpowers { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-wpexplorer { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - -.#{$fa-css-prefix}.#{$fa-css-prefix}-meetup { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; -} - diff --git a/style/fa/_sizing.scss b/style/fa/_sizing.scss deleted file mode 100644 index e171e7d..0000000 --- a/style/fa/_sizing.scss +++ /dev/null @@ -1,16 +0,0 @@ -// sizing icons -// ------------------------- - -// literal magnification scale -@for $i from 1 through 10 { - .#{$fa-css-prefix}-#{$i}x { - font-size: $i * 1em; - } -} - -// step-based scale (with alignment) -@each $size, $value in $fa-sizes { - .#{$fa-css-prefix}-#{$size} { - @include fa-size($value); - } -} diff --git a/style/fa/_stacked.scss b/style/fa/_stacked.scss deleted file mode 100644 index d9a9d4e..0000000 --- a/style/fa/_stacked.scss +++ /dev/null @@ -1,32 +0,0 @@ -// stacking icons -// ------------------------- - -.#{$fa-css-prefix}-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: $fa-stack-vertical-align; - width: $fa-stack-width; -} - -.#{$fa-css-prefix}-stack-1x, -.#{$fa-css-prefix}-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; - z-index: var(--#{$fa-css-prefix}-stack-z-index, #{$fa-stack-z-index}); -} - -.#{$fa-css-prefix}-stack-1x { - line-height: inherit; -} - -.#{$fa-css-prefix}-stack-2x { - font-size: 2em; -} - -.#{$fa-css-prefix}-inverse { - color: var(--#{$fa-css-prefix}-inverse, #{$fa-inverse}); -} diff --git a/style/fa/_variables.scss b/style/fa/_variables.scss deleted file mode 100644 index b9a63a5..0000000 --- a/style/fa/_variables.scss +++ /dev/null @@ -1,9327 +0,0 @@ -// variables -// -------------------------- - -$fa-css-prefix : fa !default; -$fa-style : 900 !default; -$fa-style-family : "Font Awesome 6 Pro" !default; - -$fa-display : inline-block !default; - -$fa-fw-width : fa-divide(20em, 16) !default; -$fa-inverse : #fff !default; - -$fa-border-color : #eee !default; -$fa-border-padding : .2em .25em .15em !default; -$fa-border-radius : .1em !default; -$fa-border-style : solid !default; -$fa-border-width : .08em !default; - -$fa-size-scale-2xs : 10 !default; -$fa-size-scale-xs : 12 !default; -$fa-size-scale-sm : 14 !default; -$fa-size-scale-base : 16 !default; -$fa-size-scale-lg : 20 !default; -$fa-size-scale-xl : 24 !default; -$fa-size-scale-2xl : 32 !default; - -$fa-sizes: ( - "2xs" : $fa-size-scale-2xs, - "xs" : $fa-size-scale-xs, - "sm" : $fa-size-scale-sm, - "lg" : $fa-size-scale-lg, - "xl" : $fa-size-scale-xl, - "2xl" : $fa-size-scale-2xl -) !default; - -$fa-li-width : 2em !default; -$fa-li-margin : $fa-li-width * fa-divide(5, 4) !default; - -$fa-pull-margin : .3em !default; - -$fa-primary-opacity : 1 !default; -$fa-secondary-opacity : .4 !default; - -$fa-stack-vertical-align: middle !default; -$fa-stack-width : ($fa-fw-width * 2) !default; -$fa-stack-z-index : auto !default; - -$fa-font-display : block !default; -$fa-font-path : "../webfonts" !default; - -$fa-var-0: \30; -$fa-var-1: \31; -$fa-var-2: \32; -$fa-var-3: \33; -$fa-var-4: \34; -$fa-var-5: \35; -$fa-var-6: \36; -$fa-var-7: \37; -$fa-var-8: \38; -$fa-var-9: \39; -$fa-var-fill-drip: \f576; -$fa-var-arrows-to-circle: \e4bd; -$fa-var-circle-chevron-right: \f138; -$fa-var-chevron-circle-right: \f138; -$fa-var-wagon-covered: \f8ee; -$fa-var-line-height: \f871; -$fa-var-bagel: \e3d7; -$fa-var-transporter-7: \e2a8; -$fa-var-at: \40; -$fa-var-rectangles-mixed: \e323; -$fa-var-phone-arrow-up-right: \e224; -$fa-var-phone-arrow-up: \e224; -$fa-var-phone-outgoing: \e224; -$fa-var-trash-can: \f2ed; -$fa-var-trash-alt: \f2ed; -$fa-var-circle-l: \e114; -$fa-var-head-side-goggles: \f6ea; -$fa-var-head-vr: \f6ea; -$fa-var-text-height: \f034; -$fa-var-user-xmark: \f235; -$fa-var-user-times: \f235; -$fa-var-face-hand-yawn: \e379; -$fa-var-gauge-simple-min: \f62d; -$fa-var-tachometer-slowest: \f62d; -$fa-var-stethoscope: \f0f1; -$fa-var-coffin: \f6c6; -$fa-var-message: \f27a; -$fa-var-comment-alt: \f27a; -$fa-var-salad: \f81e; -$fa-var-bowl-salad: \f81e; -$fa-var-info: \f129; -$fa-var-robot-astromech: \e2d2; -$fa-var-ring-diamond: \e5ab; -$fa-var-fondue-pot: \e40d; -$fa-var-theta: \f69e; -$fa-var-face-hand-peeking: \e481; -$fa-var-square-user: \e283; -$fa-var-down-left-and-up-right-to-center: \f422; -$fa-var-compress-alt: \f422; -$fa-var-explosion: \e4e9; -$fa-var-file-lines: \f15c; -$fa-var-file-alt: \f15c; -$fa-var-file-text: \f15c; -$fa-var-wave-square: \f83e; -$fa-var-ring: \f70b; -$fa-var-building-un: \e4d9; -$fa-var-dice-three: \f527; -$fa-var-tire-pressure-warning: \f633; -$fa-var-wifi-fair: \f6ab; -$fa-var-wifi-2: \f6ab; -$fa-var-calendar-days: \f073; -$fa-var-calendar-alt: \f073; -$fa-var-mp3-player: \f8ce; -$fa-var-anchor-circle-check: \e4aa; -$fa-var-tally-4: \e297; -$fa-var-rectangle-history: \e4a2; -$fa-var-building-circle-arrow-right: \e4d1; -$fa-var-volleyball: \f45f; -$fa-var-volleyball-ball: \f45f; -$fa-var-sun-haze: \f765; -$fa-var-text-size: \f894; -$fa-var-ufo: \e047; -$fa-var-fork: \f2e3; -$fa-var-utensil-fork: \f2e3; -$fa-var-arrows-up-to-line: \e4c2; -$fa-var-mobile-signal: \e1ef; -$fa-var-barcode-scan: \f465; -$fa-var-sort-down: \f0dd; -$fa-var-sort-desc: \f0dd; -$fa-var-folder-arrow-down: \e053; -$fa-var-folder-download: \e053; -$fa-var-circle-minus: \f056; -$fa-var-minus-circle: \f056; -$fa-var-face-icicles: \e37c; -$fa-var-shovel: \f713; -$fa-var-door-open: \f52b; -$fa-var-films: \e17a; -$fa-var-right-from-bracket: \f2f5; -$fa-var-sign-out-alt: \f2f5; -$fa-var-face-glasses: \e377; -$fa-var-nfc: \e1f7; -$fa-var-atom: \f5d2; -$fa-var-soap: \e06e; -$fa-var-icons: \f86d; -$fa-var-heart-music-camera-bolt: \f86d; -$fa-var-microphone-lines-slash: \f539; -$fa-var-microphone-alt-slash: \f539; -$fa-var-closed-captioning-slash: \e135; -$fa-var-calculator-simple: \f64c; -$fa-var-calculator-alt: \f64c; -$fa-var-bridge-circle-check: \e4c9; -$fa-var-sliders-up: \f3f1; -$fa-var-sliders-v: \f3f1; -$fa-var-location-minus: \f609; -$fa-var-map-marker-minus: \f609; -$fa-var-pump-medical: \e06a; -$fa-var-fingerprint: \f577; -$fa-var-ski-boot: \e3cc; -$fa-var-standard-definition: \e28a; -$fa-var-rectangle-sd: \e28a; -$fa-var-h1: \f313; -$fa-var-hand-point-right: \f0a4; -$fa-var-magnifying-glass-location: \f689; -$fa-var-search-location: \f689; -$fa-var-message-bot: \e3b8; -$fa-var-forward-step: \f051; -$fa-var-step-forward: \f051; -$fa-var-face-smile-beam: \f5b8; -$fa-var-smile-beam: \f5b8; -$fa-var-light-ceiling: \e016; -$fa-var-message-exclamation: \f4a5; -$fa-var-comment-alt-exclamation: \f4a5; -$fa-var-bowl-scoop: \e3de; -$fa-var-bowl-shaved-ice: \e3de; -$fa-var-square-x: \e286; -$fa-var-utility-pole-double: \e2c4; -$fa-var-flag-checkered: \f11e; -$fa-var-chevrons-up: \f325; -$fa-var-chevron-double-up: \f325; -$fa-var-football: \f44e; -$fa-var-football-ball: \f44e; -$fa-var-user-vneck: \e461; -$fa-var-school-circle-exclamation: \e56c; -$fa-var-crop: \f125; -$fa-var-angles-down: \f103; -$fa-var-angle-double-down: \f103; -$fa-var-users-rectangle: \e594; -$fa-var-people-roof: \e537; -$fa-var-square-arrow-right: \f33b; -$fa-var-arrow-square-right: \f33b; -$fa-var-location-plus: \f60a; -$fa-var-map-marker-plus: \f60a; -$fa-var-lightbulb-exclamation-on: \e1ca; -$fa-var-people-line: \e534; -$fa-var-beer-mug-empty: \f0fc; -$fa-var-beer: \f0fc; -$fa-var-crate-empty: \e151; -$fa-var-diagram-predecessor: \e477; -$fa-var-transporter: \e042; -$fa-var-calendar-circle-user: \e471; -$fa-var-arrow-up-long: \f176; -$fa-var-long-arrow-up: \f176; -$fa-var-person-carry-box: \f4cf; -$fa-var-person-carry: \f4cf; -$fa-var-fire-flame-simple: \f46a; -$fa-var-burn: \f46a; -$fa-var-person: \f183; -$fa-var-male: \f183; -$fa-var-laptop: \f109; -$fa-var-file-csv: \f6dd; -$fa-var-menorah: \f676; -$fa-var-union: \f6a2; -$fa-var-chevrons-left: \f323; -$fa-var-chevron-double-left: \f323; -$fa-var-circle-heart: \f4c7; -$fa-var-heart-circle: \f4c7; -$fa-var-truck-plane: \e58f; -$fa-var-record-vinyl: \f8d9; -$fa-var-bring-forward: \f856; -$fa-var-square-p: \e279; -$fa-var-face-grin-stars: \f587; -$fa-var-grin-stars: \f587; -$fa-var-sigma: \f68b; -$fa-var-camera-movie: \f8a9; -$fa-var-bong: \f55c; -$fa-var-clarinet: \f8ad; -$fa-var-truck-flatbed: \e2b6; -$fa-var-spaghetti-monster-flying: \f67b; -$fa-var-pastafarianism: \f67b; -$fa-var-arrow-down-up-across-line: \e4af; -$fa-var-leaf-heart: \f4cb; -$fa-var-house-building: \e1b1; -$fa-var-cheese-swiss: \f7f0; -$fa-var-spoon: \f2e5; -$fa-var-utensil-spoon: \f2e5; -$fa-var-jar-wheat: \e517; -$fa-var-envelopes-bulk: \f674; -$fa-var-mail-bulk: \f674; -$fa-var-file-circle-exclamation: \e4eb; -$fa-var-bow-arrow: \f6b9; -$fa-var-cart-xmark: \e0dd; -$fa-var-hexagon-xmark: \f2ee; -$fa-var-times-hexagon: \f2ee; -$fa-var-xmark-hexagon: \f2ee; -$fa-var-circle-h: \f47e; -$fa-var-hospital-symbol: \f47e; -$fa-var-merge: \e526; -$fa-var-pager: \f815; -$fa-var-cart-minus: \e0db; -$fa-var-address-book: \f2b9; -$fa-var-contact-book: \f2b9; -$fa-var-pan-frying: \e42c; -$fa-var-grid: \e195; -$fa-var-grid-3: \e195; -$fa-var-football-helmet: \f44f; -$fa-var-hand-love: \e1a5; -$fa-var-trees: \f724; -$fa-var-strikethrough: \f0cc; -$fa-var-page: \e428; -$fa-var-k: \4b; -$fa-var-diagram-previous: \e478; -$fa-var-gauge-min: \f628; -$fa-var-tachometer-alt-slowest: \f628; -$fa-var-folder-grid: \e188; -$fa-var-eggplant: \e16c; -$fa-var-ram: \f70a; -$fa-var-landmark-flag: \e51c; -$fa-var-lips: \f600; -$fa-var-pencil: \f303; -$fa-var-pencil-alt: \f303; -$fa-var-backward: \f04a; -$fa-var-caret-right: \f0da; -$fa-var-comments: \f086; -$fa-var-paste: \f0ea; -$fa-var-file-clipboard: \f0ea; -$fa-var-desktop-arrow-down: \e155; -$fa-var-code-pull-request: \e13c; -$fa-var-pumpkin: \f707; -$fa-var-clipboard-list: \f46d; -$fa-var-pen-field: \e211; -$fa-var-blueberries: \e2e8; -$fa-var-truck-ramp-box: \f4de; -$fa-var-truck-loading: \f4de; -$fa-var-note: \e1ff; -$fa-var-arrow-down-to-square: \e096; -$fa-var-user-check: \f4fc; -$fa-var-cloud-xmark: \e35f; -$fa-var-vial-virus: \e597; -$fa-var-book-blank: \f5d9; -$fa-var-book-alt: \f5d9; -$fa-var-golf-flag-hole: \e3ac; -$fa-var-message-arrow-down: \e1db; -$fa-var-comment-alt-arrow-down: \e1db; -$fa-var-face-unamused: \e39f; -$fa-var-sheet-plastic: \e571; -$fa-var-circle-9: \e0f6; -$fa-var-blog: \f781; -$fa-var-user-ninja: \f504; -$fa-var-pencil-slash: \e215; -$fa-var-bowling-pins: \f437; -$fa-var-person-arrow-up-from-line: \e539; -$fa-var-down-right: \e16b; -$fa-var-scroll-torah: \f6a0; -$fa-var-torah: \f6a0; -$fa-var-blinds-open: \f8fc; -$fa-var-fence: \e303; -$fa-var-up: \f357; -$fa-var-arrow-alt-up: \f357; -$fa-var-broom-ball: \f458; -$fa-var-quidditch: \f458; -$fa-var-quidditch-broom-ball: \f458; -$fa-var-drumstick: \f6d6; -$fa-var-square-v: \e284; -$fa-var-face-awesome: \e409; -$fa-var-gave-dandy: \e409; -$fa-var-dial-off: \e162; -$fa-var-toggle-off: \f204; -$fa-var-face-smile-horns: \e391; -$fa-var-box-archive: \f187; -$fa-var-archive: \f187; -$fa-var-grapes: \e306; -$fa-var-person-drowning: \e545; -$fa-var-dial-max: \e15e; -$fa-var-circle-m: \e115; -$fa-var-calendar-image: \e0d4; -$fa-var-circle-caret-down: \f32d; -$fa-var-caret-circle-down: \f32d; -$fa-var-arrow-down-9-1: \f886; -$fa-var-sort-numeric-desc: \f886; -$fa-var-sort-numeric-down-alt: \f886; -$fa-var-face-grin-tongue-squint: \f58a; -$fa-var-grin-tongue-squint: \f58a; -$fa-var-shish-kebab: \f821; -$fa-var-spray-can: \f5bd; -$fa-var-alarm-snooze: \f845; -$fa-var-scarecrow: \f70d; -$fa-var-truck-monster: \f63b; -$fa-var-gift-card: \f663; -$fa-var-w: \57; -$fa-var-code-pull-request-draft: \e3fa; -$fa-var-square-b: \e264; -$fa-var-elephant: \f6da; -$fa-var-earth-africa: \f57c; -$fa-var-globe-africa: \f57c; -$fa-var-rainbow: \f75b; -$fa-var-circle-notch: \f1ce; -$fa-var-tablet-screen-button: \f3fa; -$fa-var-tablet-alt: \f3fa; -$fa-var-paw: \f1b0; -$fa-var-message-question: \e1e3; -$fa-var-cloud: \f0c2; -$fa-var-trowel-bricks: \e58a; -$fa-var-square-3: \e258; -$fa-var-face-flushed: \f579; -$fa-var-flushed: \f579; -$fa-var-hospital-user: \f80d; -$fa-var-microwave: \e01b; -$fa-var-tent-arrow-left-right: \e57f; -$fa-var-cart-circle-arrow-up: \e3f0; -$fa-var-trash-clock: \e2b0; -$fa-var-gavel: \f0e3; -$fa-var-legal: \f0e3; -$fa-var-sprinkler-ceiling: \e44c; -$fa-var-browsers: \e0cb; -$fa-var-trillium: \e588; -$fa-var-music-slash: \f8d1; -$fa-var-truck-ramp: \f4e0; -$fa-var-binoculars: \f1e5; -$fa-var-microphone-slash: \f131; -$fa-var-box-tissue: \e05b; -$fa-var-circle-c: \e101; -$fa-var-star-christmas: \f7d4; -$fa-var-chart-bullet: \e0e1; -$fa-var-motorcycle: \f21c; -$fa-var-tree-christmas: \f7db; -$fa-var-tire-flat: \f632; -$fa-var-sunglasses: \f892; -$fa-var-badge: \f335; -$fa-var-message-pen: \f4a4; -$fa-var-comment-alt-edit: \f4a4; -$fa-var-message-edit: \f4a4; -$fa-var-bell-concierge: \f562; -$fa-var-concierge-bell: \f562; -$fa-var-pen-ruler: \f5ae; -$fa-var-pencil-ruler: \f5ae; -$fa-var-chess-rook-piece: \f448; -$fa-var-chess-rook-alt: \f448; -$fa-var-square-root: \f697; -$fa-var-album-collection-circle-plus: \e48e; -$fa-var-people-arrows: \e068; -$fa-var-people-arrows-left-right: \e068; -$fa-var-face-angry-horns: \e368; -$fa-var-mars-and-venus-burst: \e523; -$fa-var-tombstone: \f720; -$fa-var-square-caret-right: \f152; -$fa-var-caret-square-right: \f152; -$fa-var-scissors: \f0c4; -$fa-var-cut: \f0c4; -$fa-var-list-music: \f8c9; -$fa-var-sun-plant-wilt: \e57a; -$fa-var-toilets-portable: \e584; -$fa-var-hockey-puck: \f453; -$fa-var-mustache: \e5bc; -$fa-var-hyphen: \2d; -$fa-var-table: \f0ce; -$fa-var-user-chef: \e3d2; -$fa-var-message-image: \e1e0; -$fa-var-comment-alt-image: \e1e0; -$fa-var-users-medical: \f830; -$fa-var-sensor-triangle-exclamation: \e029; -$fa-var-sensor-alert: \e029; -$fa-var-magnifying-glass-arrow-right: \e521; -$fa-var-tachograph-digital: \f566; -$fa-var-digital-tachograph: \f566; -$fa-var-face-mask: \e37f; -$fa-var-pickleball: \e435; -$fa-var-star-sharp-half: \e28c; -$fa-var-users-slash: \e073; -$fa-var-clover: \e139; -$fa-var-meat: \f814; -$fa-var-reply: \f3e5; -$fa-var-mail-reply: \f3e5; -$fa-var-star-and-crescent: \f699; -$fa-var-empty-set: \f656; -$fa-var-house-fire: \e50c; -$fa-var-square-minus: \f146; -$fa-var-minus-square: \f146; -$fa-var-helicopter: \f533; -$fa-var-bird: \e469; -$fa-var-compass: \f14e; -$fa-var-square-caret-down: \f150; -$fa-var-caret-square-down: \f150; -$fa-var-heart-half-stroke: \e1ac; -$fa-var-heart-half-alt: \e1ac; -$fa-var-file-circle-question: \e4ef; -$fa-var-laptop-code: \f5fc; -$fa-var-joystick: \f8c5; -$fa-var-grill-fire: \e5a4; -$fa-var-rectangle-vertical-history: \e237; -$fa-var-swatchbook: \f5c3; -$fa-var-prescription-bottle: \f485; -$fa-var-bars: \f0c9; -$fa-var-navicon: \f0c9; -$fa-var-keyboard-left: \e1c3; -$fa-var-people-group: \e533; -$fa-var-hourglass-end: \f253; -$fa-var-hourglass-3: \f253; -$fa-var-heart-crack: \f7a9; -$fa-var-heart-broken: \f7a9; -$fa-var-face-beam-hand-over-mouth: \e47c; -$fa-var-droplet-percent: \f750; -$fa-var-humidity: \f750; -$fa-var-square-up-right: \f360; -$fa-var-external-link-square-alt: \f360; -$fa-var-face-kiss-beam: \f597; -$fa-var-kiss-beam: \f597; -$fa-var-corn: \f6c7; -$fa-var-roller-coaster: \e324; -$fa-var-photo-film-music: \e228; -$fa-var-radar: \e024; -$fa-var-sickle: \f822; -$fa-var-film: \f008; -$fa-var-coconut: \e2f6; -$fa-var-ruler-horizontal: \f547; -$fa-var-shield-cross: \f712; -$fa-var-cassette-tape: \f8ab; -$fa-var-square-terminal: \e32a; -$fa-var-people-robbery: \e536; -$fa-var-lightbulb: \f0eb; -$fa-var-caret-left: \f0d9; -$fa-var-comment-middle: \e149; -$fa-var-trash-can-list: \e2ab; -$fa-var-block: \e46a; -$fa-var-circle-exclamation: \f06a; -$fa-var-exclamation-circle: \f06a; -$fa-var-school-circle-xmark: \e56d; -$fa-var-arrow-right-from-bracket: \f08b; -$fa-var-sign-out: \f08b; -$fa-var-face-frown-slight: \e376; -$fa-var-circle-chevron-down: \f13a; -$fa-var-chevron-circle-down: \f13a; -$fa-var-sidebar-flip: \e24f; -$fa-var-unlock-keyhole: \f13e; -$fa-var-unlock-alt: \f13e; -$fa-var-temperature-list: \e299; -$fa-var-cloud-showers-heavy: \f740; -$fa-var-headphones-simple: \f58f; -$fa-var-headphones-alt: \f58f; -$fa-var-sitemap: \f0e8; -$fa-var-pipe-section: \e438; -$fa-var-space-station-moon-construction: \e034; -$fa-var-space-station-moon-alt: \e034; -$fa-var-circle-dollar-to-slot: \f4b9; -$fa-var-donate: \f4b9; -$fa-var-memory: \f538; -$fa-var-face-sleeping: \e38d; -$fa-var-road-spikes: \e568; -$fa-var-fire-burner: \e4f1; -$fa-var-squirrel: \f71a; -$fa-var-arrow-up-to-line: \f341; -$fa-var-arrow-to-top: \f341; -$fa-var-flag: \f024; -$fa-var-face-cowboy-hat: \e36e; -$fa-var-hanukiah: \f6e6; -$fa-var-chart-scatter-3d: \e0e8; -$fa-var-square-code: \e267; -$fa-var-feather: \f52d; -$fa-var-volume-low: \f027; -$fa-var-volume-down: \f027; -$fa-var-xmark-to-slot: \f771; -$fa-var-times-to-slot: \f771; -$fa-var-vote-nay: \f771; -$fa-var-box-taped: \f49a; -$fa-var-box-alt: \f49a; -$fa-var-comment-slash: \f4b3; -$fa-var-swords: \f71d; -$fa-var-cloud-sun-rain: \f743; -$fa-var-album: \f89f; -$fa-var-circle-n: \e118; -$fa-var-compress: \f066; -$fa-var-wheat-awn: \e2cd; -$fa-var-wheat-alt: \e2cd; -$fa-var-ankh: \f644; -$fa-var-hands-holding-child: \e4fa; -$fa-var-asterisk: \2a; -$fa-var-key-skeleton-left-right: \e3b4; -$fa-var-comment-lines: \f4b0; -$fa-var-luchador-mask: \f455; -$fa-var-luchador: \f455; -$fa-var-mask-luchador: \f455; -$fa-var-square-check: \f14a; -$fa-var-check-square: \f14a; -$fa-var-shredder: \f68a; -$fa-var-book-open-cover: \e0c0; -$fa-var-book-open-alt: \e0c0; -$fa-var-sandwich: \f81f; -$fa-var-peseta-sign: \e221; -$fa-var-square-parking-slash: \f617; -$fa-var-parking-slash: \f617; -$fa-var-train-tunnel: \e454; -$fa-var-heading: \f1dc; -$fa-var-header: \f1dc; -$fa-var-ghost: \f6e2; -$fa-var-face-anguished: \e369; -$fa-var-hockey-sticks: \f454; -$fa-var-abacus: \f640; -$fa-var-film-simple: \f3a0; -$fa-var-film-alt: \f3a0; -$fa-var-list: \f03a; -$fa-var-list-squares: \f03a; -$fa-var-tree-palm: \f82b; -$fa-var-square-phone-flip: \f87b; -$fa-var-phone-square-alt: \f87b; -$fa-var-cart-plus: \f217; -$fa-var-gamepad: \f11b; -$fa-var-border-center-v: \f89d; -$fa-var-circle-dot: \f192; -$fa-var-dot-circle: \f192; -$fa-var-clipboard-medical: \e133; -$fa-var-face-dizzy: \f567; -$fa-var-dizzy: \f567; -$fa-var-egg: \f7fb; -$fa-var-up-to-line: \f34d; -$fa-var-arrow-alt-to-top: \f34d; -$fa-var-house-medical-circle-xmark: \e513; -$fa-var-watch-fitness: \f63e; -$fa-var-clock-nine-thirty: \e34d; -$fa-var-campground: \f6bb; -$fa-var-folder-plus: \f65e; -$fa-var-jug: \f8c6; -$fa-var-futbol: \f1e3; -$fa-var-futbol-ball: \f1e3; -$fa-var-soccer-ball: \f1e3; -$fa-var-snow-blowing: \f761; -$fa-var-paintbrush: \f1fc; -$fa-var-paint-brush: \f1fc; -$fa-var-lock: \f023; -$fa-var-arrow-down-from-line: \f345; -$fa-var-arrow-from-top: \f345; -$fa-var-gas-pump: \f52f; -$fa-var-signal-bars-slash: \f694; -$fa-var-signal-alt-slash: \f694; -$fa-var-monkey: \f6fb; -$fa-var-rectangle-pro: \e235; -$fa-var-pro: \e235; -$fa-var-house-night: \e010; -$fa-var-hot-tub-person: \f593; -$fa-var-hot-tub: \f593; -$fa-var-blanket: \f498; -$fa-var-map-location: \f59f; -$fa-var-map-marked: \f59f; -$fa-var-house-flood-water: \e50e; -$fa-var-comments-question-check: \e14f; -$fa-var-tree: \f1bb; -$fa-var-arrows-cross: \e0a2; -$fa-var-backpack: \f5d4; -$fa-var-square-small: \e27e; -$fa-var-folder-arrow-up: \e054; -$fa-var-folder-upload: \e054; -$fa-var-bridge-lock: \e4cc; -$fa-var-crosshairs-simple: \e59f; -$fa-var-sack-dollar: \f81d; -$fa-var-pen-to-square: \f044; -$fa-var-edit: \f044; -$fa-var-square-sliders: \f3f0; -$fa-var-sliders-h-square: \f3f0; -$fa-var-car-side: \f5e4; -$fa-var-message-middle-top: \e1e2; -$fa-var-comment-middle-top-alt: \e1e2; -$fa-var-lightbulb-on: \f672; -$fa-var-knife: \f2e4; -$fa-var-utensil-knife: \f2e4; -$fa-var-share-nodes: \f1e0; -$fa-var-share-alt: \f1e0; -$fa-var-wave-sine: \f899; -$fa-var-heart-circle-minus: \e4ff; -$fa-var-circle-w: \e12c; -$fa-var-circle-calendar: \e102; -$fa-var-calendar-circle: \e102; -$fa-var-hourglass-half: \f252; -$fa-var-hourglass-2: \f252; -$fa-var-microscope: \f610; -$fa-var-sunset: \f767; -$fa-var-sink: \e06d; -$fa-var-calendar-exclamation: \f334; -$fa-var-truck-container-empty: \e2b5; -$fa-var-hand-heart: \f4bc; -$fa-var-bag-shopping: \f290; -$fa-var-shopping-bag: \f290; -$fa-var-arrow-down-z-a: \f881; -$fa-var-sort-alpha-desc: \f881; -$fa-var-sort-alpha-down-alt: \f881; -$fa-var-mitten: \f7b5; -$fa-var-reply-clock: \e239; -$fa-var-reply-time: \e239; -$fa-var-person-rays: \e54d; -$fa-var-right: \f356; -$fa-var-arrow-alt-right: \f356; -$fa-var-circle-f: \e10e; -$fa-var-users: \f0c0; -$fa-var-face-pleading: \e386; -$fa-var-eye-slash: \f070; -$fa-var-flask-vial: \e4f3; -$fa-var-police-box: \e021; -$fa-var-cucumber: \e401; -$fa-var-head-side-brain: \f808; -$fa-var-hand: \f256; -$fa-var-hand-paper: \f256; -$fa-var-person-biking-mountain: \f84b; -$fa-var-biking-mountain: \f84b; -$fa-var-utensils-slash: \e464; -$fa-var-print-magnifying-glass: \f81a; -$fa-var-print-search: \f81a; -$fa-var-folder-bookmark: \e186; -$fa-var-om: \f679; -$fa-var-pi: \f67e; -$fa-var-flask-round-potion: \f6e1; -$fa-var-flask-potion: \f6e1; -$fa-var-face-shush: \e38c; -$fa-var-worm: \e599; -$fa-var-house-circle-xmark: \e50b; -$fa-var-plug: \f1e6; -$fa-var-calendar-circle-exclamation: \e46e; -$fa-var-square-i: \e272; -$fa-var-chevron-up: \f077; -$fa-var-face-saluting: \e484; -$fa-var-gauge-simple-low: \f62c; -$fa-var-tachometer-slow: \f62c; -$fa-var-face-persevering: \e385; -$fa-var-circle-camera: \e103; -$fa-var-camera-circle: \e103; -$fa-var-hand-spock: \f259; -$fa-var-spider-web: \f719; -$fa-var-circle-microphone: \e116; -$fa-var-microphone-circle: \e116; -$fa-var-book-arrow-up: \e0ba; -$fa-var-popsicle: \e43e; -$fa-var-command: \e142; -$fa-var-blinds: \f8fb; -$fa-var-stopwatch: \f2f2; -$fa-var-saxophone: \f8dc; -$fa-var-square-2: \e257; -$fa-var-field-hockey-stick-ball: \f44c; -$fa-var-field-hockey: \f44c; -$fa-var-arrow-up-square-triangle: \f88b; -$fa-var-sort-shapes-up-alt: \f88b; -$fa-var-face-scream: \e38b; -$fa-var-square-m: \e276; -$fa-var-camera-web: \f832; -$fa-var-webcam: \f832; -$fa-var-comment-arrow-down: \e143; -$fa-var-lightbulb-cfl: \e5a6; -$fa-var-window-frame-open: \e050; -$fa-var-face-kiss: \f596; -$fa-var-kiss: \f596; -$fa-var-bridge-circle-xmark: \e4cb; -$fa-var-period: \2e; -$fa-var-face-grin-tongue: \f589; -$fa-var-grin-tongue: \f589; -$fa-var-up-to-dotted-line: \e457; -$fa-var-thought-bubble: \e32e; -$fa-var-raygun: \e025; -$fa-var-flute: \f8b9; -$fa-var-acorn: \f6ae; -$fa-var-video-arrow-up-right: \e2c9; -$fa-var-grate-droplet: \e194; -$fa-var-seal-exclamation: \e242; -$fa-var-chess-bishop: \f43a; -$fa-var-message-sms: \e1e5; -$fa-var-coffee-beans: \e13f; -$fa-var-hat-witch: \f6e7; -$fa-var-face-grin-wink: \f58c; -$fa-var-grin-wink: \f58c; -$fa-var-clock-three-thirty: \e357; -$fa-var-ear-deaf: \f2a4; -$fa-var-deaf: \f2a4; -$fa-var-deafness: \f2a4; -$fa-var-hard-of-hearing: \f2a4; -$fa-var-alarm-clock: \f34e; -$fa-var-eclipse: \f749; -$fa-var-face-relieved: \e389; -$fa-var-road-circle-check: \e564; -$fa-var-dice-five: \f523; -$fa-var-octagon-minus: \f308; -$fa-var-minus-octagon: \f308; -$fa-var-square-rss: \f143; -$fa-var-rss-square: \f143; -$fa-var-face-zany: \e3a4; -$fa-var-tricycle: \e5c3; -$fa-var-land-mine-on: \e51b; -$fa-var-square-arrow-up-left: \e263; -$fa-var-i-cursor: \f246; -$fa-var-salt-shaker: \e446; -$fa-var-stamp: \f5bf; -$fa-var-file-plus: \f319; -$fa-var-draw-square: \f5ef; -$fa-var-toilet-paper-under-slash: \e2a1; -$fa-var-toilet-paper-reverse-slash: \e2a1; -$fa-var-stairs: \e289; -$fa-var-drone-front: \f860; -$fa-var-drone-alt: \f860; -$fa-var-glass-empty: \e191; -$fa-var-dial-high: \e15c; -$fa-var-user-helmet-safety: \f82c; -$fa-var-user-construction: \f82c; -$fa-var-user-hard-hat: \f82c; -$fa-var-i: \49; -$fa-var-hryvnia-sign: \f6f2; -$fa-var-hryvnia: \f6f2; -$fa-var-arrow-down-left-and-arrow-up-right-to-center: \e092; -$fa-var-pills: \f484; -$fa-var-face-grin-wide: \f581; -$fa-var-grin-alt: \f581; -$fa-var-tooth: \f5c9; -$fa-var-basketball-hoop: \f435; -$fa-var-objects-align-bottom: \e3bb; -$fa-var-v: \56; -$fa-var-sparkles: \f890; -$fa-var-squid: \e450; -$fa-var-leafy-green: \e41d; -$fa-var-circle-arrow-up-right: \e0fc; -$fa-var-calendars: \e0d7; -$fa-var-bangladeshi-taka-sign: \e2e6; -$fa-var-bicycle: \f206; -$fa-var-hammer-war: \f6e4; -$fa-var-circle-d: \e104; -$fa-var-spider-black-widow: \f718; -$fa-var-staff-snake: \e579; -$fa-var-rod-asclepius: \e579; -$fa-var-rod-snake: \e579; -$fa-var-staff-aesculapius: \e579; -$fa-var-pear: \e20c; -$fa-var-head-side-cough-slash: \e062; -$fa-var-triangle: \f2ec; -$fa-var-apartment: \e468; -$fa-var-truck-medical: \f0f9; -$fa-var-ambulance: \f0f9; -$fa-var-pepper: \e432; -$fa-var-piano: \f8d4; -$fa-var-gun-squirt: \e19d; -$fa-var-wheat-awn-circle-exclamation: \e598; -$fa-var-snowman: \f7d0; -$fa-var-user-alien: \e04a; -$fa-var-shield-check: \f2f7; -$fa-var-mortar-pestle: \f5a7; -$fa-var-road-barrier: \e562; -$fa-var-chart-candlestick: \e0e2; -$fa-var-briefcase-blank: \e0c8; -$fa-var-school: \f549; -$fa-var-igloo: \f7ae; -$fa-var-bracket-round: \28; -$fa-var-parenthesis: \28; -$fa-var-joint: \f595; -$fa-var-horse-saddle: \f8c3; -$fa-var-mug-marshmallows: \f7b7; -$fa-var-filters: \e17e; -$fa-var-bell-on: \f8fa; -$fa-var-angle-right: \f105; -$fa-var-dial-med: \e15f; -$fa-var-horse: \f6f0; -$fa-var-q: \51; -$fa-var-monitor-waveform: \f611; -$fa-var-monitor-heart-rate: \f611; -$fa-var-link-simple: \e1cd; -$fa-var-whistle: \f460; -$fa-var-g: \47; -$fa-var-wine-glass-crack: \f4bb; -$fa-var-fragile: \f4bb; -$fa-var-slot-machine: \e3ce; -$fa-var-notes-medical: \f481; -$fa-var-car-wash: \f5e6; -$fa-var-escalator: \e171; -$fa-var-comment-image: \e148; -$fa-var-temperature-half: \f2c9; -$fa-var-temperature-2: \f2c9; -$fa-var-thermometer-2: \f2c9; -$fa-var-thermometer-half: \f2c9; -$fa-var-dong-sign: \e169; -$fa-var-donut: \e406; -$fa-var-doughnut: \e406; -$fa-var-capsules: \f46b; -$fa-var-poo-storm: \f75a; -$fa-var-poo-bolt: \f75a; -$fa-var-tally-1: \e294; -$fa-var-face-frown-open: \f57a; -$fa-var-frown-open: \f57a; -$fa-var-square-dashed: \e269; -$fa-var-square-j: \e273; -$fa-var-hand-point-up: \f0a6; -$fa-var-money-bill: \f0d6; -$fa-var-arrow-up-big-small: \f88e; -$fa-var-sort-size-up: \f88e; -$fa-var-barcode-read: \f464; -$fa-var-baguette: \e3d8; -$fa-var-bowl-soft-serve: \e46b; -$fa-var-face-holding-back-tears: \e482; -$fa-var-square-up: \f353; -$fa-var-arrow-alt-square-up: \f353; -$fa-var-train-subway-tunnel: \e2a3; -$fa-var-subway-tunnel: \e2a3; -$fa-var-square-exclamation: \f321; -$fa-var-exclamation-square: \f321; -$fa-var-semicolon: \3b; -$fa-var-bookmark: \f02e; -$fa-var-fan-table: \e004; -$fa-var-align-justify: \f039; -$fa-var-battery-low: \e0b1; -$fa-var-battery-1: \e0b1; -$fa-var-credit-card-front: \f38a; -$fa-var-brain-arrow-curved-right: \f677; -$fa-var-mind-share: \f677; -$fa-var-umbrella-beach: \f5ca; -$fa-var-helmet-un: \e503; -$fa-var-location-smile: \f60d; -$fa-var-map-marker-smile: \f60d; -$fa-var-arrow-left-to-line: \f33e; -$fa-var-arrow-to-left: \f33e; -$fa-var-bullseye: \f140; -$fa-var-sushi: \e48a; -$fa-var-nigiri: \e48a; -$fa-var-message-captions: \e1de; -$fa-var-comment-alt-captions: \e1de; -$fa-var-trash-list: \e2b1; -$fa-var-bacon: \f7e5; -$fa-var-option: \e318; -$fa-var-hand-point-down: \f0a7; -$fa-var-arrow-up-from-bracket: \e09a; -$fa-var-trash-plus: \e2b2; -$fa-var-objects-align-top: \e3c0; -$fa-var-folder: \f07b; -$fa-var-folder-blank: \f07b; -$fa-var-face-anxious-sweat: \e36a; -$fa-var-credit-card-blank: \f389; -$fa-var-file-waveform: \f478; -$fa-var-file-medical-alt: \f478; -$fa-var-microchip-ai: \e1ec; -$fa-var-mug: \f874; -$fa-var-plane-up-slash: \e22e; -$fa-var-radiation: \f7b9; -$fa-var-pen-circle: \e20e; -$fa-var-chart-simple: \e473; -$fa-var-crutches: \f7f8; -$fa-var-circle-parking: \f615; -$fa-var-parking-circle: \f615; -$fa-var-mars-stroke: \f229; -$fa-var-leaf-oak: \f6f7; -$fa-var-square-bolt: \e265; -$fa-var-vial: \f492; -$fa-var-gauge: \f624; -$fa-var-dashboard: \f624; -$fa-var-gauge-med: \f624; -$fa-var-tachometer-alt-average: \f624; -$fa-var-wand-magic-sparkles: \e2ca; -$fa-var-magic-wand-sparkles: \e2ca; -$fa-var-lambda: \f66e; -$fa-var-e: \45; -$fa-var-pizza: \f817; -$fa-var-bowl-chopsticks-noodles: \e2ea; -$fa-var-h3: \f315; -$fa-var-pen-clip: \f305; -$fa-var-pen-alt: \f305; -$fa-var-bridge-circle-exclamation: \e4ca; -$fa-var-badge-percent: \f646; -$fa-var-user: \f007; -$fa-var-sensor: \e028; -$fa-var-comma: \2c; -$fa-var-school-circle-check: \e56b; -$fa-var-toilet-paper-under: \e2a0; -$fa-var-toilet-paper-reverse: \e2a0; -$fa-var-light-emergency: \e41f; -$fa-var-arrow-down-to-arc: \e4ae; -$fa-var-dumpster: \f793; -$fa-var-van-shuttle: \f5b6; -$fa-var-shuttle-van: \f5b6; -$fa-var-building-user: \e4da; -$fa-var-light-switch: \e017; -$fa-var-square-caret-left: \f191; -$fa-var-caret-square-left: \f191; -$fa-var-highlighter: \f591; -$fa-var-wave-pulse: \f5f8; -$fa-var-heart-rate: \f5f8; -$fa-var-key: \f084; -$fa-var-hat-santa: \f7a7; -$fa-var-tamale: \e451; -$fa-var-box-check: \f467; -$fa-var-bullhorn: \f0a1; -$fa-var-steak: \f824; -$fa-var-location-crosshairs-slash: \f603; -$fa-var-location-slash: \f603; -$fa-var-person-dolly: \f4d0; -$fa-var-globe: \f0ac; -$fa-var-synagogue: \f69b; -$fa-var-file-chart-column: \f659; -$fa-var-file-chart-line: \f659; -$fa-var-person-half-dress: \e548; -$fa-var-folder-image: \e18a; -$fa-var-calendar-pen: \f333; -$fa-var-calendar-edit: \f333; -$fa-var-road-bridge: \e563; -$fa-var-face-smile-tear: \e393; -$fa-var-message-plus: \f4a8; -$fa-var-comment-alt-plus: \f4a8; -$fa-var-location-arrow: \f124; -$fa-var-c: \43; -$fa-var-tablet-button: \f10a; -$fa-var-rectangle-history-circle-user: \e4a4; -$fa-var-building-lock: \e4d6; -$fa-var-chart-line-up: \e0e5; -$fa-var-mailbox: \f813; -$fa-var-truck-bolt: \e3d0; -$fa-var-pizza-slice: \f818; -$fa-var-money-bill-wave: \f53a; -$fa-var-chart-area: \f1fe; -$fa-var-area-chart: \f1fe; -$fa-var-house-flag: \e50d; -$fa-var-person-circle-minus: \e540; -$fa-var-scalpel: \f61d; -$fa-var-ban: \f05e; -$fa-var-cancel: \f05e; -$fa-var-bell-exclamation: \f848; -$fa-var-circle-bookmark: \e100; -$fa-var-bookmark-circle: \e100; -$fa-var-egg-fried: \f7fc; -$fa-var-face-weary: \e3a1; -$fa-var-uniform-martial-arts: \e3d1; -$fa-var-camera-rotate: \e0d8; -$fa-var-sun-dust: \f764; -$fa-var-comment-text: \e14d; -$fa-var-spray-can-sparkles: \f5d0; -$fa-var-air-freshener: \f5d0; -$fa-var-signal-bars: \f690; -$fa-var-signal-alt: \f690; -$fa-var-signal-alt-4: \f690; -$fa-var-signal-bars-strong: \f690; -$fa-var-diamond-exclamation: \e405; -$fa-var-star: \f005; -$fa-var-dial-min: \e161; -$fa-var-repeat: \f363; -$fa-var-cross: \f654; -$fa-var-page-caret-down: \e429; -$fa-var-file-caret-down: \e429; -$fa-var-box: \f466; -$fa-var-venus-mars: \f228; -$fa-var-clock-seven-thirty: \e351; -$fa-var-arrow-pointer: \f245; -$fa-var-mouse-pointer: \f245; -$fa-var-clock-four-thirty: \e34b; -$fa-var-signal-bars-good: \f693; -$fa-var-signal-alt-3: \f693; -$fa-var-cactus: \f8a7; -$fa-var-maximize: \f31e; -$fa-var-expand-arrows-alt: \f31e; -$fa-var-charging-station: \f5e7; -$fa-var-shapes: \f61f; -$fa-var-triangle-circle-square: \f61f; -$fa-var-plane-tail: \e22c; -$fa-var-gauge-simple-max: \f62b; -$fa-var-tachometer-fastest: \f62b; -$fa-var-circle-u: \e127; -$fa-var-shield-slash: \e24b; -$fa-var-square-phone-hangup: \e27a; -$fa-var-phone-square-down: \e27a; -$fa-var-arrow-up-left: \e09d; -$fa-var-transporter-1: \e043; -$fa-var-peanuts: \e431; -$fa-var-shuffle: \f074; -$fa-var-random: \f074; -$fa-var-person-running: \f70c; -$fa-var-running: \f70c; -$fa-var-mobile-retro: \e527; -$fa-var-grip-lines-vertical: \f7a5; -$fa-var-arrow-up-from-square: \e09c; -$fa-var-file-dashed-line: \f877; -$fa-var-page-break: \f877; -$fa-var-bracket-curly-right: \7d; -$fa-var-spider: \f717; -$fa-var-clock-three: \e356; -$fa-var-hands-bound: \e4f9; -$fa-var-scalpel-line-dashed: \f61e; -$fa-var-scalpel-path: \f61e; -$fa-var-file-invoice-dollar: \f571; -$fa-var-pipe-smoking: \e3c4; -$fa-var-face-astonished: \e36b; -$fa-var-window: \f40e; -$fa-var-plane-circle-exclamation: \e556; -$fa-var-ear: \f5f0; -$fa-var-file-lock: \e3a6; -$fa-var-diagram-venn: \e15a; -$fa-var-x-ray: \f497; -$fa-var-goal-net: \e3ab; -$fa-var-coffin-cross: \e051; -$fa-var-spell-check: \f891; -$fa-var-location-xmark: \f60e; -$fa-var-map-marker-times: \f60e; -$fa-var-map-marker-xmark: \f60e; -$fa-var-lasso: \f8c8; -$fa-var-slash: \f715; -$fa-var-person-to-portal: \e022; -$fa-var-portal-enter: \e022; -$fa-var-calendar-star: \f736; -$fa-var-computer-mouse: \f8cc; -$fa-var-mouse: \f8cc; -$fa-var-arrow-right-to-bracket: \f090; -$fa-var-sign-in: \f090; -$fa-var-pegasus: \f703; -$fa-var-files-medical: \f7fd; -$fa-var-nfc-lock: \e1f8; -$fa-var-person-ski-lift: \f7c8; -$fa-var-ski-lift: \f7c8; -$fa-var-square-6: \e25b; -$fa-var-shop-slash: \e070; -$fa-var-store-alt-slash: \e070; -$fa-var-wind-turbine: \f89b; -$fa-var-sliders-simple: \e253; -$fa-var-badge-sheriff: \f8a2; -$fa-var-server: \f233; -$fa-var-virus-covid-slash: \e4a9; -$fa-var-intersection: \f668; -$fa-var-shop-lock: \e4a5; -$fa-var-family: \e300; -$fa-var-hourglass-start: \f251; -$fa-var-hourglass-1: \f251; -$fa-var-user-hair-buns: \e3d3; -$fa-var-blender-phone: \f6b6; -$fa-var-hourglass-clock: \e41b; -$fa-var-person-seat-reclined: \e21f; -$fa-var-paper-plane-top: \e20a; -$fa-var-paper-plane-alt: \e20a; -$fa-var-send: \e20a; -$fa-var-message-arrow-up: \e1dc; -$fa-var-comment-alt-arrow-up: \e1dc; -$fa-var-lightbulb-exclamation: \f671; -$fa-var-layer-minus: \f5fe; -$fa-var-layer-group-minus: \f5fe; -$fa-var-circle-e: \e109; -$fa-var-building-wheat: \e4db; -$fa-var-gauge-max: \f626; -$fa-var-tachometer-alt-fastest: \f626; -$fa-var-person-breastfeeding: \e53a; -$fa-var-apostrophe: \27; -$fa-var-fire-hydrant: \e17f; -$fa-var-right-to-bracket: \f2f6; -$fa-var-sign-in-alt: \f2f6; -$fa-var-video-plus: \f4e1; -$fa-var-square-right: \f352; -$fa-var-arrow-alt-square-right: \f352; -$fa-var-comment-smile: \f4b4; -$fa-var-venus: \f221; -$fa-var-passport: \f5ab; -$fa-var-inbox-in: \f310; -$fa-var-inbox-arrow-down: \f310; -$fa-var-heart-pulse: \f21e; -$fa-var-heartbeat: \f21e; -$fa-var-circle-8: \e0f5; -$fa-var-clouds-moon: \f745; -$fa-var-clock-ten-thirty: \e355; -$fa-var-people-carry-box: \f4ce; -$fa-var-people-carry: \f4ce; -$fa-var-folder-user: \e18e; -$fa-var-trash-can-xmark: \e2ae; -$fa-var-temperature-high: \f769; -$fa-var-microchip: \f2db; -$fa-var-left-long-to-line: \e41e; -$fa-var-crown: \f521; -$fa-var-weight-hanging: \f5cd; -$fa-var-xmarks-lines: \e59a; -$fa-var-file-prescription: \f572; -$fa-var-calendar-range: \e0d6; -$fa-var-flower-daffodil: \f800; -$fa-var-hand-back-point-up: \e1a2; -$fa-var-weight-scale: \f496; -$fa-var-weight: \f496; -$fa-var-star-exclamation: \f2f3; -$fa-var-books: \f5db; -$fa-var-user-group: \f500; -$fa-var-user-friends: \f500; -$fa-var-arrow-up-a-z: \f15e; -$fa-var-sort-alpha-up: \f15e; -$fa-var-layer-plus: \f5ff; -$fa-var-layer-group-plus: \f5ff; -$fa-var-play-pause: \e22f; -$fa-var-block-question: \e3dd; -$fa-var-snooze: \f880; -$fa-var-zzz: \f880; -$fa-var-scanner-image: \f8f3; -$fa-var-tv-retro: \f401; -$fa-var-square-t: \e280; -$fa-var-farm: \f864; -$fa-var-barn-silo: \f864; -$fa-var-chess-knight: \f441; -$fa-var-bars-sort: \e0ae; -$fa-var-pallet-boxes: \f483; -$fa-var-palette-boxes: \f483; -$fa-var-pallet-alt: \f483; -$fa-var-face-laugh-squint: \f59b; -$fa-var-laugh-squint: \f59b; -$fa-var-code-simple: \e13d; -$fa-var-bolt-slash: \e0b8; -$fa-var-panel-fire: \e42f; -$fa-var-binary-circle-check: \e33c; -$fa-var-comment-minus: \f4b1; -$fa-var-burrito: \f7ed; -$fa-var-violin: \f8ed; -$fa-var-objects-column: \e3c1; -$fa-var-square-chevron-down: \f329; -$fa-var-chevron-square-down: \f329; -$fa-var-comment-plus: \f4b2; -$fa-var-triangle-instrument: \f8e2; -$fa-var-triangle-music: \f8e2; -$fa-var-wheelchair: \f193; -$fa-var-user-pilot-tie: \e2c1; -$fa-var-piano-keyboard: \f8d5; -$fa-var-bed-empty: \f8f9; -$fa-var-circle-arrow-up: \f0aa; -$fa-var-arrow-circle-up: \f0aa; -$fa-var-toggle-on: \f205; -$fa-var-rectangle-vertical: \f2fb; -$fa-var-rectangle-portrait: \f2fb; -$fa-var-person-walking: \f554; -$fa-var-walking: \f554; -$fa-var-l: \4c; -$fa-var-signal-stream: \f8dd; -$fa-var-down-to-bracket: \e4e7; -$fa-var-circle-z: \e130; -$fa-var-stars: \f762; -$fa-var-fire: \f06d; -$fa-var-bed-pulse: \f487; -$fa-var-procedures: \f487; -$fa-var-house-day: \e00e; -$fa-var-shuttle-space: \f197; -$fa-var-space-shuttle: \f197; -$fa-var-shirt-long-sleeve: \e3c7; -$fa-var-chart-pie-simple: \f64e; -$fa-var-chart-pie-alt: \f64e; -$fa-var-face-laugh: \f599; -$fa-var-laugh: \f599; -$fa-var-folder-open: \f07c; -$fa-var-album-collection-circle-user: \e48f; -$fa-var-candy: \e3e7; -$fa-var-bowl-hot: \f823; -$fa-var-soup: \f823; -$fa-var-flatbread: \e40b; -$fa-var-heart-circle-plus: \e500; -$fa-var-code-fork: \e13b; -$fa-var-city: \f64f; -$fa-var-signal-bars-weak: \f691; -$fa-var-signal-alt-1: \f691; -$fa-var-microphone-lines: \f3c9; -$fa-var-microphone-alt: \f3c9; -$fa-var-clock-twelve: \e358; -$fa-var-pepper-hot: \f816; -$fa-var-citrus-slice: \e2f5; -$fa-var-sheep: \f711; -$fa-var-unlock: \f09c; -$fa-var-colon-sign: \e140; -$fa-var-headset: \f590; -$fa-var-badger-honey: \f6b4; -$fa-var-h4: \f86a; -$fa-var-store-slash: \e071; -$fa-var-road-circle-xmark: \e566; -$fa-var-signal-slash: \f695; -$fa-var-user-minus: \f503; -$fa-var-mars-stroke-up: \f22a; -$fa-var-mars-stroke-v: \f22a; -$fa-var-champagne-glasses: \f79f; -$fa-var-glass-cheers: \f79f; -$fa-var-taco: \f826; -$fa-var-hexagon-plus: \f300; -$fa-var-plus-hexagon: \f300; -$fa-var-clipboard: \f328; -$fa-var-house-circle-exclamation: \e50a; -$fa-var-file-arrow-up: \f574; -$fa-var-file-upload: \f574; -$fa-var-wifi: \f1eb; -$fa-var-wifi-3: \f1eb; -$fa-var-wifi-strong: \f1eb; -$fa-var-messages: \f4b6; -$fa-var-comments-alt: \f4b6; -$fa-var-bath: \f2cd; -$fa-var-bathtub: \f2cd; -$fa-var-umbrella-simple: \e2bc; -$fa-var-umbrella-alt: \e2bc; -$fa-var-rectangle-history-circle-plus: \e4a3; -$fa-var-underline: \f0cd; -$fa-var-prescription-bottle-pill: \e5c0; -$fa-var-user-pen: \f4ff; -$fa-var-user-edit: \f4ff; -$fa-var-binary-slash: \e33e; -$fa-var-square-o: \e278; -$fa-var-signature: \f5b7; -$fa-var-stroopwafel: \f551; -$fa-var-bold: \f032; -$fa-var-anchor-lock: \e4ad; -$fa-var-building-ngo: \e4d7; -$fa-var-transporter-3: \e045; -$fa-var-engine-warning: \f5f2; -$fa-var-engine-exclamation: \f5f2; -$fa-var-circle-down-right: \e108; -$fa-var-square-k: \e274; -$fa-var-manat-sign: \e1d5; -$fa-var-money-check-pen: \f872; -$fa-var-money-check-edit: \f872; -$fa-var-not-equal: \f53e; -$fa-var-border-top-left: \f853; -$fa-var-border-style: \f853; -$fa-var-map-location-dot: \f5a0; -$fa-var-map-marked-alt: \f5a0; -$fa-var-tilde: \7e; -$fa-var-jedi: \f669; -$fa-var-square-poll-vertical: \f681; -$fa-var-poll: \f681; -$fa-var-arrow-down-square-triangle: \f889; -$fa-var-sort-shapes-down-alt: \f889; -$fa-var-mug-hot: \f7b6; -$fa-var-dog-leashed: \f6d4; -$fa-var-car-battery: \f5df; -$fa-var-battery-car: \f5df; -$fa-var-face-downcast-sweat: \e371; -$fa-var-mailbox-flag-up: \e5bb; -$fa-var-memo-circle-info: \e49a; -$fa-var-gift: \f06b; -$fa-var-dice-two: \f528; -$fa-var-volume: \f6a8; -$fa-var-volume-medium: \f6a8; -$fa-var-transporter-5: \e2a6; -$fa-var-gauge-circle-bolt: \e496; -$fa-var-coin-front: \e3fc; -$fa-var-file-slash: \e3a7; -$fa-var-message-arrow-up-right: \e1dd; -$fa-var-treasure-chest: \f723; -$fa-var-chess-queen: \f445; -$fa-var-paintbrush-fine: \f5a9; -$fa-var-paint-brush-alt: \f5a9; -$fa-var-paint-brush-fine: \f5a9; -$fa-var-paintbrush-alt: \f5a9; -$fa-var-glasses: \f530; -$fa-var-hood-cloak: \f6ef; -$fa-var-square-quote: \e329; -$fa-var-up-left: \e2bd; -$fa-var-bring-front: \f857; -$fa-var-chess-board: \f43c; -$fa-var-burger-cheese: \f7f1; -$fa-var-cheeseburger: \f7f1; -$fa-var-building-circle-check: \e4d2; -$fa-var-repeat-1: \f365; -$fa-var-arrow-down-to-line: \f33d; -$fa-var-arrow-to-bottom: \f33d; -$fa-var-grid-5: \e199; -$fa-var-right-long-to-line: \e444; -$fa-var-person-chalkboard: \e53d; -$fa-var-mars-stroke-right: \f22b; -$fa-var-mars-stroke-h: \f22b; -$fa-var-hand-back-fist: \f255; -$fa-var-hand-rock: \f255; -$fa-var-tally: \f69c; -$fa-var-tally-5: \f69c; -$fa-var-square-caret-up: \f151; -$fa-var-caret-square-up: \f151; -$fa-var-cloud-showers-water: \e4e4; -$fa-var-chart-bar: \f080; -$fa-var-bar-chart: \f080; -$fa-var-hands-bubbles: \e05e; -$fa-var-hands-wash: \e05e; -$fa-var-less-than-equal: \f537; -$fa-var-train: \f238; -$fa-var-up-from-dotted-line: \e456; -$fa-var-eye-low-vision: \f2a8; -$fa-var-low-vision: \f2a8; -$fa-var-traffic-light-go: \f638; -$fa-var-face-exhaling: \e480; -$fa-var-sensor-fire: \e02a; -$fa-var-user-unlock: \e058; -$fa-var-hexagon-divide: \e1ad; -$fa-var-00: \e467; -$fa-var-crow: \f520; -$fa-var-cassette-betamax: \f8a4; -$fa-var-betamax: \f8a4; -$fa-var-sailboat: \e445; -$fa-var-window-restore: \f2d2; -$fa-var-nfc-magnifying-glass: \e1f9; -$fa-var-file-binary: \e175; -$fa-var-circle-v: \e12a; -$fa-var-square-plus: \f0fe; -$fa-var-plus-square: \f0fe; -$fa-var-bowl-scoops: \e3df; -$fa-var-mistletoe: \f7b4; -$fa-var-custard: \e403; -$fa-var-lacrosse-stick: \e3b5; -$fa-var-hockey-mask: \f6ee; -$fa-var-sunrise: \f766; -$fa-var-panel-ews: \e42e; -$fa-var-torii-gate: \f6a1; -$fa-var-cloud-exclamation: \e491; -$fa-var-message-lines: \f4a6; -$fa-var-comment-alt-lines: \f4a6; -$fa-var-frog: \f52e; -$fa-var-bucket: \e4cf; -$fa-var-floppy-disk-pen: \e182; -$fa-var-image: \f03e; -$fa-var-window-frame: \e04f; -$fa-var-microphone: \f130; -$fa-var-cow: \f6c8; -$fa-var-square-ring: \e44f; -$fa-var-down-from-line: \f349; -$fa-var-arrow-alt-from-top: \f349; -$fa-var-caret-up: \f0d8; -$fa-var-shield-xmark: \e24c; -$fa-var-shield-times: \e24c; -$fa-var-screwdriver: \f54a; -$fa-var-circle-sort-down: \e031; -$fa-var-sort-circle-down: \e031; -$fa-var-folder-closed: \e185; -$fa-var-house-tsunami: \e515; -$fa-var-square-nfi: \e576; -$fa-var-forklift: \f47a; -$fa-var-arrow-up-from-ground-water: \e4b5; -$fa-var-bracket-square-right: \5d; -$fa-var-martini-glass: \f57b; -$fa-var-glass-martini-alt: \f57b; -$fa-var-rotate-left: \f2ea; -$fa-var-rotate-back: \f2ea; -$fa-var-rotate-backward: \f2ea; -$fa-var-undo-alt: \f2ea; -$fa-var-table-columns: \f0db; -$fa-var-columns: \f0db; -$fa-var-square-a: \e25f; -$fa-var-tick: \e32f; -$fa-var-lemon: \f094; -$fa-var-head-side-mask: \e063; -$fa-var-handshake: \f2b5; -$fa-var-gem: \f3a5; -$fa-var-dolly: \f472; -$fa-var-dolly-box: \f472; -$fa-var-smoking: \f48d; -$fa-var-minimize: \f78c; -$fa-var-compress-arrows-alt: \f78c; -$fa-var-refrigerator: \e026; -$fa-var-monument: \f5a6; -$fa-var-octagon-xmark: \f2f0; -$fa-var-times-octagon: \f2f0; -$fa-var-xmark-octagon: \f2f0; -$fa-var-align-slash: \f846; -$fa-var-snowplow: \f7d2; -$fa-var-angles-right: \f101; -$fa-var-angle-double-right: \f101; -$fa-var-truck-ramp-couch: \f4dd; -$fa-var-truck-couch: \f4dd; -$fa-var-cannabis: \f55f; -$fa-var-circle-play: \f144; -$fa-var-play-circle: \f144; -$fa-var-arrow-up-right-and-arrow-down-left-from-center: \e0a0; -$fa-var-tablets: \f490; -$fa-var-360-degrees: \e2dc; -$fa-var-ethernet: \f796; -$fa-var-euro-sign: \f153; -$fa-var-eur: \f153; -$fa-var-euro: \f153; -$fa-var-chair: \f6c0; -$fa-var-circle-check: \f058; -$fa-var-check-circle: \f058; -$fa-var-square-dashed-circle-plus: \e5c2; -$fa-var-money-simple-from-bracket: \e313; -$fa-var-bat: \f6b5; -$fa-var-circle-stop: \f28d; -$fa-var-stop-circle: \f28d; -$fa-var-head-side-headphones: \f8c2; -$fa-var-phone-rotary: \f8d3; -$fa-var-compass-drafting: \f568; -$fa-var-drafting-compass: \f568; -$fa-var-plate-wheat: \e55a; -$fa-var-calendar-circle-minus: \e46f; -$fa-var-chopsticks: \e3f7; -$fa-var-car-wrench: \f5e3; -$fa-var-car-mechanic: \f5e3; -$fa-var-icicles: \f7ad; -$fa-var-person-shelter: \e54f; -$fa-var-neuter: \f22c; -$fa-var-id-badge: \f2c1; -$fa-var-kazoo: \f8c7; -$fa-var-marker: \f5a1; -$fa-var-face-laugh-beam: \f59a; -$fa-var-laugh-beam: \f59a; -$fa-var-square-arrow-down-left: \e261; -$fa-var-battery-bolt: \f376; -$fa-var-tree-large: \f7dd; -$fa-var-helicopter-symbol: \e502; -$fa-var-aperture: \e2df; -$fa-var-universal-access: \f29a; -$fa-var-file-magnifying-glass: \f865; -$fa-var-file-search: \f865; -$fa-var-up-right: \e2be; -$fa-var-circle-chevron-up: \f139; -$fa-var-chevron-circle-up: \f139; -$fa-var-user-police: \e333; -$fa-var-lari-sign: \e1c8; -$fa-var-volcano: \f770; -$fa-var-teddy-bear: \e3cf; -$fa-var-stocking: \f7d5; -$fa-var-person-walking-dashed-line-arrow-right: \e553; -$fa-var-image-slash: \e1b7; -$fa-var-mask-snorkel: \e3b7; -$fa-var-smoke: \f760; -$fa-var-sterling-sign: \f154; -$fa-var-gbp: \f154; -$fa-var-pound-sign: \f154; -$fa-var-battery-exclamation: \e0b0; -$fa-var-viruses: \e076; -$fa-var-square-person-confined: \e577; -$fa-var-user-tie: \f508; -$fa-var-arrow-down-long: \f175; -$fa-var-long-arrow-down: \f175; -$fa-var-tent-arrow-down-to-line: \e57e; -$fa-var-certificate: \f0a3; -$fa-var-crystal-ball: \e362; -$fa-var-reply-all: \f122; -$fa-var-mail-reply-all: \f122; -$fa-var-suitcase: \f0f2; -$fa-var-person-skating: \f7c5; -$fa-var-skating: \f7c5; -$fa-var-star-shooting: \e036; -$fa-var-binary-lock: \e33d; -$fa-var-filter-circle-dollar: \f662; -$fa-var-funnel-dollar: \f662; -$fa-var-camera-retro: \f083; -$fa-var-circle-arrow-down: \f0ab; -$fa-var-arrow-circle-down: \f0ab; -$fa-var-comment-pen: \f4ae; -$fa-var-comment-edit: \f4ae; -$fa-var-file-import: \f56f; -$fa-var-arrow-right-to-file: \f56f; -$fa-var-banjo: \f8a3; -$fa-var-square-arrow-up-right: \f14c; -$fa-var-external-link-square: \f14c; -$fa-var-light-emergency-on: \e420; -$fa-var-kerning: \f86f; -$fa-var-box-open: \f49e; -$fa-var-square-f: \e270; -$fa-var-scroll: \f70e; -$fa-var-spa: \f5bb; -$fa-var-arrow-left-from-line: \f344; -$fa-var-arrow-from-right: \f344; -$fa-var-strawberry: \e32b; -$fa-var-location-pin-lock: \e51f; -$fa-var-pause: \f04c; -$fa-var-clock-eight-thirty: \e346; -$fa-var-plane-engines: \f3de; -$fa-var-plane-alt: \f3de; -$fa-var-hill-avalanche: \e507; -$fa-var-temperature-empty: \f2cb; -$fa-var-temperature-0: \f2cb; -$fa-var-thermometer-0: \f2cb; -$fa-var-thermometer-empty: \f2cb; -$fa-var-bomb: \f1e2; -$fa-var-gauge-low: \f627; -$fa-var-tachometer-alt-slow: \f627; -$fa-var-registered: \f25d; -$fa-var-trash-can-plus: \e2ac; -$fa-var-address-card: \f2bb; -$fa-var-contact-card: \f2bb; -$fa-var-vcard: \f2bb; -$fa-var-scale-unbalanced-flip: \f516; -$fa-var-balance-scale-right: \f516; -$fa-var-globe-snow: \f7a3; -$fa-var-subscript: \f12c; -$fa-var-diamond-turn-right: \f5eb; -$fa-var-directions: \f5eb; -$fa-var-integral: \f667; -$fa-var-burst: \e4dc; -$fa-var-house-laptop: \e066; -$fa-var-laptop-house: \e066; -$fa-var-face-tired: \f5c8; -$fa-var-tired: \f5c8; -$fa-var-money-bills: \e1f3; -$fa-var-blinds-raised: \f8fd; -$fa-var-smog: \f75f; -$fa-var-ufo-beam: \e048; -$fa-var-circle-caret-up: \f331; -$fa-var-caret-circle-up: \f331; -$fa-var-user-vneck-hair-long: \e463; -$fa-var-square-a-lock: \e44d; -$fa-var-crutch: \f7f7; -$fa-var-gas-pump-slash: \f5f4; -$fa-var-cloud-arrow-up: \f0ee; -$fa-var-cloud-upload: \f0ee; -$fa-var-cloud-upload-alt: \f0ee; -$fa-var-palette: \f53f; -$fa-var-transporter-4: \e2a5; -$fa-var-objects-align-right: \e3bf; -$fa-var-arrows-turn-right: \e4c0; -$fa-var-vest: \e085; -$fa-var-pig: \f706; -$fa-var-inbox-full: \e1ba; -$fa-var-circle-envelope: \e10c; -$fa-var-envelope-circle: \e10c; -$fa-var-triangle-person-digging: \f85d; -$fa-var-construction: \f85d; -$fa-var-ferry: \e4ea; -$fa-var-bullseye-arrow: \f648; -$fa-var-arrows-down-to-people: \e4b9; -$fa-var-seedling: \f4d8; -$fa-var-sprout: \f4d8; -$fa-var-clock-seven: \e350; -$fa-var-left-right: \f337; -$fa-var-arrows-alt-h: \f337; -$fa-var-boxes-packing: \e4c7; -$fa-var-circle-arrow-left: \f0a8; -$fa-var-arrow-circle-left: \f0a8; -$fa-var-flashlight: \f8b8; -$fa-var-group-arrows-rotate: \e4f6; -$fa-var-bowl-food: \e4c6; -$fa-var-square-9: \e25e; -$fa-var-candy-cane: \f786; -$fa-var-arrow-down-wide-short: \f160; -$fa-var-sort-amount-asc: \f160; -$fa-var-sort-amount-down: \f160; -$fa-var-square-dollar: \f2e9; -$fa-var-dollar-square: \f2e9; -$fa-var-usd-square: \f2e9; -$fa-var-phone-arrow-right: \e5be; -$fa-var-hand-holding-seedling: \f4bf; -$fa-var-message-check: \f4a2; -$fa-var-comment-alt-check: \f4a2; -$fa-var-cloud-bolt: \f76c; -$fa-var-thunderstorm: \f76c; -$fa-var-text-slash: \f87d; -$fa-var-remove-format: \f87d; -$fa-var-watch: \f2e1; -$fa-var-circle-down-left: \e107; -$fa-var-text: \f893; -$fa-var-projector: \f8d6; -$fa-var-face-smile-wink: \f4da; -$fa-var-smile-wink: \f4da; -$fa-var-tombstone-blank: \f721; -$fa-var-tombstone-alt: \f721; -$fa-var-chess-king-piece: \f440; -$fa-var-chess-king-alt: \f440; -$fa-var-circle-6: \e0f3; -$fa-var-left: \f355; -$fa-var-arrow-alt-left: \f355; -$fa-var-file-word: \f1c2; -$fa-var-file-powerpoint: \f1c4; -$fa-var-square-down: \f350; -$fa-var-arrow-alt-square-down: \f350; -$fa-var-objects-align-center-vertical: \e3bd; -$fa-var-arrows-left-right: \f07e; -$fa-var-arrows-h: \f07e; -$fa-var-house-lock: \e510; -$fa-var-cloud-arrow-down: \f0ed; -$fa-var-cloud-download: \f0ed; -$fa-var-cloud-download-alt: \f0ed; -$fa-var-wreath: \f7e2; -$fa-var-children: \e4e1; -$fa-var-meter-droplet: \e1ea; -$fa-var-chalkboard: \f51b; -$fa-var-blackboard: \f51b; -$fa-var-user-large-slash: \f4fa; -$fa-var-user-alt-slash: \f4fa; -$fa-var-signal-strong: \f68f; -$fa-var-signal-4: \f68f; -$fa-var-lollipop: \e424; -$fa-var-lollypop: \e424; -$fa-var-list-tree: \e1d2; -$fa-var-envelope-open: \f2b6; -$fa-var-draw-circle: \f5ed; -$fa-var-cat-space: \e001; -$fa-var-handshake-simple-slash: \e05f; -$fa-var-handshake-alt-slash: \e05f; -$fa-var-rabbit-running: \f709; -$fa-var-rabbit-fast: \f709; -$fa-var-memo-pad: \e1da; -$fa-var-mattress-pillow: \e525; -$fa-var-alarm-plus: \f844; -$fa-var-alicorn: \f6b0; -$fa-var-comment-question: \e14b; -$fa-var-gingerbread-man: \f79d; -$fa-var-guarani-sign: \e19a; -$fa-var-burger-fries: \e0cd; -$fa-var-mug-tea: \f875; -$fa-var-border-top: \f855; -$fa-var-arrows-rotate: \f021; -$fa-var-refresh: \f021; -$fa-var-sync: \f021; -$fa-var-circle-book-open: \e0ff; -$fa-var-book-circle: \e0ff; -$fa-var-arrows-to-dotted-line: \e0a6; -$fa-var-fire-extinguisher: \f134; -$fa-var-garage-open: \e00b; -$fa-var-shelves-empty: \e246; -$fa-var-cruzeiro-sign: \e152; -$fa-var-watch-apple: \e2cb; -$fa-var-watch-calculator: \f8f0; -$fa-var-list-dropdown: \e1cf; -$fa-var-cabinet-filing: \f64b; -$fa-var-burger-soda: \f858; -$fa-var-square-arrow-up: \f33c; -$fa-var-arrow-square-up: \f33c; -$fa-var-greater-than-equal: \f532; -$fa-var-pallet-box: \e208; -$fa-var-face-confounded: \e36c; -$fa-var-shield-halved: \f3ed; -$fa-var-shield-alt: \f3ed; -$fa-var-truck-plow: \f7de; -$fa-var-book-atlas: \f558; -$fa-var-atlas: \f558; -$fa-var-virus: \e074; -$fa-var-comment-middle-top: \e14a; -$fa-var-envelope-circle-check: \e4e8; -$fa-var-layer-group: \f5fd; -$fa-var-restroom-simple: \e23a; -$fa-var-arrows-to-dot: \e4be; -$fa-var-border-outer: \f851; -$fa-var-hashtag-lock: \e415; -$fa-var-clock-two-thirty: \e35b; -$fa-var-archway: \f557; -$fa-var-heart-circle-check: \e4fd; -$fa-var-house-chimney-crack: \f6f1; -$fa-var-house-damage: \f6f1; -$fa-var-file-zipper: \f1c6; -$fa-var-file-archive: \f1c6; -$fa-var-heart-half: \e1ab; -$fa-var-comment-check: \f4ac; -$fa-var-square: \f0c8; -$fa-var-memo: \e1d8; -$fa-var-martini-glass-empty: \f000; -$fa-var-glass-martini: \f000; -$fa-var-couch: \f4b8; -$fa-var-cedi-sign: \e0df; -$fa-var-italic: \f033; -$fa-var-glass-citrus: \f869; -$fa-var-calendar-lines-pen: \e472; -$fa-var-church: \f51d; -$fa-var-person-snowmobiling: \f7d1; -$fa-var-snowmobile: \f7d1; -$fa-var-face-hushed: \e37b; -$fa-var-comments-dollar: \f653; -$fa-var-pickaxe: \e5bf; -$fa-var-link-simple-slash: \e1ce; -$fa-var-democrat: \f747; -$fa-var-face-confused: \e36d; -$fa-var-pinball: \e229; -$fa-var-z: \5a; -$fa-var-person-skiing: \f7c9; -$fa-var-skiing: \f7c9; -$fa-var-deer: \f78e; -$fa-var-input-pipe: \e1be; -$fa-var-road-lock: \e567; -$fa-var-a: \41; -$fa-var-bookmark-slash: \e0c2; -$fa-var-temperature-arrow-down: \e03f; -$fa-var-temperature-down: \e03f; -$fa-var-mace: \f6f8; -$fa-var-feather-pointed: \f56b; -$fa-var-feather-alt: \f56b; -$fa-var-sausage: \f820; -$fa-var-trash-can-clock: \e2aa; -$fa-var-p: \50; -$fa-var-snowflake: \f2dc; -$fa-var-stomach: \f623; -$fa-var-newspaper: \f1ea; -$fa-var-rectangle-ad: \f641; -$fa-var-ad: \f641; -$fa-var-guitar-electric: \f8be; -$fa-var-arrow-turn-down-right: \e3d6; -$fa-var-moon-cloud: \f754; -$fa-var-bread-slice-butter: \e3e1; -$fa-var-circle-arrow-right: \f0a9; -$fa-var-arrow-circle-right: \f0a9; -$fa-var-user-group-crown: \f6a5; -$fa-var-users-crown: \f6a5; -$fa-var-circle-i: \e111; -$fa-var-toilet-paper-check: \e5b2; -$fa-var-filter-circle-xmark: \e17b; -$fa-var-locust: \e520; -$fa-var-sort: \f0dc; -$fa-var-unsorted: \f0dc; -$fa-var-list-ol: \f0cb; -$fa-var-list-1-2: \f0cb; -$fa-var-list-numeric: \f0cb; -$fa-var-chart-waterfall: \e0eb; -$fa-var-face-party: \e383; -$fa-var-kidneys: \f5fb; -$fa-var-wifi-exclamation: \e2cf; -$fa-var-chart-network: \f78a; -$fa-var-person-dress-burst: \e544; -$fa-var-dice-d4: \f6d0; -$fa-var-money-check-dollar: \f53d; -$fa-var-money-check-alt: \f53d; -$fa-var-vector-square: \f5cb; -$fa-var-bread-slice: \f7ec; -$fa-var-language: \f1ab; -$fa-var-wheat-awn-slash: \e338; -$fa-var-face-kiss-wink-heart: \f598; -$fa-var-kiss-wink-heart: \f598; -$fa-var-dagger: \f6cb; -$fa-var-podium: \f680; -$fa-var-memo-circle-check: \e1d9; -$fa-var-route-highway: \f61a; -$fa-var-down-to-line: \f34a; -$fa-var-arrow-alt-to-bottom: \f34a; -$fa-var-filter: \f0b0; -$fa-var-square-g: \e271; -$fa-var-circle-phone: \e11b; -$fa-var-phone-circle: \e11b; -$fa-var-clipboard-prescription: \f5e8; -$fa-var-user-nurse-hair: \e45d; -$fa-var-question: \3f; -$fa-var-file-signature: \f573; -$fa-var-toggle-large-on: \e5b1; -$fa-var-up-down-left-right: \f0b2; -$fa-var-arrows-alt: \f0b2; -$fa-var-dryer-heat: \f862; -$fa-var-dryer-alt: \f862; -$fa-var-house-chimney-user: \e065; -$fa-var-hand-holding-heart: \f4be; -$fa-var-arrow-up-small-big: \f88f; -$fa-var-sort-size-up-alt: \f88f; -$fa-var-train-track: \e453; -$fa-var-puzzle-piece: \f12e; -$fa-var-money-check: \f53c; -$fa-var-star-half-stroke: \f5c0; -$fa-var-star-half-alt: \f5c0; -$fa-var-file-exclamation: \f31a; -$fa-var-code: \f121; -$fa-var-whiskey-glass: \f7a0; -$fa-var-glass-whiskey: \f7a0; -$fa-var-moon-stars: \f755; -$fa-var-building-circle-exclamation: \e4d3; -$fa-var-clothes-hanger: \e136; -$fa-var-mobile-notch: \e1ee; -$fa-var-mobile-iphone: \e1ee; -$fa-var-magnifying-glass-chart: \e522; -$fa-var-arrow-up-right-from-square: \f08e; -$fa-var-external-link: \f08e; -$fa-var-cubes-stacked: \e4e6; -$fa-var-images-user: \e1b9; -$fa-var-won-sign: \f159; -$fa-var-krw: \f159; -$fa-var-won: \f159; -$fa-var-image-polaroid-user: \e1b6; -$fa-var-virus-covid: \e4a8; -$fa-var-square-ellipsis: \e26e; -$fa-var-pie: \f705; -$fa-var-chess-knight-piece: \f442; -$fa-var-chess-knight-alt: \f442; -$fa-var-austral-sign: \e0a9; -$fa-var-cloud-plus: \e35e; -$fa-var-f: \46; -$fa-var-leaf: \f06c; -$fa-var-bed-bunk: \f8f8; -$fa-var-road: \f018; -$fa-var-taxi: \f1ba; -$fa-var-cab: \f1ba; -$fa-var-person-circle-plus: \e541; -$fa-var-chart-pie: \f200; -$fa-var-pie-chart: \f200; -$fa-var-bolt-lightning: \e0b7; -$fa-var-clock-eight: \e345; -$fa-var-sack-xmark: \e56a; -$fa-var-file-excel: \f1c3; -$fa-var-file-contract: \f56c; -$fa-var-fish-fins: \e4f2; -$fa-var-circle-q: \e11e; -$fa-var-building-flag: \e4d5; -$fa-var-face-grin-beam: \f582; -$fa-var-grin-beam: \f582; -$fa-var-object-ungroup: \f248; -$fa-var-face-disguise: \e370; -$fa-var-circle-arrow-down-right: \e0fa; -$fa-var-alien-8bit: \f8f6; -$fa-var-alien-monster: \f8f6; -$fa-var-hand-point-ribbon: \e1a6; -$fa-var-poop: \f619; -$fa-var-object-exclude: \e49c; -$fa-var-telescope: \e03e; -$fa-var-location-pin: \f041; -$fa-var-map-marker: \f041; -$fa-var-square-list: \e489; -$fa-var-kaaba: \f66b; -$fa-var-toilet-paper: \f71e; -$fa-var-helmet-safety: \f807; -$fa-var-hard-hat: \f807; -$fa-var-hat-hard: \f807; -$fa-var-comment-code: \e147; -$fa-var-sim-cards: \e251; -$fa-var-starship: \e039; -$fa-var-eject: \f052; -$fa-var-circle-right: \f35a; -$fa-var-arrow-alt-circle-right: \f35a; -$fa-var-plane-circle-check: \e555; -$fa-var-seal: \e241; -$fa-var-user-cowboy: \f8ea; -$fa-var-hexagon-vertical-nft: \e505; -$fa-var-face-rolling-eyes: \f5a5; -$fa-var-meh-rolling-eyes: \f5a5; -$fa-var-bread-loaf: \f7eb; -$fa-var-rings-wedding: \f81b; -$fa-var-object-group: \f247; -$fa-var-french-fries: \f803; -$fa-var-chart-line: \f201; -$fa-var-line-chart: \f201; -$fa-var-calendar-arrow-down: \e0d0; -$fa-var-calendar-download: \e0d0; -$fa-var-send-back: \f87e; -$fa-var-mask-ventilator: \e524; -$fa-var-signature-lock: \e3ca; -$fa-var-arrow-right: \f061; -$fa-var-signs-post: \f277; -$fa-var-map-signs: \f277; -$fa-var-octagon-plus: \f301; -$fa-var-plus-octagon: \f301; -$fa-var-cash-register: \f788; -$fa-var-person-circle-question: \e542; -$fa-var-melon-slice: \e311; -$fa-var-space-station-moon: \e033; -$fa-var-message-smile: \f4aa; -$fa-var-comment-alt-smile: \f4aa; -$fa-var-cup-straw: \e363; -$fa-var-left-from-line: \f348; -$fa-var-arrow-alt-from-right: \f348; -$fa-var-h: \48; -$fa-var-basket-shopping-simple: \e0af; -$fa-var-shopping-basket-alt: \e0af; -$fa-var-hands-holding-heart: \f4c3; -$fa-var-hands-heart: \f4c3; -$fa-var-clock-nine: \e34c; -$fa-var-tarp: \e57b; -$fa-var-face-sleepy: \e38e; -$fa-var-hand-horns: \e1a9; -$fa-var-screwdriver-wrench: \f7d9; -$fa-var-tools: \f7d9; -$fa-var-arrows-to-eye: \e4bf; -$fa-var-circle-three-quarters: \e125; -$fa-var-trophy-star: \f2eb; -$fa-var-trophy-alt: \f2eb; -$fa-var-plug-circle-bolt: \e55b; -$fa-var-face-thermometer: \e39a; -$fa-var-shirt-running: \e3c8; -$fa-var-book-circle-arrow-up: \e0bd; -$fa-var-face-nauseated: \e381; -$fa-var-heart: \f004; -$fa-var-file-chart-pie: \f65a; -$fa-var-mars-and-venus: \f224; -$fa-var-house-user: \e1b0; -$fa-var-home-user: \e1b0; -$fa-var-circle-arrow-down-left: \e0f9; -$fa-var-dumpster-fire: \f794; -$fa-var-hexagon-minus: \f307; -$fa-var-minus-hexagon: \f307; -$fa-var-left-to-line: \f34b; -$fa-var-arrow-alt-to-left: \f34b; -$fa-var-house-crack: \e3b1; -$fa-var-paw-simple: \f701; -$fa-var-paw-alt: \f701; -$fa-var-arrow-left-long-to-line: \e3d4; -$fa-var-brackets-round: \e0c5; -$fa-var-parentheses: \e0c5; -$fa-var-martini-glass-citrus: \f561; -$fa-var-cocktail: \f561; -$fa-var-user-shakespeare: \e2c2; -$fa-var-arrow-right-to-arc: \e4b2; -$fa-var-face-surprise: \f5c2; -$fa-var-surprise: \f5c2; -$fa-var-bottle-water: \e4c5; -$fa-var-circle-pause: \f28b; -$fa-var-pause-circle: \f28b; -$fa-var-gauge-circle-plus: \e498; -$fa-var-folders: \f660; -$fa-var-angel: \f779; -$fa-var-value-absolute: \f6a6; -$fa-var-rabbit: \f708; -$fa-var-toilet-paper-slash: \e072; -$fa-var-apple-whole: \f5d1; -$fa-var-apple-alt: \f5d1; -$fa-var-kitchen-set: \e51a; -$fa-var-diamond-half: \e5b7; -$fa-var-lock-keyhole: \f30d; -$fa-var-lock-alt: \f30d; -$fa-var-r: \52; -$fa-var-temperature-quarter: \f2ca; -$fa-var-temperature-1: \f2ca; -$fa-var-thermometer-1: \f2ca; -$fa-var-thermometer-quarter: \f2ca; -$fa-var-square-info: \f30f; -$fa-var-info-square: \f30f; -$fa-var-wifi-slash: \f6ac; -$fa-var-toilet-paper-xmark: \e5b3; -$fa-var-hands-holding-dollar: \f4c5; -$fa-var-hands-usd: \f4c5; -$fa-var-cube: \f1b2; -$fa-var-arrow-down-triangle-square: \f888; -$fa-var-sort-shapes-down: \f888; -$fa-var-bitcoin-sign: \e0b4; -$fa-var-shutters: \e449; -$fa-var-shield-dog: \e573; -$fa-var-solar-panel: \f5ba; -$fa-var-lock-open: \f3c1; -$fa-var-table-tree: \e293; -$fa-var-house-chimney-heart: \e1b2; -$fa-var-tally-3: \e296; -$fa-var-elevator: \e16d; -$fa-var-money-bill-transfer: \e528; -$fa-var-money-bill-trend-up: \e529; -$fa-var-house-flood-water-circle-arrow-right: \e50f; -$fa-var-square-poll-horizontal: \f682; -$fa-var-poll-h: \f682; -$fa-var-circle: \f111; -$fa-var-cart-circle-exclamation: \e3f2; -$fa-var-sword: \f71c; -$fa-var-backward-fast: \f049; -$fa-var-fast-backward: \f049; -$fa-var-recycle: \f1b8; -$fa-var-user-astronaut: \f4fb; -$fa-var-interrobang: \e5ba; -$fa-var-plane-slash: \e069; -$fa-var-circle-dashed: \e105; -$fa-var-trademark: \f25c; -$fa-var-basketball: \f434; -$fa-var-basketball-ball: \f434; -$fa-var-fork-knife: \f2e6; -$fa-var-utensils-alt: \f2e6; -$fa-var-satellite-dish: \f7c0; -$fa-var-badge-check: \f336; -$fa-var-circle-up: \f35b; -$fa-var-arrow-alt-circle-up: \f35b; -$fa-var-slider: \e252; -$fa-var-mobile-screen-button: \f3cd; -$fa-var-mobile-alt: \f3cd; -$fa-var-clock-one-thirty: \e34f; -$fa-var-inbox-out: \f311; -$fa-var-inbox-arrow-up: \f311; -$fa-var-cloud-slash: \e137; -$fa-var-volume-high: \f028; -$fa-var-volume-up: \f028; -$fa-var-users-rays: \e593; -$fa-var-wallet: \f555; -$fa-var-octagon-check: \e426; -$fa-var-flatbread-stuffed: \e40c; -$fa-var-clipboard-check: \f46c; -$fa-var-cart-circle-plus: \e3f3; -$fa-var-truck-clock: \f48c; -$fa-var-shipping-timed: \f48c; -$fa-var-pool-8-ball: \e3c5; -$fa-var-file-audio: \f1c7; -$fa-var-turn-down-left: \e331; -$fa-var-lock-hashtag: \e423; -$fa-var-chart-radar: \e0e7; -$fa-var-staff: \f71b; -$fa-var-burger: \f805; -$fa-var-hamburger: \f805; -$fa-var-utility-pole: \e2c3; -$fa-var-transporter-6: \e2a7; -$fa-var-wrench: \f0ad; -$fa-var-bugs: \e4d0; -$fa-var-vector-polygon: \e2c7; -$fa-var-diagram-nested: \e157; -$fa-var-rupee-sign: \f156; -$fa-var-rupee: \f156; -$fa-var-file-image: \f1c5; -$fa-var-circle-question: \f059; -$fa-var-question-circle: \f059; -$fa-var-image-user: \e1b8; -$fa-var-buoy: \e5b5; -$fa-var-plane-departure: \f5b0; -$fa-var-handshake-slash: \e060; -$fa-var-book-bookmark: \e0bb; -$fa-var-border-center-h: \f89c; -$fa-var-can-food: \e3e6; -$fa-var-typewriter: \f8e7; -$fa-var-arrow-right-from-arc: \e4b1; -$fa-var-circle-k: \e113; -$fa-var-face-hand-over-mouth: \e378; -$fa-var-popcorn: \f819; -$fa-var-house-water: \f74f; -$fa-var-house-flood: \f74f; -$fa-var-object-subtract: \e49e; -$fa-var-code-branch: \f126; -$fa-var-warehouse-full: \f495; -$fa-var-warehouse-alt: \f495; -$fa-var-hat-cowboy: \f8c0; -$fa-var-bridge: \e4c8; -$fa-var-phone-flip: \f879; -$fa-var-phone-alt: \f879; -$fa-var-arrow-down-from-dotted-line: \e090; -$fa-var-square-quarters: \e44e; -$fa-var-truck-front: \e2b7; -$fa-var-cat: \f6be; -$fa-var-trash-xmark: \e2b4; -$fa-var-circle-caret-left: \f32e; -$fa-var-caret-circle-left: \f32e; -$fa-var-files: \e178; -$fa-var-anchor-circle-exclamation: \e4ab; -$fa-var-face-clouds: \e47d; -$fa-var-user-crown: \f6a4; -$fa-var-truck-field: \e58d; -$fa-var-route: \f4d7; -$fa-var-cart-circle-check: \e3f1; -$fa-var-clipboard-question: \e4e3; -$fa-var-panorama: \e209; -$fa-var-comment-medical: \f7f5; -$fa-var-teeth-open: \f62f; -$fa-var-user-tie-hair-long: \e460; -$fa-var-file-circle-minus: \e4ed; -$fa-var-head-side-medical: \f809; -$fa-var-tags: \f02c; -$fa-var-wine-glass: \f4e3; -$fa-var-forward-fast: \f050; -$fa-var-fast-forward: \f050; -$fa-var-face-meh-blank: \f5a4; -$fa-var-meh-blank: \f5a4; -$fa-var-user-robot: \e04b; -$fa-var-square-parking: \f540; -$fa-var-parking: \f540; -$fa-var-card-diamond: \e3ea; -$fa-var-face-zipper: \e3a5; -$fa-var-face-raised-eyebrow: \e388; -$fa-var-house-signal: \e012; -$fa-var-square-chevron-up: \f32c; -$fa-var-chevron-square-up: \f32c; -$fa-var-bars-progress: \f828; -$fa-var-tasks-alt: \f828; -$fa-var-faucet-drip: \e006; -$fa-var-arrows-to-line: \e0a7; -$fa-var-dolphin: \e168; -$fa-var-arrow-up-right: \e09f; -$fa-var-circle-r: \e120; -$fa-var-cart-flatbed: \f474; -$fa-var-dolly-flatbed: \f474; -$fa-var-ban-smoking: \f54d; -$fa-var-smoking-ban: \f54d; -$fa-var-circle-sort-up: \e032; -$fa-var-sort-circle-up: \e032; -$fa-var-terminal: \f120; -$fa-var-mobile-button: \f10b; -$fa-var-house-medical-flag: \e514; -$fa-var-basket-shopping: \f291; -$fa-var-shopping-basket: \f291; -$fa-var-tape: \f4db; -$fa-var-chestnut: \e3f6; -$fa-var-bus-simple: \f55e; -$fa-var-bus-alt: \f55e; -$fa-var-eye: \f06e; -$fa-var-face-sad-cry: \f5b3; -$fa-var-sad-cry: \f5b3; -$fa-var-heat: \e00c; -$fa-var-ticket-airline: \e29a; -$fa-var-boot-heeled: \e33f; -$fa-var-arrows-minimize: \e0a5; -$fa-var-compress-arrows: \e0a5; -$fa-var-audio-description: \f29e; -$fa-var-person-military-to-person: \e54c; -$fa-var-file-shield: \e4f0; -$fa-var-hexagon: \f312; -$fa-var-manhole: \e1d6; -$fa-var-user-slash: \f506; -$fa-var-pen: \f304; -$fa-var-tower-observation: \e586; -$fa-var-floppy-disks: \e183; -$fa-var-toilet-paper-blank-under: \e29f; -$fa-var-toilet-paper-reverse-alt: \e29f; -$fa-var-file-code: \f1c9; -$fa-var-signal: \f012; -$fa-var-signal-5: \f012; -$fa-var-signal-perfect: \f012; -$fa-var-pump: \e442; -$fa-var-bus: \f207; -$fa-var-heart-circle-xmark: \e501; -$fa-var-arrow-up-left-from-circle: \e09e; -$fa-var-house-chimney: \e3af; -$fa-var-home-lg: \e3af; -$fa-var-window-maximize: \f2d0; -$fa-var-dryer: \f861; -$fa-var-face-frown: \f119; -$fa-var-frown: \f119; -$fa-var-chess-bishop-piece: \f43b; -$fa-var-chess-bishop-alt: \f43b; -$fa-var-shirt-tank-top: \e3c9; -$fa-var-diploma: \f5ea; -$fa-var-scroll-ribbon: \f5ea; -$fa-var-screencast: \e23e; -$fa-var-walker: \f831; -$fa-var-prescription: \f5b1; -$fa-var-shop: \f54f; -$fa-var-store-alt: \f54f; -$fa-var-floppy-disk: \f0c7; -$fa-var-save: \f0c7; -$fa-var-vihara: \f6a7; -$fa-var-face-kiss-closed-eyes: \e37d; -$fa-var-scale-unbalanced: \f515; -$fa-var-balance-scale-left: \f515; -$fa-var-file-user: \f65c; -$fa-var-user-police-tie: \e334; -$fa-var-face-tongue-money: \e39d; -$fa-var-tennis-ball: \f45e; -$fa-var-square-l: \e275; -$fa-var-sort-up: \f0de; -$fa-var-sort-asc: \f0de; -$fa-var-calendar-arrow-up: \e0d1; -$fa-var-calendar-upload: \e0d1; -$fa-var-comment-dots: \f4ad; -$fa-var-commenting: \f4ad; -$fa-var-plant-wilt: \e5aa; -$fa-var-scarf: \f7c1; -$fa-var-album-circle-plus: \e48c; -$fa-var-user-nurse-hair-long: \e45e; -$fa-var-diamond: \f219; -$fa-var-square-left: \f351; -$fa-var-arrow-alt-square-left: \f351; -$fa-var-face-grin-squint: \f585; -$fa-var-grin-squint: \f585; -$fa-var-circle-ellipsis-vertical: \e10b; -$fa-var-hand-holding-dollar: \f4c0; -$fa-var-hand-holding-usd: \f4c0; -$fa-var-grid-dividers: \e3ad; -$fa-var-bacterium: \e05a; -$fa-var-hand-pointer: \f25a; -$fa-var-drum-steelpan: \f56a; -$fa-var-hand-scissors: \f257; -$fa-var-hands-praying: \f684; -$fa-var-praying-hands: \f684; -$fa-var-face-pensive: \e384; -$fa-var-user-music: \f8eb; -$fa-var-arrow-rotate-right: \f01e; -$fa-var-arrow-right-rotate: \f01e; -$fa-var-arrow-rotate-forward: \f01e; -$fa-var-redo: \f01e; -$fa-var-messages-dollar: \f652; -$fa-var-comments-alt-dollar: \f652; -$fa-var-sensor-on: \e02b; -$fa-var-balloon: \e2e3; -$fa-var-biohazard: \f780; -$fa-var-chess-queen-piece: \f446; -$fa-var-chess-queen-alt: \f446; -$fa-var-location-crosshairs: \f601; -$fa-var-location: \f601; -$fa-var-mars-double: \f227; -$fa-var-house-person-leave: \e00f; -$fa-var-house-leave: \e00f; -$fa-var-house-person-depart: \e00f; -$fa-var-ruler-triangle: \f61c; -$fa-var-card-club: \e3e9; -$fa-var-child-dress: \e59c; -$fa-var-users-between-lines: \e591; -$fa-var-lungs-virus: \e067; -$fa-var-spinner-third: \f3f4; -$fa-var-face-grin-tears: \f588; -$fa-var-grin-tears: \f588; -$fa-var-phone: \f095; -$fa-var-computer-mouse-scrollwheel: \f8cd; -$fa-var-mouse-alt: \f8cd; -$fa-var-calendar-xmark: \f273; -$fa-var-calendar-times: \f273; -$fa-var-child-reaching: \e59d; -$fa-var-table-layout: \e290; -$fa-var-narwhal: \f6fe; -$fa-var-ramp-loading: \f4d4; -$fa-var-calendar-circle-plus: \e470; -$fa-var-toothbrush: \f635; -$fa-var-border-inner: \f84e; -$fa-var-paw-claws: \f702; -$fa-var-kiwi-fruit: \e30c; -$fa-var-traffic-light-slow: \f639; -$fa-var-rectangle-code: \e322; -$fa-var-head-side-virus: \e064; -$fa-var-keyboard-brightness: \e1c0; -$fa-var-books-medical: \f7e8; -$fa-var-lightbulb-slash: \f673; -$fa-var-house-blank: \e487; -$fa-var-home-blank: \e487; -$fa-var-square-5: \e25a; -$fa-var-square-heart: \f4c8; -$fa-var-heart-square: \f4c8; -$fa-var-puzzle: \e443; -$fa-var-user-gear: \f4fe; -$fa-var-user-cog: \f4fe; -$fa-var-pipe-circle-check: \e436; -$fa-var-arrow-up-1-9: \f163; -$fa-var-sort-numeric-up: \f163; -$fa-var-octagon-exclamation: \e204; -$fa-var-dial-low: \e15d; -$fa-var-door-closed: \f52a; -$fa-var-laptop-mobile: \f87a; -$fa-var-phone-laptop: \f87a; -$fa-var-conveyor-belt-boxes: \f46f; -$fa-var-conveyor-belt-alt: \f46f; -$fa-var-shield-virus: \e06c; -$fa-var-starfighter-twin-ion-engine-advanced: \e28e; -$fa-var-starfighter-alt-advanced: \e28e; -$fa-var-dice-six: \f526; -$fa-var-starfighter-twin-ion-engine: \e038; -$fa-var-starfighter-alt: \e038; -$fa-var-rocket-launch: \e027; -$fa-var-mosquito-net: \e52c; -$fa-var-vent-damper: \e465; -$fa-var-bridge-water: \e4ce; -$fa-var-ban-bug: \f7f9; -$fa-var-debug: \f7f9; -$fa-var-person-booth: \f756; -$fa-var-text-width: \f035; -$fa-var-garage-car: \e00a; -$fa-var-square-kanban: \e488; -$fa-var-hat-wizard: \f6e8; -$fa-var-pen-fancy: \f5ac; -$fa-var-coffee-pot: \e002; -$fa-var-mouse-field: \e5a8; -$fa-var-person-digging: \f85e; -$fa-var-digging: \f85e; -$fa-var-shower-down: \e24d; -$fa-var-shower-alt: \e24d; -$fa-var-box-circle-check: \e0c4; -$fa-var-brightness: \e0c9; -$fa-var-car-side-bolt: \e344; -$fa-var-ornament: \f7b8; -$fa-var-phone-arrow-down-left: \e223; -$fa-var-phone-arrow-down: \e223; -$fa-var-phone-incoming: \e223; -$fa-var-cloud-word: \e138; -$fa-var-hand-fingers-crossed: \e1a3; -$fa-var-trash: \f1f8; -$fa-var-gauge-simple: \f629; -$fa-var-gauge-simple-med: \f629; -$fa-var-tachometer-average: \f629; -$fa-var-arrow-down-small-big: \f88d; -$fa-var-sort-size-down-alt: \f88d; -$fa-var-book-medical: \f7e6; -$fa-var-face-melting: \e483; -$fa-var-poo: \f2fe; -$fa-var-pen-clip-slash: \e20f; -$fa-var-pen-alt-slash: \e20f; -$fa-var-quote-right: \f10e; -$fa-var-quote-right-alt: \f10e; -$fa-var-scroll-old: \f70f; -$fa-var-guitars: \f8bf; -$fa-var-phone-xmark: \e227; -$fa-var-hose: \e419; -$fa-var-clock-six: \e352; -$fa-var-shirt: \f553; -$fa-var-t-shirt: \f553; -$fa-var-tshirt: \f553; -$fa-var-square-r: \e27c; -$fa-var-cubes: \f1b3; -$fa-var-envelope-open-dollar: \f657; -$fa-var-divide: \f529; -$fa-var-sun-cloud: \f763; -$fa-var-lamp-floor: \e015; -$fa-var-square-7: \e25c; -$fa-var-tenge-sign: \f7d7; -$fa-var-tenge: \f7d7; -$fa-var-headphones: \f025; -$fa-var-hands-holding: \f4c2; -$fa-var-campfire: \f6ba; -$fa-var-circle-ampersand: \e0f8; -$fa-var-snowflakes: \f7cf; -$fa-var-hands-clapping: \e1a8; -$fa-var-republican: \f75e; -$fa-var-leaf-maple: \f6f6; -$fa-var-arrow-left: \f060; -$fa-var-person-circle-xmark: \e543; -$fa-var-ruler: \f545; -$fa-var-cup-straw-swoosh: \e364; -$fa-var-temperature-sun: \f76a; -$fa-var-temperature-hot: \f76a; -$fa-var-align-left: \f036; -$fa-var-dice-d6: \f6d1; -$fa-var-restroom: \f7bd; -$fa-var-high-definition: \e1ae; -$fa-var-rectangle-hd: \e1ae; -$fa-var-j: \4a; -$fa-var-galaxy: \e008; -$fa-var-users-viewfinder: \e595; -$fa-var-file-video: \f1c8; -$fa-var-cherries: \e0ec; -$fa-var-up-right-from-square: \f35d; -$fa-var-external-link-alt: \f35d; -$fa-var-circle-sort: \e030; -$fa-var-sort-circle: \e030; -$fa-var-table-cells: \f00a; -$fa-var-th: \f00a; -$fa-var-file-pdf: \f1c1; -$fa-var-siren: \e02d; -$fa-var-arrow-up-to-dotted-line: \e0a1; -$fa-var-image-landscape: \e1b5; -$fa-var-landscape: \e1b5; -$fa-var-tank-water: \e452; -$fa-var-curling-stone: \f44a; -$fa-var-curling: \f44a; -$fa-var-gamepad-modern: \e5a2; -$fa-var-gamepad-alt: \e5a2; -$fa-var-messages-question: \e1e7; -$fa-var-book-bible: \f647; -$fa-var-bible: \f647; -$fa-var-o: \4f; -$fa-var-suitcase-medical: \f0fa; -$fa-var-medkit: \f0fa; -$fa-var-briefcase-arrow-right: \e2f2; -$fa-var-expand-wide: \f320; -$fa-var-clock-eleven-thirty: \e348; -$fa-var-rv: \f7be; -$fa-var-user-secret: \f21b; -$fa-var-otter: \f700; -$fa-var-dreidel: \f792; -$fa-var-person-dress: \f182; -$fa-var-female: \f182; -$fa-var-comment-dollar: \f651; -$fa-var-business-time: \f64a; -$fa-var-briefcase-clock: \f64a; -$fa-var-flower-tulip: \f801; -$fa-var-people-pants-simple: \e21a; -$fa-var-cloud-drizzle: \f738; -$fa-var-table-cells-large: \f009; -$fa-var-th-large: \f009; -$fa-var-book-tanakh: \f827; -$fa-var-tanakh: \f827; -$fa-var-solar-system: \e02f; -$fa-var-seal-question: \e243; -$fa-var-phone-volume: \f2a0; -$fa-var-volume-control-phone: \f2a0; -$fa-var-disc-drive: \f8b5; -$fa-var-hat-cowboy-side: \f8c1; -$fa-var-table-rows: \e292; -$fa-var-rows: \e292; -$fa-var-location-exclamation: \f608; -$fa-var-map-marker-exclamation: \f608; -$fa-var-face-fearful: \e375; -$fa-var-clipboard-user: \f7f3; -$fa-var-bus-school: \f5dd; -$fa-var-film-slash: \e179; -$fa-var-square-arrow-down-right: \e262; -$fa-var-book-sparkles: \f6b8; -$fa-var-book-spells: \f6b8; -$fa-var-washing-machine: \f898; -$fa-var-washer: \f898; -$fa-var-child: \f1ae; -$fa-var-lira-sign: \f195; -$fa-var-user-visor: \e04c; -$fa-var-file-plus-minus: \e177; -$fa-var-chess-clock-flip: \f43e; -$fa-var-chess-clock-alt: \f43e; -$fa-var-satellite: \f7bf; -$fa-var-plane-lock: \e558; -$fa-var-steering-wheel: \f622; -$fa-var-tag: \f02b; -$fa-var-stretcher: \f825; -$fa-var-book-section: \e0c1; -$fa-var-book-law: \e0c1; -$fa-var-inboxes: \e1bb; -$fa-var-coffee-bean: \e13e; -$fa-var-brackets-curly: \f7ea; -$fa-var-ellipsis-stroke-vertical: \f39c; -$fa-var-ellipsis-v-alt: \f39c; -$fa-var-comment: \f075; -$fa-var-square-1: \e256; -$fa-var-cake-candles: \f1fd; -$fa-var-birthday-cake: \f1fd; -$fa-var-cake: \f1fd; -$fa-var-head-side: \f6e9; -$fa-var-envelope: \f0e0; -$fa-var-dolly-empty: \f473; -$fa-var-face-tissue: \e39c; -$fa-var-angles-up: \f102; -$fa-var-angle-double-up: \f102; -$fa-var-paperclip: \f0c6; -$fa-var-chart-line-down: \f64d; -$fa-var-arrow-right-to-city: \e4b3; -$fa-var-lock-a: \e422; -$fa-var-ribbon: \f4d6; -$fa-var-lungs: \f604; -$fa-var-person-pinball: \e21d; -$fa-var-arrow-up-9-1: \f887; -$fa-var-sort-numeric-up-alt: \f887; -$fa-var-apple-core: \e08f; -$fa-var-circle-y: \e12f; -$fa-var-h6: \e413; -$fa-var-litecoin-sign: \e1d3; -$fa-var-circle-small: \e122; -$fa-var-border-none: \f850; -$fa-var-arrow-turn-down-left: \e2e1; -$fa-var-circle-nodes: \e4e2; -$fa-var-parachute-box: \f4cd; -$fa-var-message-medical: \f7f4; -$fa-var-comment-alt-medical: \f7f4; -$fa-var-rugby-ball: \e3c6; -$fa-var-comment-music: \f8b0; -$fa-var-indent: \f03c; -$fa-var-tree-deciduous: \f400; -$fa-var-tree-alt: \f400; -$fa-var-puzzle-piece-simple: \e231; -$fa-var-puzzle-piece-alt: \e231; -$fa-var-truck-field-un: \e58e; -$fa-var-nfc-trash: \e1fd; -$fa-var-hourglass: \f254; -$fa-var-hourglass-empty: \f254; -$fa-var-mountain: \f6fc; -$fa-var-file-xmark: \f317; -$fa-var-file-times: \f317; -$fa-var-house-heart: \f4c9; -$fa-var-home-heart: \f4c9; -$fa-var-house-chimney-blank: \e3b0; -$fa-var-meter-bolt: \e1e9; -$fa-var-user-doctor: \f0f0; -$fa-var-user-md: \f0f0; -$fa-var-slash-back: \5c; -$fa-var-circle-info: \f05a; -$fa-var-info-circle: \f05a; -$fa-var-fishing-rod: \e3a8; -$fa-var-hammer-crash: \e414; -$fa-var-message-heart: \e5c9; -$fa-var-cloud-meatball: \f73b; -$fa-var-camera-polaroid: \f8aa; -$fa-var-camera: \f030; -$fa-var-camera-alt: \f030; -$fa-var-square-virus: \e578; -$fa-var-cart-arrow-up: \e3ee; -$fa-var-meteor: \f753; -$fa-var-car-on: \e4dd; -$fa-var-sleigh: \f7cc; -$fa-var-arrow-down-1-9: \f162; -$fa-var-sort-numeric-asc: \f162; -$fa-var-sort-numeric-down: \f162; -$fa-var-buoy-mooring: \e5b6; -$fa-var-square-4: \e259; -$fa-var-hand-holding-droplet: \f4c1; -$fa-var-hand-holding-water: \f4c1; -$fa-var-tricycle-adult: \e5c4; -$fa-var-waveform: \f8f1; -$fa-var-water: \f773; -$fa-var-star-sharp-half-stroke: \e28d; -$fa-var-star-sharp-half-alt: \e28d; -$fa-var-nfc-signal: \e1fb; -$fa-var-plane-prop: \e22b; -$fa-var-calendar-check: \f274; -$fa-var-clock-desk: \e134; -$fa-var-calendar-clock: \e0d2; -$fa-var-calendar-time: \e0d2; -$fa-var-braille: \f2a1; -$fa-var-prescription-bottle-medical: \f486; -$fa-var-prescription-bottle-alt: \f486; -$fa-var-plate-utensils: \e43b; -$fa-var-family-pants: \e302; -$fa-var-hose-reel: \e41a; -$fa-var-house-window: \e3b3; -$fa-var-landmark: \f66f; -$fa-var-truck: \f0d1; -$fa-var-crosshairs: \f05b; -$fa-var-cloud-rainbow: \f73e; -$fa-var-person-cane: \e53c; -$fa-var-alien: \f8f5; -$fa-var-tent: \e57d; -$fa-var-vest-patches: \e086; -$fa-var-people-dress-simple: \e218; -$fa-var-check-double: \f560; -$fa-var-arrow-down-a-z: \f15d; -$fa-var-sort-alpha-asc: \f15d; -$fa-var-sort-alpha-down: \f15d; -$fa-var-bowling-ball-pin: \e0c3; -$fa-var-bell-school-slash: \f5d6; -$fa-var-plus-large: \e59e; -$fa-var-money-bill-wheat: \e52a; -$fa-var-camera-viewfinder: \e0da; -$fa-var-screenshot: \e0da; -$fa-var-message-music: \f8af; -$fa-var-comment-alt-music: \f8af; -$fa-var-car-building: \f859; -$fa-var-border-bottom-right: \f854; -$fa-var-border-style-alt: \f854; -$fa-var-octagon: \f306; -$fa-var-comment-arrow-up-right: \e145; -$fa-var-octagon-divide: \e203; -$fa-var-cookie: \f563; -$fa-var-arrow-rotate-left: \f0e2; -$fa-var-arrow-left-rotate: \f0e2; -$fa-var-arrow-rotate-back: \f0e2; -$fa-var-arrow-rotate-backward: \f0e2; -$fa-var-undo: \f0e2; -$fa-var-tv-music: \f8e6; -$fa-var-hard-drive: \f0a0; -$fa-var-hdd: \f0a0; -$fa-var-reel: \e238; -$fa-var-face-grin-squint-tears: \f586; -$fa-var-grin-squint-tears: \f586; -$fa-var-dumbbell: \f44b; -$fa-var-rectangle-list: \f022; -$fa-var-list-alt: \f022; -$fa-var-tarp-droplet: \e57c; -$fa-var-alarm-exclamation: \f843; -$fa-var-house-medical-circle-check: \e511; -$fa-var-traffic-cone: \f636; -$fa-var-grate: \e193; -$fa-var-arrow-down-right: \e093; -$fa-var-person-skiing-nordic: \f7ca; -$fa-var-skiing-nordic: \f7ca; -$fa-var-calendar-plus: \f271; -$fa-var-person-from-portal: \e023; -$fa-var-portal-exit: \e023; -$fa-var-plane-arrival: \f5af; -$fa-var-cowbell-circle-plus: \f8b4; -$fa-var-cowbell-more: \f8b4; -$fa-var-circle-left: \f359; -$fa-var-arrow-alt-circle-left: \f359; -$fa-var-distribute-spacing-vertical: \e366; -$fa-var-signal-bars-fair: \f692; -$fa-var-signal-alt-2: \f692; -$fa-var-sportsball: \e44b; -$fa-var-game-console-handheld-crank: \e5b9; -$fa-var-train-subway: \f239; -$fa-var-subway: \f239; -$fa-var-chart-gantt: \e0e4; -$fa-var-face-smile-upside-down: \e395; -$fa-var-ball-pile: \f77e; -$fa-var-badge-dollar: \f645; -$fa-var-money-bills-simple: \e1f4; -$fa-var-money-bills-alt: \e1f4; -$fa-var-list-timeline: \e1d1; -$fa-var-indian-rupee-sign: \e1bc; -$fa-var-indian-rupee: \e1bc; -$fa-var-inr: \e1bc; -$fa-var-crop-simple: \f565; -$fa-var-crop-alt: \f565; -$fa-var-money-bill-1: \f3d1; -$fa-var-money-bill-alt: \f3d1; -$fa-var-left-long: \f30a; -$fa-var-long-arrow-alt-left: \f30a; -$fa-var-keyboard-down: \e1c2; -$fa-var-circle-up-right: \e129; -$fa-var-cloud-bolt-moon: \f76d; -$fa-var-thunderstorm-moon: \f76d; -$fa-var-dna: \f471; -$fa-var-virus-slash: \e075; -$fa-var-bracket-round-right: \29; -$fa-var-circle-5: \e0f2; -$fa-var-minus: \f068; -$fa-var-subtract: \f068; -$fa-var-fire-flame: \f6df; -$fa-var-flame: \f6df; -$fa-var-right-to-line: \f34c; -$fa-var-arrow-alt-to-right: \f34c; -$fa-var-gif: \e190; -$fa-var-chess: \f439; -$fa-var-trash-slash: \e2b3; -$fa-var-arrow-left-long: \f177; -$fa-var-long-arrow-left: \f177; -$fa-var-plug-circle-check: \e55c; -$fa-var-font-case: \f866; -$fa-var-street-view: \f21d; -$fa-var-arrow-down-left: \e091; -$fa-var-franc-sign: \e18f; -$fa-var-flask-round-poison: \f6e0; -$fa-var-flask-poison: \f6e0; -$fa-var-volume-off: \f026; -$fa-var-book-circle-arrow-right: \e0bc; -$fa-var-chart-user: \f6a3; -$fa-var-user-chart: \f6a3; -$fa-var-hands-asl-interpreting: \f2a3; -$fa-var-american-sign-language-interpreting: \f2a3; -$fa-var-asl-interpreting: \f2a3; -$fa-var-hands-american-sign-language-interpreting: \f2a3; -$fa-var-presentation-screen: \f685; -$fa-var-presentation: \f685; -$fa-var-circle-bolt: \e0fe; -$fa-var-face-smile-halo: \e38f; -$fa-var-cart-circle-arrow-down: \e3ef; -$fa-var-house-person-return: \e011; -$fa-var-house-person-arrive: \e011; -$fa-var-house-return: \e011; -$fa-var-message-xmark: \f4ab; -$fa-var-comment-alt-times: \f4ab; -$fa-var-message-times: \f4ab; -$fa-var-file-certificate: \f5f3; -$fa-var-file-award: \f5f3; -$fa-var-user-doctor-hair-long: \e459; -$fa-var-camera-security: \f8fe; -$fa-var-camera-home: \f8fe; -$fa-var-gear: \f013; -$fa-var-cog: \f013; -$fa-var-droplet-slash: \f5c7; -$fa-var-tint-slash: \f5c7; -$fa-var-book-heart: \f499; -$fa-var-mosque: \f678; -$fa-var-duck: \f6d8; -$fa-var-mosquito: \e52b; -$fa-var-star-of-david: \f69a; -$fa-var-flag-swallowtail: \f74c; -$fa-var-flag-alt: \f74c; -$fa-var-person-military-rifle: \e54b; -$fa-var-car-garage: \f5e2; -$fa-var-cart-shopping: \f07a; -$fa-var-shopping-cart: \f07a; -$fa-var-book-font: \e0bf; -$fa-var-shield-plus: \e24a; -$fa-var-vials: \f493; -$fa-var-eye-dropper-full: \e172; -$fa-var-distribute-spacing-horizontal: \e365; -$fa-var-tablet-rugged: \f48f; -$fa-var-temperature-snow: \f768; -$fa-var-temperature-frigid: \f768; -$fa-var-moped: \e3b9; -$fa-var-face-smile-plus: \f5b9; -$fa-var-smile-plus: \f5b9; -$fa-var-radio-tuner: \f8d8; -$fa-var-radio-alt: \f8d8; -$fa-var-face-swear: \e399; -$fa-var-water-arrow-down: \f774; -$fa-var-water-lower: \f774; -$fa-var-scanner-touchscreen: \f48a; -$fa-var-circle-7: \e0f4; -$fa-var-plug-circle-plus: \e55f; -$fa-var-person-ski-jumping: \f7c7; -$fa-var-ski-jump: \f7c7; -$fa-var-place-of-worship: \f67f; -$fa-var-water-arrow-up: \f775; -$fa-var-water-rise: \f775; -$fa-var-waveform-lines: \f8f2; -$fa-var-waveform-path: \f8f2; -$fa-var-split: \e254; -$fa-var-film-canister: \f8b7; -$fa-var-film-cannister: \f8b7; -$fa-var-folder-xmark: \f65f; -$fa-var-folder-times: \f65f; -$fa-var-toilet-paper-blank: \f71f; -$fa-var-toilet-paper-alt: \f71f; -$fa-var-tablet-screen: \f3fc; -$fa-var-tablet-android-alt: \f3fc; -$fa-var-hexagon-vertical-nft-slanted: \e506; -$fa-var-folder-music: \e18d; -$fa-var-display-medical: \e166; -$fa-var-desktop-medical: \e166; -$fa-var-share-all: \f367; -$fa-var-peapod: \e31c; -$fa-var-chess-clock: \f43d; -$fa-var-axe: \f6b2; -$fa-var-square-d: \e268; -$fa-var-grip-vertical: \f58e; -$fa-var-mobile-signal-out: \e1f0; -$fa-var-arrow-turn-up: \f148; -$fa-var-level-up: \f148; -$fa-var-u: \55; -$fa-var-arrow-up-from-dotted-line: \e09b; -$fa-var-square-root-variable: \f698; -$fa-var-square-root-alt: \f698; -$fa-var-light-switch-on: \e019; -$fa-var-arrow-down-arrow-up: \f883; -$fa-var-sort-alt: \f883; -$fa-var-raindrops: \f75c; -$fa-var-dash: \e404; -$fa-var-minus-large: \e404; -$fa-var-clock: \f017; -$fa-var-clock-four: \f017; -$fa-var-input-numeric: \e1bd; -$fa-var-truck-tow: \e2b8; -$fa-var-backward-step: \f048; -$fa-var-step-backward: \f048; -$fa-var-pallet: \f482; -$fa-var-car-bolt: \e341; -$fa-var-arrows-maximize: \f31d; -$fa-var-expand-arrows: \f31d; -$fa-var-faucet: \e005; -$fa-var-cloud-sleet: \f741; -$fa-var-lamp-street: \e1c5; -$fa-var-list-radio: \e1d0; -$fa-var-pen-nib-slash: \e4a1; -$fa-var-baseball-bat-ball: \f432; -$fa-var-square-up-left: \e282; -$fa-var-overline: \f876; -$fa-var-s: \53; -$fa-var-timeline: \e29c; -$fa-var-keyboard: \f11c; -$fa-var-arrows-from-dotted-line: \e0a3; -$fa-var-usb-drive: \f8e9; -$fa-var-ballot: \f732; -$fa-var-caret-down: \f0d7; -$fa-var-location-dot-slash: \f605; -$fa-var-map-marker-alt-slash: \f605; -$fa-var-cards: \e3ed; -$fa-var-house-chimney-medical: \f7f2; -$fa-var-clinic-medical: \f7f2; -$fa-var-boxing-glove: \f438; -$fa-var-glove-boxing: \f438; -$fa-var-temperature-three-quarters: \f2c8; -$fa-var-temperature-3: \f2c8; -$fa-var-thermometer-3: \f2c8; -$fa-var-thermometer-three-quarters: \f2c8; -$fa-var-bell-school: \f5d5; -$fa-var-mobile-screen: \f3cf; -$fa-var-mobile-android-alt: \f3cf; -$fa-var-plane-up: \e22d; -$fa-var-folder-heart: \e189; -$fa-var-circle-location-arrow: \f602; -$fa-var-location-circle: \f602; -$fa-var-face-head-bandage: \e37a; -$fa-var-sushi-roll: \e48b; -$fa-var-maki-roll: \e48b; -$fa-var-makizushi: \e48b; -$fa-var-car-bump: \f5e0; -$fa-var-piggy-bank: \f4d3; -$fa-var-racquet: \f45a; -$fa-var-car-mirrors: \e343; -$fa-var-industry-windows: \f3b3; -$fa-var-industry-alt: \f3b3; -$fa-var-bolt-auto: \e0b6; -$fa-var-battery-half: \f242; -$fa-var-battery-3: \f242; -$fa-var-flux-capacitor: \f8ba; -$fa-var-mountain-city: \e52e; -$fa-var-coins: \f51e; -$fa-var-honey-pot: \e418; -$fa-var-olive: \e316; -$fa-var-khanda: \f66d; -$fa-var-filter-list: \e17c; -$fa-var-outlet: \e01c; -$fa-var-sliders: \f1de; -$fa-var-sliders-h: \f1de; -$fa-var-cauldron: \f6bf; -$fa-var-people: \e216; -$fa-var-folder-tree: \f802; -$fa-var-network-wired: \f6ff; -$fa-var-croissant: \f7f6; -$fa-var-map-pin: \f276; -$fa-var-hamsa: \f665; -$fa-var-cent-sign: \e3f5; -$fa-var-swords-laser: \e03d; -$fa-var-flask: \f0c3; -$fa-var-person-pregnant: \e31e; -$fa-var-square-u: \e281; -$fa-var-wand-sparkles: \f72b; -$fa-var-router: \f8da; -$fa-var-ellipsis-vertical: \f142; -$fa-var-ellipsis-v: \f142; -$fa-var-sword-laser-alt: \e03c; -$fa-var-ticket: \f145; -$fa-var-power-off: \f011; -$fa-var-coin: \f85c; -$fa-var-laptop-slash: \e1c7; -$fa-var-right-long: \f30b; -$fa-var-long-arrow-alt-right: \f30b; -$fa-var-circle-b: \e0fd; -$fa-var-person-dress-simple: \e21c; -$fa-var-pipe-collar: \e437; -$fa-var-lights-holiday: \f7b2; -$fa-var-citrus: \e2f4; -$fa-var-flag-usa: \f74d; -$fa-var-laptop-file: \e51d; -$fa-var-tty: \f1e4; -$fa-var-teletype: \f1e4; -$fa-var-chart-tree-map: \e0ea; -$fa-var-diagram-next: \e476; -$fa-var-person-rifle: \e54e; -$fa-var-clock-five-thirty: \e34a; -$fa-var-pipe-valve: \e439; -$fa-var-arrow-up-from-arc: \e4b4; -$fa-var-face-spiral-eyes: \e485; -$fa-var-compress-wide: \f326; -$fa-var-circle-phone-hangup: \e11d; -$fa-var-phone-circle-down: \e11d; -$fa-var-house-medical-circle-exclamation: \e512; -$fa-var-badminton: \e33a; -$fa-var-closed-captioning: \f20a; -$fa-var-person-hiking: \f6ec; -$fa-var-hiking: \f6ec; -$fa-var-right-from-line: \f347; -$fa-var-arrow-alt-from-left: \f347; -$fa-var-venus-double: \f226; -$fa-var-images: \f302; -$fa-var-calculator: \f1ec; -$fa-var-shuttlecock: \f45b; -$fa-var-user-hair: \e45a; -$fa-var-eye-evil: \f6db; -$fa-var-people-pulling: \e535; -$fa-var-n: \4e; -$fa-var-garage: \e009; -$fa-var-cable-car: \f7da; -$fa-var-tram: \f7da; -$fa-var-shovel-snow: \f7c3; -$fa-var-cloud-rain: \f73d; -$fa-var-face-lying: \e37e; -$fa-var-sprinkler: \e035; -$fa-var-building-circle-xmark: \e4d4; -$fa-var-person-sledding: \f7cb; -$fa-var-sledding: \f7cb; -$fa-var-game-console-handheld: \f8bb; -$fa-var-ship: \f21a; -$fa-var-clock-six-thirty: \e353; -$fa-var-battery-slash: \f377; -$fa-var-tugrik-sign: \e2ba; -$fa-var-arrows-down-to-line: \e4b8; -$fa-var-download: \f019; -$fa-var-shelves: \f480; -$fa-var-inventory: \f480; -$fa-var-cloud-snow: \f742; -$fa-var-face-grin: \f580; -$fa-var-grin: \f580; -$fa-var-delete-left: \f55a; -$fa-var-backspace: \f55a; -$fa-var-oven: \e01d; -$fa-var-eye-dropper: \f1fb; -$fa-var-eye-dropper-empty: \f1fb; -$fa-var-eyedropper: \f1fb; -$fa-var-comment-captions: \e146; -$fa-var-comments-question: \e14e; -$fa-var-scribble: \e23f; -$fa-var-rotate-exclamation: \e23c; -$fa-var-file-circle-check: \e5a0; -$fa-var-glass: \f804; -$fa-var-loader: \e1d4; -$fa-var-forward: \f04e; -$fa-var-user-pilot: \e2c0; -$fa-var-mobile: \f3ce; -$fa-var-mobile-android: \f3ce; -$fa-var-mobile-phone: \f3ce; -$fa-var-code-pull-request-closed: \e3f9; -$fa-var-face-meh: \f11a; -$fa-var-meh: \f11a; -$fa-var-align-center: \f037; -$fa-var-book-skull: \f6b7; -$fa-var-book-dead: \f6b7; -$fa-var-id-card: \f2c2; -$fa-var-drivers-license: \f2c2; -$fa-var-face-dotted: \e47f; -$fa-var-face-worried: \e3a3; -$fa-var-outdent: \f03b; -$fa-var-dedent: \f03b; -$fa-var-heart-circle-exclamation: \e4fe; -$fa-var-house: \f015; -$fa-var-home: \f015; -$fa-var-home-alt: \f015; -$fa-var-home-lg-alt: \f015; -$fa-var-vector-circle: \e2c6; -$fa-var-car-circle-bolt: \e342; -$fa-var-calendar-week: \f784; -$fa-var-flying-disc: \e3a9; -$fa-var-laptop-medical: \f812; -$fa-var-square-down-right: \e26c; -$fa-var-b: \42; -$fa-var-seat-airline: \e244; -$fa-var-moon-over-sun: \f74a; -$fa-var-eclipse-alt: \f74a; -$fa-var-pipe: \7c; -$fa-var-file-medical: \f477; -$fa-var-potato: \e440; -$fa-var-dice-one: \f525; -$fa-var-circle-a: \e0f7; -$fa-var-helmet-battle: \f6eb; -$fa-var-butter: \e3e4; -$fa-var-blanket-fire: \e3da; -$fa-var-kiwi-bird: \f535; -$fa-var-castle: \e0de; -$fa-var-golf-club: \f451; -$fa-var-arrow-right-arrow-left: \f0ec; -$fa-var-exchange: \f0ec; -$fa-var-rotate-right: \f2f9; -$fa-var-redo-alt: \f2f9; -$fa-var-rotate-forward: \f2f9; -$fa-var-utensils: \f2e7; -$fa-var-cutlery: \f2e7; -$fa-var-arrow-up-wide-short: \f161; -$fa-var-sort-amount-up: \f161; -$fa-var-balloons: \e2e4; -$fa-var-mill-sign: \e1ed; -$fa-var-bowl-rice: \e2eb; -$fa-var-timeline-arrow: \e29d; -$fa-var-skull: \f54c; -$fa-var-game-board-simple: \f868; -$fa-var-game-board-alt: \f868; -$fa-var-circle-video: \e12b; -$fa-var-video-circle: \e12b; -$fa-var-chart-scatter-bubble: \e0e9; -$fa-var-house-turret: \e1b4; -$fa-var-banana: \e2e5; -$fa-var-hand-holding-skull: \e1a4; -$fa-var-people-dress: \e217; -$fa-var-loveseat: \f4cc; -$fa-var-couch-small: \f4cc; -$fa-var-tower-broadcast: \f519; -$fa-var-broadcast-tower: \f519; -$fa-var-truck-pickup: \f63c; -$fa-var-block-quote: \e0b5; -$fa-var-up-long: \f30c; -$fa-var-long-arrow-alt-up: \f30c; -$fa-var-stop: \f04d; -$fa-var-code-merge: \f387; -$fa-var-money-check-dollar-pen: \f873; -$fa-var-money-check-edit-alt: \f873; -$fa-var-up-from-line: \f346; -$fa-var-arrow-alt-from-bottom: \f346; -$fa-var-upload: \f093; -$fa-var-hurricane: \f751; -$fa-var-people-pants: \e219; -$fa-var-mound: \e52d; -$fa-var-windsock: \f777; -$fa-var-circle-half: \e110; -$fa-var-brake-warning: \e0c7; -$fa-var-toilet-portable: \e583; -$fa-var-compact-disc: \f51f; -$fa-var-file-arrow-down: \f56d; -$fa-var-file-download: \f56d; -$fa-var-saxophone-fire: \f8db; -$fa-var-sax-hot: \f8db; -$fa-var-camera-web-slash: \f833; -$fa-var-webcam-slash: \f833; -$fa-var-folder-medical: \e18c; -$fa-var-folder-gear: \e187; -$fa-var-folder-cog: \e187; -$fa-var-hand-wave: \e1a7; -$fa-var-arrow-up-arrow-down: \e099; -$fa-var-sort-up-down: \e099; -$fa-var-caravan: \f8ff; -$fa-var-shield-cat: \e572; -$fa-var-message-slash: \f4a9; -$fa-var-comment-alt-slash: \f4a9; -$fa-var-bolt: \f0e7; -$fa-var-zap: \f0e7; -$fa-var-trash-can-check: \e2a9; -$fa-var-glass-water: \e4f4; -$fa-var-oil-well: \e532; -$fa-var-person-simple: \e220; -$fa-var-vault: \e2c5; -$fa-var-mars: \f222; -$fa-var-toilet: \f7d8; -$fa-var-plane-circle-xmark: \e557; -$fa-var-yen-sign: \f157; -$fa-var-cny: \f157; -$fa-var-jpy: \f157; -$fa-var-rmb: \f157; -$fa-var-yen: \f157; -$fa-var-notes: \e202; -$fa-var-ruble-sign: \f158; -$fa-var-rouble: \f158; -$fa-var-rub: \f158; -$fa-var-ruble: \f158; -$fa-var-trash-undo: \f895; -$fa-var-trash-arrow-turn-left: \f895; -$fa-var-champagne-glass: \f79e; -$fa-var-glass-champagne: \f79e; -$fa-var-objects-align-center-horizontal: \e3bc; -$fa-var-sun: \f185; -$fa-var-trash-can-slash: \e2ad; -$fa-var-trash-alt-slash: \e2ad; -$fa-var-screen-users: \f63d; -$fa-var-users-class: \f63d; -$fa-var-guitar: \f7a6; -$fa-var-square-arrow-left: \f33a; -$fa-var-arrow-square-left: \f33a; -$fa-var-square-8: \e25d; -$fa-var-face-smile-hearts: \e390; -$fa-var-brackets-square: \f7e9; -$fa-var-brackets: \f7e9; -$fa-var-laptop-arrow-down: \e1c6; -$fa-var-hockey-stick-puck: \e3ae; -$fa-var-house-tree: \e1b3; -$fa-var-signal-fair: \f68d; -$fa-var-signal-2: \f68d; -$fa-var-face-laugh-wink: \f59c; -$fa-var-laugh-wink: \f59c; -$fa-var-circle-dollar: \f2e8; -$fa-var-dollar-circle: \f2e8; -$fa-var-usd-circle: \f2e8; -$fa-var-horse-head: \f7ab; -$fa-var-arrows-repeat: \f364; -$fa-var-repeat-alt: \f364; -$fa-var-bore-hole: \e4c3; -$fa-var-industry: \f275; -$fa-var-image-polaroid: \f8c4; -$fa-var-wave-triangle: \f89a; -$fa-var-circle-down: \f358; -$fa-var-arrow-alt-circle-down: \f358; -$fa-var-grill: \e5a3; -$fa-var-arrows-turn-to-dots: \e4c1; -$fa-var-chart-mixed: \f643; -$fa-var-analytics: \f643; -$fa-var-florin-sign: \e184; -$fa-var-arrow-down-short-wide: \f884; -$fa-var-sort-amount-desc: \f884; -$fa-var-sort-amount-down-alt: \f884; -$fa-var-less-than: \3c; -$fa-var-display-code: \e165; -$fa-var-desktop-code: \e165; -$fa-var-face-drooling: \e372; -$fa-var-oil-temperature: \f614; -$fa-var-oil-temp: \f614; -$fa-var-square-question: \f2fd; -$fa-var-question-square: \f2fd; -$fa-var-air-conditioner: \f8f4; -$fa-var-angle-down: \f107; -$fa-var-mountains: \f6fd; -$fa-var-omega: \f67a; -$fa-var-car-tunnel: \e4de; -$fa-var-person-dolly-empty: \f4d1; -$fa-var-pan-food: \e42b; -$fa-var-head-side-cough: \e061; -$fa-var-grip-lines: \f7a4; -$fa-var-thumbs-down: \f165; -$fa-var-user-lock: \f502; -$fa-var-arrow-right-long: \f178; -$fa-var-long-arrow-right: \f178; -$fa-var-tickets-airline: \e29b; -$fa-var-anchor-circle-xmark: \e4ac; -$fa-var-ellipsis: \f141; -$fa-var-ellipsis-h: \f141; -$fa-var-nfc-slash: \e1fc; -$fa-var-chess-pawn: \f443; -$fa-var-kit-medical: \f479; -$fa-var-first-aid: \f479; -$fa-var-grid-2-plus: \e197; -$fa-var-bells: \f77f; -$fa-var-person-through-window: \e5a9; -$fa-var-toolbox: \f552; -$fa-var-envelope-dot: \e16f; -$fa-var-envelope-badge: \e16f; -$fa-var-hands-holding-circle: \e4fb; -$fa-var-bug: \f188; -$fa-var-bowl-chopsticks: \e2e9; -$fa-var-credit-card: \f09d; -$fa-var-credit-card-alt: \f09d; -$fa-var-circle-s: \e121; -$fa-var-box-ballot: \f735; -$fa-var-car: \f1b9; -$fa-var-automobile: \f1b9; -$fa-var-hand-holding-hand: \e4f7; -$fa-var-user-tie-hair: \e45f; -$fa-var-podium-star: \f758; -$fa-var-user-hair-mullet: \e45c; -$fa-var-business-front: \e45c; -$fa-var-party-back: \e45c; -$fa-var-trian-balbot: \e45c; -$fa-var-microphone-stand: \f8cb; -$fa-var-book-open-reader: \f5da; -$fa-var-book-reader: \f5da; -$fa-var-family-dress: \e301; -$fa-var-circle-x: \e12e; -$fa-var-cabin: \e46d; -$fa-var-mountain-sun: \e52f; -$fa-var-chart-simple-horizontal: \e474; -$fa-var-arrows-left-right-to-line: \e4ba; -$fa-var-hand-back-point-left: \e19f; -$fa-var-message-dots: \f4a3; -$fa-var-comment-alt-dots: \f4a3; -$fa-var-messaging: \f4a3; -$fa-var-file-heart: \e176; -$fa-var-beer-mug: \e0b3; -$fa-var-beer-foam: \e0b3; -$fa-var-dice-d20: \f6cf; -$fa-var-drone: \f85f; -$fa-var-truck-droplet: \e58c; -$fa-var-file-circle-xmark: \e5a1; -$fa-var-temperature-arrow-up: \e040; -$fa-var-temperature-up: \e040; -$fa-var-medal: \f5a2; -$fa-var-bed: \f236; -$fa-var-book-copy: \e0be; -$fa-var-square-h: \f0fd; -$fa-var-h-square: \f0fd; -$fa-var-square-c: \e266; -$fa-var-clock-two: \e35a; -$fa-var-square-ellipsis-vertical: \e26f; -$fa-var-podcast: \f2ce; -$fa-var-bee: \e0b2; -$fa-var-temperature-full: \f2c7; -$fa-var-temperature-4: \f2c7; -$fa-var-thermometer-4: \f2c7; -$fa-var-thermometer-full: \f2c7; -$fa-var-bell: \f0f3; -$fa-var-candy-bar: \e3e8; -$fa-var-chocolate-bar: \e3e8; -$fa-var-xmark-large: \e59b; -$fa-var-pinata: \e3c3; -$fa-var-arrows-from-line: \e0a4; -$fa-var-superscript: \f12b; -$fa-var-bowl-spoon: \e3e0; -$fa-var-hexagon-check: \e416; -$fa-var-plug-circle-xmark: \e560; -$fa-var-star-of-life: \f621; -$fa-var-phone-slash: \f3dd; -$fa-var-traffic-light-stop: \f63a; -$fa-var-paint-roller: \f5aa; -$fa-var-accent-grave: \60; -$fa-var-handshake-angle: \f4c4; -$fa-var-hands-helping: \f4c4; -$fa-var-circle-0: \e0ed; -$fa-var-dial-med-low: \e160; -$fa-var-location-dot: \f3c5; -$fa-var-map-marker-alt: \f3c5; -$fa-var-crab: \e3ff; -$fa-var-box-open-full: \f49c; -$fa-var-box-full: \f49c; -$fa-var-file: \f15b; -$fa-var-greater-than: \3e; -$fa-var-quotes: \e234; -$fa-var-pretzel: \e441; -$fa-var-person-swimming: \f5c4; -$fa-var-swimmer: \f5c4; -$fa-var-arrow-down: \f063; -$fa-var-user-robot-xmarks: \e4a7; -$fa-var-message-quote: \e1e4; -$fa-var-comment-alt-quote: \e1e4; -$fa-var-candy-corn: \f6bd; -$fa-var-folder-magnifying-glass: \e18b; -$fa-var-folder-search: \e18b; -$fa-var-notebook: \e201; -$fa-var-droplet: \f043; -$fa-var-tint: \f043; -$fa-var-bullseye-pointer: \f649; -$fa-var-eraser: \f12d; -$fa-var-hexagon-image: \e504; -$fa-var-earth-americas: \f57d; -$fa-var-earth: \f57d; -$fa-var-earth-america: \f57d; -$fa-var-globe-americas: \f57d; -$fa-var-crate-apple: \f6b1; -$fa-var-apple-crate: \f6b1; -$fa-var-person-burst: \e53b; -$fa-var-game-board: \f867; -$fa-var-hat-chef: \f86b; -$fa-var-hand-back-point-right: \e1a1; -$fa-var-dove: \f4ba; -$fa-var-snowflake-droplets: \e5c1; -$fa-var-battery-empty: \f244; -$fa-var-battery-0: \f244; -$fa-var-grid-4: \e198; -$fa-var-socks: \f696; -$fa-var-face-sunglasses: \e398; -$fa-var-inbox: \f01c; -$fa-var-square-0: \e255; -$fa-var-section: \e447; -$fa-var-square-this-way-up: \f49f; -$fa-var-box-up: \f49f; -$fa-var-gauge-high: \f625; -$fa-var-tachometer-alt: \f625; -$fa-var-tachometer-alt-fast: \f625; -$fa-var-square-ampersand: \e260; -$fa-var-envelope-open-text: \f658; -$fa-var-lamp-desk: \e014; -$fa-var-hospital: \f0f8; -$fa-var-hospital-alt: \f0f8; -$fa-var-hospital-wide: \f0f8; -$fa-var-poll-people: \f759; -$fa-var-whiskey-glass-ice: \f7a1; -$fa-var-glass-whiskey-rocks: \f7a1; -$fa-var-wine-bottle: \f72f; -$fa-var-chess-rook: \f447; -$fa-var-user-bounty-hunter: \e2bf; -$fa-var-bars-staggered: \f550; -$fa-var-reorder: \f550; -$fa-var-stream: \f550; -$fa-var-diagram-sankey: \e158; -$fa-var-cloud-hail-mixed: \f73a; -$fa-var-circle-up-left: \e128; -$fa-var-dharmachakra: \f655; -$fa-var-objects-align-left: \e3be; -$fa-var-oil-can-drip: \e205; -$fa-var-face-smiling-hands: \e396; -$fa-var-broccoli: \e3e2; -$fa-var-route-interstate: \f61b; -$fa-var-ear-muffs: \f795; -$fa-var-hotdog: \f80f; -$fa-var-transporter-empty: \e046; -$fa-var-person-walking-with-cane: \f29d; -$fa-var-blind: \f29d; -$fa-var-angle-90: \e08d; -$fa-var-rectangle-terminal: \e236; -$fa-var-kite: \f6f4; -$fa-var-drum: \f569; -$fa-var-scrubber: \f2f8; -$fa-var-ice-cream: \f810; -$fa-var-heart-circle-bolt: \e4fc; -$fa-var-fish-bones: \e304; -$fa-var-deer-rudolph: \f78f; -$fa-var-fax: \f1ac; -$fa-var-paragraph: \f1dd; -$fa-var-head-side-heart: \e1aa; -$fa-var-square-e: \e26d; -$fa-var-meter-fire: \e1eb; -$fa-var-cloud-hail: \f739; -$fa-var-check-to-slot: \f772; -$fa-var-vote-yea: \f772; -$fa-var-money-from-bracket: \e312; -$fa-var-star-half: \f089; -$fa-var-car-bus: \f85a; -$fa-var-speaker: \f8df; -$fa-var-timer: \e29e; -$fa-var-boxes-stacked: \f468; -$fa-var-boxes: \f468; -$fa-var-boxes-alt: \f468; -$fa-var-grill-hot: \e5a5; -$fa-var-ballot-check: \f733; -$fa-var-link: \f0c1; -$fa-var-chain: \f0c1; -$fa-var-ear-listen: \f2a2; -$fa-var-assistive-listening-systems: \f2a2; -$fa-var-file-minus: \f318; -$fa-var-tree-city: \e587; -$fa-var-play: \f04b; -$fa-var-font: \f031; -$fa-var-cup-togo: \f6c5; -$fa-var-coffee-togo: \f6c5; -$fa-var-square-down-left: \e26b; -$fa-var-burger-lettuce: \e3e3; -$fa-var-rupiah-sign: \e23d; -$fa-var-magnifying-glass: \f002; -$fa-var-search: \f002; -$fa-var-table-tennis-paddle-ball: \f45d; -$fa-var-ping-pong-paddle-ball: \f45d; -$fa-var-table-tennis: \f45d; -$fa-var-person-dots-from-line: \f470; -$fa-var-diagnoses: \f470; -$fa-var-chevrons-down: \f322; -$fa-var-chevron-double-down: \f322; -$fa-var-trash-can-arrow-up: \f82a; -$fa-var-trash-restore-alt: \f82a; -$fa-var-signal-good: \f68e; -$fa-var-signal-3: \f68e; -$fa-var-location-question: \f60b; -$fa-var-map-marker-question: \f60b; -$fa-var-floppy-disk-circle-xmark: \e181; -$fa-var-floppy-disk-times: \e181; -$fa-var-save-circle-xmark: \e181; -$fa-var-save-times: \e181; -$fa-var-naira-sign: \e1f6; -$fa-var-peach: \e20b; -$fa-var-taxi-bus: \e298; -$fa-var-bracket-curly: \7b; -$fa-var-bracket-curly-left: \7b; -$fa-var-lobster: \e421; -$fa-var-cart-flatbed-empty: \f476; -$fa-var-dolly-flatbed-empty: \f476; -$fa-var-colon: \3a; -$fa-var-cart-arrow-down: \f218; -$fa-var-wand: \f72a; -$fa-var-walkie-talkie: \f8ef; -$fa-var-file-pen: \f31c; -$fa-var-file-edit: \f31c; -$fa-var-receipt: \f543; -$fa-var-table-picnic: \e32d; -$fa-var-square-pen: \f14b; -$fa-var-pen-square: \f14b; -$fa-var-pencil-square: \f14b; -$fa-var-circle-microphone-lines: \e117; -$fa-var-microphone-circle-alt: \e117; -$fa-var-display-slash: \e2fa; -$fa-var-desktop-slash: \e2fa; -$fa-var-suitcase-rolling: \f5c1; -$fa-var-person-circle-exclamation: \e53f; -$fa-var-transporter-2: \e044; -$fa-var-hands-holding-diamond: \f47c; -$fa-var-hand-receiving: \f47c; -$fa-var-money-bill-simple-wave: \e1f2; -$fa-var-chevron-down: \f078; -$fa-var-battery-full: \f240; -$fa-var-battery: \f240; -$fa-var-battery-5: \f240; -$fa-var-bell-plus: \f849; -$fa-var-book-arrow-right: \e0b9; -$fa-var-hospitals: \f80e; -$fa-var-club: \f327; -$fa-var-skull-crossbones: \f714; -$fa-var-droplet-degree: \f748; -$fa-var-dewpoint: \f748; -$fa-var-code-compare: \e13a; -$fa-var-list-ul: \f0ca; -$fa-var-list-dots: \f0ca; -$fa-var-hand-holding-magic: \f6e5; -$fa-var-watermelon-slice: \e337; -$fa-var-circle-ellipsis: \e10a; -$fa-var-school-lock: \e56f; -$fa-var-tower-cell: \e585; -$fa-var-sd-cards: \e240; -$fa-var-down-long: \f309; -$fa-var-long-arrow-alt-down: \f309; -$fa-var-envelopes: \e170; -$fa-var-phone-office: \f67d; -$fa-var-ranking-star: \e561; -$fa-var-chess-king: \f43f; -$fa-var-nfc-pen: \e1fa; -$fa-var-person-harassing: \e549; -$fa-var-hat-winter: \f7a8; -$fa-var-brazilian-real-sign: \e46c; -$fa-var-landmark-dome: \f752; -$fa-var-landmark-alt: \f752; -$fa-var-bone-break: \f5d8; -$fa-var-arrow-up: \f062; -$fa-var-down-from-dotted-line: \e407; -$fa-var-tv: \f26c; -$fa-var-television: \f26c; -$fa-var-tv-alt: \f26c; -$fa-var-border-left: \f84f; -$fa-var-circle-divide: \e106; -$fa-var-shrimp: \e448; -$fa-var-list-check: \f0ae; -$fa-var-tasks: \f0ae; -$fa-var-diagram-subtask: \e479; -$fa-var-jug-detergent: \e519; -$fa-var-circle-user: \f2bd; -$fa-var-user-circle: \f2bd; -$fa-var-square-y: \e287; -$fa-var-user-doctor-hair: \e458; -$fa-var-planet-ringed: \e020; -$fa-var-mushroom: \e425; -$fa-var-user-shield: \f505; -$fa-var-megaphone: \f675; -$fa-var-circle-exclamation-check: \e10d; -$fa-var-wind: \f72e; -$fa-var-box-dollar: \f4a0; -$fa-var-box-usd: \f4a0; -$fa-var-car-burst: \f5e1; -$fa-var-car-crash: \f5e1; -$fa-var-y: \59; -$fa-var-user-headset: \f82d; -$fa-var-arrows-retweet: \f361; -$fa-var-retweet-alt: \f361; -$fa-var-person-snowboarding: \f7ce; -$fa-var-snowboarding: \f7ce; -$fa-var-square-chevron-right: \f32b; -$fa-var-chevron-square-right: \f32b; -$fa-var-lacrosse-stick-ball: \e3b6; -$fa-var-truck-fast: \f48b; -$fa-var-shipping-fast: \f48b; -$fa-var-user-magnifying-glass: \e5c5; -$fa-var-star-sharp: \e28b; -$fa-var-comment-heart: \e5c8; -$fa-var-circle-1: \e0ee; -$fa-var-circle-star: \e123; -$fa-var-star-circle: \e123; -$fa-var-fish: \f578; -$fa-var-cloud-fog: \f74e; -$fa-var-fog: \f74e; -$fa-var-waffle: \e466; -$fa-var-music-note: \f8cf; -$fa-var-music-alt: \f8cf; -$fa-var-hexagon-exclamation: \e417; -$fa-var-cart-shopping-fast: \e0dc; -$fa-var-object-union: \e49f; -$fa-var-user-graduate: \f501; -$fa-var-starfighter: \e037; -$fa-var-circle-half-stroke: \f042; -$fa-var-adjust: \f042; -$fa-var-arrow-right-long-to-line: \e3d5; -$fa-var-square-arrow-down: \f339; -$fa-var-arrow-square-down: \f339; -$fa-var-diamond-half-stroke: \e5b8; -$fa-var-clapperboard: \e131; -$fa-var-square-chevron-left: \f32a; -$fa-var-chevron-square-left: \f32a; -$fa-var-phone-intercom: \e434; -$fa-var-link-horizontal: \e1cb; -$fa-var-chain-horizontal: \e1cb; -$fa-var-mango: \e30f; -$fa-var-music-note-slash: \f8d0; -$fa-var-music-alt-slash: \f8d0; -$fa-var-circle-radiation: \f7ba; -$fa-var-radiation-alt: \f7ba; -$fa-var-face-tongue-sweat: \e39e; -$fa-var-globe-stand: \f5f6; -$fa-var-baseball: \f433; -$fa-var-baseball-ball: \f433; -$fa-var-circle-p: \e11a; -$fa-var-award-simple: \e0ab; -$fa-var-jet-fighter-up: \e518; -$fa-var-diagram-project: \f542; -$fa-var-project-diagram: \f542; -$fa-var-pedestal: \e20d; -$fa-var-chart-pyramid: \e0e6; -$fa-var-sidebar: \e24e; -$fa-var-snowman-head: \f79b; -$fa-var-frosty-head: \f79b; -$fa-var-copy: \f0c5; -$fa-var-burger-glass: \e0ce; -$fa-var-volume-xmark: \f6a9; -$fa-var-volume-mute: \f6a9; -$fa-var-volume-times: \f6a9; -$fa-var-hand-sparkles: \e05d; -$fa-var-bars-filter: \e0ad; -$fa-var-paintbrush-pencil: \e206; -$fa-var-party-bell: \e31a; -$fa-var-user-vneck-hair: \e462; -$fa-var-jack-o-lantern: \f30e; -$fa-var-grip: \f58d; -$fa-var-grip-horizontal: \f58d; -$fa-var-share-from-square: \f14d; -$fa-var-share-square: \f14d; -$fa-var-keynote: \f66c; -$fa-var-child-combatant: \e4e0; -$fa-var-child-rifle: \e4e0; -$fa-var-gun: \e19b; -$fa-var-square-phone: \f098; -$fa-var-phone-square: \f098; -$fa-var-plus: \2b; -$fa-var-add: \2b; -$fa-var-expand: \f065; -$fa-var-computer: \e4e5; -$fa-var-fort: \e486; -$fa-var-cloud-check: \e35c; -$fa-var-xmark: \f00d; -$fa-var-close: \f00d; -$fa-var-multiply: \f00d; -$fa-var-remove: \f00d; -$fa-var-times: \f00d; -$fa-var-face-smirking: \e397; -$fa-var-arrows-up-down-left-right: \f047; -$fa-var-arrows: \f047; -$fa-var-chalkboard-user: \f51c; -$fa-var-chalkboard-teacher: \f51c; -$fa-var-rhombus: \e23b; -$fa-var-claw-marks: \f6c2; -$fa-var-peso-sign: \e222; -$fa-var-face-smile-tongue: \e394; -$fa-var-cart-circle-xmark: \e3f4; -$fa-var-building-shield: \e4d8; -$fa-var-circle-phone-flip: \e11c; -$fa-var-phone-circle-alt: \e11c; -$fa-var-baby: \f77c; -$fa-var-users-line: \e592; -$fa-var-quote-left: \f10d; -$fa-var-quote-left-alt: \f10d; -$fa-var-tractor: \f722; -$fa-var-key-skeleton: \f6f3; -$fa-var-trash-arrow-up: \f829; -$fa-var-trash-restore: \f829; -$fa-var-arrow-down-up-lock: \e4b0; -$fa-var-arrow-down-to-bracket: \e094; -$fa-var-lines-leaning: \e51e; -$fa-var-square-q: \e27b; -$fa-var-ruler-combined: \f546; -$fa-var-symbols: \f86e; -$fa-var-icons-alt: \f86e; -$fa-var-copyright: \f1f9; -$fa-var-highlighter-line: \e1af; -$fa-var-bracket-square: \5b; -$fa-var-bracket: \5b; -$fa-var-bracket-left: \5b; -$fa-var-island-tropical: \f811; -$fa-var-island-tree-palm: \f811; -$fa-var-arrow-right-from-line: \f343; -$fa-var-arrow-from-left: \f343; -$fa-var-h2: \f314; -$fa-var-equals: \3d; -$fa-var-cake-slice: \e3e5; -$fa-var-shortcake: \e3e5; -$fa-var-peanut: \e430; -$fa-var-wrench-simple: \e2d1; -$fa-var-blender: \f517; -$fa-var-teeth: \f62e; -$fa-var-tally-2: \e295; -$fa-var-shekel-sign: \f20b; -$fa-var-ils: \f20b; -$fa-var-shekel: \f20b; -$fa-var-sheqel: \f20b; -$fa-var-sheqel-sign: \f20b; -$fa-var-cars: \f85b; -$fa-var-axe-battle: \f6b3; -$fa-var-user-hair-long: \e45b; -$fa-var-map: \f279; -$fa-var-file-circle-info: \e493; -$fa-var-face-disappointed: \e36f; -$fa-var-lasso-sparkles: \e1c9; -$fa-var-clock-eleven: \e347; -$fa-var-rocket: \f135; -$fa-var-siren-on: \e02e; -$fa-var-clock-ten: \e354; -$fa-var-candle-holder: \f6bc; -$fa-var-video-arrow-down-left: \e2c8; -$fa-var-photo-film: \f87c; -$fa-var-photo-video: \f87c; -$fa-var-floppy-disk-circle-arrow-right: \e180; -$fa-var-save-circle-arrow-right: \e180; -$fa-var-folder-minus: \f65d; -$fa-var-planet-moon: \e01f; -$fa-var-face-eyes-xmarks: \e374; -$fa-var-chart-scatter: \f7ee; -$fa-var-display-arrow-down: \e164; -$fa-var-store: \f54e; -$fa-var-arrow-trend-up: \e098; -$fa-var-plug-circle-minus: \e55e; -$fa-var-olive-branch: \e317; -$fa-var-angle: \e08c; -$fa-var-vacuum-robot: \e04e; -$fa-var-sign-hanging: \f4d9; -$fa-var-sign: \f4d9; -$fa-var-square-divide: \e26a; -$fa-var-signal-stream-slash: \e250; -$fa-var-bezier-curve: \f55b; -$fa-var-eye-dropper-half: \e173; -$fa-var-store-lock: \e4a6; -$fa-var-bell-slash: \f1f6; -$fa-var-cloud-bolt-sun: \f76e; -$fa-var-thunderstorm-sun: \f76e; -$fa-var-camera-slash: \e0d9; -$fa-var-comment-quote: \e14c; -$fa-var-tablet: \f3fb; -$fa-var-tablet-android: \f3fb; -$fa-var-school-flag: \e56e; -$fa-var-message-code: \e1df; -$fa-var-glass-half: \e192; -$fa-var-glass-half-empty: \e192; -$fa-var-glass-half-full: \e192; -$fa-var-fill: \f575; -$fa-var-message-minus: \f4a7; -$fa-var-comment-alt-minus: \f4a7; -$fa-var-angle-up: \f106; -$fa-var-drumstick-bite: \f6d7; -$fa-var-link-horizontal-slash: \e1cc; -$fa-var-chain-horizontal-slash: \e1cc; -$fa-var-holly-berry: \f7aa; -$fa-var-nose: \e5bd; -$fa-var-chevron-left: \f053; -$fa-var-bacteria: \e059; -$fa-var-clouds: \f744; -$fa-var-money-bill-simple: \e1f1; -$fa-var-hand-lizard: \f258; -$fa-var-table-pivot: \e291; -$fa-var-filter-slash: \e17d; -$fa-var-trash-can-undo: \f896; -$fa-var-trash-can-arrow-turn-left: \f896; -$fa-var-trash-undo-alt: \f896; -$fa-var-notdef: \e1fe; -$fa-var-disease: \f7fa; -$fa-var-person-to-door: \e433; -$fa-var-turntable: \f8e4; -$fa-var-briefcase-medical: \f469; -$fa-var-genderless: \f22d; -$fa-var-chevron-right: \f054; -$fa-var-signal-weak: \f68c; -$fa-var-signal-1: \f68c; -$fa-var-clock-five: \e349; -$fa-var-retweet: \f079; -$fa-var-car-rear: \f5de; -$fa-var-car-alt: \f5de; -$fa-var-pump-soap: \e06b; -$fa-var-computer-classic: \f8b1; -$fa-var-frame: \e495; -$fa-var-video-slash: \f4e2; -$fa-var-battery-quarter: \f243; -$fa-var-battery-2: \f243; -$fa-var-ellipsis-stroke: \f39b; -$fa-var-ellipsis-h-alt: \f39b; -$fa-var-radio: \f8d7; -$fa-var-baby-carriage: \f77d; -$fa-var-carriage-baby: \f77d; -$fa-var-face-expressionless: \e373; -$fa-var-down-to-dotted-line: \e408; -$fa-var-cloud-music: \f8ae; -$fa-var-traffic-light: \f637; -$fa-var-cloud-minus: \e35d; -$fa-var-thermometer: \f491; -$fa-var-shield-minus: \e249; -$fa-var-vr-cardboard: \f729; -$fa-var-car-tilt: \f5e5; -$fa-var-gauge-circle-minus: \e497; -$fa-var-brightness-low: \e0ca; -$fa-var-hand-middle-finger: \f806; -$fa-var-percent: \25; -$fa-var-percentage: \25; -$fa-var-truck-moving: \f4df; -$fa-var-glass-water-droplet: \e4f5; -$fa-var-conveyor-belt: \f46e; -$fa-var-location-check: \f606; -$fa-var-map-marker-check: \f606; -$fa-var-coin-vertical: \e3fd; -$fa-var-display: \e163; -$fa-var-person-sign: \f757; -$fa-var-face-smile: \f118; -$fa-var-smile: \f118; -$fa-var-phone-hangup: \e225; -$fa-var-signature-slash: \e3cb; -$fa-var-thumbtack: \f08d; -$fa-var-thumb-tack: \f08d; -$fa-var-wheat-slash: \e339; -$fa-var-trophy: \f091; -$fa-var-clouds-sun: \f746; -$fa-var-person-praying: \f683; -$fa-var-pray: \f683; -$fa-var-hammer: \f6e3; -$fa-var-face-vomit: \e3a0; -$fa-var-speakers: \f8e0; -$fa-var-tty-answer: \e2b9; -$fa-var-teletype-answer: \e2b9; -$fa-var-mug-tea-saucer: \e1f5; -$fa-var-diagram-lean-canvas: \e156; -$fa-var-alt: \e08a; -$fa-var-dial: \e15b; -$fa-var-dial-med-high: \e15b; -$fa-var-hand-peace: \f25b; -$fa-var-circle-trash: \e126; -$fa-var-trash-circle: \e126; -$fa-var-rotate: \f2f1; -$fa-var-sync-alt: \f2f1; -$fa-var-circle-quarters: \e3f8; -$fa-var-spinner: \f110; -$fa-var-tower-control: \e2a2; -$fa-var-arrow-up-triangle-square: \f88a; -$fa-var-sort-shapes-up: \f88a; -$fa-var-whale: \f72c; -$fa-var-robot: \f544; -$fa-var-peace: \f67c; -$fa-var-party-horn: \e31b; -$fa-var-gears: \f085; -$fa-var-cogs: \f085; -$fa-var-sun-bright: \e28f; -$fa-var-sun-alt: \e28f; -$fa-var-warehouse: \f494; -$fa-var-lock-keyhole-open: \f3c2; -$fa-var-lock-open-alt: \f3c2; -$fa-var-square-fragile: \f49b; -$fa-var-box-fragile: \f49b; -$fa-var-square-wine-glass-crack: \f49b; -$fa-var-arrow-up-right-dots: \e4b7; -$fa-var-square-n: \e277; -$fa-var-splotch: \f5bc; -$fa-var-face-grin-hearts: \f584; -$fa-var-grin-hearts: \f584; -$fa-var-meter: \e1e8; -$fa-var-mandolin: \f6f9; -$fa-var-dice-four: \f524; -$fa-var-sim-card: \f7c4; -$fa-var-transgender: \f225; -$fa-var-transgender-alt: \f225; -$fa-var-mercury: \f223; -$fa-var-up-from-bracket: \e590; -$fa-var-knife-kitchen: \f6f5; -$fa-var-border-right: \f852; -$fa-var-arrow-turn-down: \f149; -$fa-var-level-down: \f149; -$fa-var-spade: \f2f4; -$fa-var-card-spade: \e3ec; -$fa-var-line-columns: \f870; -$fa-var-arrow-right-to-line: \f340; -$fa-var-arrow-to-right: \f340; -$fa-var-person-falling-burst: \e547; -$fa-var-flag-pennant: \f456; -$fa-var-pennant: \f456; -$fa-var-conveyor-belt-empty: \e150; -$fa-var-award: \f559; -$fa-var-ticket-simple: \f3ff; -$fa-var-ticket-alt: \f3ff; -$fa-var-building: \f1ad; -$fa-var-angles-left: \f100; -$fa-var-angle-double-left: \f100; -$fa-var-camcorder: \f8a8; -$fa-var-video-handheld: \f8a8; -$fa-var-pancakes: \e42d; -$fa-var-album-circle-user: \e48d; -$fa-var-qrcode: \f029; -$fa-var-dice-d10: \f6cd; -$fa-var-fireplace: \f79a; -$fa-var-browser: \f37e; -$fa-var-pen-paintbrush: \f618; -$fa-var-pencil-paintbrush: \f618; -$fa-var-fish-cooked: \f7fe; -$fa-var-chair-office: \f6c1; -$fa-var-nesting-dolls: \e3ba; -$fa-var-clock-rotate-left: \f1da; -$fa-var-history: \f1da; -$fa-var-trumpet: \f8e3; -$fa-var-face-grin-beam-sweat: \f583; -$fa-var-grin-beam-sweat: \f583; -$fa-var-fire-smoke: \f74b; -$fa-var-phone-missed: \e226; -$fa-var-file-export: \f56e; -$fa-var-arrow-right-from-file: \f56e; -$fa-var-shield: \f132; -$fa-var-shield-blank: \f132; -$fa-var-arrow-up-short-wide: \f885; -$fa-var-sort-amount-up-alt: \f885; -$fa-var-arrows-repeat-1: \f366; -$fa-var-repeat-1-alt: \f366; -$fa-var-gun-slash: \e19c; -$fa-var-avocado: \e0aa; -$fa-var-binary: \e33b; -$fa-var-glasses-round: \f5f5; -$fa-var-glasses-alt: \f5f5; -$fa-var-phone-plus: \f4d2; -$fa-var-ditto: \22; -$fa-var-person-seat: \e21e; -$fa-var-house-medical: \e3b2; -$fa-var-golf-ball-tee: \f450; -$fa-var-golf-ball: \f450; -$fa-var-circle-chevron-left: \f137; -$fa-var-chevron-circle-left: \f137; -$fa-var-house-chimney-window: \e00d; -$fa-var-scythe: \f710; -$fa-var-pen-nib: \f5ad; -$fa-var-ban-parking: \f616; -$fa-var-parking-circle-slash: \f616; -$fa-var-tent-arrow-turn-left: \e580; -$fa-var-face-diagonal-mouth: \e47e; -$fa-var-diagram-cells: \e475; -$fa-var-cricket-bat-ball: \f449; -$fa-var-cricket: \f449; -$fa-var-tents: \e582; -$fa-var-wand-magic: \f0d0; -$fa-var-magic: \f0d0; -$fa-var-dog: \f6d3; -$fa-var-pen-line: \e212; -$fa-var-atom-simple: \f5d3; -$fa-var-atom-alt: \f5d3; -$fa-var-ampersand: \26; -$fa-var-carrot: \f787; -$fa-var-arrow-up-from-line: \f342; -$fa-var-arrow-from-bottom: \f342; -$fa-var-moon: \f186; -$fa-var-pen-slash: \e213; -$fa-var-wine-glass-empty: \f5ce; -$fa-var-wine-glass-alt: \f5ce; -$fa-var-square-star: \e27f; -$fa-var-cheese: \f7ef; -$fa-var-send-backward: \f87f; -$fa-var-yin-yang: \f6ad; -$fa-var-music: \f001; -$fa-var-compass-slash: \f5e9; -$fa-var-clock-one: \e34e; -$fa-var-file-music: \f8b6; -$fa-var-code-commit: \f386; -$fa-var-temperature-low: \f76b; -$fa-var-person-biking: \f84a; -$fa-var-biking: \f84a; -$fa-var-skeleton: \f620; -$fa-var-circle-g: \e10f; -$fa-var-circle-arrow-up-left: \e0fb; -$fa-var-coin-blank: \e3fb; -$fa-var-broom: \f51a; -$fa-var-vacuum: \e04d; -$fa-var-shield-heart: \e574; -$fa-var-card-heart: \e3eb; -$fa-var-lightbulb-cfl-on: \e5a7; -$fa-var-melon: \e310; -$fa-var-gopuram: \f664; -$fa-var-earth-oceania: \e47b; -$fa-var-globe-oceania: \e47b; -$fa-var-container-storage: \f4b7; -$fa-var-face-pouting: \e387; -$fa-var-square-xmark: \f2d3; -$fa-var-times-square: \f2d3; -$fa-var-xmark-square: \f2d3; -$fa-var-face-explode: \e2fe; -$fa-var-exploding-head: \e2fe; -$fa-var-hashtag: \23; -$fa-var-up-right-and-down-left-from-center: \f424; -$fa-var-expand-alt: \f424; -$fa-var-oil-can: \f613; -$fa-var-t: \54; -$fa-var-transformer-bolt: \e2a4; -$fa-var-hippo: \f6ed; -$fa-var-chart-column: \e0e3; -$fa-var-cassette-vhs: \f8ec; -$fa-var-vhs: \f8ec; -$fa-var-infinity: \f534; -$fa-var-vial-circle-check: \e596; -$fa-var-chimney: \f78b; -$fa-var-object-intersect: \e49d; -$fa-var-person-arrow-down-to-line: \e538; -$fa-var-voicemail: \f897; -$fa-var-block-brick: \e3db; -$fa-var-wall-brick: \e3db; -$fa-var-fan: \f863; -$fa-var-bags-shopping: \f847; -$fa-var-paragraph-left: \f878; -$fa-var-paragraph-rtl: \f878; -$fa-var-person-walking-luggage: \e554; -$fa-var-caravan-simple: \e000; -$fa-var-caravan-alt: \e000; -$fa-var-turtle: \f726; -$fa-var-up-down: \f338; -$fa-var-arrows-alt-v: \f338; -$fa-var-cloud-moon-rain: \f73c; -$fa-var-booth-curtain: \f734; -$fa-var-calendar: \f133; -$fa-var-box-heart: \f49d; -$fa-var-trailer: \e041; -$fa-var-user-doctor-message: \f82e; -$fa-var-user-md-chat: \f82e; -$fa-var-bahai: \f666; -$fa-var-haykal: \f666; -$fa-var-amp-guitar: \f8a1; -$fa-var-sd-card: \f7c2; -$fa-var-volume-slash: \f2e2; -$fa-var-border-bottom: \f84d; -$fa-var-wifi-weak: \f6aa; -$fa-var-wifi-1: \f6aa; -$fa-var-dragon: \f6d5; -$fa-var-shoe-prints: \f54b; -$fa-var-circle-plus: \f055; -$fa-var-plus-circle: \f055; -$fa-var-face-grin-tongue-wink: \f58b; -$fa-var-grin-tongue-wink: \f58b; -$fa-var-hand-holding: \f4bd; -$fa-var-plug-circle-exclamation: \e55d; -$fa-var-link-slash: \f127; -$fa-var-chain-broken: \f127; -$fa-var-chain-slash: \f127; -$fa-var-unlink: \f127; -$fa-var-clone: \f24d; -$fa-var-person-walking-arrow-loop-left: \e551; -$fa-var-arrow-up-z-a: \f882; -$fa-var-sort-alpha-up-alt: \f882; -$fa-var-fire-flame-curved: \f7e4; -$fa-var-fire-alt: \f7e4; -$fa-var-tornado: \f76f; -$fa-var-file-circle-plus: \e494; -$fa-var-delete-right: \e154; -$fa-var-book-quran: \f687; -$fa-var-quran: \f687; -$fa-var-circle-quarter: \e11f; -$fa-var-anchor: \f13d; -$fa-var-border-all: \f84c; -$fa-var-function: \f661; -$fa-var-face-angry: \f556; -$fa-var-angry: \f556; -$fa-var-people-simple: \e21b; -$fa-var-cookie-bite: \f564; -$fa-var-arrow-trend-down: \e097; -$fa-var-rss: \f09e; -$fa-var-feed: \f09e; -$fa-var-face-monocle: \e380; -$fa-var-draw-polygon: \f5ee; -$fa-var-scale-balanced: \f24e; -$fa-var-balance-scale: \f24e; -$fa-var-calendar-lines: \e0d5; -$fa-var-calendar-note: \e0d5; -$fa-var-arrow-down-big-small: \f88c; -$fa-var-sort-size-down: \f88c; -$fa-var-gauge-simple-high: \f62a; -$fa-var-tachometer: \f62a; -$fa-var-tachometer-fast: \f62a; -$fa-var-do-not-enter: \f5ec; -$fa-var-shower: \f2cc; -$fa-var-dice-d8: \f6d2; -$fa-var-desktop: \f390; -$fa-var-desktop-alt: \f390; -$fa-var-m: \4d; -$fa-var-grip-dots-vertical: \e411; -$fa-var-face-viewfinder: \e2ff; -$fa-var-soft-serve: \e400; -$fa-var-creemee: \e400; -$fa-var-h5: \e412; -$fa-var-hand-back-point-down: \e19e; -$fa-var-table-list: \f00b; -$fa-var-th-list: \f00b; -$fa-var-comment-sms: \f7cd; -$fa-var-sms: \f7cd; -$fa-var-rectangle: \f2fa; -$fa-var-rectangle-landscape: \f2fa; -$fa-var-clipboard-list-check: \f737; -$fa-var-turkey: \f725; -$fa-var-book: \f02d; -$fa-var-user-plus: \f234; -$fa-var-ice-skate: \f7ac; -$fa-var-check: \f00c; -$fa-var-battery-three-quarters: \f241; -$fa-var-battery-4: \f241; -$fa-var-tomato: \e330; -$fa-var-sword-laser: \e03b; -$fa-var-house-circle-check: \e509; -$fa-var-buildings: \e0cc; -$fa-var-angle-left: \f104; -$fa-var-cart-flatbed-boxes: \f475; -$fa-var-dolly-flatbed-alt: \f475; -$fa-var-diagram-successor: \e47a; -$fa-var-truck-arrow-right: \e58b; -$fa-var-square-w: \e285; -$fa-var-arrows-split-up-and-left: \e4bc; -$fa-var-lamp: \f4ca; -$fa-var-airplay: \e089; -$fa-var-hand-fist: \f6de; -$fa-var-fist-raised: \f6de; -$fa-var-shield-quartered: \e575; -$fa-var-slash-forward: \2f; -$fa-var-location-pen: \f607; -$fa-var-map-marker-edit: \f607; -$fa-var-cloud-moon: \f6c3; -$fa-var-pot-food: \e43f; -$fa-var-briefcase: \f0b1; -$fa-var-person-falling: \e546; -$fa-var-image-portrait: \f3e0; -$fa-var-portrait: \f3e0; -$fa-var-user-tag: \f507; -$fa-var-rug: \e569; -$fa-var-print-slash: \f686; -$fa-var-earth-europe: \f7a2; -$fa-var-globe-europe: \f7a2; -$fa-var-cart-flatbed-suitcase: \f59d; -$fa-var-luggage-cart: \f59d; -$fa-var-hand-back-point-ribbon: \e1a0; -$fa-var-rectangle-xmark: \f410; -$fa-var-rectangle-times: \f410; -$fa-var-times-rectangle: \f410; -$fa-var-window-close: \f410; -$fa-var-tire-rugged: \f634; -$fa-var-lightbulb-dollar: \f670; -$fa-var-cowbell: \f8b3; -$fa-var-baht-sign: \e0ac; -$fa-var-corner: \e3fe; -$fa-var-chevrons-right: \f324; -$fa-var-chevron-double-right: \f324; -$fa-var-book-open: \f518; -$fa-var-book-journal-whills: \f66a; -$fa-var-journal-whills: \f66a; -$fa-var-inhaler: \f5f9; -$fa-var-handcuffs: \e4f8; -$fa-var-snake: \f716; -$fa-var-triangle-exclamation: \f071; -$fa-var-exclamation-triangle: \f071; -$fa-var-warning: \f071; -$fa-var-note-medical: \e200; -$fa-var-database: \f1c0; -$fa-var-down-left: \e16a; -$fa-var-share: \f064; -$fa-var-arrow-turn-right: \f064; -$fa-var-mail-forward: \f064; -$fa-var-face-thinking: \e39b; -$fa-var-turn-down-right: \e455; -$fa-var-bottle-droplet: \e4c4; -$fa-var-mask-face: \e1d7; -$fa-var-hill-rockslide: \e508; -$fa-var-scanner-keyboard: \f489; -$fa-var-circle-o: \e119; -$fa-var-grid-horizontal: \e307; -$fa-var-message-dollar: \f650; -$fa-var-comment-alt-dollar: \f650; -$fa-var-right-left: \f362; -$fa-var-exchange-alt: \f362; -$fa-var-columns-3: \e361; -$fa-var-paper-plane: \f1d8; -$fa-var-road-circle-exclamation: \e565; -$fa-var-dungeon: \f6d9; -$fa-var-hand-holding-box: \f47b; -$fa-var-input-text: \e1bf; -$fa-var-window-flip: \f40f; -$fa-var-window-alt: \f40f; -$fa-var-align-right: \f038; -$fa-var-scanner-gun: \f488; -$fa-var-scanner: \f488; -$fa-var-tire: \f631; -$fa-var-engine: \e16e; -$fa-var-money-bill-1-wave: \f53b; -$fa-var-money-bill-wave-alt: \f53b; -$fa-var-life-ring: \f1cd; -$fa-var-hands: \f2a7; -$fa-var-sign-language: \f2a7; -$fa-var-signing: \f2a7; -$fa-var-circle-caret-right: \f330; -$fa-var-caret-circle-right: \f330; -$fa-var-wheat: \f72d; -$fa-var-file-spreadsheet: \f65b; -$fa-var-audio-description-slash: \e0a8; -$fa-var-calendar-day: \f783; -$fa-var-water-ladder: \f5c5; -$fa-var-ladder-water: \f5c5; -$fa-var-swimming-pool: \f5c5; -$fa-var-arrows-up-down: \f07d; -$fa-var-arrows-v: \f07d; -$fa-var-chess-pawn-piece: \f444; -$fa-var-chess-pawn-alt: \f444; -$fa-var-face-grimace: \f57f; -$fa-var-grimace: \f57f; -$fa-var-wheelchair-move: \e2ce; -$fa-var-wheelchair-alt: \e2ce; -$fa-var-turn-down: \f3be; -$fa-var-level-down-alt: \f3be; -$fa-var-square-s: \e27d; -$fa-var-rectangle-barcode: \f463; -$fa-var-barcode-alt: \f463; -$fa-var-person-walking-arrow-right: \e552; -$fa-var-square-envelope: \f199; -$fa-var-envelope-square: \f199; -$fa-var-dice: \f522; -$fa-var-unicorn: \f727; -$fa-var-bowling-ball: \f436; -$fa-var-pompebled: \e43d; -$fa-var-brain: \f5dc; -$fa-var-watch-smart: \e2cc; -$fa-var-book-user: \f7e7; -$fa-var-sensor-cloud: \e02c; -$fa-var-sensor-smoke: \e02c; -$fa-var-clapperboard-play: \e132; -$fa-var-bandage: \f462; -$fa-var-band-aid: \f462; -$fa-var-calendar-minus: \f272; -$fa-var-circle-xmark: \f057; -$fa-var-times-circle: \f057; -$fa-var-xmark-circle: \f057; -$fa-var-circle-4: \e0f1; -$fa-var-gifts: \f79c; -$fa-var-album-collection: \f8a0; -$fa-var-hotel: \f594; -$fa-var-earth-asia: \f57e; -$fa-var-globe-asia: \f57e; -$fa-var-id-card-clip: \f47f; -$fa-var-id-card-alt: \f47f; -$fa-var-magnifying-glass-plus: \f00e; -$fa-var-search-plus: \f00e; -$fa-var-thumbs-up: \f164; -$fa-var-cloud-showers: \f73f; -$fa-var-user-clock: \f4fd; -$fa-var-onion: \e427; -$fa-var-clock-twelve-thirty: \e359; -$fa-var-arrow-down-to-dotted-line: \e095; -$fa-var-hand-dots: \f461; -$fa-var-allergies: \f461; -$fa-var-file-invoice: \f570; -$fa-var-window-minimize: \f2d1; -$fa-var-rectangle-wide: \f2fc; -$fa-var-comment-arrow-up: \e144; -$fa-var-garlic: \e40e; -$fa-var-mug-saucer: \f0f4; -$fa-var-coffee: \f0f4; -$fa-var-brush: \f55d; -$fa-var-tree-decorated: \f7dc; -$fa-var-mask: \f6fa; -$fa-var-calendar-heart: \e0d3; -$fa-var-magnifying-glass-minus: \f010; -$fa-var-search-minus: \f010; -$fa-var-flower: \f7ff; -$fa-var-ruler-vertical: \f548; -$fa-var-user-large: \f406; -$fa-var-user-alt: \f406; -$fa-var-starship-freighter: \e03a; -$fa-var-train-tram: \e5b4; -$fa-var-bridge-suspension: \e4cd; -$fa-var-trash-check: \e2af; -$fa-var-user-nurse: \f82f; -$fa-var-boombox: \f8a5; -$fa-var-syringe: \f48e; -$fa-var-cloud-sun: \f6c4; -$fa-var-shield-exclamation: \e247; -$fa-var-stopwatch-20: \e06f; -$fa-var-square-full: \f45c; -$fa-var-grip-dots: \e410; -$fa-var-comment-exclamation: \f4af; -$fa-var-pen-swirl: \e214; -$fa-var-falafel: \e40a; -$fa-var-circle-2: \e0ef; -$fa-var-magnet: \f076; -$fa-var-jar: \e516; -$fa-var-gramophone: \f8bd; -$fa-var-dice-d12: \f6ce; -$fa-var-note-sticky: \f249; -$fa-var-sticky-note: \f249; -$fa-var-down: \f354; -$fa-var-arrow-alt-down: \f354; -$fa-var-hundred-points: \e41c; -$fa-var-100: \e41c; -$fa-var-paperclip-vertical: \e3c2; -$fa-var-wind-warning: \f776; -$fa-var-wind-circle-exclamation: \f776; -$fa-var-location-pin-slash: \f60c; -$fa-var-map-marker-slash: \f60c; -$fa-var-face-sad-sweat: \e38a; -$fa-var-bug-slash: \e490; -$fa-var-cupcake: \e402; -$fa-var-light-switch-off: \e018; -$fa-var-toggle-large-off: \e5b0; -$fa-var-pen-fancy-slash: \e210; -$fa-var-truck-container: \f4dc; -$fa-var-boot: \f782; -$fa-var-arrow-up-from-water-pump: \e4b6; -$fa-var-file-check: \f316; -$fa-var-bone: \f5d7; -$fa-var-cards-blank: \e4df; -$fa-var-circle-3: \e0f0; -$fa-var-bench-tree: \e2e7; -$fa-var-keyboard-brightness-low: \e1c1; -$fa-var-ski-boot-ski: \e3cd; -$fa-var-brain-circuit: \e0c6; -$fa-var-user-injured: \f728; -$fa-var-block-brick-fire: \e3dc; -$fa-var-firewall: \e3dc; -$fa-var-face-sad-tear: \f5b4; -$fa-var-sad-tear: \f5b4; -$fa-var-plane: \f072; -$fa-var-tent-arrows-down: \e581; -$fa-var-exclamation: \21; -$fa-var-arrows-spin: \e4bb; -$fa-var-face-smile-relaxed: \e392; -$fa-var-comment-xmark: \f4b5; -$fa-var-comment-times: \f4b5; -$fa-var-print: \f02f; -$fa-var-turkish-lira-sign: \e2bb; -$fa-var-try: \e2bb; -$fa-var-turkish-lira: \e2bb; -$fa-var-face-nose-steam: \e382; -$fa-var-circle-waveform-lines: \e12d; -$fa-var-waveform-circle: \e12d; -$fa-var-dollar-sign: \24; -$fa-var-dollar: \24; -$fa-var-usd: \24; -$fa-var-ferris-wheel: \e174; -$fa-var-computer-speaker: \f8b2; -$fa-var-skull-cow: \f8de; -$fa-var-x: \58; -$fa-var-magnifying-glass-dollar: \f688; -$fa-var-search-dollar: \f688; -$fa-var-users-gear: \f509; -$fa-var-users-cog: \f509; -$fa-var-person-military-pointing: \e54a; -$fa-var-building-columns: \f19c; -$fa-var-bank: \f19c; -$fa-var-institution: \f19c; -$fa-var-museum: \f19c; -$fa-var-university: \f19c; -$fa-var-circle-t: \e124; -$fa-var-sack: \f81c; -$fa-var-grid-2: \e196; -$fa-var-camera-cctv: \f8ac; -$fa-var-cctv: \f8ac; -$fa-var-umbrella: \f0e9; -$fa-var-trowel: \e589; -$fa-var-horizontal-rule: \f86c; -$fa-var-bed-front: \f8f7; -$fa-var-bed-alt: \f8f7; -$fa-var-d: \44; -$fa-var-stapler: \e5af; -$fa-var-masks-theater: \f630; -$fa-var-theater-masks: \f630; -$fa-var-kip-sign: \e1c4; -$fa-var-face-woozy: \e3a2; -$fa-var-cloud-question: \e492; -$fa-var-pineapple: \e31f; -$fa-var-hand-point-left: \f0a5; -$fa-var-gallery-thumbnails: \e3aa; -$fa-var-circle-j: \e112; -$fa-var-eyes: \e367; -$fa-var-handshake-simple: \f4c6; -$fa-var-handshake-alt: \f4c6; -$fa-var-page-caret-up: \e42a; -$fa-var-file-caret-up: \e42a; -$fa-var-jet-fighter: \f0fb; -$fa-var-fighter-jet: \f0fb; -$fa-var-comet: \e003; -$fa-var-square-share-nodes: \f1e1; -$fa-var-share-alt-square: \f1e1; -$fa-var-shield-keyhole: \e248; -$fa-var-barcode: \f02a; -$fa-var-plus-minus: \e43c; -$fa-var-square-sliders-vertical: \f3f2; -$fa-var-sliders-v-square: \f3f2; -$fa-var-video: \f03d; -$fa-var-video-camera: \f03d; -$fa-var-message-middle: \e1e1; -$fa-var-comment-middle-alt: \e1e1; -$fa-var-graduation-cap: \f19d; -$fa-var-mortar-board: \f19d; -$fa-var-hand-holding-medical: \e05c; -$fa-var-person-circle-check: \e53e; -$fa-var-square-z: \e288; -$fa-var-message-text: \e1e6; -$fa-var-comment-alt-text: \e1e6; -$fa-var-turn-up: \f3bf; -$fa-var-level-up-alt: \f3bf; - -$fa-var-monero: \f3d0; -$fa-var-hooli: \f427; -$fa-var-yelp: \f1e9; -$fa-var-cc-visa: \f1f0; -$fa-var-lastfm: \f202; -$fa-var-shopware: \f5b5; -$fa-var-creative-commons-nc: \f4e8; -$fa-var-aws: \f375; -$fa-var-redhat: \f7bc; -$fa-var-yoast: \f2b1; -$fa-var-cloudflare: \e07d; -$fa-var-ups: \f7e0; -$fa-var-wpexplorer: \f2de; -$fa-var-dyalog: \f399; -$fa-var-bity: \f37a; -$fa-var-stackpath: \f842; -$fa-var-buysellads: \f20d; -$fa-var-first-order: \f2b0; -$fa-var-modx: \f285; -$fa-var-guilded: \e07e; -$fa-var-vnv: \f40b; -$fa-var-square-js: \f3b9; -$fa-var-js-square: \f3b9; -$fa-var-microsoft: \f3ca; -$fa-var-qq: \f1d6; -$fa-var-orcid: \f8d2; -$fa-var-java: \f4e4; -$fa-var-invision: \f7b0; -$fa-var-creative-commons-pd-alt: \f4ed; -$fa-var-centercode: \f380; -$fa-var-glide-g: \f2a6; -$fa-var-drupal: \f1a9; -$fa-var-hire-a-helper: \f3b0; -$fa-var-creative-commons-by: \f4e7; -$fa-var-unity: \e049; -$fa-var-whmcs: \f40d; -$fa-var-rocketchat: \f3e8; -$fa-var-vk: \f189; -$fa-var-untappd: \f405; -$fa-var-mailchimp: \f59e; -$fa-var-css3-alt: \f38b; -$fa-var-square-reddit: \f1a2; -$fa-var-reddit-square: \f1a2; -$fa-var-vimeo-v: \f27d; -$fa-var-contao: \f26d; -$fa-var-square-font-awesome: \e5ad; -$fa-var-deskpro: \f38f; -$fa-var-sistrix: \f3ee; -$fa-var-square-instagram: \e055; -$fa-var-instagram-square: \e055; -$fa-var-battle-net: \f835; -$fa-var-the-red-yeti: \f69d; -$fa-var-square-hacker-news: \f3af; -$fa-var-hacker-news-square: \f3af; -$fa-var-edge: \f282; -$fa-var-napster: \f3d2; -$fa-var-square-snapchat: \f2ad; -$fa-var-snapchat-square: \f2ad; -$fa-var-google-plus-g: \f0d5; -$fa-var-artstation: \f77a; -$fa-var-markdown: \f60f; -$fa-var-sourcetree: \f7d3; -$fa-var-google-plus: \f2b3; -$fa-var-diaspora: \f791; -$fa-var-foursquare: \f180; -$fa-var-stack-overflow: \f16c; -$fa-var-github-alt: \f113; -$fa-var-phoenix-squadron: \f511; -$fa-var-pagelines: \f18c; -$fa-var-algolia: \f36c; -$fa-var-red-river: \f3e3; -$fa-var-creative-commons-sa: \f4ef; -$fa-var-safari: \f267; -$fa-var-google: \f1a0; -$fa-var-square-font-awesome-stroke: \f35c; -$fa-var-font-awesome-alt: \f35c; -$fa-var-atlassian: \f77b; -$fa-var-linkedin-in: \f0e1; -$fa-var-digital-ocean: \f391; -$fa-var-nimblr: \f5a8; -$fa-var-chromecast: \f838; -$fa-var-evernote: \f839; -$fa-var-hacker-news: \f1d4; -$fa-var-creative-commons-sampling: \f4f0; -$fa-var-adversal: \f36a; -$fa-var-creative-commons: \f25e; -$fa-var-watchman-monitoring: \e087; -$fa-var-fonticons: \f280; -$fa-var-weixin: \f1d7; -$fa-var-shirtsinbulk: \f214; -$fa-var-codepen: \f1cb; -$fa-var-git-alt: \f841; -$fa-var-lyft: \f3c3; -$fa-var-rev: \f5b2; -$fa-var-windows: \f17a; -$fa-var-wizards-of-the-coast: \f730; -$fa-var-square-viadeo: \f2aa; -$fa-var-viadeo-square: \f2aa; -$fa-var-meetup: \f2e0; -$fa-var-centos: \f789; -$fa-var-adn: \f170; -$fa-var-cloudsmith: \f384; -$fa-var-pied-piper-alt: \f1a8; -$fa-var-square-dribbble: \f397; -$fa-var-dribbble-square: \f397; -$fa-var-codiepie: \f284; -$fa-var-node: \f419; -$fa-var-mix: \f3cb; -$fa-var-steam: \f1b6; -$fa-var-cc-apple-pay: \f416; -$fa-var-scribd: \f28a; -$fa-var-openid: \f19b; -$fa-var-instalod: \e081; -$fa-var-expeditedssl: \f23e; -$fa-var-sellcast: \f2da; -$fa-var-square-twitter: \f081; -$fa-var-twitter-square: \f081; -$fa-var-r-project: \f4f7; -$fa-var-delicious: \f1a5; -$fa-var-freebsd: \f3a4; -$fa-var-vuejs: \f41f; -$fa-var-accusoft: \f369; -$fa-var-ioxhost: \f208; -$fa-var-fonticons-fi: \f3a2; -$fa-var-app-store: \f36f; -$fa-var-cc-mastercard: \f1f1; -$fa-var-itunes-note: \f3b5; -$fa-var-golang: \e40f; -$fa-var-kickstarter: \f3bb; -$fa-var-grav: \f2d6; -$fa-var-weibo: \f18a; -$fa-var-uncharted: \e084; -$fa-var-firstdraft: \f3a1; -$fa-var-square-youtube: \f431; -$fa-var-youtube-square: \f431; -$fa-var-wikipedia-w: \f266; -$fa-var-wpressr: \f3e4; -$fa-var-rendact: \f3e4; -$fa-var-angellist: \f209; -$fa-var-galactic-republic: \f50c; -$fa-var-nfc-directional: \e530; -$fa-var-skype: \f17e; -$fa-var-joget: \f3b7; -$fa-var-fedora: \f798; -$fa-var-stripe-s: \f42a; -$fa-var-meta: \e49b; -$fa-var-laravel: \f3bd; -$fa-var-hotjar: \f3b1; -$fa-var-bluetooth-b: \f294; -$fa-var-sticker-mule: \f3f7; -$fa-var-creative-commons-zero: \f4f3; -$fa-var-hips: \f452; -$fa-var-behance: \f1b4; -$fa-var-reddit: \f1a1; -$fa-var-discord: \f392; -$fa-var-chrome: \f268; -$fa-var-app-store-ios: \f370; -$fa-var-cc-discover: \f1f2; -$fa-var-wpbeginner: \f297; -$fa-var-confluence: \f78d; -$fa-var-mdb: \f8ca; -$fa-var-dochub: \f394; -$fa-var-accessible-icon: \f368; -$fa-var-ebay: \f4f4; -$fa-var-amazon: \f270; -$fa-var-unsplash: \e07c; -$fa-var-yarn: \f7e3; -$fa-var-square-steam: \f1b7; -$fa-var-steam-square: \f1b7; -$fa-var-500px: \f26e; -$fa-var-square-vimeo: \f194; -$fa-var-vimeo-square: \f194; -$fa-var-asymmetrik: \f372; -$fa-var-font-awesome: \f2b4; -$fa-var-font-awesome-flag: \f2b4; -$fa-var-font-awesome-logo-full: \f2b4; -$fa-var-gratipay: \f184; -$fa-var-apple: \f179; -$fa-var-hive: \e07f; -$fa-var-gitkraken: \f3a6; -$fa-var-keybase: \f4f5; -$fa-var-apple-pay: \f415; -$fa-var-padlet: \e4a0; -$fa-var-amazon-pay: \f42c; -$fa-var-square-github: \f092; -$fa-var-github-square: \f092; -$fa-var-stumbleupon: \f1a4; -$fa-var-fedex: \f797; -$fa-var-phoenix-framework: \f3dc; -$fa-var-shopify: \e057; -$fa-var-neos: \f612; -$fa-var-hackerrank: \f5f7; -$fa-var-researchgate: \f4f8; -$fa-var-swift: \f8e1; -$fa-var-angular: \f420; -$fa-var-speakap: \f3f3; -$fa-var-angrycreative: \f36e; -$fa-var-y-combinator: \f23b; -$fa-var-empire: \f1d1; -$fa-var-envira: \f299; -$fa-var-square-gitlab: \e5ae; -$fa-var-gitlab-square: \e5ae; -$fa-var-studiovinari: \f3f8; -$fa-var-pied-piper: \f2ae; -$fa-var-wordpress: \f19a; -$fa-var-product-hunt: \f288; -$fa-var-firefox: \f269; -$fa-var-linode: \f2b8; -$fa-var-goodreads: \f3a8; -$fa-var-square-odnoklassniki: \f264; -$fa-var-odnoklassniki-square: \f264; -$fa-var-jsfiddle: \f1cc; -$fa-var-sith: \f512; -$fa-var-themeisle: \f2b2; -$fa-var-page4: \f3d7; -$fa-var-hashnode: \e499; -$fa-var-react: \f41b; -$fa-var-cc-paypal: \f1f4; -$fa-var-squarespace: \f5be; -$fa-var-cc-stripe: \f1f5; -$fa-var-creative-commons-share: \f4f2; -$fa-var-bitcoin: \f379; -$fa-var-keycdn: \f3ba; -$fa-var-opera: \f26a; -$fa-var-itch-io: \f83a; -$fa-var-umbraco: \f8e8; -$fa-var-galactic-senate: \f50d; -$fa-var-ubuntu: \f7df; -$fa-var-draft2digital: \f396; -$fa-var-stripe: \f429; -$fa-var-houzz: \f27c; -$fa-var-gg: \f260; -$fa-var-dhl: \f790; -$fa-var-square-pinterest: \f0d3; -$fa-var-pinterest-square: \f0d3; -$fa-var-xing: \f168; -$fa-var-blackberry: \f37b; -$fa-var-creative-commons-pd: \f4ec; -$fa-var-playstation: \f3df; -$fa-var-quinscape: \f459; -$fa-var-less: \f41d; -$fa-var-blogger-b: \f37d; -$fa-var-opencart: \f23d; -$fa-var-vine: \f1ca; -$fa-var-paypal: \f1ed; -$fa-var-gitlab: \f296; -$fa-var-typo3: \f42b; -$fa-var-reddit-alien: \f281; -$fa-var-yahoo: \f19e; -$fa-var-dailymotion: \e052; -$fa-var-affiliatetheme: \f36b; -$fa-var-pied-piper-pp: \f1a7; -$fa-var-bootstrap: \f836; -$fa-var-odnoklassniki: \f263; -$fa-var-nfc-symbol: \e531; -$fa-var-ethereum: \f42e; -$fa-var-speaker-deck: \f83c; -$fa-var-creative-commons-nc-eu: \f4e9; -$fa-var-patreon: \f3d9; -$fa-var-avianex: \f374; -$fa-var-ello: \f5f1; -$fa-var-gofore: \f3a7; -$fa-var-bimobject: \f378; -$fa-var-facebook-f: \f39e; -$fa-var-square-google-plus: \f0d4; -$fa-var-google-plus-square: \f0d4; -$fa-var-mandalorian: \f50f; -$fa-var-first-order-alt: \f50a; -$fa-var-osi: \f41a; -$fa-var-google-wallet: \f1ee; -$fa-var-d-and-d-beyond: \f6ca; -$fa-var-periscope: \f3da; -$fa-var-fulcrum: \f50b; -$fa-var-cloudscale: \f383; -$fa-var-forumbee: \f211; -$fa-var-mizuni: \f3cc; -$fa-var-schlix: \f3ea; -$fa-var-square-xing: \f169; -$fa-var-xing-square: \f169; -$fa-var-bandcamp: \f2d5; -$fa-var-wpforms: \f298; -$fa-var-cloudversify: \f385; -$fa-var-usps: \f7e1; -$fa-var-megaport: \f5a3; -$fa-var-magento: \f3c4; -$fa-var-spotify: \f1bc; -$fa-var-optin-monster: \f23c; -$fa-var-fly: \f417; -$fa-var-aviato: \f421; -$fa-var-itunes: \f3b4; -$fa-var-cuttlefish: \f38c; -$fa-var-blogger: \f37c; -$fa-var-flickr: \f16e; -$fa-var-viber: \f409; -$fa-var-soundcloud: \f1be; -$fa-var-digg: \f1a6; -$fa-var-tencent-weibo: \f1d5; -$fa-var-symfony: \f83d; -$fa-var-maxcdn: \f136; -$fa-var-etsy: \f2d7; -$fa-var-facebook-messenger: \f39f; -$fa-var-audible: \f373; -$fa-var-think-peaks: \f731; -$fa-var-bilibili: \e3d9; -$fa-var-erlang: \f39d; -$fa-var-cotton-bureau: \f89e; -$fa-var-dashcube: \f210; -$fa-var-42-group: \e080; -$fa-var-innosoft: \e080; -$fa-var-stack-exchange: \f18d; -$fa-var-elementor: \f430; -$fa-var-square-pied-piper: \e01e; -$fa-var-pied-piper-square: \e01e; -$fa-var-creative-commons-nd: \f4eb; -$fa-var-palfed: \f3d8; -$fa-var-superpowers: \f2dd; -$fa-var-resolving: \f3e7; -$fa-var-xbox: \f412; -$fa-var-searchengin: \f3eb; -$fa-var-tiktok: \e07b; -$fa-var-square-facebook: \f082; -$fa-var-facebook-square: \f082; -$fa-var-renren: \f18b; -$fa-var-linux: \f17c; -$fa-var-glide: \f2a5; -$fa-var-linkedin: \f08c; -$fa-var-hubspot: \f3b2; -$fa-var-deploydog: \f38e; -$fa-var-twitch: \f1e8; -$fa-var-ravelry: \f2d9; -$fa-var-mixer: \e056; -$fa-var-square-lastfm: \f203; -$fa-var-lastfm-square: \f203; -$fa-var-vimeo: \f40a; -$fa-var-mendeley: \f7b3; -$fa-var-uniregistry: \f404; -$fa-var-figma: \f799; -$fa-var-creative-commons-remix: \f4ee; -$fa-var-cc-amazon-pay: \f42d; -$fa-var-dropbox: \f16b; -$fa-var-instagram: \f16d; -$fa-var-cmplid: \e360; -$fa-var-facebook: \f09a; -$fa-var-gripfire: \f3ac; -$fa-var-jedi-order: \f50e; -$fa-var-uikit: \f403; -$fa-var-fort-awesome-alt: \f3a3; -$fa-var-phabricator: \f3db; -$fa-var-ussunnah: \f407; -$fa-var-earlybirds: \f39a; -$fa-var-trade-federation: \f513; -$fa-var-autoprefixer: \f41c; -$fa-var-whatsapp: \f232; -$fa-var-slideshare: \f1e7; -$fa-var-google-play: \f3ab; -$fa-var-viadeo: \f2a9; -$fa-var-line: \f3c0; -$fa-var-google-drive: \f3aa; -$fa-var-servicestack: \f3ec; -$fa-var-simplybuilt: \f215; -$fa-var-bitbucket: \f171; -$fa-var-imdb: \f2d8; -$fa-var-deezer: \e077; -$fa-var-raspberry-pi: \f7bb; -$fa-var-jira: \f7b1; -$fa-var-docker: \f395; -$fa-var-screenpal: \e570; -$fa-var-bluetooth: \f293; -$fa-var-gitter: \f426; -$fa-var-d-and-d: \f38d; -$fa-var-microblog: \e01a; -$fa-var-cc-diners-club: \f24c; -$fa-var-gg-circle: \f261; -$fa-var-pied-piper-hat: \f4e5; -$fa-var-kickstarter-k: \f3bc; -$fa-var-yandex: \f413; -$fa-var-readme: \f4d5; -$fa-var-html5: \f13b; -$fa-var-sellsy: \f213; -$fa-var-sass: \f41e; -$fa-var-wirsindhandwerk: \e2d0; -$fa-var-wsh: \e2d0; -$fa-var-buromobelexperte: \f37f; -$fa-var-salesforce: \f83b; -$fa-var-octopus-deploy: \e082; -$fa-var-medapps: \f3c6; -$fa-var-ns8: \f3d5; -$fa-var-pinterest-p: \f231; -$fa-var-apper: \f371; -$fa-var-fort-awesome: \f286; -$fa-var-waze: \f83f; -$fa-var-cc-jcb: \f24b; -$fa-var-snapchat: \f2ab; -$fa-var-snapchat-ghost: \f2ab; -$fa-var-fantasy-flight-games: \f6dc; -$fa-var-rust: \e07a; -$fa-var-wix: \f5cf; -$fa-var-square-behance: \f1b5; -$fa-var-behance-square: \f1b5; -$fa-var-supple: \f3f9; -$fa-var-rebel: \f1d0; -$fa-var-css3: \f13c; -$fa-var-staylinked: \f3f5; -$fa-var-kaggle: \f5fa; -$fa-var-space-awesome: \e5ac; -$fa-var-deviantart: \f1bd; -$fa-var-cpanel: \f388; -$fa-var-goodreads-g: \f3a9; -$fa-var-square-git: \f1d2; -$fa-var-git-square: \f1d2; -$fa-var-square-tumblr: \f174; -$fa-var-tumblr-square: \f174; -$fa-var-trello: \f181; -$fa-var-creative-commons-nc-jp: \f4ea; -$fa-var-get-pocket: \f265; -$fa-var-perbyte: \e083; -$fa-var-grunt: \f3ad; -$fa-var-weebly: \f5cc; -$fa-var-connectdevelop: \f20e; -$fa-var-leanpub: \f212; -$fa-var-black-tie: \f27e; -$fa-var-themeco: \f5c6; -$fa-var-python: \f3e2; -$fa-var-android: \f17b; -$fa-var-bots: \e340; -$fa-var-free-code-camp: \f2c5; -$fa-var-hornbill: \f592; -$fa-var-js: \f3b8; -$fa-var-ideal: \e013; -$fa-var-git: \f1d3; -$fa-var-dev: \f6cc; -$fa-var-sketch: \f7c6; -$fa-var-yandex-international: \f414; -$fa-var-cc-amex: \f1f3; -$fa-var-uber: \f402; -$fa-var-github: \f09b; -$fa-var-php: \f457; -$fa-var-alipay: \f642; -$fa-var-youtube: \f167; -$fa-var-skyatlas: \f216; -$fa-var-firefox-browser: \e007; -$fa-var-replyd: \f3e6; -$fa-var-suse: \f7d6; -$fa-var-jenkins: \f3b6; -$fa-var-twitter: \f099; -$fa-var-rockrms: \f3e9; -$fa-var-pinterest: \f0d2; -$fa-var-buffer: \f837; -$fa-var-npm: \f3d4; -$fa-var-yammer: \f840; -$fa-var-btc: \f15a; -$fa-var-dribbble: \f17d; -$fa-var-stumbleupon-circle: \f1a3; -$fa-var-internet-explorer: \f26b; -$fa-var-stubber: \e5c7; -$fa-var-telegram: \f2c6; -$fa-var-telegram-plane: \f2c6; -$fa-var-old-republic: \f510; -$fa-var-odysee: \e5c6; -$fa-var-square-whatsapp: \f40c; -$fa-var-whatsapp-square: \f40c; -$fa-var-node-js: \f3d3; -$fa-var-edge-legacy: \e078; -$fa-var-slack: \f198; -$fa-var-slack-hash: \f198; -$fa-var-medrt: \f3c8; -$fa-var-usb: \f287; -$fa-var-tumblr: \f173; -$fa-var-vaadin: \f408; -$fa-var-quora: \f2c4; -$fa-var-reacteurope: \f75d; -$fa-var-medium: \f23a; -$fa-var-medium-m: \f23a; -$fa-var-amilia: \f36d; -$fa-var-mixcloud: \f289; -$fa-var-flipboard: \f44d; -$fa-var-viacoin: \f237; -$fa-var-critical-role: \f6c9; -$fa-var-sitrox: \e44a; -$fa-var-discourse: \f393; -$fa-var-joomla: \f1aa; -$fa-var-mastodon: \f4f6; -$fa-var-airbnb: \f834; -$fa-var-wolf-pack-battalion: \f514; -$fa-var-buy-n-large: \f8a6; -$fa-var-gulp: \f3ae; -$fa-var-creative-commons-sampling-plus: \f4f1; -$fa-var-strava: \f428; -$fa-var-ember: \f423; -$fa-var-canadian-maple-leaf: \f785; -$fa-var-teamspeak: \f4f9; -$fa-var-pushed: \f3e1; -$fa-var-wordpress-simple: \f411; -$fa-var-nutritionix: \f3d6; -$fa-var-wodu: \e088; -$fa-var-google-pay: \e079; -$fa-var-intercom: \f7af; -$fa-var-zhihu: \f63f; -$fa-var-korvue: \f42f; -$fa-var-pix: \e43a; -$fa-var-steam-symbol: \f3f6; - -$fa-icons: ( - "0": $fa-var-0, - "1": $fa-var-1, - "2": $fa-var-2, - "3": $fa-var-3, - "4": $fa-var-4, - "5": $fa-var-5, - "6": $fa-var-6, - "7": $fa-var-7, - "8": $fa-var-8, - "9": $fa-var-9, - "fill-drip": $fa-var-fill-drip, - "arrows-to-circle": $fa-var-arrows-to-circle, - "circle-chevron-right": $fa-var-circle-chevron-right, - "chevron-circle-right": $fa-var-chevron-circle-right, - "wagon-covered": $fa-var-wagon-covered, - "line-height": $fa-var-line-height, - "bagel": $fa-var-bagel, - "transporter-7": $fa-var-transporter-7, - "at": $fa-var-at, - "rectangles-mixed": $fa-var-rectangles-mixed, - "phone-arrow-up-right": $fa-var-phone-arrow-up-right, - "phone-arrow-up": $fa-var-phone-arrow-up, - "phone-outgoing": $fa-var-phone-outgoing, - "trash-can": $fa-var-trash-can, - "trash-alt": $fa-var-trash-alt, - "circle-l": $fa-var-circle-l, - "head-side-goggles": $fa-var-head-side-goggles, - "head-vr": $fa-var-head-vr, - "text-height": $fa-var-text-height, - "user-xmark": $fa-var-user-xmark, - "user-times": $fa-var-user-times, - "face-hand-yawn": $fa-var-face-hand-yawn, - "gauge-simple-min": $fa-var-gauge-simple-min, - "tachometer-slowest": $fa-var-tachometer-slowest, - "stethoscope": $fa-var-stethoscope, - "coffin": $fa-var-coffin, - "message": $fa-var-message, - "comment-alt": $fa-var-comment-alt, - "salad": $fa-var-salad, - "bowl-salad": $fa-var-bowl-salad, - "info": $fa-var-info, - "robot-astromech": $fa-var-robot-astromech, - "ring-diamond": $fa-var-ring-diamond, - "fondue-pot": $fa-var-fondue-pot, - "theta": $fa-var-theta, - "face-hand-peeking": $fa-var-face-hand-peeking, - "square-user": $fa-var-square-user, - "down-left-and-up-right-to-center": $fa-var-down-left-and-up-right-to-center, - "compress-alt": $fa-var-compress-alt, - "explosion": $fa-var-explosion, - "file-lines": $fa-var-file-lines, - "file-alt": $fa-var-file-alt, - "file-text": $fa-var-file-text, - "wave-square": $fa-var-wave-square, - "ring": $fa-var-ring, - "building-un": $fa-var-building-un, - "dice-three": $fa-var-dice-three, - "tire-pressure-warning": $fa-var-tire-pressure-warning, - "wifi-fair": $fa-var-wifi-fair, - "wifi-2": $fa-var-wifi-2, - "calendar-days": $fa-var-calendar-days, - "calendar-alt": $fa-var-calendar-alt, - "mp3-player": $fa-var-mp3-player, - "anchor-circle-check": $fa-var-anchor-circle-check, - "tally-4": $fa-var-tally-4, - "rectangle-history": $fa-var-rectangle-history, - "building-circle-arrow-right": $fa-var-building-circle-arrow-right, - "volleyball": $fa-var-volleyball, - "volleyball-ball": $fa-var-volleyball-ball, - "sun-haze": $fa-var-sun-haze, - "text-size": $fa-var-text-size, - "ufo": $fa-var-ufo, - "fork": $fa-var-fork, - "utensil-fork": $fa-var-utensil-fork, - "arrows-up-to-line": $fa-var-arrows-up-to-line, - "mobile-signal": $fa-var-mobile-signal, - "barcode-scan": $fa-var-barcode-scan, - "sort-down": $fa-var-sort-down, - "sort-desc": $fa-var-sort-desc, - "folder-arrow-down": $fa-var-folder-arrow-down, - "folder-download": $fa-var-folder-download, - "circle-minus": $fa-var-circle-minus, - "minus-circle": $fa-var-minus-circle, - "face-icicles": $fa-var-face-icicles, - "shovel": $fa-var-shovel, - "door-open": $fa-var-door-open, - "films": $fa-var-films, - "right-from-bracket": $fa-var-right-from-bracket, - "sign-out-alt": $fa-var-sign-out-alt, - "face-glasses": $fa-var-face-glasses, - "nfc": $fa-var-nfc, - "atom": $fa-var-atom, - "soap": $fa-var-soap, - "icons": $fa-var-icons, - "heart-music-camera-bolt": $fa-var-heart-music-camera-bolt, - "microphone-lines-slash": $fa-var-microphone-lines-slash, - "microphone-alt-slash": $fa-var-microphone-alt-slash, - "closed-captioning-slash": $fa-var-closed-captioning-slash, - "calculator-simple": $fa-var-calculator-simple, - "calculator-alt": $fa-var-calculator-alt, - "bridge-circle-check": $fa-var-bridge-circle-check, - "sliders-up": $fa-var-sliders-up, - "sliders-v": $fa-var-sliders-v, - "location-minus": $fa-var-location-minus, - "map-marker-minus": $fa-var-map-marker-minus, - "pump-medical": $fa-var-pump-medical, - "fingerprint": $fa-var-fingerprint, - "ski-boot": $fa-var-ski-boot, - "standard-definition": $fa-var-standard-definition, - "rectangle-sd": $fa-var-rectangle-sd, - "h1": $fa-var-h1, - "hand-point-right": $fa-var-hand-point-right, - "magnifying-glass-location": $fa-var-magnifying-glass-location, - "search-location": $fa-var-search-location, - "message-bot": $fa-var-message-bot, - "forward-step": $fa-var-forward-step, - "step-forward": $fa-var-step-forward, - "face-smile-beam": $fa-var-face-smile-beam, - "smile-beam": $fa-var-smile-beam, - "light-ceiling": $fa-var-light-ceiling, - "message-exclamation": $fa-var-message-exclamation, - "comment-alt-exclamation": $fa-var-comment-alt-exclamation, - "bowl-scoop": $fa-var-bowl-scoop, - "bowl-shaved-ice": $fa-var-bowl-shaved-ice, - "square-x": $fa-var-square-x, - "utility-pole-double": $fa-var-utility-pole-double, - "flag-checkered": $fa-var-flag-checkered, - "chevrons-up": $fa-var-chevrons-up, - "chevron-double-up": $fa-var-chevron-double-up, - "football": $fa-var-football, - "football-ball": $fa-var-football-ball, - "user-vneck": $fa-var-user-vneck, - "school-circle-exclamation": $fa-var-school-circle-exclamation, - "crop": $fa-var-crop, - "angles-down": $fa-var-angles-down, - "angle-double-down": $fa-var-angle-double-down, - "users-rectangle": $fa-var-users-rectangle, - "people-roof": $fa-var-people-roof, - "square-arrow-right": $fa-var-square-arrow-right, - "arrow-square-right": $fa-var-arrow-square-right, - "location-plus": $fa-var-location-plus, - "map-marker-plus": $fa-var-map-marker-plus, - "lightbulb-exclamation-on": $fa-var-lightbulb-exclamation-on, - "people-line": $fa-var-people-line, - "beer-mug-empty": $fa-var-beer-mug-empty, - "beer": $fa-var-beer, - "crate-empty": $fa-var-crate-empty, - "diagram-predecessor": $fa-var-diagram-predecessor, - "transporter": $fa-var-transporter, - "calendar-circle-user": $fa-var-calendar-circle-user, - "arrow-up-long": $fa-var-arrow-up-long, - "long-arrow-up": $fa-var-long-arrow-up, - "person-carry-box": $fa-var-person-carry-box, - "person-carry": $fa-var-person-carry, - "fire-flame-simple": $fa-var-fire-flame-simple, - "burn": $fa-var-burn, - "person": $fa-var-person, - "male": $fa-var-male, - "laptop": $fa-var-laptop, - "file-csv": $fa-var-file-csv, - "menorah": $fa-var-menorah, - "union": $fa-var-union, - "chevrons-left": $fa-var-chevrons-left, - "chevron-double-left": $fa-var-chevron-double-left, - "circle-heart": $fa-var-circle-heart, - "heart-circle": $fa-var-heart-circle, - "truck-plane": $fa-var-truck-plane, - "record-vinyl": $fa-var-record-vinyl, - "bring-forward": $fa-var-bring-forward, - "square-p": $fa-var-square-p, - "face-grin-stars": $fa-var-face-grin-stars, - "grin-stars": $fa-var-grin-stars, - "sigma": $fa-var-sigma, - "camera-movie": $fa-var-camera-movie, - "bong": $fa-var-bong, - "clarinet": $fa-var-clarinet, - "truck-flatbed": $fa-var-truck-flatbed, - "spaghetti-monster-flying": $fa-var-spaghetti-monster-flying, - "pastafarianism": $fa-var-pastafarianism, - "arrow-down-up-across-line": $fa-var-arrow-down-up-across-line, - "leaf-heart": $fa-var-leaf-heart, - "house-building": $fa-var-house-building, - "cheese-swiss": $fa-var-cheese-swiss, - "spoon": $fa-var-spoon, - "utensil-spoon": $fa-var-utensil-spoon, - "jar-wheat": $fa-var-jar-wheat, - "envelopes-bulk": $fa-var-envelopes-bulk, - "mail-bulk": $fa-var-mail-bulk, - "file-circle-exclamation": $fa-var-file-circle-exclamation, - "bow-arrow": $fa-var-bow-arrow, - "cart-xmark": $fa-var-cart-xmark, - "hexagon-xmark": $fa-var-hexagon-xmark, - "times-hexagon": $fa-var-times-hexagon, - "xmark-hexagon": $fa-var-xmark-hexagon, - "circle-h": $fa-var-circle-h, - "hospital-symbol": $fa-var-hospital-symbol, - "merge": $fa-var-merge, - "pager": $fa-var-pager, - "cart-minus": $fa-var-cart-minus, - "address-book": $fa-var-address-book, - "contact-book": $fa-var-contact-book, - "pan-frying": $fa-var-pan-frying, - "grid": $fa-var-grid, - "grid-3": $fa-var-grid-3, - "football-helmet": $fa-var-football-helmet, - "hand-love": $fa-var-hand-love, - "trees": $fa-var-trees, - "strikethrough": $fa-var-strikethrough, - "page": $fa-var-page, - "k": $fa-var-k, - "diagram-previous": $fa-var-diagram-previous, - "gauge-min": $fa-var-gauge-min, - "tachometer-alt-slowest": $fa-var-tachometer-alt-slowest, - "folder-grid": $fa-var-folder-grid, - "eggplant": $fa-var-eggplant, - "ram": $fa-var-ram, - "landmark-flag": $fa-var-landmark-flag, - "lips": $fa-var-lips, - "pencil": $fa-var-pencil, - "pencil-alt": $fa-var-pencil-alt, - "backward": $fa-var-backward, - "caret-right": $fa-var-caret-right, - "comments": $fa-var-comments, - "paste": $fa-var-paste, - "file-clipboard": $fa-var-file-clipboard, - "desktop-arrow-down": $fa-var-desktop-arrow-down, - "code-pull-request": $fa-var-code-pull-request, - "pumpkin": $fa-var-pumpkin, - "clipboard-list": $fa-var-clipboard-list, - "pen-field": $fa-var-pen-field, - "blueberries": $fa-var-blueberries, - "truck-ramp-box": $fa-var-truck-ramp-box, - "truck-loading": $fa-var-truck-loading, - "note": $fa-var-note, - "arrow-down-to-square": $fa-var-arrow-down-to-square, - "user-check": $fa-var-user-check, - "cloud-xmark": $fa-var-cloud-xmark, - "vial-virus": $fa-var-vial-virus, - "book-blank": $fa-var-book-blank, - "book-alt": $fa-var-book-alt, - "golf-flag-hole": $fa-var-golf-flag-hole, - "message-arrow-down": $fa-var-message-arrow-down, - "comment-alt-arrow-down": $fa-var-comment-alt-arrow-down, - "face-unamused": $fa-var-face-unamused, - "sheet-plastic": $fa-var-sheet-plastic, - "circle-9": $fa-var-circle-9, - "blog": $fa-var-blog, - "user-ninja": $fa-var-user-ninja, - "pencil-slash": $fa-var-pencil-slash, - "bowling-pins": $fa-var-bowling-pins, - "person-arrow-up-from-line": $fa-var-person-arrow-up-from-line, - "down-right": $fa-var-down-right, - "scroll-torah": $fa-var-scroll-torah, - "torah": $fa-var-torah, - "blinds-open": $fa-var-blinds-open, - "fence": $fa-var-fence, - "up": $fa-var-up, - "arrow-alt-up": $fa-var-arrow-alt-up, - "broom-ball": $fa-var-broom-ball, - "quidditch": $fa-var-quidditch, - "quidditch-broom-ball": $fa-var-quidditch-broom-ball, - "drumstick": $fa-var-drumstick, - "square-v": $fa-var-square-v, - "face-awesome": $fa-var-face-awesome, - "gave-dandy": $fa-var-gave-dandy, - "dial-off": $fa-var-dial-off, - "toggle-off": $fa-var-toggle-off, - "face-smile-horns": $fa-var-face-smile-horns, - "box-archive": $fa-var-box-archive, - "archive": $fa-var-archive, - "grapes": $fa-var-grapes, - "person-drowning": $fa-var-person-drowning, - "dial-max": $fa-var-dial-max, - "circle-m": $fa-var-circle-m, - "calendar-image": $fa-var-calendar-image, - "circle-caret-down": $fa-var-circle-caret-down, - "caret-circle-down": $fa-var-caret-circle-down, - "arrow-down-9-1": $fa-var-arrow-down-9-1, - "sort-numeric-desc": $fa-var-sort-numeric-desc, - "sort-numeric-down-alt": $fa-var-sort-numeric-down-alt, - "face-grin-tongue-squint": $fa-var-face-grin-tongue-squint, - "grin-tongue-squint": $fa-var-grin-tongue-squint, - "shish-kebab": $fa-var-shish-kebab, - "spray-can": $fa-var-spray-can, - "alarm-snooze": $fa-var-alarm-snooze, - "scarecrow": $fa-var-scarecrow, - "truck-monster": $fa-var-truck-monster, - "gift-card": $fa-var-gift-card, - "w": $fa-var-w, - "code-pull-request-draft": $fa-var-code-pull-request-draft, - "square-b": $fa-var-square-b, - "elephant": $fa-var-elephant, - "earth-africa": $fa-var-earth-africa, - "globe-africa": $fa-var-globe-africa, - "rainbow": $fa-var-rainbow, - "circle-notch": $fa-var-circle-notch, - "tablet-screen-button": $fa-var-tablet-screen-button, - "tablet-alt": $fa-var-tablet-alt, - "paw": $fa-var-paw, - "message-question": $fa-var-message-question, - "cloud": $fa-var-cloud, - "trowel-bricks": $fa-var-trowel-bricks, - "square-3": $fa-var-square-3, - "face-flushed": $fa-var-face-flushed, - "flushed": $fa-var-flushed, - "hospital-user": $fa-var-hospital-user, - "microwave": $fa-var-microwave, - "tent-arrow-left-right": $fa-var-tent-arrow-left-right, - "cart-circle-arrow-up": $fa-var-cart-circle-arrow-up, - "trash-clock": $fa-var-trash-clock, - "gavel": $fa-var-gavel, - "legal": $fa-var-legal, - "sprinkler-ceiling": $fa-var-sprinkler-ceiling, - "browsers": $fa-var-browsers, - "trillium": $fa-var-trillium, - "music-slash": $fa-var-music-slash, - "truck-ramp": $fa-var-truck-ramp, - "binoculars": $fa-var-binoculars, - "microphone-slash": $fa-var-microphone-slash, - "box-tissue": $fa-var-box-tissue, - "circle-c": $fa-var-circle-c, - "star-christmas": $fa-var-star-christmas, - "chart-bullet": $fa-var-chart-bullet, - "motorcycle": $fa-var-motorcycle, - "tree-christmas": $fa-var-tree-christmas, - "tire-flat": $fa-var-tire-flat, - "sunglasses": $fa-var-sunglasses, - "badge": $fa-var-badge, - "message-pen": $fa-var-message-pen, - "comment-alt-edit": $fa-var-comment-alt-edit, - "message-edit": $fa-var-message-edit, - "bell-concierge": $fa-var-bell-concierge, - "concierge-bell": $fa-var-concierge-bell, - "pen-ruler": $fa-var-pen-ruler, - "pencil-ruler": $fa-var-pencil-ruler, - "chess-rook-piece": $fa-var-chess-rook-piece, - "chess-rook-alt": $fa-var-chess-rook-alt, - "square-root": $fa-var-square-root, - "album-collection-circle-plus": $fa-var-album-collection-circle-plus, - "people-arrows": $fa-var-people-arrows, - "people-arrows-left-right": $fa-var-people-arrows-left-right, - "face-angry-horns": $fa-var-face-angry-horns, - "mars-and-venus-burst": $fa-var-mars-and-venus-burst, - "tombstone": $fa-var-tombstone, - "square-caret-right": $fa-var-square-caret-right, - "caret-square-right": $fa-var-caret-square-right, - "scissors": $fa-var-scissors, - "cut": $fa-var-cut, - "list-music": $fa-var-list-music, - "sun-plant-wilt": $fa-var-sun-plant-wilt, - "toilets-portable": $fa-var-toilets-portable, - "hockey-puck": $fa-var-hockey-puck, - "mustache": $fa-var-mustache, - "hyphen": $fa-var-hyphen, - "table": $fa-var-table, - "user-chef": $fa-var-user-chef, - "message-image": $fa-var-message-image, - "comment-alt-image": $fa-var-comment-alt-image, - "users-medical": $fa-var-users-medical, - "sensor-triangle-exclamation": $fa-var-sensor-triangle-exclamation, - "sensor-alert": $fa-var-sensor-alert, - "magnifying-glass-arrow-right": $fa-var-magnifying-glass-arrow-right, - "tachograph-digital": $fa-var-tachograph-digital, - "digital-tachograph": $fa-var-digital-tachograph, - "face-mask": $fa-var-face-mask, - "pickleball": $fa-var-pickleball, - "star-sharp-half": $fa-var-star-sharp-half, - "users-slash": $fa-var-users-slash, - "clover": $fa-var-clover, - "meat": $fa-var-meat, - "reply": $fa-var-reply, - "mail-reply": $fa-var-mail-reply, - "star-and-crescent": $fa-var-star-and-crescent, - "empty-set": $fa-var-empty-set, - "house-fire": $fa-var-house-fire, - "square-minus": $fa-var-square-minus, - "minus-square": $fa-var-minus-square, - "helicopter": $fa-var-helicopter, - "bird": $fa-var-bird, - "compass": $fa-var-compass, - "square-caret-down": $fa-var-square-caret-down, - "caret-square-down": $fa-var-caret-square-down, - "heart-half-stroke": $fa-var-heart-half-stroke, - "heart-half-alt": $fa-var-heart-half-alt, - "file-circle-question": $fa-var-file-circle-question, - "laptop-code": $fa-var-laptop-code, - "joystick": $fa-var-joystick, - "grill-fire": $fa-var-grill-fire, - "rectangle-vertical-history": $fa-var-rectangle-vertical-history, - "swatchbook": $fa-var-swatchbook, - "prescription-bottle": $fa-var-prescription-bottle, - "bars": $fa-var-bars, - "navicon": $fa-var-navicon, - "keyboard-left": $fa-var-keyboard-left, - "people-group": $fa-var-people-group, - "hourglass-end": $fa-var-hourglass-end, - "hourglass-3": $fa-var-hourglass-3, - "heart-crack": $fa-var-heart-crack, - "heart-broken": $fa-var-heart-broken, - "face-beam-hand-over-mouth": $fa-var-face-beam-hand-over-mouth, - "droplet-percent": $fa-var-droplet-percent, - "humidity": $fa-var-humidity, - "square-up-right": $fa-var-square-up-right, - "external-link-square-alt": $fa-var-external-link-square-alt, - "face-kiss-beam": $fa-var-face-kiss-beam, - "kiss-beam": $fa-var-kiss-beam, - "corn": $fa-var-corn, - "roller-coaster": $fa-var-roller-coaster, - "photo-film-music": $fa-var-photo-film-music, - "radar": $fa-var-radar, - "sickle": $fa-var-sickle, - "film": $fa-var-film, - "coconut": $fa-var-coconut, - "ruler-horizontal": $fa-var-ruler-horizontal, - "shield-cross": $fa-var-shield-cross, - "cassette-tape": $fa-var-cassette-tape, - "square-terminal": $fa-var-square-terminal, - "people-robbery": $fa-var-people-robbery, - "lightbulb": $fa-var-lightbulb, - "caret-left": $fa-var-caret-left, - "comment-middle": $fa-var-comment-middle, - "trash-can-list": $fa-var-trash-can-list, - "block": $fa-var-block, - "circle-exclamation": $fa-var-circle-exclamation, - "exclamation-circle": $fa-var-exclamation-circle, - "school-circle-xmark": $fa-var-school-circle-xmark, - "arrow-right-from-bracket": $fa-var-arrow-right-from-bracket, - "sign-out": $fa-var-sign-out, - "face-frown-slight": $fa-var-face-frown-slight, - "circle-chevron-down": $fa-var-circle-chevron-down, - "chevron-circle-down": $fa-var-chevron-circle-down, - "sidebar-flip": $fa-var-sidebar-flip, - "unlock-keyhole": $fa-var-unlock-keyhole, - "unlock-alt": $fa-var-unlock-alt, - "temperature-list": $fa-var-temperature-list, - "cloud-showers-heavy": $fa-var-cloud-showers-heavy, - "headphones-simple": $fa-var-headphones-simple, - "headphones-alt": $fa-var-headphones-alt, - "sitemap": $fa-var-sitemap, - "pipe-section": $fa-var-pipe-section, - "space-station-moon-construction": $fa-var-space-station-moon-construction, - "space-station-moon-alt": $fa-var-space-station-moon-alt, - "circle-dollar-to-slot": $fa-var-circle-dollar-to-slot, - "donate": $fa-var-donate, - "memory": $fa-var-memory, - "face-sleeping": $fa-var-face-sleeping, - "road-spikes": $fa-var-road-spikes, - "fire-burner": $fa-var-fire-burner, - "squirrel": $fa-var-squirrel, - "arrow-up-to-line": $fa-var-arrow-up-to-line, - "arrow-to-top": $fa-var-arrow-to-top, - "flag": $fa-var-flag, - "face-cowboy-hat": $fa-var-face-cowboy-hat, - "hanukiah": $fa-var-hanukiah, - "chart-scatter-3d": $fa-var-chart-scatter-3d, - "square-code": $fa-var-square-code, - "feather": $fa-var-feather, - "volume-low": $fa-var-volume-low, - "volume-down": $fa-var-volume-down, - "xmark-to-slot": $fa-var-xmark-to-slot, - "times-to-slot": $fa-var-times-to-slot, - "vote-nay": $fa-var-vote-nay, - "box-taped": $fa-var-box-taped, - "box-alt": $fa-var-box-alt, - "comment-slash": $fa-var-comment-slash, - "swords": $fa-var-swords, - "cloud-sun-rain": $fa-var-cloud-sun-rain, - "album": $fa-var-album, - "circle-n": $fa-var-circle-n, - "compress": $fa-var-compress, - "wheat-awn": $fa-var-wheat-awn, - "wheat-alt": $fa-var-wheat-alt, - "ankh": $fa-var-ankh, - "hands-holding-child": $fa-var-hands-holding-child, - "asterisk": $fa-var-asterisk, - "key-skeleton-left-right": $fa-var-key-skeleton-left-right, - "comment-lines": $fa-var-comment-lines, - "luchador-mask": $fa-var-luchador-mask, - "luchador": $fa-var-luchador, - "mask-luchador": $fa-var-mask-luchador, - "square-check": $fa-var-square-check, - "check-square": $fa-var-check-square, - "shredder": $fa-var-shredder, - "book-open-cover": $fa-var-book-open-cover, - "book-open-alt": $fa-var-book-open-alt, - "sandwich": $fa-var-sandwich, - "peseta-sign": $fa-var-peseta-sign, - "square-parking-slash": $fa-var-square-parking-slash, - "parking-slash": $fa-var-parking-slash, - "train-tunnel": $fa-var-train-tunnel, - "heading": $fa-var-heading, - "header": $fa-var-header, - "ghost": $fa-var-ghost, - "face-anguished": $fa-var-face-anguished, - "hockey-sticks": $fa-var-hockey-sticks, - "abacus": $fa-var-abacus, - "film-simple": $fa-var-film-simple, - "film-alt": $fa-var-film-alt, - "list": $fa-var-list, - "list-squares": $fa-var-list-squares, - "tree-palm": $fa-var-tree-palm, - "square-phone-flip": $fa-var-square-phone-flip, - "phone-square-alt": $fa-var-phone-square-alt, - "cart-plus": $fa-var-cart-plus, - "gamepad": $fa-var-gamepad, - "border-center-v": $fa-var-border-center-v, - "circle-dot": $fa-var-circle-dot, - "dot-circle": $fa-var-dot-circle, - "clipboard-medical": $fa-var-clipboard-medical, - "face-dizzy": $fa-var-face-dizzy, - "dizzy": $fa-var-dizzy, - "egg": $fa-var-egg, - "up-to-line": $fa-var-up-to-line, - "arrow-alt-to-top": $fa-var-arrow-alt-to-top, - "house-medical-circle-xmark": $fa-var-house-medical-circle-xmark, - "watch-fitness": $fa-var-watch-fitness, - "clock-nine-thirty": $fa-var-clock-nine-thirty, - "campground": $fa-var-campground, - "folder-plus": $fa-var-folder-plus, - "jug": $fa-var-jug, - "futbol": $fa-var-futbol, - "futbol-ball": $fa-var-futbol-ball, - "soccer-ball": $fa-var-soccer-ball, - "snow-blowing": $fa-var-snow-blowing, - "paintbrush": $fa-var-paintbrush, - "paint-brush": $fa-var-paint-brush, - "lock": $fa-var-lock, - "arrow-down-from-line": $fa-var-arrow-down-from-line, - "arrow-from-top": $fa-var-arrow-from-top, - "gas-pump": $fa-var-gas-pump, - "signal-bars-slash": $fa-var-signal-bars-slash, - "signal-alt-slash": $fa-var-signal-alt-slash, - "monkey": $fa-var-monkey, - "rectangle-pro": $fa-var-rectangle-pro, - "pro": $fa-var-pro, - "house-night": $fa-var-house-night, - "hot-tub-person": $fa-var-hot-tub-person, - "hot-tub": $fa-var-hot-tub, - "blanket": $fa-var-blanket, - "map-location": $fa-var-map-location, - "map-marked": $fa-var-map-marked, - "house-flood-water": $fa-var-house-flood-water, - "comments-question-check": $fa-var-comments-question-check, - "tree": $fa-var-tree, - "arrows-cross": $fa-var-arrows-cross, - "backpack": $fa-var-backpack, - "square-small": $fa-var-square-small, - "folder-arrow-up": $fa-var-folder-arrow-up, - "folder-upload": $fa-var-folder-upload, - "bridge-lock": $fa-var-bridge-lock, - "crosshairs-simple": $fa-var-crosshairs-simple, - "sack-dollar": $fa-var-sack-dollar, - "pen-to-square": $fa-var-pen-to-square, - "edit": $fa-var-edit, - "square-sliders": $fa-var-square-sliders, - "sliders-h-square": $fa-var-sliders-h-square, - "car-side": $fa-var-car-side, - "message-middle-top": $fa-var-message-middle-top, - "comment-middle-top-alt": $fa-var-comment-middle-top-alt, - "lightbulb-on": $fa-var-lightbulb-on, - "knife": $fa-var-knife, - "utensil-knife": $fa-var-utensil-knife, - "share-nodes": $fa-var-share-nodes, - "share-alt": $fa-var-share-alt, - "wave-sine": $fa-var-wave-sine, - "heart-circle-minus": $fa-var-heart-circle-minus, - "circle-w": $fa-var-circle-w, - "circle-calendar": $fa-var-circle-calendar, - "calendar-circle": $fa-var-calendar-circle, - "hourglass-half": $fa-var-hourglass-half, - "hourglass-2": $fa-var-hourglass-2, - "microscope": $fa-var-microscope, - "sunset": $fa-var-sunset, - "sink": $fa-var-sink, - "calendar-exclamation": $fa-var-calendar-exclamation, - "truck-container-empty": $fa-var-truck-container-empty, - "hand-heart": $fa-var-hand-heart, - "bag-shopping": $fa-var-bag-shopping, - "shopping-bag": $fa-var-shopping-bag, - "arrow-down-z-a": $fa-var-arrow-down-z-a, - "sort-alpha-desc": $fa-var-sort-alpha-desc, - "sort-alpha-down-alt": $fa-var-sort-alpha-down-alt, - "mitten": $fa-var-mitten, - "reply-clock": $fa-var-reply-clock, - "reply-time": $fa-var-reply-time, - "person-rays": $fa-var-person-rays, - "right": $fa-var-right, - "arrow-alt-right": $fa-var-arrow-alt-right, - "circle-f": $fa-var-circle-f, - "users": $fa-var-users, - "face-pleading": $fa-var-face-pleading, - "eye-slash": $fa-var-eye-slash, - "flask-vial": $fa-var-flask-vial, - "police-box": $fa-var-police-box, - "cucumber": $fa-var-cucumber, - "head-side-brain": $fa-var-head-side-brain, - "hand": $fa-var-hand, - "hand-paper": $fa-var-hand-paper, - "person-biking-mountain": $fa-var-person-biking-mountain, - "biking-mountain": $fa-var-biking-mountain, - "utensils-slash": $fa-var-utensils-slash, - "print-magnifying-glass": $fa-var-print-magnifying-glass, - "print-search": $fa-var-print-search, - "folder-bookmark": $fa-var-folder-bookmark, - "om": $fa-var-om, - "pi": $fa-var-pi, - "flask-round-potion": $fa-var-flask-round-potion, - "flask-potion": $fa-var-flask-potion, - "face-shush": $fa-var-face-shush, - "worm": $fa-var-worm, - "house-circle-xmark": $fa-var-house-circle-xmark, - "plug": $fa-var-plug, - "calendar-circle-exclamation": $fa-var-calendar-circle-exclamation, - "square-i": $fa-var-square-i, - "chevron-up": $fa-var-chevron-up, - "face-saluting": $fa-var-face-saluting, - "gauge-simple-low": $fa-var-gauge-simple-low, - "tachometer-slow": $fa-var-tachometer-slow, - "face-persevering": $fa-var-face-persevering, - "circle-camera": $fa-var-circle-camera, - "camera-circle": $fa-var-camera-circle, - "hand-spock": $fa-var-hand-spock, - "spider-web": $fa-var-spider-web, - "circle-microphone": $fa-var-circle-microphone, - "microphone-circle": $fa-var-microphone-circle, - "book-arrow-up": $fa-var-book-arrow-up, - "popsicle": $fa-var-popsicle, - "command": $fa-var-command, - "blinds": $fa-var-blinds, - "stopwatch": $fa-var-stopwatch, - "saxophone": $fa-var-saxophone, - "square-2": $fa-var-square-2, - "field-hockey-stick-ball": $fa-var-field-hockey-stick-ball, - "field-hockey": $fa-var-field-hockey, - "arrow-up-square-triangle": $fa-var-arrow-up-square-triangle, - "sort-shapes-up-alt": $fa-var-sort-shapes-up-alt, - "face-scream": $fa-var-face-scream, - "square-m": $fa-var-square-m, - "camera-web": $fa-var-camera-web, - "webcam": $fa-var-webcam, - "comment-arrow-down": $fa-var-comment-arrow-down, - "lightbulb-cfl": $fa-var-lightbulb-cfl, - "window-frame-open": $fa-var-window-frame-open, - "face-kiss": $fa-var-face-kiss, - "kiss": $fa-var-kiss, - "bridge-circle-xmark": $fa-var-bridge-circle-xmark, - "period": $fa-var-period, - "face-grin-tongue": $fa-var-face-grin-tongue, - "grin-tongue": $fa-var-grin-tongue, - "up-to-dotted-line": $fa-var-up-to-dotted-line, - "thought-bubble": $fa-var-thought-bubble, - "raygun": $fa-var-raygun, - "flute": $fa-var-flute, - "acorn": $fa-var-acorn, - "video-arrow-up-right": $fa-var-video-arrow-up-right, - "grate-droplet": $fa-var-grate-droplet, - "seal-exclamation": $fa-var-seal-exclamation, - "chess-bishop": $fa-var-chess-bishop, - "message-sms": $fa-var-message-sms, - "coffee-beans": $fa-var-coffee-beans, - "hat-witch": $fa-var-hat-witch, - "face-grin-wink": $fa-var-face-grin-wink, - "grin-wink": $fa-var-grin-wink, - "clock-three-thirty": $fa-var-clock-three-thirty, - "ear-deaf": $fa-var-ear-deaf, - "deaf": $fa-var-deaf, - "deafness": $fa-var-deafness, - "hard-of-hearing": $fa-var-hard-of-hearing, - "alarm-clock": $fa-var-alarm-clock, - "eclipse": $fa-var-eclipse, - "face-relieved": $fa-var-face-relieved, - "road-circle-check": $fa-var-road-circle-check, - "dice-five": $fa-var-dice-five, - "octagon-minus": $fa-var-octagon-minus, - "minus-octagon": $fa-var-minus-octagon, - "square-rss": $fa-var-square-rss, - "rss-square": $fa-var-rss-square, - "face-zany": $fa-var-face-zany, - "tricycle": $fa-var-tricycle, - "land-mine-on": $fa-var-land-mine-on, - "square-arrow-up-left": $fa-var-square-arrow-up-left, - "i-cursor": $fa-var-i-cursor, - "salt-shaker": $fa-var-salt-shaker, - "stamp": $fa-var-stamp, - "file-plus": $fa-var-file-plus, - "draw-square": $fa-var-draw-square, - "toilet-paper-under-slash": $fa-var-toilet-paper-under-slash, - "toilet-paper-reverse-slash": $fa-var-toilet-paper-reverse-slash, - "stairs": $fa-var-stairs, - "drone-front": $fa-var-drone-front, - "drone-alt": $fa-var-drone-alt, - "glass-empty": $fa-var-glass-empty, - "dial-high": $fa-var-dial-high, - "user-helmet-safety": $fa-var-user-helmet-safety, - "user-construction": $fa-var-user-construction, - "user-hard-hat": $fa-var-user-hard-hat, - "i": $fa-var-i, - "hryvnia-sign": $fa-var-hryvnia-sign, - "hryvnia": $fa-var-hryvnia, - "arrow-down-left-and-arrow-up-right-to-center": $fa-var-arrow-down-left-and-arrow-up-right-to-center, - "pills": $fa-var-pills, - "face-grin-wide": $fa-var-face-grin-wide, - "grin-alt": $fa-var-grin-alt, - "tooth": $fa-var-tooth, - "basketball-hoop": $fa-var-basketball-hoop, - "objects-align-bottom": $fa-var-objects-align-bottom, - "v": $fa-var-v, - "sparkles": $fa-var-sparkles, - "squid": $fa-var-squid, - "leafy-green": $fa-var-leafy-green, - "circle-arrow-up-right": $fa-var-circle-arrow-up-right, - "calendars": $fa-var-calendars, - "bangladeshi-taka-sign": $fa-var-bangladeshi-taka-sign, - "bicycle": $fa-var-bicycle, - "hammer-war": $fa-var-hammer-war, - "circle-d": $fa-var-circle-d, - "spider-black-widow": $fa-var-spider-black-widow, - "staff-snake": $fa-var-staff-snake, - "rod-asclepius": $fa-var-rod-asclepius, - "rod-snake": $fa-var-rod-snake, - "staff-aesculapius": $fa-var-staff-aesculapius, - "pear": $fa-var-pear, - "head-side-cough-slash": $fa-var-head-side-cough-slash, - "triangle": $fa-var-triangle, - "apartment": $fa-var-apartment, - "truck-medical": $fa-var-truck-medical, - "ambulance": $fa-var-ambulance, - "pepper": $fa-var-pepper, - "piano": $fa-var-piano, - "gun-squirt": $fa-var-gun-squirt, - "wheat-awn-circle-exclamation": $fa-var-wheat-awn-circle-exclamation, - "snowman": $fa-var-snowman, - "user-alien": $fa-var-user-alien, - "shield-check": $fa-var-shield-check, - "mortar-pestle": $fa-var-mortar-pestle, - "road-barrier": $fa-var-road-barrier, - "chart-candlestick": $fa-var-chart-candlestick, - "briefcase-blank": $fa-var-briefcase-blank, - "school": $fa-var-school, - "igloo": $fa-var-igloo, - "bracket-round": $fa-var-bracket-round, - "parenthesis": $fa-var-parenthesis, - "joint": $fa-var-joint, - "horse-saddle": $fa-var-horse-saddle, - "mug-marshmallows": $fa-var-mug-marshmallows, - "filters": $fa-var-filters, - "bell-on": $fa-var-bell-on, - "angle-right": $fa-var-angle-right, - "dial-med": $fa-var-dial-med, - "horse": $fa-var-horse, - "q": $fa-var-q, - "monitor-waveform": $fa-var-monitor-waveform, - "monitor-heart-rate": $fa-var-monitor-heart-rate, - "link-simple": $fa-var-link-simple, - "whistle": $fa-var-whistle, - "g": $fa-var-g, - "wine-glass-crack": $fa-var-wine-glass-crack, - "fragile": $fa-var-fragile, - "slot-machine": $fa-var-slot-machine, - "notes-medical": $fa-var-notes-medical, - "car-wash": $fa-var-car-wash, - "escalator": $fa-var-escalator, - "comment-image": $fa-var-comment-image, - "temperature-half": $fa-var-temperature-half, - "temperature-2": $fa-var-temperature-2, - "thermometer-2": $fa-var-thermometer-2, - "thermometer-half": $fa-var-thermometer-half, - "dong-sign": $fa-var-dong-sign, - "donut": $fa-var-donut, - "doughnut": $fa-var-doughnut, - "capsules": $fa-var-capsules, - "poo-storm": $fa-var-poo-storm, - "poo-bolt": $fa-var-poo-bolt, - "tally-1": $fa-var-tally-1, - "face-frown-open": $fa-var-face-frown-open, - "frown-open": $fa-var-frown-open, - "square-dashed": $fa-var-square-dashed, - "square-j": $fa-var-square-j, - "hand-point-up": $fa-var-hand-point-up, - "money-bill": $fa-var-money-bill, - "arrow-up-big-small": $fa-var-arrow-up-big-small, - "sort-size-up": $fa-var-sort-size-up, - "barcode-read": $fa-var-barcode-read, - "baguette": $fa-var-baguette, - "bowl-soft-serve": $fa-var-bowl-soft-serve, - "face-holding-back-tears": $fa-var-face-holding-back-tears, - "square-up": $fa-var-square-up, - "arrow-alt-square-up": $fa-var-arrow-alt-square-up, - "train-subway-tunnel": $fa-var-train-subway-tunnel, - "subway-tunnel": $fa-var-subway-tunnel, - "square-exclamation": $fa-var-square-exclamation, - "exclamation-square": $fa-var-exclamation-square, - "semicolon": $fa-var-semicolon, - "bookmark": $fa-var-bookmark, - "fan-table": $fa-var-fan-table, - "align-justify": $fa-var-align-justify, - "battery-low": $fa-var-battery-low, - "battery-1": $fa-var-battery-1, - "credit-card-front": $fa-var-credit-card-front, - "brain-arrow-curved-right": $fa-var-brain-arrow-curved-right, - "mind-share": $fa-var-mind-share, - "umbrella-beach": $fa-var-umbrella-beach, - "helmet-un": $fa-var-helmet-un, - "location-smile": $fa-var-location-smile, - "map-marker-smile": $fa-var-map-marker-smile, - "arrow-left-to-line": $fa-var-arrow-left-to-line, - "arrow-to-left": $fa-var-arrow-to-left, - "bullseye": $fa-var-bullseye, - "sushi": $fa-var-sushi, - "nigiri": $fa-var-nigiri, - "message-captions": $fa-var-message-captions, - "comment-alt-captions": $fa-var-comment-alt-captions, - "trash-list": $fa-var-trash-list, - "bacon": $fa-var-bacon, - "option": $fa-var-option, - "hand-point-down": $fa-var-hand-point-down, - "arrow-up-from-bracket": $fa-var-arrow-up-from-bracket, - "trash-plus": $fa-var-trash-plus, - "objects-align-top": $fa-var-objects-align-top, - "folder": $fa-var-folder, - "folder-blank": $fa-var-folder-blank, - "face-anxious-sweat": $fa-var-face-anxious-sweat, - "credit-card-blank": $fa-var-credit-card-blank, - "file-waveform": $fa-var-file-waveform, - "file-medical-alt": $fa-var-file-medical-alt, - "microchip-ai": $fa-var-microchip-ai, - "mug": $fa-var-mug, - "plane-up-slash": $fa-var-plane-up-slash, - "radiation": $fa-var-radiation, - "pen-circle": $fa-var-pen-circle, - "chart-simple": $fa-var-chart-simple, - "crutches": $fa-var-crutches, - "circle-parking": $fa-var-circle-parking, - "parking-circle": $fa-var-parking-circle, - "mars-stroke": $fa-var-mars-stroke, - "leaf-oak": $fa-var-leaf-oak, - "square-bolt": $fa-var-square-bolt, - "vial": $fa-var-vial, - "gauge": $fa-var-gauge, - "dashboard": $fa-var-dashboard, - "gauge-med": $fa-var-gauge-med, - "tachometer-alt-average": $fa-var-tachometer-alt-average, - "wand-magic-sparkles": $fa-var-wand-magic-sparkles, - "magic-wand-sparkles": $fa-var-magic-wand-sparkles, - "lambda": $fa-var-lambda, - "e": $fa-var-e, - "pizza": $fa-var-pizza, - "bowl-chopsticks-noodles": $fa-var-bowl-chopsticks-noodles, - "h3": $fa-var-h3, - "pen-clip": $fa-var-pen-clip, - "pen-alt": $fa-var-pen-alt, - "bridge-circle-exclamation": $fa-var-bridge-circle-exclamation, - "badge-percent": $fa-var-badge-percent, - "user": $fa-var-user, - "sensor": $fa-var-sensor, - "comma": $fa-var-comma, - "school-circle-check": $fa-var-school-circle-check, - "toilet-paper-under": $fa-var-toilet-paper-under, - "toilet-paper-reverse": $fa-var-toilet-paper-reverse, - "light-emergency": $fa-var-light-emergency, - "arrow-down-to-arc": $fa-var-arrow-down-to-arc, - "dumpster": $fa-var-dumpster, - "van-shuttle": $fa-var-van-shuttle, - "shuttle-van": $fa-var-shuttle-van, - "building-user": $fa-var-building-user, - "light-switch": $fa-var-light-switch, - "square-caret-left": $fa-var-square-caret-left, - "caret-square-left": $fa-var-caret-square-left, - "highlighter": $fa-var-highlighter, - "wave-pulse": $fa-var-wave-pulse, - "heart-rate": $fa-var-heart-rate, - "key": $fa-var-key, - "hat-santa": $fa-var-hat-santa, - "tamale": $fa-var-tamale, - "box-check": $fa-var-box-check, - "bullhorn": $fa-var-bullhorn, - "steak": $fa-var-steak, - "location-crosshairs-slash": $fa-var-location-crosshairs-slash, - "location-slash": $fa-var-location-slash, - "person-dolly": $fa-var-person-dolly, - "globe": $fa-var-globe, - "synagogue": $fa-var-synagogue, - "file-chart-column": $fa-var-file-chart-column, - "file-chart-line": $fa-var-file-chart-line, - "person-half-dress": $fa-var-person-half-dress, - "folder-image": $fa-var-folder-image, - "calendar-pen": $fa-var-calendar-pen, - "calendar-edit": $fa-var-calendar-edit, - "road-bridge": $fa-var-road-bridge, - "face-smile-tear": $fa-var-face-smile-tear, - "message-plus": $fa-var-message-plus, - "comment-alt-plus": $fa-var-comment-alt-plus, - "location-arrow": $fa-var-location-arrow, - "c": $fa-var-c, - "tablet-button": $fa-var-tablet-button, - "rectangle-history-circle-user": $fa-var-rectangle-history-circle-user, - "building-lock": $fa-var-building-lock, - "chart-line-up": $fa-var-chart-line-up, - "mailbox": $fa-var-mailbox, - "truck-bolt": $fa-var-truck-bolt, - "pizza-slice": $fa-var-pizza-slice, - "money-bill-wave": $fa-var-money-bill-wave, - "chart-area": $fa-var-chart-area, - "area-chart": $fa-var-area-chart, - "house-flag": $fa-var-house-flag, - "person-circle-minus": $fa-var-person-circle-minus, - "scalpel": $fa-var-scalpel, - "ban": $fa-var-ban, - "cancel": $fa-var-cancel, - "bell-exclamation": $fa-var-bell-exclamation, - "circle-bookmark": $fa-var-circle-bookmark, - "bookmark-circle": $fa-var-bookmark-circle, - "egg-fried": $fa-var-egg-fried, - "face-weary": $fa-var-face-weary, - "uniform-martial-arts": $fa-var-uniform-martial-arts, - "camera-rotate": $fa-var-camera-rotate, - "sun-dust": $fa-var-sun-dust, - "comment-text": $fa-var-comment-text, - "spray-can-sparkles": $fa-var-spray-can-sparkles, - "air-freshener": $fa-var-air-freshener, - "signal-bars": $fa-var-signal-bars, - "signal-alt": $fa-var-signal-alt, - "signal-alt-4": $fa-var-signal-alt-4, - "signal-bars-strong": $fa-var-signal-bars-strong, - "diamond-exclamation": $fa-var-diamond-exclamation, - "star": $fa-var-star, - "dial-min": $fa-var-dial-min, - "repeat": $fa-var-repeat, - "cross": $fa-var-cross, - "page-caret-down": $fa-var-page-caret-down, - "file-caret-down": $fa-var-file-caret-down, - "box": $fa-var-box, - "venus-mars": $fa-var-venus-mars, - "clock-seven-thirty": $fa-var-clock-seven-thirty, - "arrow-pointer": $fa-var-arrow-pointer, - "mouse-pointer": $fa-var-mouse-pointer, - "clock-four-thirty": $fa-var-clock-four-thirty, - "signal-bars-good": $fa-var-signal-bars-good, - "signal-alt-3": $fa-var-signal-alt-3, - "cactus": $fa-var-cactus, - "maximize": $fa-var-maximize, - "expand-arrows-alt": $fa-var-expand-arrows-alt, - "charging-station": $fa-var-charging-station, - "shapes": $fa-var-shapes, - "triangle-circle-square": $fa-var-triangle-circle-square, - "plane-tail": $fa-var-plane-tail, - "gauge-simple-max": $fa-var-gauge-simple-max, - "tachometer-fastest": $fa-var-tachometer-fastest, - "circle-u": $fa-var-circle-u, - "shield-slash": $fa-var-shield-slash, - "square-phone-hangup": $fa-var-square-phone-hangup, - "phone-square-down": $fa-var-phone-square-down, - "arrow-up-left": $fa-var-arrow-up-left, - "transporter-1": $fa-var-transporter-1, - "peanuts": $fa-var-peanuts, - "shuffle": $fa-var-shuffle, - "random": $fa-var-random, - "person-running": $fa-var-person-running, - "running": $fa-var-running, - "mobile-retro": $fa-var-mobile-retro, - "grip-lines-vertical": $fa-var-grip-lines-vertical, - "arrow-up-from-square": $fa-var-arrow-up-from-square, - "file-dashed-line": $fa-var-file-dashed-line, - "page-break": $fa-var-page-break, - "bracket-curly-right": $fa-var-bracket-curly-right, - "spider": $fa-var-spider, - "clock-three": $fa-var-clock-three, - "hands-bound": $fa-var-hands-bound, - "scalpel-line-dashed": $fa-var-scalpel-line-dashed, - "scalpel-path": $fa-var-scalpel-path, - "file-invoice-dollar": $fa-var-file-invoice-dollar, - "pipe-smoking": $fa-var-pipe-smoking, - "face-astonished": $fa-var-face-astonished, - "window": $fa-var-window, - "plane-circle-exclamation": $fa-var-plane-circle-exclamation, - "ear": $fa-var-ear, - "file-lock": $fa-var-file-lock, - "diagram-venn": $fa-var-diagram-venn, - "x-ray": $fa-var-x-ray, - "goal-net": $fa-var-goal-net, - "coffin-cross": $fa-var-coffin-cross, - "spell-check": $fa-var-spell-check, - "location-xmark": $fa-var-location-xmark, - "map-marker-times": $fa-var-map-marker-times, - "map-marker-xmark": $fa-var-map-marker-xmark, - "lasso": $fa-var-lasso, - "slash": $fa-var-slash, - "person-to-portal": $fa-var-person-to-portal, - "portal-enter": $fa-var-portal-enter, - "calendar-star": $fa-var-calendar-star, - "computer-mouse": $fa-var-computer-mouse, - "mouse": $fa-var-mouse, - "arrow-right-to-bracket": $fa-var-arrow-right-to-bracket, - "sign-in": $fa-var-sign-in, - "pegasus": $fa-var-pegasus, - "files-medical": $fa-var-files-medical, - "nfc-lock": $fa-var-nfc-lock, - "person-ski-lift": $fa-var-person-ski-lift, - "ski-lift": $fa-var-ski-lift, - "square-6": $fa-var-square-6, - "shop-slash": $fa-var-shop-slash, - "store-alt-slash": $fa-var-store-alt-slash, - "wind-turbine": $fa-var-wind-turbine, - "sliders-simple": $fa-var-sliders-simple, - "badge-sheriff": $fa-var-badge-sheriff, - "server": $fa-var-server, - "virus-covid-slash": $fa-var-virus-covid-slash, - "intersection": $fa-var-intersection, - "shop-lock": $fa-var-shop-lock, - "family": $fa-var-family, - "hourglass-start": $fa-var-hourglass-start, - "hourglass-1": $fa-var-hourglass-1, - "user-hair-buns": $fa-var-user-hair-buns, - "blender-phone": $fa-var-blender-phone, - "hourglass-clock": $fa-var-hourglass-clock, - "person-seat-reclined": $fa-var-person-seat-reclined, - "paper-plane-top": $fa-var-paper-plane-top, - "paper-plane-alt": $fa-var-paper-plane-alt, - "send": $fa-var-send, - "message-arrow-up": $fa-var-message-arrow-up, - "comment-alt-arrow-up": $fa-var-comment-alt-arrow-up, - "lightbulb-exclamation": $fa-var-lightbulb-exclamation, - "layer-minus": $fa-var-layer-minus, - "layer-group-minus": $fa-var-layer-group-minus, - "circle-e": $fa-var-circle-e, - "building-wheat": $fa-var-building-wheat, - "gauge-max": $fa-var-gauge-max, - "tachometer-alt-fastest": $fa-var-tachometer-alt-fastest, - "person-breastfeeding": $fa-var-person-breastfeeding, - "apostrophe": $fa-var-apostrophe, - "fire-hydrant": $fa-var-fire-hydrant, - "right-to-bracket": $fa-var-right-to-bracket, - "sign-in-alt": $fa-var-sign-in-alt, - "video-plus": $fa-var-video-plus, - "square-right": $fa-var-square-right, - "arrow-alt-square-right": $fa-var-arrow-alt-square-right, - "comment-smile": $fa-var-comment-smile, - "venus": $fa-var-venus, - "passport": $fa-var-passport, - "inbox-in": $fa-var-inbox-in, - "inbox-arrow-down": $fa-var-inbox-arrow-down, - "heart-pulse": $fa-var-heart-pulse, - "heartbeat": $fa-var-heartbeat, - "circle-8": $fa-var-circle-8, - "clouds-moon": $fa-var-clouds-moon, - "clock-ten-thirty": $fa-var-clock-ten-thirty, - "people-carry-box": $fa-var-people-carry-box, - "people-carry": $fa-var-people-carry, - "folder-user": $fa-var-folder-user, - "trash-can-xmark": $fa-var-trash-can-xmark, - "temperature-high": $fa-var-temperature-high, - "microchip": $fa-var-microchip, - "left-long-to-line": $fa-var-left-long-to-line, - "crown": $fa-var-crown, - "weight-hanging": $fa-var-weight-hanging, - "xmarks-lines": $fa-var-xmarks-lines, - "file-prescription": $fa-var-file-prescription, - "calendar-range": $fa-var-calendar-range, - "flower-daffodil": $fa-var-flower-daffodil, - "hand-back-point-up": $fa-var-hand-back-point-up, - "weight-scale": $fa-var-weight-scale, - "weight": $fa-var-weight, - "star-exclamation": $fa-var-star-exclamation, - "books": $fa-var-books, - "user-group": $fa-var-user-group, - "user-friends": $fa-var-user-friends, - "arrow-up-a-z": $fa-var-arrow-up-a-z, - "sort-alpha-up": $fa-var-sort-alpha-up, - "layer-plus": $fa-var-layer-plus, - "layer-group-plus": $fa-var-layer-group-plus, - "play-pause": $fa-var-play-pause, - "block-question": $fa-var-block-question, - "snooze": $fa-var-snooze, - "zzz": $fa-var-zzz, - "scanner-image": $fa-var-scanner-image, - "tv-retro": $fa-var-tv-retro, - "square-t": $fa-var-square-t, - "farm": $fa-var-farm, - "barn-silo": $fa-var-barn-silo, - "chess-knight": $fa-var-chess-knight, - "bars-sort": $fa-var-bars-sort, - "pallet-boxes": $fa-var-pallet-boxes, - "palette-boxes": $fa-var-palette-boxes, - "pallet-alt": $fa-var-pallet-alt, - "face-laugh-squint": $fa-var-face-laugh-squint, - "laugh-squint": $fa-var-laugh-squint, - "code-simple": $fa-var-code-simple, - "bolt-slash": $fa-var-bolt-slash, - "panel-fire": $fa-var-panel-fire, - "binary-circle-check": $fa-var-binary-circle-check, - "comment-minus": $fa-var-comment-minus, - "burrito": $fa-var-burrito, - "violin": $fa-var-violin, - "objects-column": $fa-var-objects-column, - "square-chevron-down": $fa-var-square-chevron-down, - "chevron-square-down": $fa-var-chevron-square-down, - "comment-plus": $fa-var-comment-plus, - "triangle-instrument": $fa-var-triangle-instrument, - "triangle-music": $fa-var-triangle-music, - "wheelchair": $fa-var-wheelchair, - "user-pilot-tie": $fa-var-user-pilot-tie, - "piano-keyboard": $fa-var-piano-keyboard, - "bed-empty": $fa-var-bed-empty, - "circle-arrow-up": $fa-var-circle-arrow-up, - "arrow-circle-up": $fa-var-arrow-circle-up, - "toggle-on": $fa-var-toggle-on, - "rectangle-vertical": $fa-var-rectangle-vertical, - "rectangle-portrait": $fa-var-rectangle-portrait, - "person-walking": $fa-var-person-walking, - "walking": $fa-var-walking, - "l": $fa-var-l, - "signal-stream": $fa-var-signal-stream, - "down-to-bracket": $fa-var-down-to-bracket, - "circle-z": $fa-var-circle-z, - "stars": $fa-var-stars, - "fire": $fa-var-fire, - "bed-pulse": $fa-var-bed-pulse, - "procedures": $fa-var-procedures, - "house-day": $fa-var-house-day, - "shuttle-space": $fa-var-shuttle-space, - "space-shuttle": $fa-var-space-shuttle, - "shirt-long-sleeve": $fa-var-shirt-long-sleeve, - "chart-pie-simple": $fa-var-chart-pie-simple, - "chart-pie-alt": $fa-var-chart-pie-alt, - "face-laugh": $fa-var-face-laugh, - "laugh": $fa-var-laugh, - "folder-open": $fa-var-folder-open, - "album-collection-circle-user": $fa-var-album-collection-circle-user, - "candy": $fa-var-candy, - "bowl-hot": $fa-var-bowl-hot, - "soup": $fa-var-soup, - "flatbread": $fa-var-flatbread, - "heart-circle-plus": $fa-var-heart-circle-plus, - "code-fork": $fa-var-code-fork, - "city": $fa-var-city, - "signal-bars-weak": $fa-var-signal-bars-weak, - "signal-alt-1": $fa-var-signal-alt-1, - "microphone-lines": $fa-var-microphone-lines, - "microphone-alt": $fa-var-microphone-alt, - "clock-twelve": $fa-var-clock-twelve, - "pepper-hot": $fa-var-pepper-hot, - "citrus-slice": $fa-var-citrus-slice, - "sheep": $fa-var-sheep, - "unlock": $fa-var-unlock, - "colon-sign": $fa-var-colon-sign, - "headset": $fa-var-headset, - "badger-honey": $fa-var-badger-honey, - "h4": $fa-var-h4, - "store-slash": $fa-var-store-slash, - "road-circle-xmark": $fa-var-road-circle-xmark, - "signal-slash": $fa-var-signal-slash, - "user-minus": $fa-var-user-minus, - "mars-stroke-up": $fa-var-mars-stroke-up, - "mars-stroke-v": $fa-var-mars-stroke-v, - "champagne-glasses": $fa-var-champagne-glasses, - "glass-cheers": $fa-var-glass-cheers, - "taco": $fa-var-taco, - "hexagon-plus": $fa-var-hexagon-plus, - "plus-hexagon": $fa-var-plus-hexagon, - "clipboard": $fa-var-clipboard, - "house-circle-exclamation": $fa-var-house-circle-exclamation, - "file-arrow-up": $fa-var-file-arrow-up, - "file-upload": $fa-var-file-upload, - "wifi": $fa-var-wifi, - "wifi-3": $fa-var-wifi-3, - "wifi-strong": $fa-var-wifi-strong, - "messages": $fa-var-messages, - "comments-alt": $fa-var-comments-alt, - "bath": $fa-var-bath, - "bathtub": $fa-var-bathtub, - "umbrella-simple": $fa-var-umbrella-simple, - "umbrella-alt": $fa-var-umbrella-alt, - "rectangle-history-circle-plus": $fa-var-rectangle-history-circle-plus, - "underline": $fa-var-underline, - "prescription-bottle-pill": $fa-var-prescription-bottle-pill, - "user-pen": $fa-var-user-pen, - "user-edit": $fa-var-user-edit, - "binary-slash": $fa-var-binary-slash, - "square-o": $fa-var-square-o, - "signature": $fa-var-signature, - "stroopwafel": $fa-var-stroopwafel, - "bold": $fa-var-bold, - "anchor-lock": $fa-var-anchor-lock, - "building-ngo": $fa-var-building-ngo, - "transporter-3": $fa-var-transporter-3, - "engine-warning": $fa-var-engine-warning, - "engine-exclamation": $fa-var-engine-exclamation, - "circle-down-right": $fa-var-circle-down-right, - "square-k": $fa-var-square-k, - "manat-sign": $fa-var-manat-sign, - "money-check-pen": $fa-var-money-check-pen, - "money-check-edit": $fa-var-money-check-edit, - "not-equal": $fa-var-not-equal, - "border-top-left": $fa-var-border-top-left, - "border-style": $fa-var-border-style, - "map-location-dot": $fa-var-map-location-dot, - "map-marked-alt": $fa-var-map-marked-alt, - "tilde": $fa-var-tilde, - "jedi": $fa-var-jedi, - "square-poll-vertical": $fa-var-square-poll-vertical, - "poll": $fa-var-poll, - "arrow-down-square-triangle": $fa-var-arrow-down-square-triangle, - "sort-shapes-down-alt": $fa-var-sort-shapes-down-alt, - "mug-hot": $fa-var-mug-hot, - "dog-leashed": $fa-var-dog-leashed, - "car-battery": $fa-var-car-battery, - "battery-car": $fa-var-battery-car, - "face-downcast-sweat": $fa-var-face-downcast-sweat, - "mailbox-flag-up": $fa-var-mailbox-flag-up, - "memo-circle-info": $fa-var-memo-circle-info, - "gift": $fa-var-gift, - "dice-two": $fa-var-dice-two, - "volume": $fa-var-volume, - "volume-medium": $fa-var-volume-medium, - "transporter-5": $fa-var-transporter-5, - "gauge-circle-bolt": $fa-var-gauge-circle-bolt, - "coin-front": $fa-var-coin-front, - "file-slash": $fa-var-file-slash, - "message-arrow-up-right": $fa-var-message-arrow-up-right, - "treasure-chest": $fa-var-treasure-chest, - "chess-queen": $fa-var-chess-queen, - "paintbrush-fine": $fa-var-paintbrush-fine, - "paint-brush-alt": $fa-var-paint-brush-alt, - "paint-brush-fine": $fa-var-paint-brush-fine, - "paintbrush-alt": $fa-var-paintbrush-alt, - "glasses": $fa-var-glasses, - "hood-cloak": $fa-var-hood-cloak, - "square-quote": $fa-var-square-quote, - "up-left": $fa-var-up-left, - "bring-front": $fa-var-bring-front, - "chess-board": $fa-var-chess-board, - "burger-cheese": $fa-var-burger-cheese, - "cheeseburger": $fa-var-cheeseburger, - "building-circle-check": $fa-var-building-circle-check, - "repeat-1": $fa-var-repeat-1, - "arrow-down-to-line": $fa-var-arrow-down-to-line, - "arrow-to-bottom": $fa-var-arrow-to-bottom, - "grid-5": $fa-var-grid-5, - "right-long-to-line": $fa-var-right-long-to-line, - "person-chalkboard": $fa-var-person-chalkboard, - "mars-stroke-right": $fa-var-mars-stroke-right, - "mars-stroke-h": $fa-var-mars-stroke-h, - "hand-back-fist": $fa-var-hand-back-fist, - "hand-rock": $fa-var-hand-rock, - "tally": $fa-var-tally, - "tally-5": $fa-var-tally-5, - "square-caret-up": $fa-var-square-caret-up, - "caret-square-up": $fa-var-caret-square-up, - "cloud-showers-water": $fa-var-cloud-showers-water, - "chart-bar": $fa-var-chart-bar, - "bar-chart": $fa-var-bar-chart, - "hands-bubbles": $fa-var-hands-bubbles, - "hands-wash": $fa-var-hands-wash, - "less-than-equal": $fa-var-less-than-equal, - "train": $fa-var-train, - "up-from-dotted-line": $fa-var-up-from-dotted-line, - "eye-low-vision": $fa-var-eye-low-vision, - "low-vision": $fa-var-low-vision, - "traffic-light-go": $fa-var-traffic-light-go, - "face-exhaling": $fa-var-face-exhaling, - "sensor-fire": $fa-var-sensor-fire, - "user-unlock": $fa-var-user-unlock, - "hexagon-divide": $fa-var-hexagon-divide, - "00": $fa-var-00, - "crow": $fa-var-crow, - "cassette-betamax": $fa-var-cassette-betamax, - "betamax": $fa-var-betamax, - "sailboat": $fa-var-sailboat, - "window-restore": $fa-var-window-restore, - "nfc-magnifying-glass": $fa-var-nfc-magnifying-glass, - "file-binary": $fa-var-file-binary, - "circle-v": $fa-var-circle-v, - "square-plus": $fa-var-square-plus, - "plus-square": $fa-var-plus-square, - "bowl-scoops": $fa-var-bowl-scoops, - "mistletoe": $fa-var-mistletoe, - "custard": $fa-var-custard, - "lacrosse-stick": $fa-var-lacrosse-stick, - "hockey-mask": $fa-var-hockey-mask, - "sunrise": $fa-var-sunrise, - "panel-ews": $fa-var-panel-ews, - "torii-gate": $fa-var-torii-gate, - "cloud-exclamation": $fa-var-cloud-exclamation, - "message-lines": $fa-var-message-lines, - "comment-alt-lines": $fa-var-comment-alt-lines, - "frog": $fa-var-frog, - "bucket": $fa-var-bucket, - "floppy-disk-pen": $fa-var-floppy-disk-pen, - "image": $fa-var-image, - "window-frame": $fa-var-window-frame, - "microphone": $fa-var-microphone, - "cow": $fa-var-cow, - "square-ring": $fa-var-square-ring, - "down-from-line": $fa-var-down-from-line, - "arrow-alt-from-top": $fa-var-arrow-alt-from-top, - "caret-up": $fa-var-caret-up, - "shield-xmark": $fa-var-shield-xmark, - "shield-times": $fa-var-shield-times, - "screwdriver": $fa-var-screwdriver, - "circle-sort-down": $fa-var-circle-sort-down, - "sort-circle-down": $fa-var-sort-circle-down, - "folder-closed": $fa-var-folder-closed, - "house-tsunami": $fa-var-house-tsunami, - "square-nfi": $fa-var-square-nfi, - "forklift": $fa-var-forklift, - "arrow-up-from-ground-water": $fa-var-arrow-up-from-ground-water, - "bracket-square-right": $fa-var-bracket-square-right, - "martini-glass": $fa-var-martini-glass, - "glass-martini-alt": $fa-var-glass-martini-alt, - "rotate-left": $fa-var-rotate-left, - "rotate-back": $fa-var-rotate-back, - "rotate-backward": $fa-var-rotate-backward, - "undo-alt": $fa-var-undo-alt, - "table-columns": $fa-var-table-columns, - "columns": $fa-var-columns, - "square-a": $fa-var-square-a, - "tick": $fa-var-tick, - "lemon": $fa-var-lemon, - "head-side-mask": $fa-var-head-side-mask, - "handshake": $fa-var-handshake, - "gem": $fa-var-gem, - "dolly": $fa-var-dolly, - "dolly-box": $fa-var-dolly-box, - "smoking": $fa-var-smoking, - "minimize": $fa-var-minimize, - "compress-arrows-alt": $fa-var-compress-arrows-alt, - "refrigerator": $fa-var-refrigerator, - "monument": $fa-var-monument, - "octagon-xmark": $fa-var-octagon-xmark, - "times-octagon": $fa-var-times-octagon, - "xmark-octagon": $fa-var-xmark-octagon, - "align-slash": $fa-var-align-slash, - "snowplow": $fa-var-snowplow, - "angles-right": $fa-var-angles-right, - "angle-double-right": $fa-var-angle-double-right, - "truck-ramp-couch": $fa-var-truck-ramp-couch, - "truck-couch": $fa-var-truck-couch, - "cannabis": $fa-var-cannabis, - "circle-play": $fa-var-circle-play, - "play-circle": $fa-var-play-circle, - "arrow-up-right-and-arrow-down-left-from-center": $fa-var-arrow-up-right-and-arrow-down-left-from-center, - "tablets": $fa-var-tablets, - "360-degrees": $fa-var-360-degrees, - "ethernet": $fa-var-ethernet, - "euro-sign": $fa-var-euro-sign, - "eur": $fa-var-eur, - "euro": $fa-var-euro, - "chair": $fa-var-chair, - "circle-check": $fa-var-circle-check, - "check-circle": $fa-var-check-circle, - "square-dashed-circle-plus": $fa-var-square-dashed-circle-plus, - "money-simple-from-bracket": $fa-var-money-simple-from-bracket, - "bat": $fa-var-bat, - "circle-stop": $fa-var-circle-stop, - "stop-circle": $fa-var-stop-circle, - "head-side-headphones": $fa-var-head-side-headphones, - "phone-rotary": $fa-var-phone-rotary, - "compass-drafting": $fa-var-compass-drafting, - "drafting-compass": $fa-var-drafting-compass, - "plate-wheat": $fa-var-plate-wheat, - "calendar-circle-minus": $fa-var-calendar-circle-minus, - "chopsticks": $fa-var-chopsticks, - "car-wrench": $fa-var-car-wrench, - "car-mechanic": $fa-var-car-mechanic, - "icicles": $fa-var-icicles, - "person-shelter": $fa-var-person-shelter, - "neuter": $fa-var-neuter, - "id-badge": $fa-var-id-badge, - "kazoo": $fa-var-kazoo, - "marker": $fa-var-marker, - "face-laugh-beam": $fa-var-face-laugh-beam, - "laugh-beam": $fa-var-laugh-beam, - "square-arrow-down-left": $fa-var-square-arrow-down-left, - "battery-bolt": $fa-var-battery-bolt, - "tree-large": $fa-var-tree-large, - "helicopter-symbol": $fa-var-helicopter-symbol, - "aperture": $fa-var-aperture, - "universal-access": $fa-var-universal-access, - "file-magnifying-glass": $fa-var-file-magnifying-glass, - "file-search": $fa-var-file-search, - "up-right": $fa-var-up-right, - "circle-chevron-up": $fa-var-circle-chevron-up, - "chevron-circle-up": $fa-var-chevron-circle-up, - "user-police": $fa-var-user-police, - "lari-sign": $fa-var-lari-sign, - "volcano": $fa-var-volcano, - "teddy-bear": $fa-var-teddy-bear, - "stocking": $fa-var-stocking, - "person-walking-dashed-line-arrow-right": $fa-var-person-walking-dashed-line-arrow-right, - "image-slash": $fa-var-image-slash, - "mask-snorkel": $fa-var-mask-snorkel, - "smoke": $fa-var-smoke, - "sterling-sign": $fa-var-sterling-sign, - "gbp": $fa-var-gbp, - "pound-sign": $fa-var-pound-sign, - "battery-exclamation": $fa-var-battery-exclamation, - "viruses": $fa-var-viruses, - "square-person-confined": $fa-var-square-person-confined, - "user-tie": $fa-var-user-tie, - "arrow-down-long": $fa-var-arrow-down-long, - "long-arrow-down": $fa-var-long-arrow-down, - "tent-arrow-down-to-line": $fa-var-tent-arrow-down-to-line, - "certificate": $fa-var-certificate, - "crystal-ball": $fa-var-crystal-ball, - "reply-all": $fa-var-reply-all, - "mail-reply-all": $fa-var-mail-reply-all, - "suitcase": $fa-var-suitcase, - "person-skating": $fa-var-person-skating, - "skating": $fa-var-skating, - "star-shooting": $fa-var-star-shooting, - "binary-lock": $fa-var-binary-lock, - "filter-circle-dollar": $fa-var-filter-circle-dollar, - "funnel-dollar": $fa-var-funnel-dollar, - "camera-retro": $fa-var-camera-retro, - "circle-arrow-down": $fa-var-circle-arrow-down, - "arrow-circle-down": $fa-var-arrow-circle-down, - "comment-pen": $fa-var-comment-pen, - "comment-edit": $fa-var-comment-edit, - "file-import": $fa-var-file-import, - "arrow-right-to-file": $fa-var-arrow-right-to-file, - "banjo": $fa-var-banjo, - "square-arrow-up-right": $fa-var-square-arrow-up-right, - "external-link-square": $fa-var-external-link-square, - "light-emergency-on": $fa-var-light-emergency-on, - "kerning": $fa-var-kerning, - "box-open": $fa-var-box-open, - "square-f": $fa-var-square-f, - "scroll": $fa-var-scroll, - "spa": $fa-var-spa, - "arrow-left-from-line": $fa-var-arrow-left-from-line, - "arrow-from-right": $fa-var-arrow-from-right, - "strawberry": $fa-var-strawberry, - "location-pin-lock": $fa-var-location-pin-lock, - "pause": $fa-var-pause, - "clock-eight-thirty": $fa-var-clock-eight-thirty, - "plane-engines": $fa-var-plane-engines, - "plane-alt": $fa-var-plane-alt, - "hill-avalanche": $fa-var-hill-avalanche, - "temperature-empty": $fa-var-temperature-empty, - "temperature-0": $fa-var-temperature-0, - "thermometer-0": $fa-var-thermometer-0, - "thermometer-empty": $fa-var-thermometer-empty, - "bomb": $fa-var-bomb, - "gauge-low": $fa-var-gauge-low, - "tachometer-alt-slow": $fa-var-tachometer-alt-slow, - "registered": $fa-var-registered, - "trash-can-plus": $fa-var-trash-can-plus, - "address-card": $fa-var-address-card, - "contact-card": $fa-var-contact-card, - "vcard": $fa-var-vcard, - "scale-unbalanced-flip": $fa-var-scale-unbalanced-flip, - "balance-scale-right": $fa-var-balance-scale-right, - "globe-snow": $fa-var-globe-snow, - "subscript": $fa-var-subscript, - "diamond-turn-right": $fa-var-diamond-turn-right, - "directions": $fa-var-directions, - "integral": $fa-var-integral, - "burst": $fa-var-burst, - "house-laptop": $fa-var-house-laptop, - "laptop-house": $fa-var-laptop-house, - "face-tired": $fa-var-face-tired, - "tired": $fa-var-tired, - "money-bills": $fa-var-money-bills, - "blinds-raised": $fa-var-blinds-raised, - "smog": $fa-var-smog, - "ufo-beam": $fa-var-ufo-beam, - "circle-caret-up": $fa-var-circle-caret-up, - "caret-circle-up": $fa-var-caret-circle-up, - "user-vneck-hair-long": $fa-var-user-vneck-hair-long, - "square-a-lock": $fa-var-square-a-lock, - "crutch": $fa-var-crutch, - "gas-pump-slash": $fa-var-gas-pump-slash, - "cloud-arrow-up": $fa-var-cloud-arrow-up, - "cloud-upload": $fa-var-cloud-upload, - "cloud-upload-alt": $fa-var-cloud-upload-alt, - "palette": $fa-var-palette, - "transporter-4": $fa-var-transporter-4, - "objects-align-right": $fa-var-objects-align-right, - "arrows-turn-right": $fa-var-arrows-turn-right, - "vest": $fa-var-vest, - "pig": $fa-var-pig, - "inbox-full": $fa-var-inbox-full, - "circle-envelope": $fa-var-circle-envelope, - "envelope-circle": $fa-var-envelope-circle, - "triangle-person-digging": $fa-var-triangle-person-digging, - "construction": $fa-var-construction, - "ferry": $fa-var-ferry, - "bullseye-arrow": $fa-var-bullseye-arrow, - "arrows-down-to-people": $fa-var-arrows-down-to-people, - "seedling": $fa-var-seedling, - "sprout": $fa-var-sprout, - "clock-seven": $fa-var-clock-seven, - "left-right": $fa-var-left-right, - "arrows-alt-h": $fa-var-arrows-alt-h, - "boxes-packing": $fa-var-boxes-packing, - "circle-arrow-left": $fa-var-circle-arrow-left, - "arrow-circle-left": $fa-var-arrow-circle-left, - "flashlight": $fa-var-flashlight, - "group-arrows-rotate": $fa-var-group-arrows-rotate, - "bowl-food": $fa-var-bowl-food, - "square-9": $fa-var-square-9, - "candy-cane": $fa-var-candy-cane, - "arrow-down-wide-short": $fa-var-arrow-down-wide-short, - "sort-amount-asc": $fa-var-sort-amount-asc, - "sort-amount-down": $fa-var-sort-amount-down, - "square-dollar": $fa-var-square-dollar, - "dollar-square": $fa-var-dollar-square, - "usd-square": $fa-var-usd-square, - "phone-arrow-right": $fa-var-phone-arrow-right, - "hand-holding-seedling": $fa-var-hand-holding-seedling, - "message-check": $fa-var-message-check, - "comment-alt-check": $fa-var-comment-alt-check, - "cloud-bolt": $fa-var-cloud-bolt, - "thunderstorm": $fa-var-thunderstorm, - "text-slash": $fa-var-text-slash, - "remove-format": $fa-var-remove-format, - "watch": $fa-var-watch, - "circle-down-left": $fa-var-circle-down-left, - "text": $fa-var-text, - "projector": $fa-var-projector, - "face-smile-wink": $fa-var-face-smile-wink, - "smile-wink": $fa-var-smile-wink, - "tombstone-blank": $fa-var-tombstone-blank, - "tombstone-alt": $fa-var-tombstone-alt, - "chess-king-piece": $fa-var-chess-king-piece, - "chess-king-alt": $fa-var-chess-king-alt, - "circle-6": $fa-var-circle-6, - "left": $fa-var-left, - "arrow-alt-left": $fa-var-arrow-alt-left, - "file-word": $fa-var-file-word, - "file-powerpoint": $fa-var-file-powerpoint, - "square-down": $fa-var-square-down, - "arrow-alt-square-down": $fa-var-arrow-alt-square-down, - "objects-align-center-vertical": $fa-var-objects-align-center-vertical, - "arrows-left-right": $fa-var-arrows-left-right, - "arrows-h": $fa-var-arrows-h, - "house-lock": $fa-var-house-lock, - "cloud-arrow-down": $fa-var-cloud-arrow-down, - "cloud-download": $fa-var-cloud-download, - "cloud-download-alt": $fa-var-cloud-download-alt, - "wreath": $fa-var-wreath, - "children": $fa-var-children, - "meter-droplet": $fa-var-meter-droplet, - "chalkboard": $fa-var-chalkboard, - "blackboard": $fa-var-blackboard, - "user-large-slash": $fa-var-user-large-slash, - "user-alt-slash": $fa-var-user-alt-slash, - "signal-strong": $fa-var-signal-strong, - "signal-4": $fa-var-signal-4, - "lollipop": $fa-var-lollipop, - "lollypop": $fa-var-lollypop, - "list-tree": $fa-var-list-tree, - "envelope-open": $fa-var-envelope-open, - "draw-circle": $fa-var-draw-circle, - "cat-space": $fa-var-cat-space, - "handshake-simple-slash": $fa-var-handshake-simple-slash, - "handshake-alt-slash": $fa-var-handshake-alt-slash, - "rabbit-running": $fa-var-rabbit-running, - "rabbit-fast": $fa-var-rabbit-fast, - "memo-pad": $fa-var-memo-pad, - "mattress-pillow": $fa-var-mattress-pillow, - "alarm-plus": $fa-var-alarm-plus, - "alicorn": $fa-var-alicorn, - "comment-question": $fa-var-comment-question, - "gingerbread-man": $fa-var-gingerbread-man, - "guarani-sign": $fa-var-guarani-sign, - "burger-fries": $fa-var-burger-fries, - "mug-tea": $fa-var-mug-tea, - "border-top": $fa-var-border-top, - "arrows-rotate": $fa-var-arrows-rotate, - "refresh": $fa-var-refresh, - "sync": $fa-var-sync, - "circle-book-open": $fa-var-circle-book-open, - "book-circle": $fa-var-book-circle, - "arrows-to-dotted-line": $fa-var-arrows-to-dotted-line, - "fire-extinguisher": $fa-var-fire-extinguisher, - "garage-open": $fa-var-garage-open, - "shelves-empty": $fa-var-shelves-empty, - "cruzeiro-sign": $fa-var-cruzeiro-sign, - "watch-apple": $fa-var-watch-apple, - "watch-calculator": $fa-var-watch-calculator, - "list-dropdown": $fa-var-list-dropdown, - "cabinet-filing": $fa-var-cabinet-filing, - "burger-soda": $fa-var-burger-soda, - "square-arrow-up": $fa-var-square-arrow-up, - "arrow-square-up": $fa-var-arrow-square-up, - "greater-than-equal": $fa-var-greater-than-equal, - "pallet-box": $fa-var-pallet-box, - "face-confounded": $fa-var-face-confounded, - "shield-halved": $fa-var-shield-halved, - "shield-alt": $fa-var-shield-alt, - "truck-plow": $fa-var-truck-plow, - "book-atlas": $fa-var-book-atlas, - "atlas": $fa-var-atlas, - "virus": $fa-var-virus, - "comment-middle-top": $fa-var-comment-middle-top, - "envelope-circle-check": $fa-var-envelope-circle-check, - "layer-group": $fa-var-layer-group, - "restroom-simple": $fa-var-restroom-simple, - "arrows-to-dot": $fa-var-arrows-to-dot, - "border-outer": $fa-var-border-outer, - "hashtag-lock": $fa-var-hashtag-lock, - "clock-two-thirty": $fa-var-clock-two-thirty, - "archway": $fa-var-archway, - "heart-circle-check": $fa-var-heart-circle-check, - "house-chimney-crack": $fa-var-house-chimney-crack, - "house-damage": $fa-var-house-damage, - "file-zipper": $fa-var-file-zipper, - "file-archive": $fa-var-file-archive, - "heart-half": $fa-var-heart-half, - "comment-check": $fa-var-comment-check, - "square": $fa-var-square, - "memo": $fa-var-memo, - "martini-glass-empty": $fa-var-martini-glass-empty, - "glass-martini": $fa-var-glass-martini, - "couch": $fa-var-couch, - "cedi-sign": $fa-var-cedi-sign, - "italic": $fa-var-italic, - "glass-citrus": $fa-var-glass-citrus, - "calendar-lines-pen": $fa-var-calendar-lines-pen, - "church": $fa-var-church, - "person-snowmobiling": $fa-var-person-snowmobiling, - "snowmobile": $fa-var-snowmobile, - "face-hushed": $fa-var-face-hushed, - "comments-dollar": $fa-var-comments-dollar, - "pickaxe": $fa-var-pickaxe, - "link-simple-slash": $fa-var-link-simple-slash, - "democrat": $fa-var-democrat, - "face-confused": $fa-var-face-confused, - "pinball": $fa-var-pinball, - "z": $fa-var-z, - "person-skiing": $fa-var-person-skiing, - "skiing": $fa-var-skiing, - "deer": $fa-var-deer, - "input-pipe": $fa-var-input-pipe, - "road-lock": $fa-var-road-lock, - "a": $fa-var-a, - "bookmark-slash": $fa-var-bookmark-slash, - "temperature-arrow-down": $fa-var-temperature-arrow-down, - "temperature-down": $fa-var-temperature-down, - "mace": $fa-var-mace, - "feather-pointed": $fa-var-feather-pointed, - "feather-alt": $fa-var-feather-alt, - "sausage": $fa-var-sausage, - "trash-can-clock": $fa-var-trash-can-clock, - "p": $fa-var-p, - "snowflake": $fa-var-snowflake, - "stomach": $fa-var-stomach, - "newspaper": $fa-var-newspaper, - "rectangle-ad": $fa-var-rectangle-ad, - "ad": $fa-var-ad, - "guitar-electric": $fa-var-guitar-electric, - "arrow-turn-down-right": $fa-var-arrow-turn-down-right, - "moon-cloud": $fa-var-moon-cloud, - "bread-slice-butter": $fa-var-bread-slice-butter, - "circle-arrow-right": $fa-var-circle-arrow-right, - "arrow-circle-right": $fa-var-arrow-circle-right, - "user-group-crown": $fa-var-user-group-crown, - "users-crown": $fa-var-users-crown, - "circle-i": $fa-var-circle-i, - "toilet-paper-check": $fa-var-toilet-paper-check, - "filter-circle-xmark": $fa-var-filter-circle-xmark, - "locust": $fa-var-locust, - "sort": $fa-var-sort, - "unsorted": $fa-var-unsorted, - "list-ol": $fa-var-list-ol, - "list-1-2": $fa-var-list-1-2, - "list-numeric": $fa-var-list-numeric, - "chart-waterfall": $fa-var-chart-waterfall, - "face-party": $fa-var-face-party, - "kidneys": $fa-var-kidneys, - "wifi-exclamation": $fa-var-wifi-exclamation, - "chart-network": $fa-var-chart-network, - "person-dress-burst": $fa-var-person-dress-burst, - "dice-d4": $fa-var-dice-d4, - "money-check-dollar": $fa-var-money-check-dollar, - "money-check-alt": $fa-var-money-check-alt, - "vector-square": $fa-var-vector-square, - "bread-slice": $fa-var-bread-slice, - "language": $fa-var-language, - "wheat-awn-slash": $fa-var-wheat-awn-slash, - "face-kiss-wink-heart": $fa-var-face-kiss-wink-heart, - "kiss-wink-heart": $fa-var-kiss-wink-heart, - "dagger": $fa-var-dagger, - "podium": $fa-var-podium, - "memo-circle-check": $fa-var-memo-circle-check, - "route-highway": $fa-var-route-highway, - "down-to-line": $fa-var-down-to-line, - "arrow-alt-to-bottom": $fa-var-arrow-alt-to-bottom, - "filter": $fa-var-filter, - "square-g": $fa-var-square-g, - "circle-phone": $fa-var-circle-phone, - "phone-circle": $fa-var-phone-circle, - "clipboard-prescription": $fa-var-clipboard-prescription, - "user-nurse-hair": $fa-var-user-nurse-hair, - "question": $fa-var-question, - "file-signature": $fa-var-file-signature, - "toggle-large-on": $fa-var-toggle-large-on, - "up-down-left-right": $fa-var-up-down-left-right, - "arrows-alt": $fa-var-arrows-alt, - "dryer-heat": $fa-var-dryer-heat, - "dryer-alt": $fa-var-dryer-alt, - "house-chimney-user": $fa-var-house-chimney-user, - "hand-holding-heart": $fa-var-hand-holding-heart, - "arrow-up-small-big": $fa-var-arrow-up-small-big, - "sort-size-up-alt": $fa-var-sort-size-up-alt, - "train-track": $fa-var-train-track, - "puzzle-piece": $fa-var-puzzle-piece, - "money-check": $fa-var-money-check, - "star-half-stroke": $fa-var-star-half-stroke, - "star-half-alt": $fa-var-star-half-alt, - "file-exclamation": $fa-var-file-exclamation, - "code": $fa-var-code, - "whiskey-glass": $fa-var-whiskey-glass, - "glass-whiskey": $fa-var-glass-whiskey, - "moon-stars": $fa-var-moon-stars, - "building-circle-exclamation": $fa-var-building-circle-exclamation, - "clothes-hanger": $fa-var-clothes-hanger, - "mobile-notch": $fa-var-mobile-notch, - "mobile-iphone": $fa-var-mobile-iphone, - "magnifying-glass-chart": $fa-var-magnifying-glass-chart, - "arrow-up-right-from-square": $fa-var-arrow-up-right-from-square, - "external-link": $fa-var-external-link, - "cubes-stacked": $fa-var-cubes-stacked, - "images-user": $fa-var-images-user, - "won-sign": $fa-var-won-sign, - "krw": $fa-var-krw, - "won": $fa-var-won, - "image-polaroid-user": $fa-var-image-polaroid-user, - "virus-covid": $fa-var-virus-covid, - "square-ellipsis": $fa-var-square-ellipsis, - "pie": $fa-var-pie, - "chess-knight-piece": $fa-var-chess-knight-piece, - "chess-knight-alt": $fa-var-chess-knight-alt, - "austral-sign": $fa-var-austral-sign, - "cloud-plus": $fa-var-cloud-plus, - "f": $fa-var-f, - "leaf": $fa-var-leaf, - "bed-bunk": $fa-var-bed-bunk, - "road": $fa-var-road, - "taxi": $fa-var-taxi, - "cab": $fa-var-cab, - "person-circle-plus": $fa-var-person-circle-plus, - "chart-pie": $fa-var-chart-pie, - "pie-chart": $fa-var-pie-chart, - "bolt-lightning": $fa-var-bolt-lightning, - "clock-eight": $fa-var-clock-eight, - "sack-xmark": $fa-var-sack-xmark, - "file-excel": $fa-var-file-excel, - "file-contract": $fa-var-file-contract, - "fish-fins": $fa-var-fish-fins, - "circle-q": $fa-var-circle-q, - "building-flag": $fa-var-building-flag, - "face-grin-beam": $fa-var-face-grin-beam, - "grin-beam": $fa-var-grin-beam, - "object-ungroup": $fa-var-object-ungroup, - "face-disguise": $fa-var-face-disguise, - "circle-arrow-down-right": $fa-var-circle-arrow-down-right, - "alien-8bit": $fa-var-alien-8bit, - "alien-monster": $fa-var-alien-monster, - "hand-point-ribbon": $fa-var-hand-point-ribbon, - "poop": $fa-var-poop, - "object-exclude": $fa-var-object-exclude, - "telescope": $fa-var-telescope, - "location-pin": $fa-var-location-pin, - "map-marker": $fa-var-map-marker, - "square-list": $fa-var-square-list, - "kaaba": $fa-var-kaaba, - "toilet-paper": $fa-var-toilet-paper, - "helmet-safety": $fa-var-helmet-safety, - "hard-hat": $fa-var-hard-hat, - "hat-hard": $fa-var-hat-hard, - "comment-code": $fa-var-comment-code, - "sim-cards": $fa-var-sim-cards, - "starship": $fa-var-starship, - "eject": $fa-var-eject, - "circle-right": $fa-var-circle-right, - "arrow-alt-circle-right": $fa-var-arrow-alt-circle-right, - "plane-circle-check": $fa-var-plane-circle-check, - "seal": $fa-var-seal, - "user-cowboy": $fa-var-user-cowboy, - "hexagon-vertical-nft": $fa-var-hexagon-vertical-nft, - "face-rolling-eyes": $fa-var-face-rolling-eyes, - "meh-rolling-eyes": $fa-var-meh-rolling-eyes, - "bread-loaf": $fa-var-bread-loaf, - "rings-wedding": $fa-var-rings-wedding, - "object-group": $fa-var-object-group, - "french-fries": $fa-var-french-fries, - "chart-line": $fa-var-chart-line, - "line-chart": $fa-var-line-chart, - "calendar-arrow-down": $fa-var-calendar-arrow-down, - "calendar-download": $fa-var-calendar-download, - "send-back": $fa-var-send-back, - "mask-ventilator": $fa-var-mask-ventilator, - "signature-lock": $fa-var-signature-lock, - "arrow-right": $fa-var-arrow-right, - "signs-post": $fa-var-signs-post, - "map-signs": $fa-var-map-signs, - "octagon-plus": $fa-var-octagon-plus, - "plus-octagon": $fa-var-plus-octagon, - "cash-register": $fa-var-cash-register, - "person-circle-question": $fa-var-person-circle-question, - "melon-slice": $fa-var-melon-slice, - "space-station-moon": $fa-var-space-station-moon, - "message-smile": $fa-var-message-smile, - "comment-alt-smile": $fa-var-comment-alt-smile, - "cup-straw": $fa-var-cup-straw, - "left-from-line": $fa-var-left-from-line, - "arrow-alt-from-right": $fa-var-arrow-alt-from-right, - "h": $fa-var-h, - "basket-shopping-simple": $fa-var-basket-shopping-simple, - "shopping-basket-alt": $fa-var-shopping-basket-alt, - "hands-holding-heart": $fa-var-hands-holding-heart, - "hands-heart": $fa-var-hands-heart, - "clock-nine": $fa-var-clock-nine, - "tarp": $fa-var-tarp, - "face-sleepy": $fa-var-face-sleepy, - "hand-horns": $fa-var-hand-horns, - "screwdriver-wrench": $fa-var-screwdriver-wrench, - "tools": $fa-var-tools, - "arrows-to-eye": $fa-var-arrows-to-eye, - "circle-three-quarters": $fa-var-circle-three-quarters, - "trophy-star": $fa-var-trophy-star, - "trophy-alt": $fa-var-trophy-alt, - "plug-circle-bolt": $fa-var-plug-circle-bolt, - "face-thermometer": $fa-var-face-thermometer, - "shirt-running": $fa-var-shirt-running, - "book-circle-arrow-up": $fa-var-book-circle-arrow-up, - "face-nauseated": $fa-var-face-nauseated, - "heart": $fa-var-heart, - "file-chart-pie": $fa-var-file-chart-pie, - "mars-and-venus": $fa-var-mars-and-venus, - "house-user": $fa-var-house-user, - "home-user": $fa-var-home-user, - "circle-arrow-down-left": $fa-var-circle-arrow-down-left, - "dumpster-fire": $fa-var-dumpster-fire, - "hexagon-minus": $fa-var-hexagon-minus, - "minus-hexagon": $fa-var-minus-hexagon, - "left-to-line": $fa-var-left-to-line, - "arrow-alt-to-left": $fa-var-arrow-alt-to-left, - "house-crack": $fa-var-house-crack, - "paw-simple": $fa-var-paw-simple, - "paw-alt": $fa-var-paw-alt, - "arrow-left-long-to-line": $fa-var-arrow-left-long-to-line, - "brackets-round": $fa-var-brackets-round, - "parentheses": $fa-var-parentheses, - "martini-glass-citrus": $fa-var-martini-glass-citrus, - "cocktail": $fa-var-cocktail, - "user-shakespeare": $fa-var-user-shakespeare, - "arrow-right-to-arc": $fa-var-arrow-right-to-arc, - "face-surprise": $fa-var-face-surprise, - "surprise": $fa-var-surprise, - "bottle-water": $fa-var-bottle-water, - "circle-pause": $fa-var-circle-pause, - "pause-circle": $fa-var-pause-circle, - "gauge-circle-plus": $fa-var-gauge-circle-plus, - "folders": $fa-var-folders, - "angel": $fa-var-angel, - "value-absolute": $fa-var-value-absolute, - "rabbit": $fa-var-rabbit, - "toilet-paper-slash": $fa-var-toilet-paper-slash, - "apple-whole": $fa-var-apple-whole, - "apple-alt": $fa-var-apple-alt, - "kitchen-set": $fa-var-kitchen-set, - "diamond-half": $fa-var-diamond-half, - "lock-keyhole": $fa-var-lock-keyhole, - "lock-alt": $fa-var-lock-alt, - "r": $fa-var-r, - "temperature-quarter": $fa-var-temperature-quarter, - "temperature-1": $fa-var-temperature-1, - "thermometer-1": $fa-var-thermometer-1, - "thermometer-quarter": $fa-var-thermometer-quarter, - "square-info": $fa-var-square-info, - "info-square": $fa-var-info-square, - "wifi-slash": $fa-var-wifi-slash, - "toilet-paper-xmark": $fa-var-toilet-paper-xmark, - "hands-holding-dollar": $fa-var-hands-holding-dollar, - "hands-usd": $fa-var-hands-usd, - "cube": $fa-var-cube, - "arrow-down-triangle-square": $fa-var-arrow-down-triangle-square, - "sort-shapes-down": $fa-var-sort-shapes-down, - "bitcoin-sign": $fa-var-bitcoin-sign, - "shutters": $fa-var-shutters, - "shield-dog": $fa-var-shield-dog, - "solar-panel": $fa-var-solar-panel, - "lock-open": $fa-var-lock-open, - "table-tree": $fa-var-table-tree, - "house-chimney-heart": $fa-var-house-chimney-heart, - "tally-3": $fa-var-tally-3, - "elevator": $fa-var-elevator, - "money-bill-transfer": $fa-var-money-bill-transfer, - "money-bill-trend-up": $fa-var-money-bill-trend-up, - "house-flood-water-circle-arrow-right": $fa-var-house-flood-water-circle-arrow-right, - "square-poll-horizontal": $fa-var-square-poll-horizontal, - "poll-h": $fa-var-poll-h, - "circle": $fa-var-circle, - "cart-circle-exclamation": $fa-var-cart-circle-exclamation, - "sword": $fa-var-sword, - "backward-fast": $fa-var-backward-fast, - "fast-backward": $fa-var-fast-backward, - "recycle": $fa-var-recycle, - "user-astronaut": $fa-var-user-astronaut, - "interrobang": $fa-var-interrobang, - "plane-slash": $fa-var-plane-slash, - "circle-dashed": $fa-var-circle-dashed, - "trademark": $fa-var-trademark, - "basketball": $fa-var-basketball, - "basketball-ball": $fa-var-basketball-ball, - "fork-knife": $fa-var-fork-knife, - "utensils-alt": $fa-var-utensils-alt, - "satellite-dish": $fa-var-satellite-dish, - "badge-check": $fa-var-badge-check, - "circle-up": $fa-var-circle-up, - "arrow-alt-circle-up": $fa-var-arrow-alt-circle-up, - "slider": $fa-var-slider, - "mobile-screen-button": $fa-var-mobile-screen-button, - "mobile-alt": $fa-var-mobile-alt, - "clock-one-thirty": $fa-var-clock-one-thirty, - "inbox-out": $fa-var-inbox-out, - "inbox-arrow-up": $fa-var-inbox-arrow-up, - "cloud-slash": $fa-var-cloud-slash, - "volume-high": $fa-var-volume-high, - "volume-up": $fa-var-volume-up, - "users-rays": $fa-var-users-rays, - "wallet": $fa-var-wallet, - "octagon-check": $fa-var-octagon-check, - "flatbread-stuffed": $fa-var-flatbread-stuffed, - "clipboard-check": $fa-var-clipboard-check, - "cart-circle-plus": $fa-var-cart-circle-plus, - "truck-clock": $fa-var-truck-clock, - "shipping-timed": $fa-var-shipping-timed, - "pool-8-ball": $fa-var-pool-8-ball, - "file-audio": $fa-var-file-audio, - "turn-down-left": $fa-var-turn-down-left, - "lock-hashtag": $fa-var-lock-hashtag, - "chart-radar": $fa-var-chart-radar, - "staff": $fa-var-staff, - "burger": $fa-var-burger, - "hamburger": $fa-var-hamburger, - "utility-pole": $fa-var-utility-pole, - "transporter-6": $fa-var-transporter-6, - "wrench": $fa-var-wrench, - "bugs": $fa-var-bugs, - "vector-polygon": $fa-var-vector-polygon, - "diagram-nested": $fa-var-diagram-nested, - "rupee-sign": $fa-var-rupee-sign, - "rupee": $fa-var-rupee, - "file-image": $fa-var-file-image, - "circle-question": $fa-var-circle-question, - "question-circle": $fa-var-question-circle, - "image-user": $fa-var-image-user, - "buoy": $fa-var-buoy, - "plane-departure": $fa-var-plane-departure, - "handshake-slash": $fa-var-handshake-slash, - "book-bookmark": $fa-var-book-bookmark, - "border-center-h": $fa-var-border-center-h, - "can-food": $fa-var-can-food, - "typewriter": $fa-var-typewriter, - "arrow-right-from-arc": $fa-var-arrow-right-from-arc, - "circle-k": $fa-var-circle-k, - "face-hand-over-mouth": $fa-var-face-hand-over-mouth, - "popcorn": $fa-var-popcorn, - "house-water": $fa-var-house-water, - "house-flood": $fa-var-house-flood, - "object-subtract": $fa-var-object-subtract, - "code-branch": $fa-var-code-branch, - "warehouse-full": $fa-var-warehouse-full, - "warehouse-alt": $fa-var-warehouse-alt, - "hat-cowboy": $fa-var-hat-cowboy, - "bridge": $fa-var-bridge, - "phone-flip": $fa-var-phone-flip, - "phone-alt": $fa-var-phone-alt, - "arrow-down-from-dotted-line": $fa-var-arrow-down-from-dotted-line, - "square-quarters": $fa-var-square-quarters, - "truck-front": $fa-var-truck-front, - "cat": $fa-var-cat, - "trash-xmark": $fa-var-trash-xmark, - "circle-caret-left": $fa-var-circle-caret-left, - "caret-circle-left": $fa-var-caret-circle-left, - "files": $fa-var-files, - "anchor-circle-exclamation": $fa-var-anchor-circle-exclamation, - "face-clouds": $fa-var-face-clouds, - "user-crown": $fa-var-user-crown, - "truck-field": $fa-var-truck-field, - "route": $fa-var-route, - "cart-circle-check": $fa-var-cart-circle-check, - "clipboard-question": $fa-var-clipboard-question, - "panorama": $fa-var-panorama, - "comment-medical": $fa-var-comment-medical, - "teeth-open": $fa-var-teeth-open, - "user-tie-hair-long": $fa-var-user-tie-hair-long, - "file-circle-minus": $fa-var-file-circle-minus, - "head-side-medical": $fa-var-head-side-medical, - "tags": $fa-var-tags, - "wine-glass": $fa-var-wine-glass, - "forward-fast": $fa-var-forward-fast, - "fast-forward": $fa-var-fast-forward, - "face-meh-blank": $fa-var-face-meh-blank, - "meh-blank": $fa-var-meh-blank, - "user-robot": $fa-var-user-robot, - "square-parking": $fa-var-square-parking, - "parking": $fa-var-parking, - "card-diamond": $fa-var-card-diamond, - "face-zipper": $fa-var-face-zipper, - "face-raised-eyebrow": $fa-var-face-raised-eyebrow, - "house-signal": $fa-var-house-signal, - "square-chevron-up": $fa-var-square-chevron-up, - "chevron-square-up": $fa-var-chevron-square-up, - "bars-progress": $fa-var-bars-progress, - "tasks-alt": $fa-var-tasks-alt, - "faucet-drip": $fa-var-faucet-drip, - "arrows-to-line": $fa-var-arrows-to-line, - "dolphin": $fa-var-dolphin, - "arrow-up-right": $fa-var-arrow-up-right, - "circle-r": $fa-var-circle-r, - "cart-flatbed": $fa-var-cart-flatbed, - "dolly-flatbed": $fa-var-dolly-flatbed, - "ban-smoking": $fa-var-ban-smoking, - "smoking-ban": $fa-var-smoking-ban, - "circle-sort-up": $fa-var-circle-sort-up, - "sort-circle-up": $fa-var-sort-circle-up, - "terminal": $fa-var-terminal, - "mobile-button": $fa-var-mobile-button, - "house-medical-flag": $fa-var-house-medical-flag, - "basket-shopping": $fa-var-basket-shopping, - "shopping-basket": $fa-var-shopping-basket, - "tape": $fa-var-tape, - "chestnut": $fa-var-chestnut, - "bus-simple": $fa-var-bus-simple, - "bus-alt": $fa-var-bus-alt, - "eye": $fa-var-eye, - "face-sad-cry": $fa-var-face-sad-cry, - "sad-cry": $fa-var-sad-cry, - "heat": $fa-var-heat, - "ticket-airline": $fa-var-ticket-airline, - "boot-heeled": $fa-var-boot-heeled, - "arrows-minimize": $fa-var-arrows-minimize, - "compress-arrows": $fa-var-compress-arrows, - "audio-description": $fa-var-audio-description, - "person-military-to-person": $fa-var-person-military-to-person, - "file-shield": $fa-var-file-shield, - "hexagon": $fa-var-hexagon, - "manhole": $fa-var-manhole, - "user-slash": $fa-var-user-slash, - "pen": $fa-var-pen, - "tower-observation": $fa-var-tower-observation, - "floppy-disks": $fa-var-floppy-disks, - "toilet-paper-blank-under": $fa-var-toilet-paper-blank-under, - "toilet-paper-reverse-alt": $fa-var-toilet-paper-reverse-alt, - "file-code": $fa-var-file-code, - "signal": $fa-var-signal, - "signal-5": $fa-var-signal-5, - "signal-perfect": $fa-var-signal-perfect, - "pump": $fa-var-pump, - "bus": $fa-var-bus, - "heart-circle-xmark": $fa-var-heart-circle-xmark, - "arrow-up-left-from-circle": $fa-var-arrow-up-left-from-circle, - "house-chimney": $fa-var-house-chimney, - "home-lg": $fa-var-home-lg, - "window-maximize": $fa-var-window-maximize, - "dryer": $fa-var-dryer, - "face-frown": $fa-var-face-frown, - "frown": $fa-var-frown, - "chess-bishop-piece": $fa-var-chess-bishop-piece, - "chess-bishop-alt": $fa-var-chess-bishop-alt, - "shirt-tank-top": $fa-var-shirt-tank-top, - "diploma": $fa-var-diploma, - "scroll-ribbon": $fa-var-scroll-ribbon, - "screencast": $fa-var-screencast, - "walker": $fa-var-walker, - "prescription": $fa-var-prescription, - "shop": $fa-var-shop, - "store-alt": $fa-var-store-alt, - "floppy-disk": $fa-var-floppy-disk, - "save": $fa-var-save, - "vihara": $fa-var-vihara, - "face-kiss-closed-eyes": $fa-var-face-kiss-closed-eyes, - "scale-unbalanced": $fa-var-scale-unbalanced, - "balance-scale-left": $fa-var-balance-scale-left, - "file-user": $fa-var-file-user, - "user-police-tie": $fa-var-user-police-tie, - "face-tongue-money": $fa-var-face-tongue-money, - "tennis-ball": $fa-var-tennis-ball, - "square-l": $fa-var-square-l, - "sort-up": $fa-var-sort-up, - "sort-asc": $fa-var-sort-asc, - "calendar-arrow-up": $fa-var-calendar-arrow-up, - "calendar-upload": $fa-var-calendar-upload, - "comment-dots": $fa-var-comment-dots, - "commenting": $fa-var-commenting, - "plant-wilt": $fa-var-plant-wilt, - "scarf": $fa-var-scarf, - "album-circle-plus": $fa-var-album-circle-plus, - "user-nurse-hair-long": $fa-var-user-nurse-hair-long, - "diamond": $fa-var-diamond, - "square-left": $fa-var-square-left, - "arrow-alt-square-left": $fa-var-arrow-alt-square-left, - "face-grin-squint": $fa-var-face-grin-squint, - "grin-squint": $fa-var-grin-squint, - "circle-ellipsis-vertical": $fa-var-circle-ellipsis-vertical, - "hand-holding-dollar": $fa-var-hand-holding-dollar, - "hand-holding-usd": $fa-var-hand-holding-usd, - "grid-dividers": $fa-var-grid-dividers, - "bacterium": $fa-var-bacterium, - "hand-pointer": $fa-var-hand-pointer, - "drum-steelpan": $fa-var-drum-steelpan, - "hand-scissors": $fa-var-hand-scissors, - "hands-praying": $fa-var-hands-praying, - "praying-hands": $fa-var-praying-hands, - "face-pensive": $fa-var-face-pensive, - "user-music": $fa-var-user-music, - "arrow-rotate-right": $fa-var-arrow-rotate-right, - "arrow-right-rotate": $fa-var-arrow-right-rotate, - "arrow-rotate-forward": $fa-var-arrow-rotate-forward, - "redo": $fa-var-redo, - "messages-dollar": $fa-var-messages-dollar, - "comments-alt-dollar": $fa-var-comments-alt-dollar, - "sensor-on": $fa-var-sensor-on, - "balloon": $fa-var-balloon, - "biohazard": $fa-var-biohazard, - "chess-queen-piece": $fa-var-chess-queen-piece, - "chess-queen-alt": $fa-var-chess-queen-alt, - "location-crosshairs": $fa-var-location-crosshairs, - "location": $fa-var-location, - "mars-double": $fa-var-mars-double, - "house-person-leave": $fa-var-house-person-leave, - "house-leave": $fa-var-house-leave, - "house-person-depart": $fa-var-house-person-depart, - "ruler-triangle": $fa-var-ruler-triangle, - "card-club": $fa-var-card-club, - "child-dress": $fa-var-child-dress, - "users-between-lines": $fa-var-users-between-lines, - "lungs-virus": $fa-var-lungs-virus, - "spinner-third": $fa-var-spinner-third, - "face-grin-tears": $fa-var-face-grin-tears, - "grin-tears": $fa-var-grin-tears, - "phone": $fa-var-phone, - "computer-mouse-scrollwheel": $fa-var-computer-mouse-scrollwheel, - "mouse-alt": $fa-var-mouse-alt, - "calendar-xmark": $fa-var-calendar-xmark, - "calendar-times": $fa-var-calendar-times, - "child-reaching": $fa-var-child-reaching, - "table-layout": $fa-var-table-layout, - "narwhal": $fa-var-narwhal, - "ramp-loading": $fa-var-ramp-loading, - "calendar-circle-plus": $fa-var-calendar-circle-plus, - "toothbrush": $fa-var-toothbrush, - "border-inner": $fa-var-border-inner, - "paw-claws": $fa-var-paw-claws, - "kiwi-fruit": $fa-var-kiwi-fruit, - "traffic-light-slow": $fa-var-traffic-light-slow, - "rectangle-code": $fa-var-rectangle-code, - "head-side-virus": $fa-var-head-side-virus, - "keyboard-brightness": $fa-var-keyboard-brightness, - "books-medical": $fa-var-books-medical, - "lightbulb-slash": $fa-var-lightbulb-slash, - "house-blank": $fa-var-house-blank, - "home-blank": $fa-var-home-blank, - "square-5": $fa-var-square-5, - "square-heart": $fa-var-square-heart, - "heart-square": $fa-var-heart-square, - "puzzle": $fa-var-puzzle, - "user-gear": $fa-var-user-gear, - "user-cog": $fa-var-user-cog, - "pipe-circle-check": $fa-var-pipe-circle-check, - "arrow-up-1-9": $fa-var-arrow-up-1-9, - "sort-numeric-up": $fa-var-sort-numeric-up, - "octagon-exclamation": $fa-var-octagon-exclamation, - "dial-low": $fa-var-dial-low, - "door-closed": $fa-var-door-closed, - "laptop-mobile": $fa-var-laptop-mobile, - "phone-laptop": $fa-var-phone-laptop, - "conveyor-belt-boxes": $fa-var-conveyor-belt-boxes, - "conveyor-belt-alt": $fa-var-conveyor-belt-alt, - "shield-virus": $fa-var-shield-virus, - "starfighter-twin-ion-engine-advanced": $fa-var-starfighter-twin-ion-engine-advanced, - "starfighter-alt-advanced": $fa-var-starfighter-alt-advanced, - "dice-six": $fa-var-dice-six, - "starfighter-twin-ion-engine": $fa-var-starfighter-twin-ion-engine, - "starfighter-alt": $fa-var-starfighter-alt, - "rocket-launch": $fa-var-rocket-launch, - "mosquito-net": $fa-var-mosquito-net, - "vent-damper": $fa-var-vent-damper, - "bridge-water": $fa-var-bridge-water, - "ban-bug": $fa-var-ban-bug, - "debug": $fa-var-debug, - "person-booth": $fa-var-person-booth, - "text-width": $fa-var-text-width, - "garage-car": $fa-var-garage-car, - "square-kanban": $fa-var-square-kanban, - "hat-wizard": $fa-var-hat-wizard, - "pen-fancy": $fa-var-pen-fancy, - "coffee-pot": $fa-var-coffee-pot, - "mouse-field": $fa-var-mouse-field, - "person-digging": $fa-var-person-digging, - "digging": $fa-var-digging, - "shower-down": $fa-var-shower-down, - "shower-alt": $fa-var-shower-alt, - "box-circle-check": $fa-var-box-circle-check, - "brightness": $fa-var-brightness, - "car-side-bolt": $fa-var-car-side-bolt, - "ornament": $fa-var-ornament, - "phone-arrow-down-left": $fa-var-phone-arrow-down-left, - "phone-arrow-down": $fa-var-phone-arrow-down, - "phone-incoming": $fa-var-phone-incoming, - "cloud-word": $fa-var-cloud-word, - "hand-fingers-crossed": $fa-var-hand-fingers-crossed, - "trash": $fa-var-trash, - "gauge-simple": $fa-var-gauge-simple, - "gauge-simple-med": $fa-var-gauge-simple-med, - "tachometer-average": $fa-var-tachometer-average, - "arrow-down-small-big": $fa-var-arrow-down-small-big, - "sort-size-down-alt": $fa-var-sort-size-down-alt, - "book-medical": $fa-var-book-medical, - "face-melting": $fa-var-face-melting, - "poo": $fa-var-poo, - "pen-clip-slash": $fa-var-pen-clip-slash, - "pen-alt-slash": $fa-var-pen-alt-slash, - "quote-right": $fa-var-quote-right, - "quote-right-alt": $fa-var-quote-right-alt, - "scroll-old": $fa-var-scroll-old, - "guitars": $fa-var-guitars, - "phone-xmark": $fa-var-phone-xmark, - "hose": $fa-var-hose, - "clock-six": $fa-var-clock-six, - "shirt": $fa-var-shirt, - "t-shirt": $fa-var-t-shirt, - "tshirt": $fa-var-tshirt, - "square-r": $fa-var-square-r, - "cubes": $fa-var-cubes, - "envelope-open-dollar": $fa-var-envelope-open-dollar, - "divide": $fa-var-divide, - "sun-cloud": $fa-var-sun-cloud, - "lamp-floor": $fa-var-lamp-floor, - "square-7": $fa-var-square-7, - "tenge-sign": $fa-var-tenge-sign, - "tenge": $fa-var-tenge, - "headphones": $fa-var-headphones, - "hands-holding": $fa-var-hands-holding, - "campfire": $fa-var-campfire, - "circle-ampersand": $fa-var-circle-ampersand, - "snowflakes": $fa-var-snowflakes, - "hands-clapping": $fa-var-hands-clapping, - "republican": $fa-var-republican, - "leaf-maple": $fa-var-leaf-maple, - "arrow-left": $fa-var-arrow-left, - "person-circle-xmark": $fa-var-person-circle-xmark, - "ruler": $fa-var-ruler, - "cup-straw-swoosh": $fa-var-cup-straw-swoosh, - "temperature-sun": $fa-var-temperature-sun, - "temperature-hot": $fa-var-temperature-hot, - "align-left": $fa-var-align-left, - "dice-d6": $fa-var-dice-d6, - "restroom": $fa-var-restroom, - "high-definition": $fa-var-high-definition, - "rectangle-hd": $fa-var-rectangle-hd, - "j": $fa-var-j, - "galaxy": $fa-var-galaxy, - "users-viewfinder": $fa-var-users-viewfinder, - "file-video": $fa-var-file-video, - "cherries": $fa-var-cherries, - "up-right-from-square": $fa-var-up-right-from-square, - "external-link-alt": $fa-var-external-link-alt, - "circle-sort": $fa-var-circle-sort, - "sort-circle": $fa-var-sort-circle, - "table-cells": $fa-var-table-cells, - "th": $fa-var-th, - "file-pdf": $fa-var-file-pdf, - "siren": $fa-var-siren, - "arrow-up-to-dotted-line": $fa-var-arrow-up-to-dotted-line, - "image-landscape": $fa-var-image-landscape, - "landscape": $fa-var-landscape, - "tank-water": $fa-var-tank-water, - "curling-stone": $fa-var-curling-stone, - "curling": $fa-var-curling, - "gamepad-modern": $fa-var-gamepad-modern, - "gamepad-alt": $fa-var-gamepad-alt, - "messages-question": $fa-var-messages-question, - "book-bible": $fa-var-book-bible, - "bible": $fa-var-bible, - "o": $fa-var-o, - "suitcase-medical": $fa-var-suitcase-medical, - "medkit": $fa-var-medkit, - "briefcase-arrow-right": $fa-var-briefcase-arrow-right, - "expand-wide": $fa-var-expand-wide, - "clock-eleven-thirty": $fa-var-clock-eleven-thirty, - "rv": $fa-var-rv, - "user-secret": $fa-var-user-secret, - "otter": $fa-var-otter, - "dreidel": $fa-var-dreidel, - "person-dress": $fa-var-person-dress, - "female": $fa-var-female, - "comment-dollar": $fa-var-comment-dollar, - "business-time": $fa-var-business-time, - "briefcase-clock": $fa-var-briefcase-clock, - "flower-tulip": $fa-var-flower-tulip, - "people-pants-simple": $fa-var-people-pants-simple, - "cloud-drizzle": $fa-var-cloud-drizzle, - "table-cells-large": $fa-var-table-cells-large, - "th-large": $fa-var-th-large, - "book-tanakh": $fa-var-book-tanakh, - "tanakh": $fa-var-tanakh, - "solar-system": $fa-var-solar-system, - "seal-question": $fa-var-seal-question, - "phone-volume": $fa-var-phone-volume, - "volume-control-phone": $fa-var-volume-control-phone, - "disc-drive": $fa-var-disc-drive, - "hat-cowboy-side": $fa-var-hat-cowboy-side, - "table-rows": $fa-var-table-rows, - "rows": $fa-var-rows, - "location-exclamation": $fa-var-location-exclamation, - "map-marker-exclamation": $fa-var-map-marker-exclamation, - "face-fearful": $fa-var-face-fearful, - "clipboard-user": $fa-var-clipboard-user, - "bus-school": $fa-var-bus-school, - "film-slash": $fa-var-film-slash, - "square-arrow-down-right": $fa-var-square-arrow-down-right, - "book-sparkles": $fa-var-book-sparkles, - "book-spells": $fa-var-book-spells, - "washing-machine": $fa-var-washing-machine, - "washer": $fa-var-washer, - "child": $fa-var-child, - "lira-sign": $fa-var-lira-sign, - "user-visor": $fa-var-user-visor, - "file-plus-minus": $fa-var-file-plus-minus, - "chess-clock-flip": $fa-var-chess-clock-flip, - "chess-clock-alt": $fa-var-chess-clock-alt, - "satellite": $fa-var-satellite, - "plane-lock": $fa-var-plane-lock, - "steering-wheel": $fa-var-steering-wheel, - "tag": $fa-var-tag, - "stretcher": $fa-var-stretcher, - "book-section": $fa-var-book-section, - "book-law": $fa-var-book-law, - "inboxes": $fa-var-inboxes, - "coffee-bean": $fa-var-coffee-bean, - "brackets-curly": $fa-var-brackets-curly, - "ellipsis-stroke-vertical": $fa-var-ellipsis-stroke-vertical, - "ellipsis-v-alt": $fa-var-ellipsis-v-alt, - "comment": $fa-var-comment, - "square-1": $fa-var-square-1, - "cake-candles": $fa-var-cake-candles, - "birthday-cake": $fa-var-birthday-cake, - "cake": $fa-var-cake, - "head-side": $fa-var-head-side, - "envelope": $fa-var-envelope, - "dolly-empty": $fa-var-dolly-empty, - "face-tissue": $fa-var-face-tissue, - "angles-up": $fa-var-angles-up, - "angle-double-up": $fa-var-angle-double-up, - "paperclip": $fa-var-paperclip, - "chart-line-down": $fa-var-chart-line-down, - "arrow-right-to-city": $fa-var-arrow-right-to-city, - "lock-a": $fa-var-lock-a, - "ribbon": $fa-var-ribbon, - "lungs": $fa-var-lungs, - "person-pinball": $fa-var-person-pinball, - "arrow-up-9-1": $fa-var-arrow-up-9-1, - "sort-numeric-up-alt": $fa-var-sort-numeric-up-alt, - "apple-core": $fa-var-apple-core, - "circle-y": $fa-var-circle-y, - "h6": $fa-var-h6, - "litecoin-sign": $fa-var-litecoin-sign, - "circle-small": $fa-var-circle-small, - "border-none": $fa-var-border-none, - "arrow-turn-down-left": $fa-var-arrow-turn-down-left, - "circle-nodes": $fa-var-circle-nodes, - "parachute-box": $fa-var-parachute-box, - "message-medical": $fa-var-message-medical, - "comment-alt-medical": $fa-var-comment-alt-medical, - "rugby-ball": $fa-var-rugby-ball, - "comment-music": $fa-var-comment-music, - "indent": $fa-var-indent, - "tree-deciduous": $fa-var-tree-deciduous, - "tree-alt": $fa-var-tree-alt, - "puzzle-piece-simple": $fa-var-puzzle-piece-simple, - "puzzle-piece-alt": $fa-var-puzzle-piece-alt, - "truck-field-un": $fa-var-truck-field-un, - "nfc-trash": $fa-var-nfc-trash, - "hourglass": $fa-var-hourglass, - "hourglass-empty": $fa-var-hourglass-empty, - "mountain": $fa-var-mountain, - "file-xmark": $fa-var-file-xmark, - "file-times": $fa-var-file-times, - "house-heart": $fa-var-house-heart, - "home-heart": $fa-var-home-heart, - "house-chimney-blank": $fa-var-house-chimney-blank, - "meter-bolt": $fa-var-meter-bolt, - "user-doctor": $fa-var-user-doctor, - "user-md": $fa-var-user-md, - "slash-back": $fa-var-slash-back, - "circle-info": $fa-var-circle-info, - "info-circle": $fa-var-info-circle, - "fishing-rod": $fa-var-fishing-rod, - "hammer-crash": $fa-var-hammer-crash, - "message-heart": $fa-var-message-heart, - "cloud-meatball": $fa-var-cloud-meatball, - "camera-polaroid": $fa-var-camera-polaroid, - "camera": $fa-var-camera, - "camera-alt": $fa-var-camera-alt, - "square-virus": $fa-var-square-virus, - "cart-arrow-up": $fa-var-cart-arrow-up, - "meteor": $fa-var-meteor, - "car-on": $fa-var-car-on, - "sleigh": $fa-var-sleigh, - "arrow-down-1-9": $fa-var-arrow-down-1-9, - "sort-numeric-asc": $fa-var-sort-numeric-asc, - "sort-numeric-down": $fa-var-sort-numeric-down, - "buoy-mooring": $fa-var-buoy-mooring, - "square-4": $fa-var-square-4, - "hand-holding-droplet": $fa-var-hand-holding-droplet, - "hand-holding-water": $fa-var-hand-holding-water, - "tricycle-adult": $fa-var-tricycle-adult, - "waveform": $fa-var-waveform, - "water": $fa-var-water, - "star-sharp-half-stroke": $fa-var-star-sharp-half-stroke, - "star-sharp-half-alt": $fa-var-star-sharp-half-alt, - "nfc-signal": $fa-var-nfc-signal, - "plane-prop": $fa-var-plane-prop, - "calendar-check": $fa-var-calendar-check, - "clock-desk": $fa-var-clock-desk, - "calendar-clock": $fa-var-calendar-clock, - "calendar-time": $fa-var-calendar-time, - "braille": $fa-var-braille, - "prescription-bottle-medical": $fa-var-prescription-bottle-medical, - "prescription-bottle-alt": $fa-var-prescription-bottle-alt, - "plate-utensils": $fa-var-plate-utensils, - "family-pants": $fa-var-family-pants, - "hose-reel": $fa-var-hose-reel, - "house-window": $fa-var-house-window, - "landmark": $fa-var-landmark, - "truck": $fa-var-truck, - "crosshairs": $fa-var-crosshairs, - "cloud-rainbow": $fa-var-cloud-rainbow, - "person-cane": $fa-var-person-cane, - "alien": $fa-var-alien, - "tent": $fa-var-tent, - "vest-patches": $fa-var-vest-patches, - "people-dress-simple": $fa-var-people-dress-simple, - "check-double": $fa-var-check-double, - "arrow-down-a-z": $fa-var-arrow-down-a-z, - "sort-alpha-asc": $fa-var-sort-alpha-asc, - "sort-alpha-down": $fa-var-sort-alpha-down, - "bowling-ball-pin": $fa-var-bowling-ball-pin, - "bell-school-slash": $fa-var-bell-school-slash, - "plus-large": $fa-var-plus-large, - "money-bill-wheat": $fa-var-money-bill-wheat, - "camera-viewfinder": $fa-var-camera-viewfinder, - "screenshot": $fa-var-screenshot, - "message-music": $fa-var-message-music, - "comment-alt-music": $fa-var-comment-alt-music, - "car-building": $fa-var-car-building, - "border-bottom-right": $fa-var-border-bottom-right, - "border-style-alt": $fa-var-border-style-alt, - "octagon": $fa-var-octagon, - "comment-arrow-up-right": $fa-var-comment-arrow-up-right, - "octagon-divide": $fa-var-octagon-divide, - "cookie": $fa-var-cookie, - "arrow-rotate-left": $fa-var-arrow-rotate-left, - "arrow-left-rotate": $fa-var-arrow-left-rotate, - "arrow-rotate-back": $fa-var-arrow-rotate-back, - "arrow-rotate-backward": $fa-var-arrow-rotate-backward, - "undo": $fa-var-undo, - "tv-music": $fa-var-tv-music, - "hard-drive": $fa-var-hard-drive, - "hdd": $fa-var-hdd, - "reel": $fa-var-reel, - "face-grin-squint-tears": $fa-var-face-grin-squint-tears, - "grin-squint-tears": $fa-var-grin-squint-tears, - "dumbbell": $fa-var-dumbbell, - "rectangle-list": $fa-var-rectangle-list, - "list-alt": $fa-var-list-alt, - "tarp-droplet": $fa-var-tarp-droplet, - "alarm-exclamation": $fa-var-alarm-exclamation, - "house-medical-circle-check": $fa-var-house-medical-circle-check, - "traffic-cone": $fa-var-traffic-cone, - "grate": $fa-var-grate, - "arrow-down-right": $fa-var-arrow-down-right, - "person-skiing-nordic": $fa-var-person-skiing-nordic, - "skiing-nordic": $fa-var-skiing-nordic, - "calendar-plus": $fa-var-calendar-plus, - "person-from-portal": $fa-var-person-from-portal, - "portal-exit": $fa-var-portal-exit, - "plane-arrival": $fa-var-plane-arrival, - "cowbell-circle-plus": $fa-var-cowbell-circle-plus, - "cowbell-more": $fa-var-cowbell-more, - "circle-left": $fa-var-circle-left, - "arrow-alt-circle-left": $fa-var-arrow-alt-circle-left, - "distribute-spacing-vertical": $fa-var-distribute-spacing-vertical, - "signal-bars-fair": $fa-var-signal-bars-fair, - "signal-alt-2": $fa-var-signal-alt-2, - "sportsball": $fa-var-sportsball, - "game-console-handheld-crank": $fa-var-game-console-handheld-crank, - "train-subway": $fa-var-train-subway, - "subway": $fa-var-subway, - "chart-gantt": $fa-var-chart-gantt, - "face-smile-upside-down": $fa-var-face-smile-upside-down, - "ball-pile": $fa-var-ball-pile, - "badge-dollar": $fa-var-badge-dollar, - "money-bills-simple": $fa-var-money-bills-simple, - "money-bills-alt": $fa-var-money-bills-alt, - "list-timeline": $fa-var-list-timeline, - "indian-rupee-sign": $fa-var-indian-rupee-sign, - "indian-rupee": $fa-var-indian-rupee, - "inr": $fa-var-inr, - "crop-simple": $fa-var-crop-simple, - "crop-alt": $fa-var-crop-alt, - "money-bill-1": $fa-var-money-bill-1, - "money-bill-alt": $fa-var-money-bill-alt, - "left-long": $fa-var-left-long, - "long-arrow-alt-left": $fa-var-long-arrow-alt-left, - "keyboard-down": $fa-var-keyboard-down, - "circle-up-right": $fa-var-circle-up-right, - "cloud-bolt-moon": $fa-var-cloud-bolt-moon, - "thunderstorm-moon": $fa-var-thunderstorm-moon, - "dna": $fa-var-dna, - "virus-slash": $fa-var-virus-slash, - "bracket-round-right": $fa-var-bracket-round-right, - "circle-5": $fa-var-circle-5, - "minus": $fa-var-minus, - "subtract": $fa-var-subtract, - "fire-flame": $fa-var-fire-flame, - "flame": $fa-var-flame, - "right-to-line": $fa-var-right-to-line, - "arrow-alt-to-right": $fa-var-arrow-alt-to-right, - "gif": $fa-var-gif, - "chess": $fa-var-chess, - "trash-slash": $fa-var-trash-slash, - "arrow-left-long": $fa-var-arrow-left-long, - "long-arrow-left": $fa-var-long-arrow-left, - "plug-circle-check": $fa-var-plug-circle-check, - "font-case": $fa-var-font-case, - "street-view": $fa-var-street-view, - "arrow-down-left": $fa-var-arrow-down-left, - "franc-sign": $fa-var-franc-sign, - "flask-round-poison": $fa-var-flask-round-poison, - "flask-poison": $fa-var-flask-poison, - "volume-off": $fa-var-volume-off, - "book-circle-arrow-right": $fa-var-book-circle-arrow-right, - "chart-user": $fa-var-chart-user, - "user-chart": $fa-var-user-chart, - "hands-asl-interpreting": $fa-var-hands-asl-interpreting, - "american-sign-language-interpreting": $fa-var-american-sign-language-interpreting, - "asl-interpreting": $fa-var-asl-interpreting, - "hands-american-sign-language-interpreting": $fa-var-hands-american-sign-language-interpreting, - "presentation-screen": $fa-var-presentation-screen, - "presentation": $fa-var-presentation, - "circle-bolt": $fa-var-circle-bolt, - "face-smile-halo": $fa-var-face-smile-halo, - "cart-circle-arrow-down": $fa-var-cart-circle-arrow-down, - "house-person-return": $fa-var-house-person-return, - "house-person-arrive": $fa-var-house-person-arrive, - "house-return": $fa-var-house-return, - "message-xmark": $fa-var-message-xmark, - "comment-alt-times": $fa-var-comment-alt-times, - "message-times": $fa-var-message-times, - "file-certificate": $fa-var-file-certificate, - "file-award": $fa-var-file-award, - "user-doctor-hair-long": $fa-var-user-doctor-hair-long, - "camera-security": $fa-var-camera-security, - "camera-home": $fa-var-camera-home, - "gear": $fa-var-gear, - "cog": $fa-var-cog, - "droplet-slash": $fa-var-droplet-slash, - "tint-slash": $fa-var-tint-slash, - "book-heart": $fa-var-book-heart, - "mosque": $fa-var-mosque, - "duck": $fa-var-duck, - "mosquito": $fa-var-mosquito, - "star-of-david": $fa-var-star-of-david, - "flag-swallowtail": $fa-var-flag-swallowtail, - "flag-alt": $fa-var-flag-alt, - "person-military-rifle": $fa-var-person-military-rifle, - "car-garage": $fa-var-car-garage, - "cart-shopping": $fa-var-cart-shopping, - "shopping-cart": $fa-var-shopping-cart, - "book-font": $fa-var-book-font, - "shield-plus": $fa-var-shield-plus, - "vials": $fa-var-vials, - "eye-dropper-full": $fa-var-eye-dropper-full, - "distribute-spacing-horizontal": $fa-var-distribute-spacing-horizontal, - "tablet-rugged": $fa-var-tablet-rugged, - "temperature-snow": $fa-var-temperature-snow, - "temperature-frigid": $fa-var-temperature-frigid, - "moped": $fa-var-moped, - "face-smile-plus": $fa-var-face-smile-plus, - "smile-plus": $fa-var-smile-plus, - "radio-tuner": $fa-var-radio-tuner, - "radio-alt": $fa-var-radio-alt, - "face-swear": $fa-var-face-swear, - "water-arrow-down": $fa-var-water-arrow-down, - "water-lower": $fa-var-water-lower, - "scanner-touchscreen": $fa-var-scanner-touchscreen, - "circle-7": $fa-var-circle-7, - "plug-circle-plus": $fa-var-plug-circle-plus, - "person-ski-jumping": $fa-var-person-ski-jumping, - "ski-jump": $fa-var-ski-jump, - "place-of-worship": $fa-var-place-of-worship, - "water-arrow-up": $fa-var-water-arrow-up, - "water-rise": $fa-var-water-rise, - "waveform-lines": $fa-var-waveform-lines, - "waveform-path": $fa-var-waveform-path, - "split": $fa-var-split, - "film-canister": $fa-var-film-canister, - "film-cannister": $fa-var-film-cannister, - "folder-xmark": $fa-var-folder-xmark, - "folder-times": $fa-var-folder-times, - "toilet-paper-blank": $fa-var-toilet-paper-blank, - "toilet-paper-alt": $fa-var-toilet-paper-alt, - "tablet-screen": $fa-var-tablet-screen, - "tablet-android-alt": $fa-var-tablet-android-alt, - "hexagon-vertical-nft-slanted": $fa-var-hexagon-vertical-nft-slanted, - "folder-music": $fa-var-folder-music, - "display-medical": $fa-var-display-medical, - "desktop-medical": $fa-var-desktop-medical, - "share-all": $fa-var-share-all, - "peapod": $fa-var-peapod, - "chess-clock": $fa-var-chess-clock, - "axe": $fa-var-axe, - "square-d": $fa-var-square-d, - "grip-vertical": $fa-var-grip-vertical, - "mobile-signal-out": $fa-var-mobile-signal-out, - "arrow-turn-up": $fa-var-arrow-turn-up, - "level-up": $fa-var-level-up, - "u": $fa-var-u, - "arrow-up-from-dotted-line": $fa-var-arrow-up-from-dotted-line, - "square-root-variable": $fa-var-square-root-variable, - "square-root-alt": $fa-var-square-root-alt, - "light-switch-on": $fa-var-light-switch-on, - "arrow-down-arrow-up": $fa-var-arrow-down-arrow-up, - "sort-alt": $fa-var-sort-alt, - "raindrops": $fa-var-raindrops, - "dash": $fa-var-dash, - "minus-large": $fa-var-minus-large, - "clock": $fa-var-clock, - "clock-four": $fa-var-clock-four, - "input-numeric": $fa-var-input-numeric, - "truck-tow": $fa-var-truck-tow, - "backward-step": $fa-var-backward-step, - "step-backward": $fa-var-step-backward, - "pallet": $fa-var-pallet, - "car-bolt": $fa-var-car-bolt, - "arrows-maximize": $fa-var-arrows-maximize, - "expand-arrows": $fa-var-expand-arrows, - "faucet": $fa-var-faucet, - "cloud-sleet": $fa-var-cloud-sleet, - "lamp-street": $fa-var-lamp-street, - "list-radio": $fa-var-list-radio, - "pen-nib-slash": $fa-var-pen-nib-slash, - "baseball-bat-ball": $fa-var-baseball-bat-ball, - "square-up-left": $fa-var-square-up-left, - "overline": $fa-var-overline, - "s": $fa-var-s, - "timeline": $fa-var-timeline, - "keyboard": $fa-var-keyboard, - "arrows-from-dotted-line": $fa-var-arrows-from-dotted-line, - "usb-drive": $fa-var-usb-drive, - "ballot": $fa-var-ballot, - "caret-down": $fa-var-caret-down, - "location-dot-slash": $fa-var-location-dot-slash, - "map-marker-alt-slash": $fa-var-map-marker-alt-slash, - "cards": $fa-var-cards, - "house-chimney-medical": $fa-var-house-chimney-medical, - "clinic-medical": $fa-var-clinic-medical, - "boxing-glove": $fa-var-boxing-glove, - "glove-boxing": $fa-var-glove-boxing, - "temperature-three-quarters": $fa-var-temperature-three-quarters, - "temperature-3": $fa-var-temperature-3, - "thermometer-3": $fa-var-thermometer-3, - "thermometer-three-quarters": $fa-var-thermometer-three-quarters, - "bell-school": $fa-var-bell-school, - "mobile-screen": $fa-var-mobile-screen, - "mobile-android-alt": $fa-var-mobile-android-alt, - "plane-up": $fa-var-plane-up, - "folder-heart": $fa-var-folder-heart, - "circle-location-arrow": $fa-var-circle-location-arrow, - "location-circle": $fa-var-location-circle, - "face-head-bandage": $fa-var-face-head-bandage, - "sushi-roll": $fa-var-sushi-roll, - "maki-roll": $fa-var-maki-roll, - "makizushi": $fa-var-makizushi, - "car-bump": $fa-var-car-bump, - "piggy-bank": $fa-var-piggy-bank, - "racquet": $fa-var-racquet, - "car-mirrors": $fa-var-car-mirrors, - "industry-windows": $fa-var-industry-windows, - "industry-alt": $fa-var-industry-alt, - "bolt-auto": $fa-var-bolt-auto, - "battery-half": $fa-var-battery-half, - "battery-3": $fa-var-battery-3, - "flux-capacitor": $fa-var-flux-capacitor, - "mountain-city": $fa-var-mountain-city, - "coins": $fa-var-coins, - "honey-pot": $fa-var-honey-pot, - "olive": $fa-var-olive, - "khanda": $fa-var-khanda, - "filter-list": $fa-var-filter-list, - "outlet": $fa-var-outlet, - "sliders": $fa-var-sliders, - "sliders-h": $fa-var-sliders-h, - "cauldron": $fa-var-cauldron, - "people": $fa-var-people, - "folder-tree": $fa-var-folder-tree, - "network-wired": $fa-var-network-wired, - "croissant": $fa-var-croissant, - "map-pin": $fa-var-map-pin, - "hamsa": $fa-var-hamsa, - "cent-sign": $fa-var-cent-sign, - "swords-laser": $fa-var-swords-laser, - "flask": $fa-var-flask, - "person-pregnant": $fa-var-person-pregnant, - "square-u": $fa-var-square-u, - "wand-sparkles": $fa-var-wand-sparkles, - "router": $fa-var-router, - "ellipsis-vertical": $fa-var-ellipsis-vertical, - "ellipsis-v": $fa-var-ellipsis-v, - "sword-laser-alt": $fa-var-sword-laser-alt, - "ticket": $fa-var-ticket, - "power-off": $fa-var-power-off, - "coin": $fa-var-coin, - "laptop-slash": $fa-var-laptop-slash, - "right-long": $fa-var-right-long, - "long-arrow-alt-right": $fa-var-long-arrow-alt-right, - "circle-b": $fa-var-circle-b, - "person-dress-simple": $fa-var-person-dress-simple, - "pipe-collar": $fa-var-pipe-collar, - "lights-holiday": $fa-var-lights-holiday, - "citrus": $fa-var-citrus, - "flag-usa": $fa-var-flag-usa, - "laptop-file": $fa-var-laptop-file, - "tty": $fa-var-tty, - "teletype": $fa-var-teletype, - "chart-tree-map": $fa-var-chart-tree-map, - "diagram-next": $fa-var-diagram-next, - "person-rifle": $fa-var-person-rifle, - "clock-five-thirty": $fa-var-clock-five-thirty, - "pipe-valve": $fa-var-pipe-valve, - "arrow-up-from-arc": $fa-var-arrow-up-from-arc, - "face-spiral-eyes": $fa-var-face-spiral-eyes, - "compress-wide": $fa-var-compress-wide, - "circle-phone-hangup": $fa-var-circle-phone-hangup, - "phone-circle-down": $fa-var-phone-circle-down, - "house-medical-circle-exclamation": $fa-var-house-medical-circle-exclamation, - "badminton": $fa-var-badminton, - "closed-captioning": $fa-var-closed-captioning, - "person-hiking": $fa-var-person-hiking, - "hiking": $fa-var-hiking, - "right-from-line": $fa-var-right-from-line, - "arrow-alt-from-left": $fa-var-arrow-alt-from-left, - "venus-double": $fa-var-venus-double, - "images": $fa-var-images, - "calculator": $fa-var-calculator, - "shuttlecock": $fa-var-shuttlecock, - "user-hair": $fa-var-user-hair, - "eye-evil": $fa-var-eye-evil, - "people-pulling": $fa-var-people-pulling, - "n": $fa-var-n, - "garage": $fa-var-garage, - "cable-car": $fa-var-cable-car, - "tram": $fa-var-tram, - "shovel-snow": $fa-var-shovel-snow, - "cloud-rain": $fa-var-cloud-rain, - "face-lying": $fa-var-face-lying, - "sprinkler": $fa-var-sprinkler, - "building-circle-xmark": $fa-var-building-circle-xmark, - "person-sledding": $fa-var-person-sledding, - "sledding": $fa-var-sledding, - "game-console-handheld": $fa-var-game-console-handheld, - "ship": $fa-var-ship, - "clock-six-thirty": $fa-var-clock-six-thirty, - "battery-slash": $fa-var-battery-slash, - "tugrik-sign": $fa-var-tugrik-sign, - "arrows-down-to-line": $fa-var-arrows-down-to-line, - "download": $fa-var-download, - "shelves": $fa-var-shelves, - "inventory": $fa-var-inventory, - "cloud-snow": $fa-var-cloud-snow, - "face-grin": $fa-var-face-grin, - "grin": $fa-var-grin, - "delete-left": $fa-var-delete-left, - "backspace": $fa-var-backspace, - "oven": $fa-var-oven, - "eye-dropper": $fa-var-eye-dropper, - "eye-dropper-empty": $fa-var-eye-dropper-empty, - "eyedropper": $fa-var-eyedropper, - "comment-captions": $fa-var-comment-captions, - "comments-question": $fa-var-comments-question, - "scribble": $fa-var-scribble, - "rotate-exclamation": $fa-var-rotate-exclamation, - "file-circle-check": $fa-var-file-circle-check, - "glass": $fa-var-glass, - "loader": $fa-var-loader, - "forward": $fa-var-forward, - "user-pilot": $fa-var-user-pilot, - "mobile": $fa-var-mobile, - "mobile-android": $fa-var-mobile-android, - "mobile-phone": $fa-var-mobile-phone, - "code-pull-request-closed": $fa-var-code-pull-request-closed, - "face-meh": $fa-var-face-meh, - "meh": $fa-var-meh, - "align-center": $fa-var-align-center, - "book-skull": $fa-var-book-skull, - "book-dead": $fa-var-book-dead, - "id-card": $fa-var-id-card, - "drivers-license": $fa-var-drivers-license, - "face-dotted": $fa-var-face-dotted, - "face-worried": $fa-var-face-worried, - "outdent": $fa-var-outdent, - "dedent": $fa-var-dedent, - "heart-circle-exclamation": $fa-var-heart-circle-exclamation, - "house": $fa-var-house, - "home": $fa-var-home, - "home-alt": $fa-var-home-alt, - "home-lg-alt": $fa-var-home-lg-alt, - "vector-circle": $fa-var-vector-circle, - "car-circle-bolt": $fa-var-car-circle-bolt, - "calendar-week": $fa-var-calendar-week, - "flying-disc": $fa-var-flying-disc, - "laptop-medical": $fa-var-laptop-medical, - "square-down-right": $fa-var-square-down-right, - "b": $fa-var-b, - "seat-airline": $fa-var-seat-airline, - "moon-over-sun": $fa-var-moon-over-sun, - "eclipse-alt": $fa-var-eclipse-alt, - "pipe": $fa-var-pipe, - "file-medical": $fa-var-file-medical, - "potato": $fa-var-potato, - "dice-one": $fa-var-dice-one, - "circle-a": $fa-var-circle-a, - "helmet-battle": $fa-var-helmet-battle, - "butter": $fa-var-butter, - "blanket-fire": $fa-var-blanket-fire, - "kiwi-bird": $fa-var-kiwi-bird, - "castle": $fa-var-castle, - "golf-club": $fa-var-golf-club, - "arrow-right-arrow-left": $fa-var-arrow-right-arrow-left, - "exchange": $fa-var-exchange, - "rotate-right": $fa-var-rotate-right, - "redo-alt": $fa-var-redo-alt, - "rotate-forward": $fa-var-rotate-forward, - "utensils": $fa-var-utensils, - "cutlery": $fa-var-cutlery, - "arrow-up-wide-short": $fa-var-arrow-up-wide-short, - "sort-amount-up": $fa-var-sort-amount-up, - "balloons": $fa-var-balloons, - "mill-sign": $fa-var-mill-sign, - "bowl-rice": $fa-var-bowl-rice, - "timeline-arrow": $fa-var-timeline-arrow, - "skull": $fa-var-skull, - "game-board-simple": $fa-var-game-board-simple, - "game-board-alt": $fa-var-game-board-alt, - "circle-video": $fa-var-circle-video, - "video-circle": $fa-var-video-circle, - "chart-scatter-bubble": $fa-var-chart-scatter-bubble, - "house-turret": $fa-var-house-turret, - "banana": $fa-var-banana, - "hand-holding-skull": $fa-var-hand-holding-skull, - "people-dress": $fa-var-people-dress, - "loveseat": $fa-var-loveseat, - "couch-small": $fa-var-couch-small, - "tower-broadcast": $fa-var-tower-broadcast, - "broadcast-tower": $fa-var-broadcast-tower, - "truck-pickup": $fa-var-truck-pickup, - "block-quote": $fa-var-block-quote, - "up-long": $fa-var-up-long, - "long-arrow-alt-up": $fa-var-long-arrow-alt-up, - "stop": $fa-var-stop, - "code-merge": $fa-var-code-merge, - "money-check-dollar-pen": $fa-var-money-check-dollar-pen, - "money-check-edit-alt": $fa-var-money-check-edit-alt, - "up-from-line": $fa-var-up-from-line, - "arrow-alt-from-bottom": $fa-var-arrow-alt-from-bottom, - "upload": $fa-var-upload, - "hurricane": $fa-var-hurricane, - "people-pants": $fa-var-people-pants, - "mound": $fa-var-mound, - "windsock": $fa-var-windsock, - "circle-half": $fa-var-circle-half, - "brake-warning": $fa-var-brake-warning, - "toilet-portable": $fa-var-toilet-portable, - "compact-disc": $fa-var-compact-disc, - "file-arrow-down": $fa-var-file-arrow-down, - "file-download": $fa-var-file-download, - "saxophone-fire": $fa-var-saxophone-fire, - "sax-hot": $fa-var-sax-hot, - "camera-web-slash": $fa-var-camera-web-slash, - "webcam-slash": $fa-var-webcam-slash, - "folder-medical": $fa-var-folder-medical, - "folder-gear": $fa-var-folder-gear, - "folder-cog": $fa-var-folder-cog, - "hand-wave": $fa-var-hand-wave, - "arrow-up-arrow-down": $fa-var-arrow-up-arrow-down, - "sort-up-down": $fa-var-sort-up-down, - "caravan": $fa-var-caravan, - "shield-cat": $fa-var-shield-cat, - "message-slash": $fa-var-message-slash, - "comment-alt-slash": $fa-var-comment-alt-slash, - "bolt": $fa-var-bolt, - "zap": $fa-var-zap, - "trash-can-check": $fa-var-trash-can-check, - "glass-water": $fa-var-glass-water, - "oil-well": $fa-var-oil-well, - "person-simple": $fa-var-person-simple, - "vault": $fa-var-vault, - "mars": $fa-var-mars, - "toilet": $fa-var-toilet, - "plane-circle-xmark": $fa-var-plane-circle-xmark, - "yen-sign": $fa-var-yen-sign, - "cny": $fa-var-cny, - "jpy": $fa-var-jpy, - "rmb": $fa-var-rmb, - "yen": $fa-var-yen, - "notes": $fa-var-notes, - "ruble-sign": $fa-var-ruble-sign, - "rouble": $fa-var-rouble, - "rub": $fa-var-rub, - "ruble": $fa-var-ruble, - "trash-undo": $fa-var-trash-undo, - "trash-arrow-turn-left": $fa-var-trash-arrow-turn-left, - "champagne-glass": $fa-var-champagne-glass, - "glass-champagne": $fa-var-glass-champagne, - "objects-align-center-horizontal": $fa-var-objects-align-center-horizontal, - "sun": $fa-var-sun, - "trash-can-slash": $fa-var-trash-can-slash, - "trash-alt-slash": $fa-var-trash-alt-slash, - "screen-users": $fa-var-screen-users, - "users-class": $fa-var-users-class, - "guitar": $fa-var-guitar, - "square-arrow-left": $fa-var-square-arrow-left, - "arrow-square-left": $fa-var-arrow-square-left, - "square-8": $fa-var-square-8, - "face-smile-hearts": $fa-var-face-smile-hearts, - "brackets-square": $fa-var-brackets-square, - "brackets": $fa-var-brackets, - "laptop-arrow-down": $fa-var-laptop-arrow-down, - "hockey-stick-puck": $fa-var-hockey-stick-puck, - "house-tree": $fa-var-house-tree, - "signal-fair": $fa-var-signal-fair, - "signal-2": $fa-var-signal-2, - "face-laugh-wink": $fa-var-face-laugh-wink, - "laugh-wink": $fa-var-laugh-wink, - "circle-dollar": $fa-var-circle-dollar, - "dollar-circle": $fa-var-dollar-circle, - "usd-circle": $fa-var-usd-circle, - "horse-head": $fa-var-horse-head, - "arrows-repeat": $fa-var-arrows-repeat, - "repeat-alt": $fa-var-repeat-alt, - "bore-hole": $fa-var-bore-hole, - "industry": $fa-var-industry, - "image-polaroid": $fa-var-image-polaroid, - "wave-triangle": $fa-var-wave-triangle, - "circle-down": $fa-var-circle-down, - "arrow-alt-circle-down": $fa-var-arrow-alt-circle-down, - "grill": $fa-var-grill, - "arrows-turn-to-dots": $fa-var-arrows-turn-to-dots, - "chart-mixed": $fa-var-chart-mixed, - "analytics": $fa-var-analytics, - "florin-sign": $fa-var-florin-sign, - "arrow-down-short-wide": $fa-var-arrow-down-short-wide, - "sort-amount-desc": $fa-var-sort-amount-desc, - "sort-amount-down-alt": $fa-var-sort-amount-down-alt, - "less-than": $fa-var-less-than, - "display-code": $fa-var-display-code, - "desktop-code": $fa-var-desktop-code, - "face-drooling": $fa-var-face-drooling, - "oil-temperature": $fa-var-oil-temperature, - "oil-temp": $fa-var-oil-temp, - "square-question": $fa-var-square-question, - "question-square": $fa-var-question-square, - "air-conditioner": $fa-var-air-conditioner, - "angle-down": $fa-var-angle-down, - "mountains": $fa-var-mountains, - "omega": $fa-var-omega, - "car-tunnel": $fa-var-car-tunnel, - "person-dolly-empty": $fa-var-person-dolly-empty, - "pan-food": $fa-var-pan-food, - "head-side-cough": $fa-var-head-side-cough, - "grip-lines": $fa-var-grip-lines, - "thumbs-down": $fa-var-thumbs-down, - "user-lock": $fa-var-user-lock, - "arrow-right-long": $fa-var-arrow-right-long, - "long-arrow-right": $fa-var-long-arrow-right, - "tickets-airline": $fa-var-tickets-airline, - "anchor-circle-xmark": $fa-var-anchor-circle-xmark, - "ellipsis": $fa-var-ellipsis, - "ellipsis-h": $fa-var-ellipsis-h, - "nfc-slash": $fa-var-nfc-slash, - "chess-pawn": $fa-var-chess-pawn, - "kit-medical": $fa-var-kit-medical, - "first-aid": $fa-var-first-aid, - "grid-2-plus": $fa-var-grid-2-plus, - "bells": $fa-var-bells, - "person-through-window": $fa-var-person-through-window, - "toolbox": $fa-var-toolbox, - "envelope-dot": $fa-var-envelope-dot, - "envelope-badge": $fa-var-envelope-badge, - "hands-holding-circle": $fa-var-hands-holding-circle, - "bug": $fa-var-bug, - "bowl-chopsticks": $fa-var-bowl-chopsticks, - "credit-card": $fa-var-credit-card, - "credit-card-alt": $fa-var-credit-card-alt, - "circle-s": $fa-var-circle-s, - "box-ballot": $fa-var-box-ballot, - "car": $fa-var-car, - "automobile": $fa-var-automobile, - "hand-holding-hand": $fa-var-hand-holding-hand, - "user-tie-hair": $fa-var-user-tie-hair, - "podium-star": $fa-var-podium-star, - "user-hair-mullet": $fa-var-user-hair-mullet, - "business-front": $fa-var-business-front, - "party-back": $fa-var-party-back, - "trian-balbot": $fa-var-trian-balbot, - "microphone-stand": $fa-var-microphone-stand, - "book-open-reader": $fa-var-book-open-reader, - "book-reader": $fa-var-book-reader, - "family-dress": $fa-var-family-dress, - "circle-x": $fa-var-circle-x, - "cabin": $fa-var-cabin, - "mountain-sun": $fa-var-mountain-sun, - "chart-simple-horizontal": $fa-var-chart-simple-horizontal, - "arrows-left-right-to-line": $fa-var-arrows-left-right-to-line, - "hand-back-point-left": $fa-var-hand-back-point-left, - "message-dots": $fa-var-message-dots, - "comment-alt-dots": $fa-var-comment-alt-dots, - "messaging": $fa-var-messaging, - "file-heart": $fa-var-file-heart, - "beer-mug": $fa-var-beer-mug, - "beer-foam": $fa-var-beer-foam, - "dice-d20": $fa-var-dice-d20, - "drone": $fa-var-drone, - "truck-droplet": $fa-var-truck-droplet, - "file-circle-xmark": $fa-var-file-circle-xmark, - "temperature-arrow-up": $fa-var-temperature-arrow-up, - "temperature-up": $fa-var-temperature-up, - "medal": $fa-var-medal, - "bed": $fa-var-bed, - "book-copy": $fa-var-book-copy, - "square-h": $fa-var-square-h, - "h-square": $fa-var-h-square, - "square-c": $fa-var-square-c, - "clock-two": $fa-var-clock-two, - "square-ellipsis-vertical": $fa-var-square-ellipsis-vertical, - "podcast": $fa-var-podcast, - "bee": $fa-var-bee, - "temperature-full": $fa-var-temperature-full, - "temperature-4": $fa-var-temperature-4, - "thermometer-4": $fa-var-thermometer-4, - "thermometer-full": $fa-var-thermometer-full, - "bell": $fa-var-bell, - "candy-bar": $fa-var-candy-bar, - "chocolate-bar": $fa-var-chocolate-bar, - "xmark-large": $fa-var-xmark-large, - "pinata": $fa-var-pinata, - "arrows-from-line": $fa-var-arrows-from-line, - "superscript": $fa-var-superscript, - "bowl-spoon": $fa-var-bowl-spoon, - "hexagon-check": $fa-var-hexagon-check, - "plug-circle-xmark": $fa-var-plug-circle-xmark, - "star-of-life": $fa-var-star-of-life, - "phone-slash": $fa-var-phone-slash, - "traffic-light-stop": $fa-var-traffic-light-stop, - "paint-roller": $fa-var-paint-roller, - "accent-grave": $fa-var-accent-grave, - "handshake-angle": $fa-var-handshake-angle, - "hands-helping": $fa-var-hands-helping, - "circle-0": $fa-var-circle-0, - "dial-med-low": $fa-var-dial-med-low, - "location-dot": $fa-var-location-dot, - "map-marker-alt": $fa-var-map-marker-alt, - "crab": $fa-var-crab, - "box-open-full": $fa-var-box-open-full, - "box-full": $fa-var-box-full, - "file": $fa-var-file, - "greater-than": $fa-var-greater-than, - "quotes": $fa-var-quotes, - "pretzel": $fa-var-pretzel, - "person-swimming": $fa-var-person-swimming, - "swimmer": $fa-var-swimmer, - "arrow-down": $fa-var-arrow-down, - "user-robot-xmarks": $fa-var-user-robot-xmarks, - "message-quote": $fa-var-message-quote, - "comment-alt-quote": $fa-var-comment-alt-quote, - "candy-corn": $fa-var-candy-corn, - "folder-magnifying-glass": $fa-var-folder-magnifying-glass, - "folder-search": $fa-var-folder-search, - "notebook": $fa-var-notebook, - "droplet": $fa-var-droplet, - "tint": $fa-var-tint, - "bullseye-pointer": $fa-var-bullseye-pointer, - "eraser": $fa-var-eraser, - "hexagon-image": $fa-var-hexagon-image, - "earth-americas": $fa-var-earth-americas, - "earth": $fa-var-earth, - "earth-america": $fa-var-earth-america, - "globe-americas": $fa-var-globe-americas, - "crate-apple": $fa-var-crate-apple, - "apple-crate": $fa-var-apple-crate, - "person-burst": $fa-var-person-burst, - "game-board": $fa-var-game-board, - "hat-chef": $fa-var-hat-chef, - "hand-back-point-right": $fa-var-hand-back-point-right, - "dove": $fa-var-dove, - "snowflake-droplets": $fa-var-snowflake-droplets, - "battery-empty": $fa-var-battery-empty, - "battery-0": $fa-var-battery-0, - "grid-4": $fa-var-grid-4, - "socks": $fa-var-socks, - "face-sunglasses": $fa-var-face-sunglasses, - "inbox": $fa-var-inbox, - "square-0": $fa-var-square-0, - "section": $fa-var-section, - "square-this-way-up": $fa-var-square-this-way-up, - "box-up": $fa-var-box-up, - "gauge-high": $fa-var-gauge-high, - "tachometer-alt": $fa-var-tachometer-alt, - "tachometer-alt-fast": $fa-var-tachometer-alt-fast, - "square-ampersand": $fa-var-square-ampersand, - "envelope-open-text": $fa-var-envelope-open-text, - "lamp-desk": $fa-var-lamp-desk, - "hospital": $fa-var-hospital, - "hospital-alt": $fa-var-hospital-alt, - "hospital-wide": $fa-var-hospital-wide, - "poll-people": $fa-var-poll-people, - "whiskey-glass-ice": $fa-var-whiskey-glass-ice, - "glass-whiskey-rocks": $fa-var-glass-whiskey-rocks, - "wine-bottle": $fa-var-wine-bottle, - "chess-rook": $fa-var-chess-rook, - "user-bounty-hunter": $fa-var-user-bounty-hunter, - "bars-staggered": $fa-var-bars-staggered, - "reorder": $fa-var-reorder, - "stream": $fa-var-stream, - "diagram-sankey": $fa-var-diagram-sankey, - "cloud-hail-mixed": $fa-var-cloud-hail-mixed, - "circle-up-left": $fa-var-circle-up-left, - "dharmachakra": $fa-var-dharmachakra, - "objects-align-left": $fa-var-objects-align-left, - "oil-can-drip": $fa-var-oil-can-drip, - "face-smiling-hands": $fa-var-face-smiling-hands, - "broccoli": $fa-var-broccoli, - "route-interstate": $fa-var-route-interstate, - "ear-muffs": $fa-var-ear-muffs, - "hotdog": $fa-var-hotdog, - "transporter-empty": $fa-var-transporter-empty, - "person-walking-with-cane": $fa-var-person-walking-with-cane, - "blind": $fa-var-blind, - "angle-90": $fa-var-angle-90, - "rectangle-terminal": $fa-var-rectangle-terminal, - "kite": $fa-var-kite, - "drum": $fa-var-drum, - "scrubber": $fa-var-scrubber, - "ice-cream": $fa-var-ice-cream, - "heart-circle-bolt": $fa-var-heart-circle-bolt, - "fish-bones": $fa-var-fish-bones, - "deer-rudolph": $fa-var-deer-rudolph, - "fax": $fa-var-fax, - "paragraph": $fa-var-paragraph, - "head-side-heart": $fa-var-head-side-heart, - "square-e": $fa-var-square-e, - "meter-fire": $fa-var-meter-fire, - "cloud-hail": $fa-var-cloud-hail, - "check-to-slot": $fa-var-check-to-slot, - "vote-yea": $fa-var-vote-yea, - "money-from-bracket": $fa-var-money-from-bracket, - "star-half": $fa-var-star-half, - "car-bus": $fa-var-car-bus, - "speaker": $fa-var-speaker, - "timer": $fa-var-timer, - "boxes-stacked": $fa-var-boxes-stacked, - "boxes": $fa-var-boxes, - "boxes-alt": $fa-var-boxes-alt, - "grill-hot": $fa-var-grill-hot, - "ballot-check": $fa-var-ballot-check, - "link": $fa-var-link, - "chain": $fa-var-chain, - "ear-listen": $fa-var-ear-listen, - "assistive-listening-systems": $fa-var-assistive-listening-systems, - "file-minus": $fa-var-file-minus, - "tree-city": $fa-var-tree-city, - "play": $fa-var-play, - "font": $fa-var-font, - "cup-togo": $fa-var-cup-togo, - "coffee-togo": $fa-var-coffee-togo, - "square-down-left": $fa-var-square-down-left, - "burger-lettuce": $fa-var-burger-lettuce, - "rupiah-sign": $fa-var-rupiah-sign, - "magnifying-glass": $fa-var-magnifying-glass, - "search": $fa-var-search, - "table-tennis-paddle-ball": $fa-var-table-tennis-paddle-ball, - "ping-pong-paddle-ball": $fa-var-ping-pong-paddle-ball, - "table-tennis": $fa-var-table-tennis, - "person-dots-from-line": $fa-var-person-dots-from-line, - "diagnoses": $fa-var-diagnoses, - "chevrons-down": $fa-var-chevrons-down, - "chevron-double-down": $fa-var-chevron-double-down, - "trash-can-arrow-up": $fa-var-trash-can-arrow-up, - "trash-restore-alt": $fa-var-trash-restore-alt, - "signal-good": $fa-var-signal-good, - "signal-3": $fa-var-signal-3, - "location-question": $fa-var-location-question, - "map-marker-question": $fa-var-map-marker-question, - "floppy-disk-circle-xmark": $fa-var-floppy-disk-circle-xmark, - "floppy-disk-times": $fa-var-floppy-disk-times, - "save-circle-xmark": $fa-var-save-circle-xmark, - "save-times": $fa-var-save-times, - "naira-sign": $fa-var-naira-sign, - "peach": $fa-var-peach, - "taxi-bus": $fa-var-taxi-bus, - "bracket-curly": $fa-var-bracket-curly, - "bracket-curly-left": $fa-var-bracket-curly-left, - "lobster": $fa-var-lobster, - "cart-flatbed-empty": $fa-var-cart-flatbed-empty, - "dolly-flatbed-empty": $fa-var-dolly-flatbed-empty, - "colon": $fa-var-colon, - "cart-arrow-down": $fa-var-cart-arrow-down, - "wand": $fa-var-wand, - "walkie-talkie": $fa-var-walkie-talkie, - "file-pen": $fa-var-file-pen, - "file-edit": $fa-var-file-edit, - "receipt": $fa-var-receipt, - "table-picnic": $fa-var-table-picnic, - "square-pen": $fa-var-square-pen, - "pen-square": $fa-var-pen-square, - "pencil-square": $fa-var-pencil-square, - "circle-microphone-lines": $fa-var-circle-microphone-lines, - "microphone-circle-alt": $fa-var-microphone-circle-alt, - "display-slash": $fa-var-display-slash, - "desktop-slash": $fa-var-desktop-slash, - "suitcase-rolling": $fa-var-suitcase-rolling, - "person-circle-exclamation": $fa-var-person-circle-exclamation, - "transporter-2": $fa-var-transporter-2, - "hands-holding-diamond": $fa-var-hands-holding-diamond, - "hand-receiving": $fa-var-hand-receiving, - "money-bill-simple-wave": $fa-var-money-bill-simple-wave, - "chevron-down": $fa-var-chevron-down, - "battery-full": $fa-var-battery-full, - "battery": $fa-var-battery, - "battery-5": $fa-var-battery-5, - "bell-plus": $fa-var-bell-plus, - "book-arrow-right": $fa-var-book-arrow-right, - "hospitals": $fa-var-hospitals, - "club": $fa-var-club, - "skull-crossbones": $fa-var-skull-crossbones, - "droplet-degree": $fa-var-droplet-degree, - "dewpoint": $fa-var-dewpoint, - "code-compare": $fa-var-code-compare, - "list-ul": $fa-var-list-ul, - "list-dots": $fa-var-list-dots, - "hand-holding-magic": $fa-var-hand-holding-magic, - "watermelon-slice": $fa-var-watermelon-slice, - "circle-ellipsis": $fa-var-circle-ellipsis, - "school-lock": $fa-var-school-lock, - "tower-cell": $fa-var-tower-cell, - "sd-cards": $fa-var-sd-cards, - "down-long": $fa-var-down-long, - "long-arrow-alt-down": $fa-var-long-arrow-alt-down, - "envelopes": $fa-var-envelopes, - "phone-office": $fa-var-phone-office, - "ranking-star": $fa-var-ranking-star, - "chess-king": $fa-var-chess-king, - "nfc-pen": $fa-var-nfc-pen, - "person-harassing": $fa-var-person-harassing, - "hat-winter": $fa-var-hat-winter, - "brazilian-real-sign": $fa-var-brazilian-real-sign, - "landmark-dome": $fa-var-landmark-dome, - "landmark-alt": $fa-var-landmark-alt, - "bone-break": $fa-var-bone-break, - "arrow-up": $fa-var-arrow-up, - "down-from-dotted-line": $fa-var-down-from-dotted-line, - "tv": $fa-var-tv, - "television": $fa-var-television, - "tv-alt": $fa-var-tv-alt, - "border-left": $fa-var-border-left, - "circle-divide": $fa-var-circle-divide, - "shrimp": $fa-var-shrimp, - "list-check": $fa-var-list-check, - "tasks": $fa-var-tasks, - "diagram-subtask": $fa-var-diagram-subtask, - "jug-detergent": $fa-var-jug-detergent, - "circle-user": $fa-var-circle-user, - "user-circle": $fa-var-user-circle, - "square-y": $fa-var-square-y, - "user-doctor-hair": $fa-var-user-doctor-hair, - "planet-ringed": $fa-var-planet-ringed, - "mushroom": $fa-var-mushroom, - "user-shield": $fa-var-user-shield, - "megaphone": $fa-var-megaphone, - "circle-exclamation-check": $fa-var-circle-exclamation-check, - "wind": $fa-var-wind, - "box-dollar": $fa-var-box-dollar, - "box-usd": $fa-var-box-usd, - "car-burst": $fa-var-car-burst, - "car-crash": $fa-var-car-crash, - "y": $fa-var-y, - "user-headset": $fa-var-user-headset, - "arrows-retweet": $fa-var-arrows-retweet, - "retweet-alt": $fa-var-retweet-alt, - "person-snowboarding": $fa-var-person-snowboarding, - "snowboarding": $fa-var-snowboarding, - "square-chevron-right": $fa-var-square-chevron-right, - "chevron-square-right": $fa-var-chevron-square-right, - "lacrosse-stick-ball": $fa-var-lacrosse-stick-ball, - "truck-fast": $fa-var-truck-fast, - "shipping-fast": $fa-var-shipping-fast, - "user-magnifying-glass": $fa-var-user-magnifying-glass, - "star-sharp": $fa-var-star-sharp, - "comment-heart": $fa-var-comment-heart, - "circle-1": $fa-var-circle-1, - "circle-star": $fa-var-circle-star, - "star-circle": $fa-var-star-circle, - "fish": $fa-var-fish, - "cloud-fog": $fa-var-cloud-fog, - "fog": $fa-var-fog, - "waffle": $fa-var-waffle, - "music-note": $fa-var-music-note, - "music-alt": $fa-var-music-alt, - "hexagon-exclamation": $fa-var-hexagon-exclamation, - "cart-shopping-fast": $fa-var-cart-shopping-fast, - "object-union": $fa-var-object-union, - "user-graduate": $fa-var-user-graduate, - "starfighter": $fa-var-starfighter, - "circle-half-stroke": $fa-var-circle-half-stroke, - "adjust": $fa-var-adjust, - "arrow-right-long-to-line": $fa-var-arrow-right-long-to-line, - "square-arrow-down": $fa-var-square-arrow-down, - "arrow-square-down": $fa-var-arrow-square-down, - "diamond-half-stroke": $fa-var-diamond-half-stroke, - "clapperboard": $fa-var-clapperboard, - "square-chevron-left": $fa-var-square-chevron-left, - "chevron-square-left": $fa-var-chevron-square-left, - "phone-intercom": $fa-var-phone-intercom, - "link-horizontal": $fa-var-link-horizontal, - "chain-horizontal": $fa-var-chain-horizontal, - "mango": $fa-var-mango, - "music-note-slash": $fa-var-music-note-slash, - "music-alt-slash": $fa-var-music-alt-slash, - "circle-radiation": $fa-var-circle-radiation, - "radiation-alt": $fa-var-radiation-alt, - "face-tongue-sweat": $fa-var-face-tongue-sweat, - "globe-stand": $fa-var-globe-stand, - "baseball": $fa-var-baseball, - "baseball-ball": $fa-var-baseball-ball, - "circle-p": $fa-var-circle-p, - "award-simple": $fa-var-award-simple, - "jet-fighter-up": $fa-var-jet-fighter-up, - "diagram-project": $fa-var-diagram-project, - "project-diagram": $fa-var-project-diagram, - "pedestal": $fa-var-pedestal, - "chart-pyramid": $fa-var-chart-pyramid, - "sidebar": $fa-var-sidebar, - "snowman-head": $fa-var-snowman-head, - "frosty-head": $fa-var-frosty-head, - "copy": $fa-var-copy, - "burger-glass": $fa-var-burger-glass, - "volume-xmark": $fa-var-volume-xmark, - "volume-mute": $fa-var-volume-mute, - "volume-times": $fa-var-volume-times, - "hand-sparkles": $fa-var-hand-sparkles, - "bars-filter": $fa-var-bars-filter, - "paintbrush-pencil": $fa-var-paintbrush-pencil, - "party-bell": $fa-var-party-bell, - "user-vneck-hair": $fa-var-user-vneck-hair, - "jack-o-lantern": $fa-var-jack-o-lantern, - "grip": $fa-var-grip, - "grip-horizontal": $fa-var-grip-horizontal, - "share-from-square": $fa-var-share-from-square, - "share-square": $fa-var-share-square, - "keynote": $fa-var-keynote, - "child-combatant": $fa-var-child-combatant, - "child-rifle": $fa-var-child-rifle, - "gun": $fa-var-gun, - "square-phone": $fa-var-square-phone, - "phone-square": $fa-var-phone-square, - "plus": $fa-var-plus, - "add": $fa-var-add, - "expand": $fa-var-expand, - "computer": $fa-var-computer, - "fort": $fa-var-fort, - "cloud-check": $fa-var-cloud-check, - "xmark": $fa-var-xmark, - "close": $fa-var-close, - "multiply": $fa-var-multiply, - "remove": $fa-var-remove, - "times": $fa-var-times, - "face-smirking": $fa-var-face-smirking, - "arrows-up-down-left-right": $fa-var-arrows-up-down-left-right, - "arrows": $fa-var-arrows, - "chalkboard-user": $fa-var-chalkboard-user, - "chalkboard-teacher": $fa-var-chalkboard-teacher, - "rhombus": $fa-var-rhombus, - "claw-marks": $fa-var-claw-marks, - "peso-sign": $fa-var-peso-sign, - "face-smile-tongue": $fa-var-face-smile-tongue, - "cart-circle-xmark": $fa-var-cart-circle-xmark, - "building-shield": $fa-var-building-shield, - "circle-phone-flip": $fa-var-circle-phone-flip, - "phone-circle-alt": $fa-var-phone-circle-alt, - "baby": $fa-var-baby, - "users-line": $fa-var-users-line, - "quote-left": $fa-var-quote-left, - "quote-left-alt": $fa-var-quote-left-alt, - "tractor": $fa-var-tractor, - "key-skeleton": $fa-var-key-skeleton, - "trash-arrow-up": $fa-var-trash-arrow-up, - "trash-restore": $fa-var-trash-restore, - "arrow-down-up-lock": $fa-var-arrow-down-up-lock, - "arrow-down-to-bracket": $fa-var-arrow-down-to-bracket, - "lines-leaning": $fa-var-lines-leaning, - "square-q": $fa-var-square-q, - "ruler-combined": $fa-var-ruler-combined, - "symbols": $fa-var-symbols, - "icons-alt": $fa-var-icons-alt, - "copyright": $fa-var-copyright, - "highlighter-line": $fa-var-highlighter-line, - "bracket-square": $fa-var-bracket-square, - "bracket": $fa-var-bracket, - "bracket-left": $fa-var-bracket-left, - "island-tropical": $fa-var-island-tropical, - "island-tree-palm": $fa-var-island-tree-palm, - "arrow-right-from-line": $fa-var-arrow-right-from-line, - "arrow-from-left": $fa-var-arrow-from-left, - "h2": $fa-var-h2, - "equals": $fa-var-equals, - "cake-slice": $fa-var-cake-slice, - "shortcake": $fa-var-shortcake, - "peanut": $fa-var-peanut, - "wrench-simple": $fa-var-wrench-simple, - "blender": $fa-var-blender, - "teeth": $fa-var-teeth, - "tally-2": $fa-var-tally-2, - "shekel-sign": $fa-var-shekel-sign, - "ils": $fa-var-ils, - "shekel": $fa-var-shekel, - "sheqel": $fa-var-sheqel, - "sheqel-sign": $fa-var-sheqel-sign, - "cars": $fa-var-cars, - "axe-battle": $fa-var-axe-battle, - "user-hair-long": $fa-var-user-hair-long, - "map": $fa-var-map, - "file-circle-info": $fa-var-file-circle-info, - "face-disappointed": $fa-var-face-disappointed, - "lasso-sparkles": $fa-var-lasso-sparkles, - "clock-eleven": $fa-var-clock-eleven, - "rocket": $fa-var-rocket, - "siren-on": $fa-var-siren-on, - "clock-ten": $fa-var-clock-ten, - "candle-holder": $fa-var-candle-holder, - "video-arrow-down-left": $fa-var-video-arrow-down-left, - "photo-film": $fa-var-photo-film, - "photo-video": $fa-var-photo-video, - "floppy-disk-circle-arrow-right": $fa-var-floppy-disk-circle-arrow-right, - "save-circle-arrow-right": $fa-var-save-circle-arrow-right, - "folder-minus": $fa-var-folder-minus, - "planet-moon": $fa-var-planet-moon, - "face-eyes-xmarks": $fa-var-face-eyes-xmarks, - "chart-scatter": $fa-var-chart-scatter, - "display-arrow-down": $fa-var-display-arrow-down, - "store": $fa-var-store, - "arrow-trend-up": $fa-var-arrow-trend-up, - "plug-circle-minus": $fa-var-plug-circle-minus, - "olive-branch": $fa-var-olive-branch, - "angle": $fa-var-angle, - "vacuum-robot": $fa-var-vacuum-robot, - "sign-hanging": $fa-var-sign-hanging, - "sign": $fa-var-sign, - "square-divide": $fa-var-square-divide, - "signal-stream-slash": $fa-var-signal-stream-slash, - "bezier-curve": $fa-var-bezier-curve, - "eye-dropper-half": $fa-var-eye-dropper-half, - "store-lock": $fa-var-store-lock, - "bell-slash": $fa-var-bell-slash, - "cloud-bolt-sun": $fa-var-cloud-bolt-sun, - "thunderstorm-sun": $fa-var-thunderstorm-sun, - "camera-slash": $fa-var-camera-slash, - "comment-quote": $fa-var-comment-quote, - "tablet": $fa-var-tablet, - "tablet-android": $fa-var-tablet-android, - "school-flag": $fa-var-school-flag, - "message-code": $fa-var-message-code, - "glass-half": $fa-var-glass-half, - "glass-half-empty": $fa-var-glass-half-empty, - "glass-half-full": $fa-var-glass-half-full, - "fill": $fa-var-fill, - "message-minus": $fa-var-message-minus, - "comment-alt-minus": $fa-var-comment-alt-minus, - "angle-up": $fa-var-angle-up, - "drumstick-bite": $fa-var-drumstick-bite, - "link-horizontal-slash": $fa-var-link-horizontal-slash, - "chain-horizontal-slash": $fa-var-chain-horizontal-slash, - "holly-berry": $fa-var-holly-berry, - "nose": $fa-var-nose, - "chevron-left": $fa-var-chevron-left, - "bacteria": $fa-var-bacteria, - "clouds": $fa-var-clouds, - "money-bill-simple": $fa-var-money-bill-simple, - "hand-lizard": $fa-var-hand-lizard, - "table-pivot": $fa-var-table-pivot, - "filter-slash": $fa-var-filter-slash, - "trash-can-undo": $fa-var-trash-can-undo, - "trash-can-arrow-turn-left": $fa-var-trash-can-arrow-turn-left, - "trash-undo-alt": $fa-var-trash-undo-alt, - "notdef": $fa-var-notdef, - "disease": $fa-var-disease, - "person-to-door": $fa-var-person-to-door, - "turntable": $fa-var-turntable, - "briefcase-medical": $fa-var-briefcase-medical, - "genderless": $fa-var-genderless, - "chevron-right": $fa-var-chevron-right, - "signal-weak": $fa-var-signal-weak, - "signal-1": $fa-var-signal-1, - "clock-five": $fa-var-clock-five, - "retweet": $fa-var-retweet, - "car-rear": $fa-var-car-rear, - "car-alt": $fa-var-car-alt, - "pump-soap": $fa-var-pump-soap, - "computer-classic": $fa-var-computer-classic, - "frame": $fa-var-frame, - "video-slash": $fa-var-video-slash, - "battery-quarter": $fa-var-battery-quarter, - "battery-2": $fa-var-battery-2, - "ellipsis-stroke": $fa-var-ellipsis-stroke, - "ellipsis-h-alt": $fa-var-ellipsis-h-alt, - "radio": $fa-var-radio, - "baby-carriage": $fa-var-baby-carriage, - "carriage-baby": $fa-var-carriage-baby, - "face-expressionless": $fa-var-face-expressionless, - "down-to-dotted-line": $fa-var-down-to-dotted-line, - "cloud-music": $fa-var-cloud-music, - "traffic-light": $fa-var-traffic-light, - "cloud-minus": $fa-var-cloud-minus, - "thermometer": $fa-var-thermometer, - "shield-minus": $fa-var-shield-minus, - "vr-cardboard": $fa-var-vr-cardboard, - "car-tilt": $fa-var-car-tilt, - "gauge-circle-minus": $fa-var-gauge-circle-minus, - "brightness-low": $fa-var-brightness-low, - "hand-middle-finger": $fa-var-hand-middle-finger, - "percent": $fa-var-percent, - "percentage": $fa-var-percentage, - "truck-moving": $fa-var-truck-moving, - "glass-water-droplet": $fa-var-glass-water-droplet, - "conveyor-belt": $fa-var-conveyor-belt, - "location-check": $fa-var-location-check, - "map-marker-check": $fa-var-map-marker-check, - "coin-vertical": $fa-var-coin-vertical, - "display": $fa-var-display, - "person-sign": $fa-var-person-sign, - "face-smile": $fa-var-face-smile, - "smile": $fa-var-smile, - "phone-hangup": $fa-var-phone-hangup, - "signature-slash": $fa-var-signature-slash, - "thumbtack": $fa-var-thumbtack, - "thumb-tack": $fa-var-thumb-tack, - "wheat-slash": $fa-var-wheat-slash, - "trophy": $fa-var-trophy, - "clouds-sun": $fa-var-clouds-sun, - "person-praying": $fa-var-person-praying, - "pray": $fa-var-pray, - "hammer": $fa-var-hammer, - "face-vomit": $fa-var-face-vomit, - "speakers": $fa-var-speakers, - "tty-answer": $fa-var-tty-answer, - "teletype-answer": $fa-var-teletype-answer, - "mug-tea-saucer": $fa-var-mug-tea-saucer, - "diagram-lean-canvas": $fa-var-diagram-lean-canvas, - "alt": $fa-var-alt, - "dial": $fa-var-dial, - "dial-med-high": $fa-var-dial-med-high, - "hand-peace": $fa-var-hand-peace, - "circle-trash": $fa-var-circle-trash, - "trash-circle": $fa-var-trash-circle, - "rotate": $fa-var-rotate, - "sync-alt": $fa-var-sync-alt, - "circle-quarters": $fa-var-circle-quarters, - "spinner": $fa-var-spinner, - "tower-control": $fa-var-tower-control, - "arrow-up-triangle-square": $fa-var-arrow-up-triangle-square, - "sort-shapes-up": $fa-var-sort-shapes-up, - "whale": $fa-var-whale, - "robot": $fa-var-robot, - "peace": $fa-var-peace, - "party-horn": $fa-var-party-horn, - "gears": $fa-var-gears, - "cogs": $fa-var-cogs, - "sun-bright": $fa-var-sun-bright, - "sun-alt": $fa-var-sun-alt, - "warehouse": $fa-var-warehouse, - "lock-keyhole-open": $fa-var-lock-keyhole-open, - "lock-open-alt": $fa-var-lock-open-alt, - "square-fragile": $fa-var-square-fragile, - "box-fragile": $fa-var-box-fragile, - "square-wine-glass-crack": $fa-var-square-wine-glass-crack, - "arrow-up-right-dots": $fa-var-arrow-up-right-dots, - "square-n": $fa-var-square-n, - "splotch": $fa-var-splotch, - "face-grin-hearts": $fa-var-face-grin-hearts, - "grin-hearts": $fa-var-grin-hearts, - "meter": $fa-var-meter, - "mandolin": $fa-var-mandolin, - "dice-four": $fa-var-dice-four, - "sim-card": $fa-var-sim-card, - "transgender": $fa-var-transgender, - "transgender-alt": $fa-var-transgender-alt, - "mercury": $fa-var-mercury, - "up-from-bracket": $fa-var-up-from-bracket, - "knife-kitchen": $fa-var-knife-kitchen, - "border-right": $fa-var-border-right, - "arrow-turn-down": $fa-var-arrow-turn-down, - "level-down": $fa-var-level-down, - "spade": $fa-var-spade, - "card-spade": $fa-var-card-spade, - "line-columns": $fa-var-line-columns, - "arrow-right-to-line": $fa-var-arrow-right-to-line, - "arrow-to-right": $fa-var-arrow-to-right, - "person-falling-burst": $fa-var-person-falling-burst, - "flag-pennant": $fa-var-flag-pennant, - "pennant": $fa-var-pennant, - "conveyor-belt-empty": $fa-var-conveyor-belt-empty, - "award": $fa-var-award, - "ticket-simple": $fa-var-ticket-simple, - "ticket-alt": $fa-var-ticket-alt, - "building": $fa-var-building, - "angles-left": $fa-var-angles-left, - "angle-double-left": $fa-var-angle-double-left, - "camcorder": $fa-var-camcorder, - "video-handheld": $fa-var-video-handheld, - "pancakes": $fa-var-pancakes, - "album-circle-user": $fa-var-album-circle-user, - "qrcode": $fa-var-qrcode, - "dice-d10": $fa-var-dice-d10, - "fireplace": $fa-var-fireplace, - "browser": $fa-var-browser, - "pen-paintbrush": $fa-var-pen-paintbrush, - "pencil-paintbrush": $fa-var-pencil-paintbrush, - "fish-cooked": $fa-var-fish-cooked, - "chair-office": $fa-var-chair-office, - "nesting-dolls": $fa-var-nesting-dolls, - "clock-rotate-left": $fa-var-clock-rotate-left, - "history": $fa-var-history, - "trumpet": $fa-var-trumpet, - "face-grin-beam-sweat": $fa-var-face-grin-beam-sweat, - "grin-beam-sweat": $fa-var-grin-beam-sweat, - "fire-smoke": $fa-var-fire-smoke, - "phone-missed": $fa-var-phone-missed, - "file-export": $fa-var-file-export, - "arrow-right-from-file": $fa-var-arrow-right-from-file, - "shield": $fa-var-shield, - "shield-blank": $fa-var-shield-blank, - "arrow-up-short-wide": $fa-var-arrow-up-short-wide, - "sort-amount-up-alt": $fa-var-sort-amount-up-alt, - "arrows-repeat-1": $fa-var-arrows-repeat-1, - "repeat-1-alt": $fa-var-repeat-1-alt, - "gun-slash": $fa-var-gun-slash, - "avocado": $fa-var-avocado, - "binary": $fa-var-binary, - "glasses-round": $fa-var-glasses-round, - "glasses-alt": $fa-var-glasses-alt, - "phone-plus": $fa-var-phone-plus, - "ditto": $fa-var-ditto, - "person-seat": $fa-var-person-seat, - "house-medical": $fa-var-house-medical, - "golf-ball-tee": $fa-var-golf-ball-tee, - "golf-ball": $fa-var-golf-ball, - "circle-chevron-left": $fa-var-circle-chevron-left, - "chevron-circle-left": $fa-var-chevron-circle-left, - "house-chimney-window": $fa-var-house-chimney-window, - "scythe": $fa-var-scythe, - "pen-nib": $fa-var-pen-nib, - "ban-parking": $fa-var-ban-parking, - "parking-circle-slash": $fa-var-parking-circle-slash, - "tent-arrow-turn-left": $fa-var-tent-arrow-turn-left, - "face-diagonal-mouth": $fa-var-face-diagonal-mouth, - "diagram-cells": $fa-var-diagram-cells, - "cricket-bat-ball": $fa-var-cricket-bat-ball, - "cricket": $fa-var-cricket, - "tents": $fa-var-tents, - "wand-magic": $fa-var-wand-magic, - "magic": $fa-var-magic, - "dog": $fa-var-dog, - "pen-line": $fa-var-pen-line, - "atom-simple": $fa-var-atom-simple, - "atom-alt": $fa-var-atom-alt, - "ampersand": $fa-var-ampersand, - "carrot": $fa-var-carrot, - "arrow-up-from-line": $fa-var-arrow-up-from-line, - "arrow-from-bottom": $fa-var-arrow-from-bottom, - "moon": $fa-var-moon, - "pen-slash": $fa-var-pen-slash, - "wine-glass-empty": $fa-var-wine-glass-empty, - "wine-glass-alt": $fa-var-wine-glass-alt, - "square-star": $fa-var-square-star, - "cheese": $fa-var-cheese, - "send-backward": $fa-var-send-backward, - "yin-yang": $fa-var-yin-yang, - "music": $fa-var-music, - "compass-slash": $fa-var-compass-slash, - "clock-one": $fa-var-clock-one, - "file-music": $fa-var-file-music, - "code-commit": $fa-var-code-commit, - "temperature-low": $fa-var-temperature-low, - "person-biking": $fa-var-person-biking, - "biking": $fa-var-biking, - "skeleton": $fa-var-skeleton, - "circle-g": $fa-var-circle-g, - "circle-arrow-up-left": $fa-var-circle-arrow-up-left, - "coin-blank": $fa-var-coin-blank, - "broom": $fa-var-broom, - "vacuum": $fa-var-vacuum, - "shield-heart": $fa-var-shield-heart, - "card-heart": $fa-var-card-heart, - "lightbulb-cfl-on": $fa-var-lightbulb-cfl-on, - "melon": $fa-var-melon, - "gopuram": $fa-var-gopuram, - "earth-oceania": $fa-var-earth-oceania, - "globe-oceania": $fa-var-globe-oceania, - "container-storage": $fa-var-container-storage, - "face-pouting": $fa-var-face-pouting, - "square-xmark": $fa-var-square-xmark, - "times-square": $fa-var-times-square, - "xmark-square": $fa-var-xmark-square, - "face-explode": $fa-var-face-explode, - "exploding-head": $fa-var-exploding-head, - "hashtag": $fa-var-hashtag, - "up-right-and-down-left-from-center": $fa-var-up-right-and-down-left-from-center, - "expand-alt": $fa-var-expand-alt, - "oil-can": $fa-var-oil-can, - "t": $fa-var-t, - "transformer-bolt": $fa-var-transformer-bolt, - "hippo": $fa-var-hippo, - "chart-column": $fa-var-chart-column, - "cassette-vhs": $fa-var-cassette-vhs, - "vhs": $fa-var-vhs, - "infinity": $fa-var-infinity, - "vial-circle-check": $fa-var-vial-circle-check, - "chimney": $fa-var-chimney, - "object-intersect": $fa-var-object-intersect, - "person-arrow-down-to-line": $fa-var-person-arrow-down-to-line, - "voicemail": $fa-var-voicemail, - "block-brick": $fa-var-block-brick, - "wall-brick": $fa-var-wall-brick, - "fan": $fa-var-fan, - "bags-shopping": $fa-var-bags-shopping, - "paragraph-left": $fa-var-paragraph-left, - "paragraph-rtl": $fa-var-paragraph-rtl, - "person-walking-luggage": $fa-var-person-walking-luggage, - "caravan-simple": $fa-var-caravan-simple, - "caravan-alt": $fa-var-caravan-alt, - "turtle": $fa-var-turtle, - "up-down": $fa-var-up-down, - "arrows-alt-v": $fa-var-arrows-alt-v, - "cloud-moon-rain": $fa-var-cloud-moon-rain, - "booth-curtain": $fa-var-booth-curtain, - "calendar": $fa-var-calendar, - "box-heart": $fa-var-box-heart, - "trailer": $fa-var-trailer, - "user-doctor-message": $fa-var-user-doctor-message, - "user-md-chat": $fa-var-user-md-chat, - "bahai": $fa-var-bahai, - "haykal": $fa-var-haykal, - "amp-guitar": $fa-var-amp-guitar, - "sd-card": $fa-var-sd-card, - "volume-slash": $fa-var-volume-slash, - "border-bottom": $fa-var-border-bottom, - "wifi-weak": $fa-var-wifi-weak, - "wifi-1": $fa-var-wifi-1, - "dragon": $fa-var-dragon, - "shoe-prints": $fa-var-shoe-prints, - "circle-plus": $fa-var-circle-plus, - "plus-circle": $fa-var-plus-circle, - "face-grin-tongue-wink": $fa-var-face-grin-tongue-wink, - "grin-tongue-wink": $fa-var-grin-tongue-wink, - "hand-holding": $fa-var-hand-holding, - "plug-circle-exclamation": $fa-var-plug-circle-exclamation, - "link-slash": $fa-var-link-slash, - "chain-broken": $fa-var-chain-broken, - "chain-slash": $fa-var-chain-slash, - "unlink": $fa-var-unlink, - "clone": $fa-var-clone, - "person-walking-arrow-loop-left": $fa-var-person-walking-arrow-loop-left, - "arrow-up-z-a": $fa-var-arrow-up-z-a, - "sort-alpha-up-alt": $fa-var-sort-alpha-up-alt, - "fire-flame-curved": $fa-var-fire-flame-curved, - "fire-alt": $fa-var-fire-alt, - "tornado": $fa-var-tornado, - "file-circle-plus": $fa-var-file-circle-plus, - "delete-right": $fa-var-delete-right, - "book-quran": $fa-var-book-quran, - "quran": $fa-var-quran, - "circle-quarter": $fa-var-circle-quarter, - "anchor": $fa-var-anchor, - "border-all": $fa-var-border-all, - "function": $fa-var-function, - "face-angry": $fa-var-face-angry, - "angry": $fa-var-angry, - "people-simple": $fa-var-people-simple, - "cookie-bite": $fa-var-cookie-bite, - "arrow-trend-down": $fa-var-arrow-trend-down, - "rss": $fa-var-rss, - "feed": $fa-var-feed, - "face-monocle": $fa-var-face-monocle, - "draw-polygon": $fa-var-draw-polygon, - "scale-balanced": $fa-var-scale-balanced, - "balance-scale": $fa-var-balance-scale, - "calendar-lines": $fa-var-calendar-lines, - "calendar-note": $fa-var-calendar-note, - "arrow-down-big-small": $fa-var-arrow-down-big-small, - "sort-size-down": $fa-var-sort-size-down, - "gauge-simple-high": $fa-var-gauge-simple-high, - "tachometer": $fa-var-tachometer, - "tachometer-fast": $fa-var-tachometer-fast, - "do-not-enter": $fa-var-do-not-enter, - "shower": $fa-var-shower, - "dice-d8": $fa-var-dice-d8, - "desktop": $fa-var-desktop, - "desktop-alt": $fa-var-desktop-alt, - "m": $fa-var-m, - "grip-dots-vertical": $fa-var-grip-dots-vertical, - "face-viewfinder": $fa-var-face-viewfinder, - "soft-serve": $fa-var-soft-serve, - "creemee": $fa-var-creemee, - "h5": $fa-var-h5, - "hand-back-point-down": $fa-var-hand-back-point-down, - "table-list": $fa-var-table-list, - "th-list": $fa-var-th-list, - "comment-sms": $fa-var-comment-sms, - "sms": $fa-var-sms, - "rectangle": $fa-var-rectangle, - "rectangle-landscape": $fa-var-rectangle-landscape, - "clipboard-list-check": $fa-var-clipboard-list-check, - "turkey": $fa-var-turkey, - "book": $fa-var-book, - "user-plus": $fa-var-user-plus, - "ice-skate": $fa-var-ice-skate, - "check": $fa-var-check, - "battery-three-quarters": $fa-var-battery-three-quarters, - "battery-4": $fa-var-battery-4, - "tomato": $fa-var-tomato, - "sword-laser": $fa-var-sword-laser, - "house-circle-check": $fa-var-house-circle-check, - "buildings": $fa-var-buildings, - "angle-left": $fa-var-angle-left, - "cart-flatbed-boxes": $fa-var-cart-flatbed-boxes, - "dolly-flatbed-alt": $fa-var-dolly-flatbed-alt, - "diagram-successor": $fa-var-diagram-successor, - "truck-arrow-right": $fa-var-truck-arrow-right, - "square-w": $fa-var-square-w, - "arrows-split-up-and-left": $fa-var-arrows-split-up-and-left, - "lamp": $fa-var-lamp, - "airplay": $fa-var-airplay, - "hand-fist": $fa-var-hand-fist, - "fist-raised": $fa-var-fist-raised, - "shield-quartered": $fa-var-shield-quartered, - "slash-forward": $fa-var-slash-forward, - "location-pen": $fa-var-location-pen, - "map-marker-edit": $fa-var-map-marker-edit, - "cloud-moon": $fa-var-cloud-moon, - "pot-food": $fa-var-pot-food, - "briefcase": $fa-var-briefcase, - "person-falling": $fa-var-person-falling, - "image-portrait": $fa-var-image-portrait, - "portrait": $fa-var-portrait, - "user-tag": $fa-var-user-tag, - "rug": $fa-var-rug, - "print-slash": $fa-var-print-slash, - "earth-europe": $fa-var-earth-europe, - "globe-europe": $fa-var-globe-europe, - "cart-flatbed-suitcase": $fa-var-cart-flatbed-suitcase, - "luggage-cart": $fa-var-luggage-cart, - "hand-back-point-ribbon": $fa-var-hand-back-point-ribbon, - "rectangle-xmark": $fa-var-rectangle-xmark, - "rectangle-times": $fa-var-rectangle-times, - "times-rectangle": $fa-var-times-rectangle, - "window-close": $fa-var-window-close, - "tire-rugged": $fa-var-tire-rugged, - "lightbulb-dollar": $fa-var-lightbulb-dollar, - "cowbell": $fa-var-cowbell, - "baht-sign": $fa-var-baht-sign, - "corner": $fa-var-corner, - "chevrons-right": $fa-var-chevrons-right, - "chevron-double-right": $fa-var-chevron-double-right, - "book-open": $fa-var-book-open, - "book-journal-whills": $fa-var-book-journal-whills, - "journal-whills": $fa-var-journal-whills, - "inhaler": $fa-var-inhaler, - "handcuffs": $fa-var-handcuffs, - "snake": $fa-var-snake, - "triangle-exclamation": $fa-var-triangle-exclamation, - "exclamation-triangle": $fa-var-exclamation-triangle, - "warning": $fa-var-warning, - "note-medical": $fa-var-note-medical, - "database": $fa-var-database, - "down-left": $fa-var-down-left, - "share": $fa-var-share, - "arrow-turn-right": $fa-var-arrow-turn-right, - "mail-forward": $fa-var-mail-forward, - "face-thinking": $fa-var-face-thinking, - "turn-down-right": $fa-var-turn-down-right, - "bottle-droplet": $fa-var-bottle-droplet, - "mask-face": $fa-var-mask-face, - "hill-rockslide": $fa-var-hill-rockslide, - "scanner-keyboard": $fa-var-scanner-keyboard, - "circle-o": $fa-var-circle-o, - "grid-horizontal": $fa-var-grid-horizontal, - "message-dollar": $fa-var-message-dollar, - "comment-alt-dollar": $fa-var-comment-alt-dollar, - "right-left": $fa-var-right-left, - "exchange-alt": $fa-var-exchange-alt, - "columns-3": $fa-var-columns-3, - "paper-plane": $fa-var-paper-plane, - "road-circle-exclamation": $fa-var-road-circle-exclamation, - "dungeon": $fa-var-dungeon, - "hand-holding-box": $fa-var-hand-holding-box, - "input-text": $fa-var-input-text, - "window-flip": $fa-var-window-flip, - "window-alt": $fa-var-window-alt, - "align-right": $fa-var-align-right, - "scanner-gun": $fa-var-scanner-gun, - "scanner": $fa-var-scanner, - "tire": $fa-var-tire, - "engine": $fa-var-engine, - "money-bill-1-wave": $fa-var-money-bill-1-wave, - "money-bill-wave-alt": $fa-var-money-bill-wave-alt, - "life-ring": $fa-var-life-ring, - "hands": $fa-var-hands, - "sign-language": $fa-var-sign-language, - "signing": $fa-var-signing, - "circle-caret-right": $fa-var-circle-caret-right, - "caret-circle-right": $fa-var-caret-circle-right, - "wheat": $fa-var-wheat, - "file-spreadsheet": $fa-var-file-spreadsheet, - "audio-description-slash": $fa-var-audio-description-slash, - "calendar-day": $fa-var-calendar-day, - "water-ladder": $fa-var-water-ladder, - "ladder-water": $fa-var-ladder-water, - "swimming-pool": $fa-var-swimming-pool, - "arrows-up-down": $fa-var-arrows-up-down, - "arrows-v": $fa-var-arrows-v, - "chess-pawn-piece": $fa-var-chess-pawn-piece, - "chess-pawn-alt": $fa-var-chess-pawn-alt, - "face-grimace": $fa-var-face-grimace, - "grimace": $fa-var-grimace, - "wheelchair-move": $fa-var-wheelchair-move, - "wheelchair-alt": $fa-var-wheelchair-alt, - "turn-down": $fa-var-turn-down, - "level-down-alt": $fa-var-level-down-alt, - "square-s": $fa-var-square-s, - "rectangle-barcode": $fa-var-rectangle-barcode, - "barcode-alt": $fa-var-barcode-alt, - "person-walking-arrow-right": $fa-var-person-walking-arrow-right, - "square-envelope": $fa-var-square-envelope, - "envelope-square": $fa-var-envelope-square, - "dice": $fa-var-dice, - "unicorn": $fa-var-unicorn, - "bowling-ball": $fa-var-bowling-ball, - "pompebled": $fa-var-pompebled, - "brain": $fa-var-brain, - "watch-smart": $fa-var-watch-smart, - "book-user": $fa-var-book-user, - "sensor-cloud": $fa-var-sensor-cloud, - "sensor-smoke": $fa-var-sensor-smoke, - "clapperboard-play": $fa-var-clapperboard-play, - "bandage": $fa-var-bandage, - "band-aid": $fa-var-band-aid, - "calendar-minus": $fa-var-calendar-minus, - "circle-xmark": $fa-var-circle-xmark, - "times-circle": $fa-var-times-circle, - "xmark-circle": $fa-var-xmark-circle, - "circle-4": $fa-var-circle-4, - "gifts": $fa-var-gifts, - "album-collection": $fa-var-album-collection, - "hotel": $fa-var-hotel, - "earth-asia": $fa-var-earth-asia, - "globe-asia": $fa-var-globe-asia, - "id-card-clip": $fa-var-id-card-clip, - "id-card-alt": $fa-var-id-card-alt, - "magnifying-glass-plus": $fa-var-magnifying-glass-plus, - "search-plus": $fa-var-search-plus, - "thumbs-up": $fa-var-thumbs-up, - "cloud-showers": $fa-var-cloud-showers, - "user-clock": $fa-var-user-clock, - "onion": $fa-var-onion, - "clock-twelve-thirty": $fa-var-clock-twelve-thirty, - "arrow-down-to-dotted-line": $fa-var-arrow-down-to-dotted-line, - "hand-dots": $fa-var-hand-dots, - "allergies": $fa-var-allergies, - "file-invoice": $fa-var-file-invoice, - "window-minimize": $fa-var-window-minimize, - "rectangle-wide": $fa-var-rectangle-wide, - "comment-arrow-up": $fa-var-comment-arrow-up, - "garlic": $fa-var-garlic, - "mug-saucer": $fa-var-mug-saucer, - "coffee": $fa-var-coffee, - "brush": $fa-var-brush, - "tree-decorated": $fa-var-tree-decorated, - "mask": $fa-var-mask, - "calendar-heart": $fa-var-calendar-heart, - "magnifying-glass-minus": $fa-var-magnifying-glass-minus, - "search-minus": $fa-var-search-minus, - "flower": $fa-var-flower, - "ruler-vertical": $fa-var-ruler-vertical, - "user-large": $fa-var-user-large, - "user-alt": $fa-var-user-alt, - "starship-freighter": $fa-var-starship-freighter, - "train-tram": $fa-var-train-tram, - "bridge-suspension": $fa-var-bridge-suspension, - "trash-check": $fa-var-trash-check, - "user-nurse": $fa-var-user-nurse, - "boombox": $fa-var-boombox, - "syringe": $fa-var-syringe, - "cloud-sun": $fa-var-cloud-sun, - "shield-exclamation": $fa-var-shield-exclamation, - "stopwatch-20": $fa-var-stopwatch-20, - "square-full": $fa-var-square-full, - "grip-dots": $fa-var-grip-dots, - "comment-exclamation": $fa-var-comment-exclamation, - "pen-swirl": $fa-var-pen-swirl, - "falafel": $fa-var-falafel, - "circle-2": $fa-var-circle-2, - "magnet": $fa-var-magnet, - "jar": $fa-var-jar, - "gramophone": $fa-var-gramophone, - "dice-d12": $fa-var-dice-d12, - "note-sticky": $fa-var-note-sticky, - "sticky-note": $fa-var-sticky-note, - "down": $fa-var-down, - "arrow-alt-down": $fa-var-arrow-alt-down, - "hundred-points": $fa-var-hundred-points, - "100": $fa-var-100, - "paperclip-vertical": $fa-var-paperclip-vertical, - "wind-warning": $fa-var-wind-warning, - "wind-circle-exclamation": $fa-var-wind-circle-exclamation, - "location-pin-slash": $fa-var-location-pin-slash, - "map-marker-slash": $fa-var-map-marker-slash, - "face-sad-sweat": $fa-var-face-sad-sweat, - "bug-slash": $fa-var-bug-slash, - "cupcake": $fa-var-cupcake, - "light-switch-off": $fa-var-light-switch-off, - "toggle-large-off": $fa-var-toggle-large-off, - "pen-fancy-slash": $fa-var-pen-fancy-slash, - "truck-container": $fa-var-truck-container, - "boot": $fa-var-boot, - "arrow-up-from-water-pump": $fa-var-arrow-up-from-water-pump, - "file-check": $fa-var-file-check, - "bone": $fa-var-bone, - "cards-blank": $fa-var-cards-blank, - "circle-3": $fa-var-circle-3, - "bench-tree": $fa-var-bench-tree, - "keyboard-brightness-low": $fa-var-keyboard-brightness-low, - "ski-boot-ski": $fa-var-ski-boot-ski, - "brain-circuit": $fa-var-brain-circuit, - "user-injured": $fa-var-user-injured, - "block-brick-fire": $fa-var-block-brick-fire, - "firewall": $fa-var-firewall, - "face-sad-tear": $fa-var-face-sad-tear, - "sad-tear": $fa-var-sad-tear, - "plane": $fa-var-plane, - "tent-arrows-down": $fa-var-tent-arrows-down, - "exclamation": $fa-var-exclamation, - "arrows-spin": $fa-var-arrows-spin, - "face-smile-relaxed": $fa-var-face-smile-relaxed, - "comment-xmark": $fa-var-comment-xmark, - "comment-times": $fa-var-comment-times, - "print": $fa-var-print, - "turkish-lira-sign": $fa-var-turkish-lira-sign, - "try": $fa-var-try, - "turkish-lira": $fa-var-turkish-lira, - "face-nose-steam": $fa-var-face-nose-steam, - "circle-waveform-lines": $fa-var-circle-waveform-lines, - "waveform-circle": $fa-var-waveform-circle, - "dollar-sign": $fa-var-dollar-sign, - "dollar": $fa-var-dollar, - "usd": $fa-var-usd, - "ferris-wheel": $fa-var-ferris-wheel, - "computer-speaker": $fa-var-computer-speaker, - "skull-cow": $fa-var-skull-cow, - "x": $fa-var-x, - "magnifying-glass-dollar": $fa-var-magnifying-glass-dollar, - "search-dollar": $fa-var-search-dollar, - "users-gear": $fa-var-users-gear, - "users-cog": $fa-var-users-cog, - "person-military-pointing": $fa-var-person-military-pointing, - "building-columns": $fa-var-building-columns, - "bank": $fa-var-bank, - "institution": $fa-var-institution, - "museum": $fa-var-museum, - "university": $fa-var-university, - "circle-t": $fa-var-circle-t, - "sack": $fa-var-sack, - "grid-2": $fa-var-grid-2, - "camera-cctv": $fa-var-camera-cctv, - "cctv": $fa-var-cctv, - "umbrella": $fa-var-umbrella, - "trowel": $fa-var-trowel, - "horizontal-rule": $fa-var-horizontal-rule, - "bed-front": $fa-var-bed-front, - "bed-alt": $fa-var-bed-alt, - "d": $fa-var-d, - "stapler": $fa-var-stapler, - "masks-theater": $fa-var-masks-theater, - "theater-masks": $fa-var-theater-masks, - "kip-sign": $fa-var-kip-sign, - "face-woozy": $fa-var-face-woozy, - "cloud-question": $fa-var-cloud-question, - "pineapple": $fa-var-pineapple, - "hand-point-left": $fa-var-hand-point-left, - "gallery-thumbnails": $fa-var-gallery-thumbnails, - "circle-j": $fa-var-circle-j, - "eyes": $fa-var-eyes, - "handshake-simple": $fa-var-handshake-simple, - "handshake-alt": $fa-var-handshake-alt, - "page-caret-up": $fa-var-page-caret-up, - "file-caret-up": $fa-var-file-caret-up, - "jet-fighter": $fa-var-jet-fighter, - "fighter-jet": $fa-var-fighter-jet, - "comet": $fa-var-comet, - "square-share-nodes": $fa-var-square-share-nodes, - "share-alt-square": $fa-var-share-alt-square, - "shield-keyhole": $fa-var-shield-keyhole, - "barcode": $fa-var-barcode, - "plus-minus": $fa-var-plus-minus, - "square-sliders-vertical": $fa-var-square-sliders-vertical, - "sliders-v-square": $fa-var-sliders-v-square, - "video": $fa-var-video, - "video-camera": $fa-var-video-camera, - "message-middle": $fa-var-message-middle, - "comment-middle-alt": $fa-var-comment-middle-alt, - "graduation-cap": $fa-var-graduation-cap, - "mortar-board": $fa-var-mortar-board, - "hand-holding-medical": $fa-var-hand-holding-medical, - "person-circle-check": $fa-var-person-circle-check, - "square-z": $fa-var-square-z, - "message-text": $fa-var-message-text, - "comment-alt-text": $fa-var-comment-alt-text, - "turn-up": $fa-var-turn-up, - "level-up-alt": $fa-var-level-up-alt, -); - -$fa-brand-icons: ( - "monero": $fa-var-monero, - "hooli": $fa-var-hooli, - "yelp": $fa-var-yelp, - "cc-visa": $fa-var-cc-visa, - "lastfm": $fa-var-lastfm, - "shopware": $fa-var-shopware, - "creative-commons-nc": $fa-var-creative-commons-nc, - "aws": $fa-var-aws, - "redhat": $fa-var-redhat, - "yoast": $fa-var-yoast, - "cloudflare": $fa-var-cloudflare, - "ups": $fa-var-ups, - "wpexplorer": $fa-var-wpexplorer, - "dyalog": $fa-var-dyalog, - "bity": $fa-var-bity, - "stackpath": $fa-var-stackpath, - "buysellads": $fa-var-buysellads, - "first-order": $fa-var-first-order, - "modx": $fa-var-modx, - "guilded": $fa-var-guilded, - "vnv": $fa-var-vnv, - "square-js": $fa-var-square-js, - "js-square": $fa-var-js-square, - "microsoft": $fa-var-microsoft, - "qq": $fa-var-qq, - "orcid": $fa-var-orcid, - "java": $fa-var-java, - "invision": $fa-var-invision, - "creative-commons-pd-alt": $fa-var-creative-commons-pd-alt, - "centercode": $fa-var-centercode, - "glide-g": $fa-var-glide-g, - "drupal": $fa-var-drupal, - "hire-a-helper": $fa-var-hire-a-helper, - "creative-commons-by": $fa-var-creative-commons-by, - "unity": $fa-var-unity, - "whmcs": $fa-var-whmcs, - "rocketchat": $fa-var-rocketchat, - "vk": $fa-var-vk, - "untappd": $fa-var-untappd, - "mailchimp": $fa-var-mailchimp, - "css3-alt": $fa-var-css3-alt, - "square-reddit": $fa-var-square-reddit, - "reddit-square": $fa-var-reddit-square, - "vimeo-v": $fa-var-vimeo-v, - "contao": $fa-var-contao, - "square-font-awesome": $fa-var-square-font-awesome, - "deskpro": $fa-var-deskpro, - "sistrix": $fa-var-sistrix, - "square-instagram": $fa-var-square-instagram, - "instagram-square": $fa-var-instagram-square, - "battle-net": $fa-var-battle-net, - "the-red-yeti": $fa-var-the-red-yeti, - "square-hacker-news": $fa-var-square-hacker-news, - "hacker-news-square": $fa-var-hacker-news-square, - "edge": $fa-var-edge, - "napster": $fa-var-napster, - "square-snapchat": $fa-var-square-snapchat, - "snapchat-square": $fa-var-snapchat-square, - "google-plus-g": $fa-var-google-plus-g, - "artstation": $fa-var-artstation, - "markdown": $fa-var-markdown, - "sourcetree": $fa-var-sourcetree, - "google-plus": $fa-var-google-plus, - "diaspora": $fa-var-diaspora, - "foursquare": $fa-var-foursquare, - "stack-overflow": $fa-var-stack-overflow, - "github-alt": $fa-var-github-alt, - "phoenix-squadron": $fa-var-phoenix-squadron, - "pagelines": $fa-var-pagelines, - "algolia": $fa-var-algolia, - "red-river": $fa-var-red-river, - "creative-commons-sa": $fa-var-creative-commons-sa, - "safari": $fa-var-safari, - "google": $fa-var-google, - "square-font-awesome-stroke": $fa-var-square-font-awesome-stroke, - "font-awesome-alt": $fa-var-font-awesome-alt, - "atlassian": $fa-var-atlassian, - "linkedin-in": $fa-var-linkedin-in, - "digital-ocean": $fa-var-digital-ocean, - "nimblr": $fa-var-nimblr, - "chromecast": $fa-var-chromecast, - "evernote": $fa-var-evernote, - "hacker-news": $fa-var-hacker-news, - "creative-commons-sampling": $fa-var-creative-commons-sampling, - "adversal": $fa-var-adversal, - "creative-commons": $fa-var-creative-commons, - "watchman-monitoring": $fa-var-watchman-monitoring, - "fonticons": $fa-var-fonticons, - "weixin": $fa-var-weixin, - "shirtsinbulk": $fa-var-shirtsinbulk, - "codepen": $fa-var-codepen, - "git-alt": $fa-var-git-alt, - "lyft": $fa-var-lyft, - "rev": $fa-var-rev, - "windows": $fa-var-windows, - "wizards-of-the-coast": $fa-var-wizards-of-the-coast, - "square-viadeo": $fa-var-square-viadeo, - "viadeo-square": $fa-var-viadeo-square, - "meetup": $fa-var-meetup, - "centos": $fa-var-centos, - "adn": $fa-var-adn, - "cloudsmith": $fa-var-cloudsmith, - "pied-piper-alt": $fa-var-pied-piper-alt, - "square-dribbble": $fa-var-square-dribbble, - "dribbble-square": $fa-var-dribbble-square, - "codiepie": $fa-var-codiepie, - "node": $fa-var-node, - "mix": $fa-var-mix, - "steam": $fa-var-steam, - "cc-apple-pay": $fa-var-cc-apple-pay, - "scribd": $fa-var-scribd, - "openid": $fa-var-openid, - "instalod": $fa-var-instalod, - "expeditedssl": $fa-var-expeditedssl, - "sellcast": $fa-var-sellcast, - "square-twitter": $fa-var-square-twitter, - "twitter-square": $fa-var-twitter-square, - "r-project": $fa-var-r-project, - "delicious": $fa-var-delicious, - "freebsd": $fa-var-freebsd, - "vuejs": $fa-var-vuejs, - "accusoft": $fa-var-accusoft, - "ioxhost": $fa-var-ioxhost, - "fonticons-fi": $fa-var-fonticons-fi, - "app-store": $fa-var-app-store, - "cc-mastercard": $fa-var-cc-mastercard, - "itunes-note": $fa-var-itunes-note, - "golang": $fa-var-golang, - "kickstarter": $fa-var-kickstarter, - "grav": $fa-var-grav, - "weibo": $fa-var-weibo, - "uncharted": $fa-var-uncharted, - "firstdraft": $fa-var-firstdraft, - "square-youtube": $fa-var-square-youtube, - "youtube-square": $fa-var-youtube-square, - "wikipedia-w": $fa-var-wikipedia-w, - "wpressr": $fa-var-wpressr, - "rendact": $fa-var-rendact, - "angellist": $fa-var-angellist, - "galactic-republic": $fa-var-galactic-republic, - "nfc-directional": $fa-var-nfc-directional, - "skype": $fa-var-skype, - "joget": $fa-var-joget, - "fedora": $fa-var-fedora, - "stripe-s": $fa-var-stripe-s, - "meta": $fa-var-meta, - "laravel": $fa-var-laravel, - "hotjar": $fa-var-hotjar, - "bluetooth-b": $fa-var-bluetooth-b, - "sticker-mule": $fa-var-sticker-mule, - "creative-commons-zero": $fa-var-creative-commons-zero, - "hips": $fa-var-hips, - "behance": $fa-var-behance, - "reddit": $fa-var-reddit, - "discord": $fa-var-discord, - "chrome": $fa-var-chrome, - "app-store-ios": $fa-var-app-store-ios, - "cc-discover": $fa-var-cc-discover, - "wpbeginner": $fa-var-wpbeginner, - "confluence": $fa-var-confluence, - "mdb": $fa-var-mdb, - "dochub": $fa-var-dochub, - "accessible-icon": $fa-var-accessible-icon, - "ebay": $fa-var-ebay, - "amazon": $fa-var-amazon, - "unsplash": $fa-var-unsplash, - "yarn": $fa-var-yarn, - "square-steam": $fa-var-square-steam, - "steam-square": $fa-var-steam-square, - "500px": $fa-var-500px, - "square-vimeo": $fa-var-square-vimeo, - "vimeo-square": $fa-var-vimeo-square, - "asymmetrik": $fa-var-asymmetrik, - "font-awesome": $fa-var-font-awesome, - "font-awesome-flag": $fa-var-font-awesome-flag, - "font-awesome-logo-full": $fa-var-font-awesome-logo-full, - "gratipay": $fa-var-gratipay, - "apple": $fa-var-apple, - "hive": $fa-var-hive, - "gitkraken": $fa-var-gitkraken, - "keybase": $fa-var-keybase, - "apple-pay": $fa-var-apple-pay, - "padlet": $fa-var-padlet, - "amazon-pay": $fa-var-amazon-pay, - "square-github": $fa-var-square-github, - "github-square": $fa-var-github-square, - "stumbleupon": $fa-var-stumbleupon, - "fedex": $fa-var-fedex, - "phoenix-framework": $fa-var-phoenix-framework, - "shopify": $fa-var-shopify, - "neos": $fa-var-neos, - "hackerrank": $fa-var-hackerrank, - "researchgate": $fa-var-researchgate, - "swift": $fa-var-swift, - "angular": $fa-var-angular, - "speakap": $fa-var-speakap, - "angrycreative": $fa-var-angrycreative, - "y-combinator": $fa-var-y-combinator, - "empire": $fa-var-empire, - "envira": $fa-var-envira, - "square-gitlab": $fa-var-square-gitlab, - "gitlab-square": $fa-var-gitlab-square, - "studiovinari": $fa-var-studiovinari, - "pied-piper": $fa-var-pied-piper, - "wordpress": $fa-var-wordpress, - "product-hunt": $fa-var-product-hunt, - "firefox": $fa-var-firefox, - "linode": $fa-var-linode, - "goodreads": $fa-var-goodreads, - "square-odnoklassniki": $fa-var-square-odnoklassniki, - "odnoklassniki-square": $fa-var-odnoklassniki-square, - "jsfiddle": $fa-var-jsfiddle, - "sith": $fa-var-sith, - "themeisle": $fa-var-themeisle, - "page4": $fa-var-page4, - "hashnode": $fa-var-hashnode, - "react": $fa-var-react, - "cc-paypal": $fa-var-cc-paypal, - "squarespace": $fa-var-squarespace, - "cc-stripe": $fa-var-cc-stripe, - "creative-commons-share": $fa-var-creative-commons-share, - "bitcoin": $fa-var-bitcoin, - "keycdn": $fa-var-keycdn, - "opera": $fa-var-opera, - "itch-io": $fa-var-itch-io, - "umbraco": $fa-var-umbraco, - "galactic-senate": $fa-var-galactic-senate, - "ubuntu": $fa-var-ubuntu, - "draft2digital": $fa-var-draft2digital, - "stripe": $fa-var-stripe, - "houzz": $fa-var-houzz, - "gg": $fa-var-gg, - "dhl": $fa-var-dhl, - "square-pinterest": $fa-var-square-pinterest, - "pinterest-square": $fa-var-pinterest-square, - "xing": $fa-var-xing, - "blackberry": $fa-var-blackberry, - "creative-commons-pd": $fa-var-creative-commons-pd, - "playstation": $fa-var-playstation, - "quinscape": $fa-var-quinscape, - "less": $fa-var-less, - "blogger-b": $fa-var-blogger-b, - "opencart": $fa-var-opencart, - "vine": $fa-var-vine, - "paypal": $fa-var-paypal, - "gitlab": $fa-var-gitlab, - "typo3": $fa-var-typo3, - "reddit-alien": $fa-var-reddit-alien, - "yahoo": $fa-var-yahoo, - "dailymotion": $fa-var-dailymotion, - "affiliatetheme": $fa-var-affiliatetheme, - "pied-piper-pp": $fa-var-pied-piper-pp, - "bootstrap": $fa-var-bootstrap, - "odnoklassniki": $fa-var-odnoklassniki, - "nfc-symbol": $fa-var-nfc-symbol, - "ethereum": $fa-var-ethereum, - "speaker-deck": $fa-var-speaker-deck, - "creative-commons-nc-eu": $fa-var-creative-commons-nc-eu, - "patreon": $fa-var-patreon, - "avianex": $fa-var-avianex, - "ello": $fa-var-ello, - "gofore": $fa-var-gofore, - "bimobject": $fa-var-bimobject, - "facebook-f": $fa-var-facebook-f, - "square-google-plus": $fa-var-square-google-plus, - "google-plus-square": $fa-var-google-plus-square, - "mandalorian": $fa-var-mandalorian, - "first-order-alt": $fa-var-first-order-alt, - "osi": $fa-var-osi, - "google-wallet": $fa-var-google-wallet, - "d-and-d-beyond": $fa-var-d-and-d-beyond, - "periscope": $fa-var-periscope, - "fulcrum": $fa-var-fulcrum, - "cloudscale": $fa-var-cloudscale, - "forumbee": $fa-var-forumbee, - "mizuni": $fa-var-mizuni, - "schlix": $fa-var-schlix, - "square-xing": $fa-var-square-xing, - "xing-square": $fa-var-xing-square, - "bandcamp": $fa-var-bandcamp, - "wpforms": $fa-var-wpforms, - "cloudversify": $fa-var-cloudversify, - "usps": $fa-var-usps, - "megaport": $fa-var-megaport, - "magento": $fa-var-magento, - "spotify": $fa-var-spotify, - "optin-monster": $fa-var-optin-monster, - "fly": $fa-var-fly, - "aviato": $fa-var-aviato, - "itunes": $fa-var-itunes, - "cuttlefish": $fa-var-cuttlefish, - "blogger": $fa-var-blogger, - "flickr": $fa-var-flickr, - "viber": $fa-var-viber, - "soundcloud": $fa-var-soundcloud, - "digg": $fa-var-digg, - "tencent-weibo": $fa-var-tencent-weibo, - "symfony": $fa-var-symfony, - "maxcdn": $fa-var-maxcdn, - "etsy": $fa-var-etsy, - "facebook-messenger": $fa-var-facebook-messenger, - "audible": $fa-var-audible, - "think-peaks": $fa-var-think-peaks, - "bilibili": $fa-var-bilibili, - "erlang": $fa-var-erlang, - "cotton-bureau": $fa-var-cotton-bureau, - "dashcube": $fa-var-dashcube, - "42-group": $fa-var-42-group, - "innosoft": $fa-var-innosoft, - "stack-exchange": $fa-var-stack-exchange, - "elementor": $fa-var-elementor, - "square-pied-piper": $fa-var-square-pied-piper, - "pied-piper-square": $fa-var-pied-piper-square, - "creative-commons-nd": $fa-var-creative-commons-nd, - "palfed": $fa-var-palfed, - "superpowers": $fa-var-superpowers, - "resolving": $fa-var-resolving, - "xbox": $fa-var-xbox, - "searchengin": $fa-var-searchengin, - "tiktok": $fa-var-tiktok, - "square-facebook": $fa-var-square-facebook, - "facebook-square": $fa-var-facebook-square, - "renren": $fa-var-renren, - "linux": $fa-var-linux, - "glide": $fa-var-glide, - "linkedin": $fa-var-linkedin, - "hubspot": $fa-var-hubspot, - "deploydog": $fa-var-deploydog, - "twitch": $fa-var-twitch, - "ravelry": $fa-var-ravelry, - "mixer": $fa-var-mixer, - "square-lastfm": $fa-var-square-lastfm, - "lastfm-square": $fa-var-lastfm-square, - "vimeo": $fa-var-vimeo, - "mendeley": $fa-var-mendeley, - "uniregistry": $fa-var-uniregistry, - "figma": $fa-var-figma, - "creative-commons-remix": $fa-var-creative-commons-remix, - "cc-amazon-pay": $fa-var-cc-amazon-pay, - "dropbox": $fa-var-dropbox, - "instagram": $fa-var-instagram, - "cmplid": $fa-var-cmplid, - "facebook": $fa-var-facebook, - "gripfire": $fa-var-gripfire, - "jedi-order": $fa-var-jedi-order, - "uikit": $fa-var-uikit, - "fort-awesome-alt": $fa-var-fort-awesome-alt, - "phabricator": $fa-var-phabricator, - "ussunnah": $fa-var-ussunnah, - "earlybirds": $fa-var-earlybirds, - "trade-federation": $fa-var-trade-federation, - "autoprefixer": $fa-var-autoprefixer, - "whatsapp": $fa-var-whatsapp, - "slideshare": $fa-var-slideshare, - "google-play": $fa-var-google-play, - "viadeo": $fa-var-viadeo, - "line": $fa-var-line, - "google-drive": $fa-var-google-drive, - "servicestack": $fa-var-servicestack, - "simplybuilt": $fa-var-simplybuilt, - "bitbucket": $fa-var-bitbucket, - "imdb": $fa-var-imdb, - "deezer": $fa-var-deezer, - "raspberry-pi": $fa-var-raspberry-pi, - "jira": $fa-var-jira, - "docker": $fa-var-docker, - "screenpal": $fa-var-screenpal, - "bluetooth": $fa-var-bluetooth, - "gitter": $fa-var-gitter, - "d-and-d": $fa-var-d-and-d, - "microblog": $fa-var-microblog, - "cc-diners-club": $fa-var-cc-diners-club, - "gg-circle": $fa-var-gg-circle, - "pied-piper-hat": $fa-var-pied-piper-hat, - "kickstarter-k": $fa-var-kickstarter-k, - "yandex": $fa-var-yandex, - "readme": $fa-var-readme, - "html5": $fa-var-html5, - "sellsy": $fa-var-sellsy, - "sass": $fa-var-sass, - "wirsindhandwerk": $fa-var-wirsindhandwerk, - "wsh": $fa-var-wsh, - "buromobelexperte": $fa-var-buromobelexperte, - "salesforce": $fa-var-salesforce, - "octopus-deploy": $fa-var-octopus-deploy, - "medapps": $fa-var-medapps, - "ns8": $fa-var-ns8, - "pinterest-p": $fa-var-pinterest-p, - "apper": $fa-var-apper, - "fort-awesome": $fa-var-fort-awesome, - "waze": $fa-var-waze, - "cc-jcb": $fa-var-cc-jcb, - "snapchat": $fa-var-snapchat, - "snapchat-ghost": $fa-var-snapchat-ghost, - "fantasy-flight-games": $fa-var-fantasy-flight-games, - "rust": $fa-var-rust, - "wix": $fa-var-wix, - "square-behance": $fa-var-square-behance, - "behance-square": $fa-var-behance-square, - "supple": $fa-var-supple, - "rebel": $fa-var-rebel, - "css3": $fa-var-css3, - "staylinked": $fa-var-staylinked, - "kaggle": $fa-var-kaggle, - "space-awesome": $fa-var-space-awesome, - "deviantart": $fa-var-deviantart, - "cpanel": $fa-var-cpanel, - "goodreads-g": $fa-var-goodreads-g, - "square-git": $fa-var-square-git, - "git-square": $fa-var-git-square, - "square-tumblr": $fa-var-square-tumblr, - "tumblr-square": $fa-var-tumblr-square, - "trello": $fa-var-trello, - "creative-commons-nc-jp": $fa-var-creative-commons-nc-jp, - "get-pocket": $fa-var-get-pocket, - "perbyte": $fa-var-perbyte, - "grunt": $fa-var-grunt, - "weebly": $fa-var-weebly, - "connectdevelop": $fa-var-connectdevelop, - "leanpub": $fa-var-leanpub, - "black-tie": $fa-var-black-tie, - "themeco": $fa-var-themeco, - "python": $fa-var-python, - "android": $fa-var-android, - "bots": $fa-var-bots, - "free-code-camp": $fa-var-free-code-camp, - "hornbill": $fa-var-hornbill, - "js": $fa-var-js, - "ideal": $fa-var-ideal, - "git": $fa-var-git, - "dev": $fa-var-dev, - "sketch": $fa-var-sketch, - "yandex-international": $fa-var-yandex-international, - "cc-amex": $fa-var-cc-amex, - "uber": $fa-var-uber, - "github": $fa-var-github, - "php": $fa-var-php, - "alipay": $fa-var-alipay, - "youtube": $fa-var-youtube, - "skyatlas": $fa-var-skyatlas, - "firefox-browser": $fa-var-firefox-browser, - "replyd": $fa-var-replyd, - "suse": $fa-var-suse, - "jenkins": $fa-var-jenkins, - "twitter": $fa-var-twitter, - "rockrms": $fa-var-rockrms, - "pinterest": $fa-var-pinterest, - "buffer": $fa-var-buffer, - "npm": $fa-var-npm, - "yammer": $fa-var-yammer, - "btc": $fa-var-btc, - "dribbble": $fa-var-dribbble, - "stumbleupon-circle": $fa-var-stumbleupon-circle, - "internet-explorer": $fa-var-internet-explorer, - "stubber": $fa-var-stubber, - "telegram": $fa-var-telegram, - "telegram-plane": $fa-var-telegram-plane, - "old-republic": $fa-var-old-republic, - "odysee": $fa-var-odysee, - "square-whatsapp": $fa-var-square-whatsapp, - "whatsapp-square": $fa-var-whatsapp-square, - "node-js": $fa-var-node-js, - "edge-legacy": $fa-var-edge-legacy, - "slack": $fa-var-slack, - "slack-hash": $fa-var-slack-hash, - "medrt": $fa-var-medrt, - "usb": $fa-var-usb, - "tumblr": $fa-var-tumblr, - "vaadin": $fa-var-vaadin, - "quora": $fa-var-quora, - "reacteurope": $fa-var-reacteurope, - "medium": $fa-var-medium, - "medium-m": $fa-var-medium-m, - "amilia": $fa-var-amilia, - "mixcloud": $fa-var-mixcloud, - "flipboard": $fa-var-flipboard, - "viacoin": $fa-var-viacoin, - "critical-role": $fa-var-critical-role, - "sitrox": $fa-var-sitrox, - "discourse": $fa-var-discourse, - "joomla": $fa-var-joomla, - "mastodon": $fa-var-mastodon, - "airbnb": $fa-var-airbnb, - "wolf-pack-battalion": $fa-var-wolf-pack-battalion, - "buy-n-large": $fa-var-buy-n-large, - "gulp": $fa-var-gulp, - "creative-commons-sampling-plus": $fa-var-creative-commons-sampling-plus, - "strava": $fa-var-strava, - "ember": $fa-var-ember, - "canadian-maple-leaf": $fa-var-canadian-maple-leaf, - "teamspeak": $fa-var-teamspeak, - "pushed": $fa-var-pushed, - "wordpress-simple": $fa-var-wordpress-simple, - "nutritionix": $fa-var-nutritionix, - "wodu": $fa-var-wodu, - "google-pay": $fa-var-google-pay, - "intercom": $fa-var-intercom, - "zhihu": $fa-var-zhihu, - "korvue": $fa-var-korvue, - "pix": $fa-var-pix, - "steam-symbol": $fa-var-steam-symbol, -); diff --git a/style/fa/brands.scss b/style/fa/brands.scss deleted file mode 100644 index 01d3155..0000000 --- a/style/fa/brands.scss +++ /dev/null @@ -1,30 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-brands: 'Font Awesome 6 Brands'; - --#{$fa-css-prefix}-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; -} - -@font-face { - font-family: 'Font Awesome 6 Brands'; - font-style: normal; - font-weight: 400; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'), - url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'); -} - -.fab, -.#{$fa-css-prefix}-brands { - font-weight: 400; -} - -@each $name, $icon in $fa-brand-icons { - .#{$fa-css-prefix}-#{$name}:before { content: unquote("\"#{ $icon }\""); } -} diff --git a/style/fa/duotone.scss b/style/fa/duotone.scss deleted file mode 100644 index 75514bf..0000000 --- a/style/fa/duotone.scss +++ /dev/null @@ -1,65 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-duotone: 'Font Awesome 6 Duotone'; - --#{$fa-css-prefix}-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone'; -} - -@font-face { - font-family: 'Font Awesome 6 Duotone'; - font-style: normal; - font-weight: 900; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-duotone-900.woff2') format('woff2'), - url('#{$fa-font-path}/fa-duotone-900.ttf') format('truetype'); -} - -.fad, -.#{$fa-css-prefix}-duotone { - position: relative; - font-weight: 900; - letter-spacing: normal; -} - -.fad::before, -.#{$fa-css-prefix}-duotone::before { - position: absolute; - color: var(--#{$fa-css-prefix}-primary-color, inherit); - opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity}); -} - -.fad::after, -.#{$fa-css-prefix}-duotone::after { - color: var(--#{$fa-css-prefix}-secondary-color, inherit); - opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity}); -} - -.#{$fa-css-prefix}-swap-opacity .fad::before, -.#{$fa-css-prefix}-swap-opacity .fa-duotone::before, -.fad.#{$fa-css-prefix}-swap-opacity::before, -.fa-duotone.#{$fa-css-prefix}-swap-opacity::before { - opacity: var(--#{$fa-css-prefix}-secondary-opacity, #{$fa-secondary-opacity}); -} - -.#{$fa-css-prefix}-swap-opacity .fad::after, -.#{$fa-css-prefix}-swap-opacity .fa-duotone::after, -.fad.#{$fa-css-prefix}-swap-opacity::after, -.fa-duotone.#{$fa-css-prefix}-swap-opacity::after { - opacity: var(--#{$fa-css-prefix}-primary-opacity, #{$fa-primary-opacity}); -} - -.fad.#{$fa-css-prefix}-inverse, -.#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-inverse { - color: var(--#{$fa-css-prefix}-inverse, $fa-inverse); -} - -.fad.#{$fa-css-prefix}-stack-1x, .fad.#{$fa-css-prefix}-stack-2x, -.#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-duotone.#{$fa-css-prefix}-stack-2x { - position: absolute; -} diff --git a/style/fa/fontawesome.scss b/style/fa/fontawesome.scss deleted file mode 100644 index 73fcab3..0000000 --- a/style/fa/fontawesome.scss +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -// Font Awesome core compile (Web Fonts-based) -// ------------------------- - -@import 'functions'; -@import 'variables'; -@import 'mixins'; -@import 'core'; -@import 'sizing'; -@import 'fixed-width'; -@import 'list'; -@import 'bordered-pulled'; -@import 'animated'; -@import 'rotated-flipped'; -@import 'stacked'; -@import 'icons'; -@import 'screen-reader'; diff --git a/style/fa/fonts/fa-brands-400.ttf b/style/fa/fonts/fa-brands-400.ttf deleted file mode 100644 index 675da16..0000000 Binary files a/style/fa/fonts/fa-brands-400.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-brands-400.woff2 b/style/fa/fonts/fa-brands-400.woff2 deleted file mode 100644 index 7e5f02d..0000000 Binary files a/style/fa/fonts/fa-brands-400.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-duotone-900.ttf b/style/fa/fonts/fa-duotone-900.ttf deleted file mode 100644 index 1b9257f..0000000 Binary files a/style/fa/fonts/fa-duotone-900.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-duotone-900.woff2 b/style/fa/fonts/fa-duotone-900.woff2 deleted file mode 100644 index 9a2d449..0000000 Binary files a/style/fa/fonts/fa-duotone-900.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-light-300.ttf b/style/fa/fonts/fa-light-300.ttf deleted file mode 100644 index 30c5a85..0000000 Binary files a/style/fa/fonts/fa-light-300.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-light-300.woff2 b/style/fa/fonts/fa-light-300.woff2 deleted file mode 100644 index 62db79f..0000000 Binary files a/style/fa/fonts/fa-light-300.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-regular-400.ttf b/style/fa/fonts/fa-regular-400.ttf deleted file mode 100644 index 52ed8a7..0000000 Binary files a/style/fa/fonts/fa-regular-400.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-regular-400.woff2 b/style/fa/fonts/fa-regular-400.woff2 deleted file mode 100644 index e9de071..0000000 Binary files a/style/fa/fonts/fa-regular-400.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-sharp-solid-900.ttf b/style/fa/fonts/fa-sharp-solid-900.ttf deleted file mode 100644 index db604b5..0000000 Binary files a/style/fa/fonts/fa-sharp-solid-900.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-sharp-solid-900.woff2 b/style/fa/fonts/fa-sharp-solid-900.woff2 deleted file mode 100644 index 2ead4bd..0000000 Binary files a/style/fa/fonts/fa-sharp-solid-900.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-solid-900.ttf b/style/fa/fonts/fa-solid-900.ttf deleted file mode 100644 index 297832b..0000000 Binary files a/style/fa/fonts/fa-solid-900.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-solid-900.woff2 b/style/fa/fonts/fa-solid-900.woff2 deleted file mode 100644 index be27409..0000000 Binary files a/style/fa/fonts/fa-solid-900.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-thin-100.ttf b/style/fa/fonts/fa-thin-100.ttf deleted file mode 100644 index 17fb90c..0000000 Binary files a/style/fa/fonts/fa-thin-100.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-thin-100.woff2 b/style/fa/fonts/fa-thin-100.woff2 deleted file mode 100644 index 5444921..0000000 Binary files a/style/fa/fonts/fa-thin-100.woff2 and /dev/null differ diff --git a/style/fa/fonts/fa-v4compatibility.ttf b/style/fa/fonts/fa-v4compatibility.ttf deleted file mode 100644 index ea02e8a..0000000 Binary files a/style/fa/fonts/fa-v4compatibility.ttf and /dev/null differ diff --git a/style/fa/fonts/fa-v4compatibility.woff2 b/style/fa/fonts/fa-v4compatibility.woff2 deleted file mode 100644 index f28e1f4..0000000 Binary files a/style/fa/fonts/fa-v4compatibility.woff2 and /dev/null differ diff --git a/style/fa/light.scss b/style/fa/light.scss deleted file mode 100644 index 52407c9..0000000 --- a/style/fa/light.scss +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }'; - --#{$fa-css-prefix}-font-light: normal 300 1em/1 '#{ $fa-style-family }'; -} - -@font-face { - font-family: 'Font Awesome 6 Pro'; - font-style: normal; - font-weight: 300; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-light-300.woff2') format('woff2'), - url('#{$fa-font-path}/fa-light-300.ttf') format('truetype'); -} - -.fal, -.#{$fa-css-prefix}-light { - font-weight: 300; -} diff --git a/style/fa/regular.scss b/style/fa/regular.scss deleted file mode 100644 index 2ec21ba..0000000 --- a/style/fa/regular.scss +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }'; - --#{$fa-css-prefix}-font-regular: normal 400 1em/1 '#{ $fa-style-family }'; -} - -@font-face { - font-family: 'Font Awesome 6 Pro'; - font-style: normal; - font-weight: 400; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'), - url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'); -} - -.far, -.#{$fa-css-prefix}-regular { - font-weight: 400; -} diff --git a/style/fa/sharp-solid.scss b/style/fa/sharp-solid.scss deleted file mode 100644 index 3af82ee..0000000 --- a/style/fa/sharp-solid.scss +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-sharp: 'Font Awesome 6 Sharp'; - --#{$fa-css-prefix}-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp'; -} - -@font-face { - font-family: 'Font Awesome 6 Sharp'; - font-style: normal; - font-weight: 900; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-sharp-solid-900.woff2') format('woff2'), - url('#{$fa-font-path}/fa-sharp-solid-900.ttf') format('truetype'); -} - -.fass, -.#{$fa-css-prefix}-sharp-solid { - font-weight: 900; -} diff --git a/style/fa/solid.scss b/style/fa/solid.scss deleted file mode 100644 index 2b60870..0000000 --- a/style/fa/solid.scss +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }'; - --#{$fa-css-prefix}-font-solid: normal 900 1em/1 '#{ $fa-style-family }'; -} - -@font-face { - font-family: 'Font Awesome 6 Pro'; - font-style: normal; - font-weight: 900; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'), - url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'); -} - -.fas, -.#{$fa-css-prefix}-solid { - font-weight: 900; -} diff --git a/style/fa/thin.scss b/style/fa/thin.scss deleted file mode 100644 index b210648..0000000 --- a/style/fa/thin.scss +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -@import 'functions'; -@import 'variables'; - -:root, :host { - --#{$fa-css-prefix}-style-family-classic: '#{ $fa-style-family }'; - --#{$fa-css-prefix}-font-thin: normal 100 1em/1 '#{ $fa-style-family }'; -} - -@font-face { - font-family: 'Font Awesome 6 Pro'; - font-style: normal; - font-weight: 100; - font-display: $fa-font-display; - src: url('#{$fa-font-path}/fa-thin-100.woff2') format('woff2'), - url('#{$fa-font-path}/fa-thin-100.ttf') format('truetype'); -} - -.fat, -.#{$fa-css-prefix}-thin { - font-weight: 100; -} diff --git a/style/fa/v4-shims.scss b/style/fa/v4-shims.scss deleted file mode 100644 index 772be6e..0000000 --- a/style/fa/v4-shims.scss +++ /dev/null @@ -1,11 +0,0 @@ -/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */ -// V4 shims compile (Web Fonts-based) -// ------------------------- - -@import 'functions'; -@import 'variables'; -@import 'shims'; diff --git a/style/fonts/4iCs6KVjbNBYlgoKfw72.woff2 b/style/fonts/4iCs6KVjbNBYlgoKfw72.woff2 deleted file mode 100644 index a590b8a..0000000 Binary files a/style/fonts/4iCs6KVjbNBYlgoKfw72.woff2 and /dev/null differ diff --git a/style/fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2 b/style/fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2 deleted file mode 100644 index e10142f..0000000 Binary files a/style/fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2 and /dev/null differ diff --git a/style/leaflet/_leaflet.scss b/style/leaflet/_leaflet.scss deleted file mode 100644 index 2961b76..0000000 --- a/style/leaflet/_leaflet.scss +++ /dev/null @@ -1,661 +0,0 @@ -/* required styles */ - -.leaflet-pane, -.leaflet-tile, -.leaflet-marker-icon, -.leaflet-marker-shadow, -.leaflet-tile-container, -.leaflet-pane > svg, -.leaflet-pane > canvas, -.leaflet-zoom-box, -.leaflet-image-layer, -.leaflet-layer { - position: absolute; - left: 0; - top: 0; - } -.leaflet-container { - overflow: hidden; - } -.leaflet-tile, -.leaflet-marker-icon, -.leaflet-marker-shadow { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - -webkit-user-drag: none; - } -/* Prevents IE11 from highlighting tiles in blue */ -.leaflet-tile::selection { - background: transparent; -} -/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ -.leaflet-safari .leaflet-tile { - image-rendering: -webkit-optimize-contrast; - } -/* hack that prevents hw layers "stretching" when loading new tiles */ -.leaflet-safari .leaflet-tile-container { - width: 1600px; - height: 1600px; - -webkit-transform-origin: 0 0; - } -.leaflet-marker-icon, -.leaflet-marker-shadow { - display: block; - } -/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ -/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ -.leaflet-container .leaflet-overlay-pane svg { - max-width: none !important; - max-height: none !important; - } -.leaflet-container .leaflet-marker-pane img, -.leaflet-container .leaflet-shadow-pane img, -.leaflet-container .leaflet-tile-pane img, -.leaflet-container img.leaflet-image-layer, -.leaflet-container .leaflet-tile { - max-width: none !important; - max-height: none !important; - width: auto; - padding: 0; - } - -.leaflet-container img.leaflet-tile { - /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */ - mix-blend-mode: plus-lighter; -} - -.leaflet-container.leaflet-touch-zoom { - -ms-touch-action: pan-x pan-y; - touch-action: pan-x pan-y; - } -.leaflet-container.leaflet-touch-drag { - -ms-touch-action: pinch-zoom; - /* Fallback for FF which doesn't support pinch-zoom */ - touch-action: none; - touch-action: pinch-zoom; -} -.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { - -ms-touch-action: none; - touch-action: none; -} -.leaflet-container { - -webkit-tap-highlight-color: transparent; -} -.leaflet-container a { - -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); -} -.leaflet-tile { - filter: inherit; - visibility: hidden; - } -.leaflet-tile-loaded { - visibility: inherit; - } -.leaflet-zoom-box { - width: 0; - height: 0; - -moz-box-sizing: border-box; - box-sizing: border-box; - z-index: 800; - } -/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ -.leaflet-overlay-pane svg { - -moz-user-select: none; - } - -.leaflet-pane { z-index: 400; } - -.leaflet-tile-pane { z-index: 200; } -.leaflet-overlay-pane { z-index: 400; } -.leaflet-shadow-pane { z-index: 500; } -.leaflet-marker-pane { z-index: 600; } -.leaflet-tooltip-pane { z-index: 650; } -.leaflet-popup-pane { z-index: 700; } - -.leaflet-map-pane canvas { z-index: 100; } -.leaflet-map-pane svg { z-index: 200; } - -.leaflet-vml-shape { - width: 1px; - height: 1px; - } -.lvml { - behavior: url(#default#VML); - display: inline-block; - position: absolute; - } - - -/* control positioning */ - -.leaflet-control { - position: relative; - z-index: 800; - pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ - pointer-events: auto; - } -.leaflet-top, -.leaflet-bottom { - position: absolute; - z-index: 1000; - pointer-events: none; - } -.leaflet-top { - top: 0; - } -.leaflet-right { - right: 0; - } -.leaflet-bottom { - bottom: 0; - } -.leaflet-left { - left: 0; - } -.leaflet-control { - float: left; - clear: both; - } -.leaflet-right .leaflet-control { - float: right; - } -.leaflet-top .leaflet-control { - margin-top: 10px; - } -.leaflet-bottom .leaflet-control { - margin-bottom: 10px; - } -.leaflet-left .leaflet-control { - margin-left: 10px; - } -.leaflet-right .leaflet-control { - margin-right: 10px; - } - - -/* zoom and fade animations */ - -.leaflet-fade-anim .leaflet-popup { - opacity: 0; - -webkit-transition: opacity 0.2s linear; - -moz-transition: opacity 0.2s linear; - transition: opacity 0.2s linear; - } -.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { - opacity: 1; - } -.leaflet-zoom-animated { - -webkit-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - } -svg.leaflet-zoom-animated { - will-change: transform; -} - -.leaflet-zoom-anim .leaflet-zoom-animated { - -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); - -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); - transition: transform 0.25s cubic-bezier(0,0,0.25,1); - } -.leaflet-zoom-anim .leaflet-tile, -.leaflet-pan-anim .leaflet-tile { - -webkit-transition: none; - -moz-transition: none; - transition: none; - } - -.leaflet-zoom-anim .leaflet-zoom-hide { - visibility: hidden; - } - - -/* cursors */ - -.leaflet-interactive { - cursor: pointer; - } -.leaflet-grab { - cursor: -webkit-grab; - cursor: -moz-grab; - cursor: grab; - } -.leaflet-crosshair, -.leaflet-crosshair .leaflet-interactive { - cursor: crosshair; - } -.leaflet-popup-pane, -.leaflet-control { - cursor: auto; - } -.leaflet-dragging .leaflet-grab, -.leaflet-dragging .leaflet-grab .leaflet-interactive, -.leaflet-dragging .leaflet-marker-draggable { - cursor: move; - cursor: -webkit-grabbing; - cursor: -moz-grabbing; - cursor: grabbing; - } - -/* marker & overlays interactivity */ -.leaflet-marker-icon, -.leaflet-marker-shadow, -.leaflet-image-layer, -.leaflet-pane > svg path, -.leaflet-tile-container { - pointer-events: none; - } - -.leaflet-marker-icon.leaflet-interactive, -.leaflet-image-layer.leaflet-interactive, -.leaflet-pane > svg path.leaflet-interactive, -svg.leaflet-image-layer.leaflet-interactive path { - pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ - pointer-events: auto; - } - -/* visual tweaks */ - -.leaflet-container { - background: #ddd; - outline-offset: 1px; - } -.leaflet-container a { - color: #0078A8; - } -.leaflet-zoom-box { - border: 2px dotted #38f; - background: rgba(255,255,255,0.5); - } - - -/* general typography */ -.leaflet-container { - font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; - font-size: 12px; - font-size: 0.75rem; - line-height: 1.5; - } - - -/* general toolbar styles */ - -.leaflet-bar { - box-shadow: 0 1px 5px rgba(0,0,0,0.65); - border-radius: 4px; - } -.leaflet-bar a { - background-color: #fff; - border-bottom: 1px solid #ccc; - width: 26px; - height: 26px; - line-height: 26px; - display: block; - text-align: center; - text-decoration: none; - color: black; - } -.leaflet-bar a, -.leaflet-control-layers-toggle { - background-position: 50% 50%; - background-repeat: no-repeat; - display: block; - } -.leaflet-bar a:hover, -.leaflet-bar a:focus { - background-color: #f4f4f4; - } -.leaflet-bar a:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; - } -.leaflet-bar a:last-child { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom: none; - } -.leaflet-bar a.leaflet-disabled { - cursor: default; - background-color: #f4f4f4; - color: #bbb; - } - -.leaflet-touch .leaflet-bar a { - width: 30px; - height: 30px; - line-height: 30px; - } -.leaflet-touch .leaflet-bar a:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; - } -.leaflet-touch .leaflet-bar a:last-child { - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - } - -/* zoom control */ - -.leaflet-control-zoom-in, -.leaflet-control-zoom-out { - font: bold 18px 'Lucida Console', Monaco, monospace; - text-indent: 1px; - } - -.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { - font-size: 22px; - } - - -/* layers control */ - -.leaflet-control-layers { - box-shadow: 0 1px 5px rgba(0,0,0,0.4); - background: #fff; - border-radius: 5px; - } -.leaflet-control-layers-toggle { - background-image: url(images/layers.png); - width: 36px; - height: 36px; - } -.leaflet-retina .leaflet-control-layers-toggle { - background-image: url(images/layers-2x.png); - background-size: 26px 26px; - } -.leaflet-touch .leaflet-control-layers-toggle { - width: 44px; - height: 44px; - } -.leaflet-control-layers .leaflet-control-layers-list, -.leaflet-control-layers-expanded .leaflet-control-layers-toggle { - display: none; - } -.leaflet-control-layers-expanded .leaflet-control-layers-list { - display: block; - position: relative; - } -.leaflet-control-layers-expanded { - padding: 6px 10px 6px 6px; - color: #333; - background: #fff; - } -.leaflet-control-layers-scrollbar { - overflow-y: scroll; - overflow-x: hidden; - padding-right: 5px; - } -.leaflet-control-layers-selector { - margin-top: 2px; - position: relative; - top: 1px; - } -.leaflet-control-layers label { - display: block; - font-size: 13px; - font-size: 1.08333em; - } -.leaflet-control-layers-separator { - height: 0; - border-top: 1px solid #ddd; - margin: 5px -10px 5px -6px; - } - -/* Default icon URLs */ -.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ - background-image: url(images/marker-icon.png); - } - - -/* attribution and scale controls */ - -.leaflet-container .leaflet-control-attribution { - background: #fff; - background: rgba(255, 255, 255, 0.8); - margin: 0; - } -.leaflet-control-attribution, -.leaflet-control-scale-line { - padding: 0 5px; - color: #333; - line-height: 1.4; - } -.leaflet-control-attribution a { - text-decoration: none; - } -.leaflet-control-attribution a:hover, -.leaflet-control-attribution a:focus { - text-decoration: underline; - } -.leaflet-attribution-flag { - display: inline !important; - vertical-align: baseline !important; - width: 1em; - height: 0.6669em; - } -.leaflet-left .leaflet-control-scale { - margin-left: 5px; - } -.leaflet-bottom .leaflet-control-scale { - margin-bottom: 5px; - } -.leaflet-control-scale-line { - border: 2px solid #777; - border-top: none; - line-height: 1.1; - padding: 2px 5px 1px; - white-space: nowrap; - -moz-box-sizing: border-box; - box-sizing: border-box; - background: rgba(255, 255, 255, 0.8); - text-shadow: 1px 1px #fff; - } -.leaflet-control-scale-line:not(:first-child) { - border-top: 2px solid #777; - border-bottom: none; - margin-top: -2px; - } -.leaflet-control-scale-line:not(:first-child):not(:last-child) { - border-bottom: 2px solid #777; - } - -.leaflet-touch .leaflet-control-attribution, -.leaflet-touch .leaflet-control-layers, -.leaflet-touch .leaflet-bar { - box-shadow: none; - } -.leaflet-touch .leaflet-control-layers, -.leaflet-touch .leaflet-bar { - border: 2px solid rgba(0,0,0,0.2); - background-clip: padding-box; - } - - -/* popup */ - -.leaflet-popup { - position: absolute; - text-align: center; - margin-bottom: 20px; - } -.leaflet-popup-content-wrapper { - padding: 1px; - text-align: left; - border-radius: 12px; - } -.leaflet-popup-content { - margin: 13px 24px 13px 20px; - line-height: 1.3; - font-size: 13px; - font-size: 1.08333em; - min-height: 1px; - } -.leaflet-popup-content p { - margin: 17px 0; - margin: 1.3em 0; - } -.leaflet-popup-tip-container { - width: 40px; - height: 20px; - position: absolute; - left: 50%; - margin-top: -1px; - margin-left: -20px; - overflow: hidden; - pointer-events: none; - } -.leaflet-popup-tip { - width: 17px; - height: 17px; - padding: 1px; - - margin: -10px auto 0; - pointer-events: auto; - - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - } -.leaflet-popup-content-wrapper, -.leaflet-popup-tip { - background: white; - color: #333; - box-shadow: 0 3px 14px rgba(0,0,0,0.4); - } -.leaflet-container a.leaflet-popup-close-button { - position: absolute; - top: 0; - right: 0; - border: none; - text-align: center; - width: 24px; - height: 24px; - font: 16px/24px Tahoma, Verdana, sans-serif; - color: #757575; - text-decoration: none; - background: transparent; - } -.leaflet-container a.leaflet-popup-close-button:hover, -.leaflet-container a.leaflet-popup-close-button:focus { - color: #585858; - } -.leaflet-popup-scrolled { - overflow: auto; - } - -.leaflet-oldie .leaflet-popup-content-wrapper { - -ms-zoom: 1; - } -.leaflet-oldie .leaflet-popup-tip { - width: 24px; - margin: 0 auto; - - -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; - filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); - } - -.leaflet-oldie .leaflet-control-zoom, -.leaflet-oldie .leaflet-control-layers, -.leaflet-oldie .leaflet-popup-content-wrapper, -.leaflet-oldie .leaflet-popup-tip { - border: 1px solid #999; - } - - -/* div icon */ - -.leaflet-div-icon { - background: #fff; - border: 1px solid #666; - } - - -/* Tooltip */ -/* Base styles for the element that has a tooltip */ -.leaflet-tooltip { - position: absolute; - padding: 6px; - background-color: #fff; - border: 1px solid #fff; - border-radius: 3px; - color: #222; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - pointer-events: none; - box-shadow: 0 1px 3px rgba(0,0,0,0.4); - } -.leaflet-tooltip.leaflet-interactive { - cursor: pointer; - pointer-events: auto; - } -.leaflet-tooltip-top:before, -.leaflet-tooltip-bottom:before, -.leaflet-tooltip-left:before, -.leaflet-tooltip-right:before { - position: absolute; - pointer-events: none; - border: 6px solid transparent; - background: transparent; - content: ""; - } - -/* Directions */ - -.leaflet-tooltip-bottom { - margin-top: 6px; -} -.leaflet-tooltip-top { - margin-top: -6px; -} -.leaflet-tooltip-bottom:before, -.leaflet-tooltip-top:before { - left: 50%; - margin-left: -6px; - } -.leaflet-tooltip-top:before { - bottom: 0; - margin-bottom: -12px; - border-top-color: #fff; - } -.leaflet-tooltip-bottom:before { - top: 0; - margin-top: -12px; - margin-left: -6px; - border-bottom-color: #fff; - } -.leaflet-tooltip-left { - margin-left: -6px; -} -.leaflet-tooltip-right { - margin-left: 6px; -} -.leaflet-tooltip-left:before, -.leaflet-tooltip-right:before { - top: 50%; - margin-top: -6px; - } -.leaflet-tooltip-left:before { - right: 0; - margin-right: -12px; - border-left-color: #fff; - } -.leaflet-tooltip-right:before { - left: 0; - margin-left: -12px; - border-right-color: #fff; - } - -/* Printing */ - -@media print { - /* Prevent printers from removing background-images of controls. */ - .leaflet-control { - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - } - } diff --git a/style/leaflet/_leaflet_heightgraph.scss b/style/leaflet/_leaflet_heightgraph.scss deleted file mode 100644 index a3fa6e6..0000000 --- a/style/leaflet/_leaflet_heightgraph.scss +++ /dev/null @@ -1,148 +0,0 @@ -.heightgraph-container { - background-color: rgba(250,250,250,.8); - border-radius: 10px; - display: none; - cursor: default; - user-select: none; -} - -.heightgraph-toggle { - cursor: pointer; - box-shadow: 0 1px 7px rgba(0, 0, 0, .4); - border-radius: 5px; - width: 28px; - height: 28px; - background: #f8f8f9; - display: block; -} - -.heightgraph-toggle-icon { - background: url(img/area-chart.svg) no-repeat center center; - background-size: 14px 14px; - width: 26px; - height: 26px; - position: absolute; -} - -.heightgraph-close-icon { - background: url(img/remove.svg) no-repeat center center; - background-size: 14px 14px; - width: 26px; - height: 26px; - position: absolute; - right: 0; - display: none; - cursor: pointer; -} - -.border-top { - fill: none; -} - -.legend-hover { - cursor: pointer; -} - -.legend-text { - fill: #000; - font-size: 10px; - cursor: pointer; -} - -.tick, .tick text { - fill: #000; - pointer-events: none; -} - -.axis .tick line { - visibility: hidden; - pointer-events: none; -} - -.axis path { - stroke: black; - fill: none; - stroke-width: 2px; - shape-rendering: crispEdges; - pointer-events: none; -} - -.focusbox { - display: none; - font-size: 10px; - fill: #000; - pointer-events: none; -} - -.focusbox rect { - fill: rgba(255, 255, 255, 0.8); - stroke-width: 1px; - stroke: #888; - pointer-events: none; -} - -.focusbox text { - font-size: 12px; -} - -.focusLine line { - stroke-width: 1px; - stroke: rgb(20, 20, 20); - display: none; - cursor: default; - shape-rendering: crispEdges; -} - -.height-focus.label rect { - fill: rgba(255, 255, 255, 0.5); - stroke-width: 1px; - stroke: #888; - pointer-events: none; - shape-rendering: crispEdges; -} - -.height-focus.line { - stroke: rgb(20, 20, 20); - stroke-width: 1px; - shape-rendering: crispEdges; -} - -.height-focus.circle { - stroke: #FFF; - stroke-width: 1px; -} - -.mouse-height-box-text{ - font-size: 12px; -} - -.grid .tick { - pointer-events: none; -} - -.grid .tick line { - stroke: #EEE; - stroke-width: 1px; - shape-rendering: crispEdges; -} - -.grid path { - stroke-width: 0; - pointer-events: none; -} - -.tspan { - font-weight: bold; -} - -.select-symbol { - cursor: pointer; -} - -.select-info { - cursor: default; -} - -.lineSelection { - cursor: move; -} diff --git a/style/lightbox/_lightbox.scss b/style/lightbox/_lightbox.scss deleted file mode 100644 index d0da103..0000000 --- a/style/lightbox/_lightbox.scss +++ /dev/null @@ -1,204 +0,0 @@ -body.lb-disable-scrolling { - overflow: hidden; -} - -.lightboxOverlay { - position: absolute; - top: 0; - left: 0; - z-index: 9999; - background-color: black; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); - opacity: 0.8; - display: none; -} - -.lightbox { - position: absolute; - left: 0; - width: 100%; - z-index: 10000; - text-align: center; - line-height: 0; - font-weight: normal; - outline: none; -} - -.lightbox .lb-image { - display: block; - height: auto; - max-width: inherit; - max-height: none; - border-radius: 3px; - - /* Image border */ - border: 4px solid white; -} - -.lightbox a img { - border: none; -} - -.lb-outerContainer { - position: relative; - *zoom: 1; - width: 250px; - height: 250px; - margin: 0 auto; - border-radius: 4px; - - /* Background color behind image. - This is visible during transitions. */ - background-color: white; -} - -.lb-outerContainer:after { - content: ""; - display: table; - clear: both; -} - -.lb-loader { - position: absolute; - top: 43%; - left: 0; - height: 25%; - width: 100%; - text-align: center; - line-height: 0; -} - -.lb-cancel { - display: block; - width: 32px; - height: 32px; - margin: 0 auto; - background: url(../images/loading.gif) no-repeat; -} - -.lb-nav { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 10; -} - -.lb-container > .nav { - left: 0; -} - -.lb-nav a { - outline: none; - background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); -} - -.lb-prev, .lb-next { - height: 100%; - cursor: pointer; - display: block; -} - -.lb-nav a.lb-prev { - width: 34%; - left: 0; - float: left; - background: url(../images/prev.png) left 48% no-repeat; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); - opacity: 0; - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} - -.lb-nav a.lb-prev:hover { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} - -.lb-nav a.lb-next { - width: 64%; - right: 0; - float: right; - background: url(../images/next.png) right 48% no-repeat; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); - opacity: 0; - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} - -.lb-nav a.lb-next:hover { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} - -.lb-dataContainer { - margin: 0 auto; - padding-top: 5px; - *zoom: 1; - width: 100%; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -.lb-dataContainer:after { - content: ""; - display: table; - clear: both; -} - -.lb-data { - padding: 0 4px; - color: #ccc; -} - -.lb-data .lb-details { - width: 85%; - float: left; - text-align: left; - line-height: 1.1em; -} - -.lb-data .lb-caption { - font-size: 13px; - font-weight: bold; - line-height: 1em; -} - -.lb-data .lb-caption a { - color: #4ae; -} - -.lb-data .lb-number { - display: block; - clear: left; - padding-bottom: 1em; - font-size: 12px; - color: #999999; -} - -.lb-data .lb-close { - display: block; - float: right; - width: 30px; - height: 30px; - background: url(../images/close.png) top right no-repeat; - text-align: right; - outline: none; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); - opacity: 0.7; - -webkit-transition: opacity 0.2s; - -moz-transition: opacity 0.2s; - -o-transition: opacity 0.2s; - transition: opacity 0.2s; -} - -.lb-data .lb-close:hover { - cursor: pointer; - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - opacity: 1; -} diff --git a/style/scss.bat b/style/scss.bat deleted file mode 100644 index c07dc6f..0000000 --- a/style/scss.bat +++ /dev/null @@ -1 +0,0 @@ -sass --style=compressed --watch spot.scss:spot.css \ No newline at end of file diff --git a/style/spot.css b/style/spot.css deleted file mode 100644 index ce00423..0000000 --- a/style/spot.css +++ /dev/null @@ -1,6 +0,0 @@ -@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcg72j00.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKew72j00.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcw72j00.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKfA72j00.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCs6KVjbNBYlgoKcQ72j00.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/4iCs6KVjbNBYlgoKfw72.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@-webkit-keyframes fadeIn{from{opacity:0.3}}@-moz-keyframes fadeIn{from{opacity:0.3}}@-ms-keyframes fadeIn{from{opacity:0.3}}@-o-keyframes fadeIn{from{opacity:0.3}}@keyframes fadeIn{from{opacity:0.3}}.flicker,.lightbox .lb-cancel,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.loading span{-webkit-animation:fadeIn 0.5s infinite alternate;-moz-animation:fadeIn 0.5s infinite alternate;-ms-animation:fadeIn 0.5s infinite alternate;-o-animation:fadeIn 0.5s infinite alternate;animation:fadeIn 0.5s infinite alternate}@keyframes spotlogo{0%{transform:scale(1)}1.25%{transform:scale(1.2)}2.5%{transform:scale(1);transform:rotate(0deg)}5%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}*:focus{outline:0px none transparent}[title]:not(a):not(.clickable):not(button):not(a.button):not(.leaflet-control.spot-control){cursor:inherit}.clickable,button,a.button,.leaflet-control.spot-control,.leaflet-control.heightgraph .heightgraph-toggle,#projects #settings #settings-panel .settings-sections .settings-section label{cursor:pointer}textarea:focus,input:focus{outline:1px solid #CCC}body,textarea,input,button,a.button{font-size:14px;font-family:'Ubuntu', sans-serif;margin:0}textarea{resize:none}a.button{text-decoration:none;display:inline-block}button,a.button{font-weight:bold;color:#000;background:#eee}button:hover,a.button:hover{color:#eee;background:#000}input,textarea,button,a.button{border:none;padding:0.5em 1em;border-radius:3px}h1{font-size:2em;font-weight:bold;margin:1em 0 0.5em}.feedback p{margin:0 0 1em 0}.feedback p.error{color:red}.feedback p.warning{color:orange}.feedback p.success{color:green}/*! - * Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2022 Fonticons, Inc. - */:root,:host{--fa-style-family-classic: 'Font Awesome 6 Pro';--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Pro'}@font-face{font-family:'Font Awesome 6 Pro';font-style:normal;font-weight:900;font-display:block;src:url("fa/fonts/fa-solid-900.woff2") format("woff2"),url("fa/fonts/fa-solid-900.ttf") format("truetype")}.fas,.fa-solid{font-weight:900}.fa,.control-icon,.leaflet-control.spot-control .fa,.leaflet-control.heightgraph .heightgraph-toggle .fa,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-close-icon,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-cancel{font-family:var(--fa-style-family, "Font Awesome 6 Pro");font-weight:var(--fa-style, 900)}.fa,.control-icon,.leaflet-control.spot-control .fa,.leaflet-control.heightgraph .heightgraph-toggle .fa,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-close-icon,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-cancel,.fa-classic,.fa-sharp,.fas,.fa-solid,.far,.fa-regular,.fal,.fa-light,.fat,.fa-thin,.fad,.fa-duotone,.fass,.fa-sharp-solid,.fab,.fa-brands{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fas,.fa-classic,.fa-solid,.far,.fa-regular,.fal,.fa-light,.fat,.fa-thin{font-family:'Font Awesome 6 Pro'}.fab,.fa-brands{font-family:'Font Awesome 6 Brands'}.fad,.fa-classic.fa-duotone,.fa-duotone{font-family:'Font Awesome 6 Duotone'}.fass,.fa-sharp{font-family:'Font Awesome 6 Sharp';font-weight:900}.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-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, 0.2em 0.25em 0.15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%, 90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1, 1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em))}64%{transform:scale(1, 1) translateY(0)}100%{transform:scale(1, 1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, 0.4)}}@keyframes fa-beat-fade{0%, 100%{opacity:var(--fa-beat-fade-opacity, 0.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%, 24%{transform:rotate(-18deg)}12%, 28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%, 100%{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scale(-1, 1)}.fa-flip-vertical{transform:scale(1, -1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1, -1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 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%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa.push,.push.control-icon,.leaflet-control.spot-control .push.fa,.leaflet-control.heightgraph .heightgraph-toggle .push.fa,.heightgraph.leaflet-control .heightgraph-toggle .push.heightgraph-toggle-icon,.heightgraph.leaflet-control .push.heightgraph-close-icon,.lightbox .lb-outerContainer .lb-container .lb-nav a.push.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav a.push.lb-next,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .push.lb-close,.lightbox .push.lb-cancel{margin-right:0.5rem}.fa.push-left,.push-left.control-icon,.leaflet-control.spot-control .push-left.fa,.leaflet-control.heightgraph .heightgraph-toggle .push-left.fa,.heightgraph.leaflet-control .heightgraph-toggle .push-left.heightgraph-toggle-icon,.heightgraph.leaflet-control .push-left.heightgraph-close-icon,.lightbox .lb-outerContainer .lb-container .lb-nav a.push-left.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav a.push-left.lb-next,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .push-left.lb-close,.lightbox .push-left.lb-cancel{margin-left:0.5rem}.control-icon,.leaflet-control.spot-control .fa,.leaflet-control.spot-control .control-icon,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-prev,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-next,.leaflet-control.spot-control .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.spot-control .lb-close,.leaflet-control.spot-control .lightbox .lb-cancel,.lightbox .leaflet-control.spot-control .lb-cancel,.leaflet-control.heightgraph .heightgraph-toggle .fa,.leaflet-control.heightgraph .heightgraph-toggle .control-icon,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-prev,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-next,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.heightgraph .heightgraph-toggle .lb-close,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-cancel,.lightbox .leaflet-control.heightgraph .heightgraph-toggle .lb-cancel,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-close-icon{font-size:28px;text-align:center;line-height:44px;text-decoration:none;color:#CCC;background:none;text-shadow:0px 1px 1px rgba(0,0,0,0.8)}.control-icon:hover,.leaflet-control.spot-control .fa:hover,.leaflet-control.spot-control .control-icon:hover,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:hover,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-prev:hover,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:hover,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-next:hover,.leaflet-control.spot-control .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:hover,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.spot-control .lb-close:hover,.leaflet-control.spot-control .lightbox .lb-cancel:hover,.lightbox .leaflet-control.spot-control .lb-cancel:hover,.leaflet-control.heightgraph .heightgraph-toggle .fa:hover,.leaflet-control.heightgraph .heightgraph-toggle .control-icon:hover,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:hover,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-prev:hover,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:hover,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-next:hover,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:hover,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.heightgraph .heightgraph-toggle .lb-close:hover,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-cancel:hover,.lightbox .leaflet-control.heightgraph .heightgraph-toggle .lb-cancel:hover,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:hover,.heightgraph.leaflet-control .heightgraph-close-icon:hover{color:white}.control-icon:before,.leaflet-control.spot-control .fa:before,.leaflet-control.spot-control .control-icon:before,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-prev:before,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-next:before,.leaflet-control.spot-control .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.spot-control .lb-close:before,.leaflet-control.spot-control .lightbox .lb-cancel:before,.lightbox .leaflet-control.spot-control .lb-cancel:before,.leaflet-control.heightgraph .heightgraph-toggle .fa:before,.leaflet-control.heightgraph .heightgraph-toggle .control-icon:before,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-prev:before,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-next:before,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.heightgraph .heightgraph-toggle .lb-close:before,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-cancel:before,.lightbox .leaflet-control.heightgraph .heightgraph-toggle .lb-cancel:before,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-close-icon:before{display:block;width:44px;height:44px}.fa-menu:before,#projects #settings-button .fa:before,#projects #settings-button .control-icon:before,#projects #settings-button .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-toggle #projects #settings-button .heightgraph-toggle-icon:before,#projects #settings-button .heightgraph.leaflet-control .heightgraph-close-icon:before,.heightgraph.leaflet-control #projects #settings-button .heightgraph-close-icon:before,#projects #settings-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #settings-button a.lb-prev:before,#projects #settings-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #settings-button a.lb-next:before,#projects #settings-button .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects #settings-button .lb-close:before,#projects #settings-button .lightbox .lb-cancel:before,.lightbox #projects #settings-button .lb-cancel:before{content:""}.fa-error:before{content:""}.fa-warning:before{content:""}.fa-success:before{content:""}.fa-new:before{content:"\+"}.fa-refresh:before{content:""}.fa-refresh:before{content:""}.fa-cancel:before,.lightbox .lb-cancel:before{content:""}.fa-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,#projects.with-settings #settings-button .fa:before,#projects.with-settings #settings-button .control-icon:before,#projects.with-settings #settings-button .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-toggle #projects.with-settings #settings-button .heightgraph-toggle-icon:before,#projects.with-settings #settings-button .heightgraph.leaflet-control .heightgraph-close-icon:before,.heightgraph.leaflet-control #projects.with-settings #settings-button .heightgraph-close-icon:before,#projects.with-settings #settings-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects.with-settings #settings-button a.lb-prev:before,#projects.with-settings #settings-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects.with-settings #settings-button a.lb-next:before,#projects.with-settings #settings-button .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects.with-settings #settings-button .lb-close:before,#projects.with-settings #settings-button .lightbox .lb-cancel:before,.lightbox #projects.with-settings #settings-button .lb-cancel:before,.fa-back:before{content:""}.fa-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,#projects.with-feed #feed-button .fa:before,#projects.with-feed #feed-button .control-icon:before,#projects.with-feed #feed-button .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-toggle #projects.with-feed #feed-button .heightgraph-toggle-icon:before,#projects.with-feed #feed-button .heightgraph.leaflet-control .heightgraph-close-icon:before,.heightgraph.leaflet-control #projects.with-feed #feed-button .heightgraph-close-icon:before,#projects.with-feed #feed-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects.with-feed #feed-button a.lb-prev:before,#projects.with-feed #feed-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects.with-feed #feed-button a.lb-next:before,#projects.with-feed #feed-button .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects.with-feed #feed-button .lb-close:before,#projects.with-feed #feed-button .lightbox .lb-cancel:before,.lightbox #projects.with-feed #feed-button .lb-cancel:before{content:""}.fa-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before{content:""}.fa-map:before{content:""}.fa-track-off-track:before{content:""}.fa-track-main:before{content:""}.fa-track-hitchhiking:before{content:""}.fa-track-start:before{content:""}.fa-track-end:before{content:""}.fa-layers:before{content:""}.fa-elev-chart:before,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before{content:""}.fa-distance:before{content:""}.fa-elev-drop:before{content:""}.fa-elev-gain:before{content:""}.fa-download:before{content:""}.fa-newsletter:before{content:""}.fa-project:before{content:""}.fa-unsubscribe:before,.heightgraph.leaflet-control .heightgraph-close-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .fa:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .control-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-toggle #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .heightgraph-toggle-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .heightgraph.leaflet-control .heightgraph-close-icon:before,.heightgraph.leaflet-control #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .heightgraph-close-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe a.lb-prev:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe a.lb-next:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .lb-close:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .lightbox .lb-cancel:before,.lightbox #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.unsubscribe .lb-cancel:before{content:""}.fa-credits:before{content:""}.fa-admin:before{content:""}.fa-config:before{content:""}.fa-upload:before{content:""}.fa-post:before,#projects #feed-button .fa:before,#projects #feed-button .control-icon:before,#projects #feed-button .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-toggle #projects #feed-button .heightgraph-toggle-icon:before,#projects #feed-button .heightgraph.leaflet-control .heightgraph-close-icon:before,.heightgraph.leaflet-control #projects #feed-button .heightgraph-close-icon:before,#projects #feed-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #feed-button a.lb-prev:before,#projects #feed-button .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #feed-button a.lb-next:before,#projects #feed-button .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects #feed-button .lb-close:before,#projects #feed-button .lightbox .lb-cancel:before,.lightbox #projects #feed-button .lb-cancel:before{content:""}.fa-media:before{content:""}.fa-video:before{content:""}.fa-image:before{content:""}.fa-message:before{content:""}.fa-message-in:before{content:""}.fa-time:before{content:""}.fa-coords:before{content:""}.fa-altitude:before{content:""}.fa-drill-video:before{content:""}.fa-drill-image:before{content:""}.fa-drill-message:before,#projects #feed #feed-panel .post-item.message a.drill:hover .fa-message:before{content:""}.fa-video-shot:before{content:""}.fa-image-shot:before{content:""}.fa-link:before{content:""}.fa-link.copied:before{content:""}.fa-poster:before{content:""}.fa-send:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .fa:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .control-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon:before,.heightgraph.leaflet-control .heightgraph-toggle #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .heightgraph-toggle-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .heightgraph.leaflet-control .heightgraph-close-icon:before,.heightgraph.leaflet-control #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .heightgraph-close-icon:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe a.lb-prev:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe a.lb-next:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close:before,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .lb-close:before,#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .lightbox .lb-cancel:before,.lightbox #projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.subscribe .lb-cancel:before{content:""}.fa-timezone:before{content:""}.fa-temperature:before{content:""}.fa-clear-day:before{content:""}.fa-clear-night:before{content:""}.fa-cloudy:before{content:""}.fa-fog:before{content:""}.fa-hail:before{content:""}.fa-partly-cloudy-day:before{content:""}.fa-partly-cloudy-night:before{content:""}.fa-rain-snow-showers-day:before{content:""}.fa-rain-snow-showers-night:before{content:""}.fa-rain-snow:before{content:""}.fa-rain:before{content:""}.fa-showers-day:before{content:""}.fa-showers-night:before{content:""}.fa-sleet:before{content:""}.fa-snow-showers-day:before{content:""}.fa-snow-showers-night:before{content:""}.fa-snow:before{content:""}.fa-thunder-rain:before{content:""}.fa-thunder-showers-day:before{content:""}.fa-thunder-showers-night:before{content:""}.fa-thunder:before{content:""}.fa-wind:before{content:""}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:black;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity:0.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:normal;outline:none}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid white}.lightbox a img{border:none}.lb-outerContainer{position:relative;*zoom:1;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:white}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:none;background-image:url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")}.lb-prev,.lb-next{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;-o-transition:opacity 0.6s;transition:opacity 0.6s}.lb-nav a.lb-prev:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;-o-transition:opacity 0.6s;transition:opacity 0.6s}.lb-nav a.lb-next:hover{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;*zoom:1;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:bold;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:none;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:0.7;-webkit-transition:opacity 0.2s;-moz-transition:opacity 0.2s;-o-transition:opacity 0.2s;transition:opacity 0.2s}.lb-data .lb-close:hover{cursor:pointer;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.lightboxOverlay{bottom:0;right:0;outline:none}.lightbox{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.lightbox.vertical{flex-direction:column}.lightbox.vertical .lb-dataContainer{width:100%;height:30px}.lightbox.vertical .lb-dataContainer .lb-data{flex-direction:row}.lightbox.vertical .lb-dataContainer .lb-data .lb-details{width:calc(100% - 1.25rem)}.lightbox.vertical .lb-dataContainer .lb-data .lb-details .lb-caption .lb-caption-line{padding-right:1em;line-height:1.33333333333em;overflow:hidden}.lightbox.vertical .lb-dataContainer .lb-data .lb-details .lb-caption .lb-caption-line.comment{max-width:50%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lightbox.vertical .lb-dataContainer .lb-data .lb-closeContainer .lb-close{text-align:right}.lightbox.horizontal{flex-direction:row}.lightbox.horizontal .lb-dataContainer{width:200px;height:100%}.lightbox.horizontal .lb-dataContainer .lb-data{flex-direction:column}.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line{display:block;margin-top:1em;line-height:1.33333333em}.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .fa,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .control-icon,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-toggle .lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .heightgraph-toggle-icon,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .heightgraph.leaflet-control .heightgraph-close-icon,.heightgraph.leaflet-control .lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .heightgraph-close-icon,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox.horizontal .lb-outerContainer .lb-container .lb-nav .lb-dataContainer .lb-data .lb-caption-line.comment a.lb-prev,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox.horizontal .lb-outerContainer .lb-container .lb-nav .lb-dataContainer .lb-data .lb-caption-line.comment a.lb-next,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .lb-closeContainer .lb-close,.lightbox.horizontal .lb-dataContainer .lb-data .lb-closeContainer .lb-caption-line.comment .lb-close,.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .lb-cancel{vertical-align:text-bottom}.lightbox.horizontal .lb-dataContainer .lb-data .lb-caption-line.comment .comment-text{display:inline-block;width:calc(100% - 1.25em*1.33333333333 - 0.5rem);vertical-align:top}.lightbox.horizontal .lb-dataContainer .lb-data .lb-closeContainer .lb-close{margin-top:calc(1em/1.33333333);float:none}.lightbox .lb-outerContainer{margin:0;border-radius:0;background-color:rgba(255,255,255,0.5)}.lightbox .lb-outerContainer .lb-container{overflow:hidden}.lightbox .lb-outerContainer .lb-container.moveable{cursor:grab}.lightbox .lb-outerContainer .lb-container.moving{cursor:grabbing}.lightbox .lb-outerContainer .lb-container .lb-image{image-orientation:from-image;border-radius:0;border:none;--translate-x: 0;--translate-y: 0;--scale: 1;transform:translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) scale(var(--scale, 1))}.lightbox .lb-outerContainer .lb-container .lb-video{box-sizing:content-box}.lightbox .lb-outerContainer .lb-container.lb-video-nav .lb-nav{top:100px;height:calc(100% - 200px)}.lightbox .lb-outerContainer .lb-container .lb-nav .lb-prev-area,.lightbox .lb-outerContainer .lb-container .lb-nav .lb-next-area{position:absolute;top:0;height:100%;width:50%;-webkit-tap-highlight-color:transparent}.lightbox .lb-outerContainer .lb-container .lb-nav .lb-prev-area.lb-next-area,.lightbox .lb-outerContainer .lb-container .lb-nav .lb-next-area.lb-next-area{right:0}.lightbox .lb-outerContainer .lb-container .lb-nav .lb-prev-area:hover a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav .lb-prev-area:hover a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav .lb-next-area:hover a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav .lb-next-area:hover a.lb-next{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next{color:white;text-decoration:none;text-shadow:0px 1px 1px rgba(0,0,0,0.8);width:150px;height:150px;position:absolute;top:50%;transform:translateY(-50%);-webkit-transition:opacity 0.4s;-moz-transition:opacity 0.4s;-o-transition:opacity 0.4s;transition:opacity 0.4s}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev:before,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next:before{position:absolute;top:50%;transform:translateY(-50%)}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev{background:none;font-size:2em;left:0}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next{background:none;font-size:2em;right:0}.lightbox .lb-dataContainer{margin:0;padding:0;flex:0 0 auto;overflow:hidden}.lightbox .lb-dataContainer .lb-data{text-align:left;padding:0.5rem 0.5rem 0 0.5rem;display:flex}.lightbox .lb-dataContainer .lb-data .lb-details{float:none}.lightbox .lb-dataContainer .lb-data .lb-details .lb-caption-line:first-child{margin-top:0}.lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close{background:none;font-size:2em;height:auto;font-size:1.3333333333em;line-height:1em;color:white}.lightbox .lb-cancel{background:none;font-size:2em;color:#CCC;text-decoration:none}[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto !important;height:auto !important;z-index:0}.simplebar-offset{direction:inherit !important;box-sizing:inherit !important;resize:none !important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box !important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{width:0;height:0}.simplebar-content:before,.simplebar-content:after{content:' ';display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit !important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:'';background:black;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity 0.2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:0.5;transition:opacity 0s linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical{right:auto;left:0}.hs-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none !important;max-height:none !important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none !important;max-height:none !important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,0.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);-moz-transition:-moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);transition:transform 0.25s cubic-bezier(0, 0, 0.25, 1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,0.5)}.leaflet-container{font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;font-size:12px;font-size:0.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,0.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console', Monaco, monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,0.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,0.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline !important;vertical-align:baseline !important;width:1em;height:0.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,0.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,0.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,0.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma, Verdana, sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,0.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.heightgraph-container{background-color:rgba(250,250,250,0.8);border-radius:10px;display:none;cursor:default;user-select:none}.heightgraph-toggle{cursor:pointer;box-shadow:0 1px 7px rgba(0,0,0,0.4);border-radius:5px;width:28px;height:28px;background:#f8f8f9;display:block}.heightgraph-toggle-icon{background:url(img/area-chart.svg) no-repeat center center;background-size:14px 14px;width:26px;height:26px;position:absolute}.heightgraph-close-icon{background:url(img/remove.svg) no-repeat center center;background-size:14px 14px;width:26px;height:26px;position:absolute;right:0;display:none;cursor:pointer}.border-top{fill:none}.legend-hover{cursor:pointer}.legend-text{fill:#000;font-size:10px;cursor:pointer}.tick,.tick text{fill:#000;pointer-events:none}.axis .tick line{visibility:hidden;pointer-events:none}.axis path{stroke:black;fill:none;stroke-width:2px;shape-rendering:crispEdges;pointer-events:none}.focusbox{display:none;font-size:10px;fill:#000;pointer-events:none}.focusbox rect{fill:rgba(255,255,255,0.8);stroke-width:1px;stroke:#888;pointer-events:none}.focusbox text{font-size:12px}.focusLine line{stroke-width:1px;stroke:#141414;display:none;cursor:default;shape-rendering:crispEdges}.height-focus.label rect{fill:rgba(255,255,255,0.5);stroke-width:1px;stroke:#888;pointer-events:none;shape-rendering:crispEdges}.height-focus.line{stroke:#141414;stroke-width:1px;shape-rendering:crispEdges}.height-focus.circle{stroke:#FFF;stroke-width:1px}.mouse-height-box-text{font-size:12px}.grid .tick{pointer-events:none}.grid .tick line{stroke:#EEE;stroke-width:1px;shape-rendering:crispEdges}.grid path{stroke-width:0;pointer-events:none}.tspan{font-weight:bold}.select-symbol{cursor:pointer}.select-info{cursor:default}.lineSelection{cursor:move}.leaflet-container{background:none}.leaflet-popup .leaflet-popup-content-wrapper{border-radius:5px;padding:0}.leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content{margin:0;padding:1rem;box-sizing:border-box}.leaflet-control.spot-control,.leaflet-control.heightgraph .heightgraph-toggle{width:44px;height:44px;text-align:center;box-shadow:none}.leaflet-control.spot-control .control-icon,.leaflet-control.spot-control .fa,.leaflet-control.spot-control .leaflet-control.heightgraph .heightgraph-toggle .fa,.leaflet-control.heightgraph .heightgraph-toggle .leaflet-control.spot-control .fa,.leaflet-control.spot-control .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-toggle .leaflet-control.spot-control .heightgraph-toggle-icon,.leaflet-control.spot-control .heightgraph.leaflet-control .heightgraph-close-icon,.heightgraph.leaflet-control .leaflet-control.spot-control .heightgraph-close-icon,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-prev,.leaflet-control.spot-control .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.spot-control a.lb-next,.leaflet-control.spot-control .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.spot-control .lb-close,.leaflet-control.spot-control .lightbox .lb-cancel,.lightbox .leaflet-control.spot-control .lb-cancel,.leaflet-control.heightgraph .heightgraph-toggle .control-icon,.leaflet-control.heightgraph .heightgraph-toggle .fa,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-close-icon,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-prev,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav .leaflet-control.heightgraph .heightgraph-toggle a.lb-next,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-dataContainer .lb-data .lb-closeContainer .leaflet-control.heightgraph .heightgraph-toggle .lb-close,.leaflet-control.heightgraph .heightgraph-toggle .lightbox .lb-cancel,.lightbox .leaflet-control.heightgraph .heightgraph-toggle .lb-cancel{width:100%}.legend-text,.tick,.tick text,.focusbox,.height-focus.circle,.height-focus.label,.lineSelection,.horizontalLineText{fill:#333 !important}.axis path,.focusbox rect,.focusLine line,.height-focus.label rect,.height-focus.line,.horizontalLine{stroke:#333 !important}.focusbox rect,.height-focus.label rect{stroke-width:0}.focusLine line,.focusbox rect,.height-focus.label rect{-webkit-filter:drop-shadow(1px 0px 2px rgba(0,0,0,0.6));filter:drop-shadow(1px 0px 2px rgba(0,0,0,0.6))}.height-focus.label rect,.focusbox rect{fill:rgba(255,255,255,0.6)}.heightgraph.leaflet-control svg.heightgraph-container{background:none;border-radius:0}.heightgraph.leaflet-control svg.heightgraph-container .area{filter:drop-shadow(1px 0px 0px rgba(0,0,0,0.6));-webkit-filter:drop-shadow(1px 0px 0px rgba(0,0,0,0.6))}.heightgraph.leaflet-control .horizontalLine{stroke-width:2px}.heightgraph.leaflet-control .heightgraph-toggle{background:none}.heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon{height:44px;position:static;background:none}.heightgraph.leaflet-control .heightgraph-close-icon{background:none;font-size:20px;line-height:26px;width:26px;text-align:center;display:none}.heightgraph.leaflet-control .heightgraph-close-icon:before{width:26px;height:26px}#projects{overflow:hidden;position:absolute;top:0;left:0;width:100%;height:100%}#projects.with-feed #submap{width:calc(100% - min(30vw, 400px + 3 * 1rem))}#projects.with-feed #feed{right:0}#projects.with-feed .leaflet-right{right:min(30vw, 400px + 3 * 1rem)}#projects.with-feed #title{max-width:calc(100vw - max(30vw, 400px + 3 * 1rem) - (44px + 1rem * 2) * 2)}#projects.with-settings #submap{width:calc(100% - min(30vw, 400px + 3 * 1rem));left:min(30vw, 400px + 3 * 1rem)}#projects.with-settings #settings{left:0}#projects.with-settings .leaflet-left{left:min(30vw, 400px + 3 * 1rem)}#projects.with-settings #title{max-width:calc(100vw - 1rem * 2 - min(30vw, 400px + 3 * 1rem) - (44px + 1rem * 2) * 2)}#projects.with-feed.with-settings #submap{left:0;width:100%}#projects.with-feed.with-settings #title{max-width:calc(100vw - 1rem * 2 - min(30vw, 400px + 3 * 1rem) * 2 - (44px + 1rem * 2) * 2)}#projects #background{background:#666;position:absolute;left:0;top:0;bottom:0;right:0}#projects #submap{position:absolute;left:0;top:0;bottom:0;width:100%;transition:width 0.5s, left 0.5s}#projects #submap .loader{position:absolute;font-size:3em;top:calc(50% - 0.5em);left:calc(50% - 1.25em/2);color:#CCC}#projects #map{position:absolute;left:0;top:0;bottom:0;width:100%}#projects #map .leaflet-popup-content h1{font-size:1.4em;margin:0;font-weight:bold}#projects #map .leaflet-popup-content .separator{border-top:1px solid #CCC;margin:.5rem 0 1rem 0}#projects #map .leaflet-popup-content .info-window h1 .message-type{color:#CCC;font-weight:normal;font-size:calc(1em / 1.4);margin-left:0.5em;vertical-align:text-bottom}#projects #map .leaflet-popup-content .info-window p{font-size:1.0em;margin:.5rem 0 0 0}#projects #map .leaflet-popup-content .info-window p a{color:#333}#projects #map .leaflet-popup-content .info-window .medias{line-height:0}#projects #map .leaflet-popup-content .info-window .medias a{display:inline-block;margin:1rem 1rem 0 0}#projects #map .leaflet-popup-content .info-window .medias a:last-child{margin-right:0}#projects #map .leaflet-popup-content .info-window .medias a.drill{font-size:2em}#projects #map .leaflet-popup-content .info-window .medias a.drill .fa-drill-image{color:transparent}#projects #map .leaflet-popup-content .info-window .medias a.drill .fa-drill-video{color:rgba(255,255,255,0.5)}#projects #map .leaflet-popup-content .info-window .medias a.drill:hover .fa-drill-video,#projects #map .leaflet-popup-content .info-window .medias a.drill:hover .fa-drill-image{color:rgba(255,255,255,0.75)}#projects #map .leaflet-popup-content .info-window .medias a img{width:auto;height:auto;max-width:200px;max-height:100px;border-radius:3px;image-orientation:from-image;transition:All 0.2s}#projects #map .leaflet-popup-content .track_tooltip p{margin:0}#projects #map .leaflet-popup-content .track_tooltip p.description{font-size:1.15em}#projects #map .leaflet-popup-content .track_tooltip h1,#projects #map .leaflet-popup-content .track_tooltip .description{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#projects #map .leaflet-popup-content .track_tooltip .body{padding-left:calc(1.25em*1.4 + .5rem )}#projects #map .leaflet-popup-content .track_tooltip .body .details{margin-top:-1rem}#projects #map .leaflet-popup-content .track_tooltip .body .details p.detail{margin-top:1rem;width:50%;display:inline-block}#projects .leaflet-control{background-color:rgba(255,255,255,0.6);font-family:Roboto, Arial, sans-serif;border-radius:3px;border:none;margin:1rem;box-shadow:0 1px 7px rgba(0,0,0,0.4)}#projects .leaflet-control+.leaflet-control:not(.leaflet-control-inline){margin-top:0}#projects .leaflet-control+.leaflet-control.leaflet-control-inline{margin-left:0}#projects .leaflet-control.leaflet-control-scale{padding:0.5em}#projects .leaflet-control.leaflet-control-scale .leaflet-control-scale-line{background:none}#projects .leaflet-control.leaflet-control-inline{clear:none}#projects .leaflet-right,#projects .leaflet-left{transition:left 0.5s, right 0.5s}#projects .leaflet-top.leaflet-left .leaflet-control-layers .leaflet-control-layers-toggle{display:none}#projects #legend .track{white-space:nowrap}#projects #legend .track .line{width:2em;height:4px;display:inline-block;border-radius:2px;vertical-align:middle}#projects #legend .track .line.main{background-color:#00ff78}#projects #legend .track .line.off-track{background-color:blue}#projects #legend .track .line.hitchhiking{background-color:#FF7814}#projects #legend .track .desc{font-size:1em;margin-left:0.5em;color:#333}#projects #title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:44px;height:44px;padding:0 1rem;margin-bottom:0}#projects #title span#project_name{font-size:1.3em}#projects a.drill{position:relative;overflow:hidden;text-decoration:none;display:inline-block}#projects a.drill .drill-icon{position:absolute;display:inline-block;top:50%;left:50%;transform:translate(-50%, -50%)}#projects a.drill .drill-icon i{transition:color 0.3s}#projects .fa-stack .fa-message{font-size:32px;text-shadow:rgba(0,0,0,0.5) 3px 3px 3px;color:#6DFF58}#projects .fa-stack .fa-message-in{font-size:13px;color:#326526;top:1px}#projects .fa-stack .fa-track-start,#projects .fa-stack .fa-track-end{color:#326526;font-size:14px;top:1px}#projects .fa-stack .fa-track-end{color:#FF7814}#projects #feed,#projects #settings{position:absolute;top:0;bottom:0;overflow:hidden;z-index:999;cursor:grab;user-select:none}#projects #feed.moving,#projects #settings.moving{cursor:grabbing;transition:none}#projects #feed input,#projects #feed textarea,#projects #settings input,#projects #settings textarea{background-color:#fff;color:#333;outline:none}#projects #feed button,#projects #feed a.button,#projects #settings button,#projects #settings a.button{background-color:#333;color:rgba(255,255,255,0.8)}#projects #feed button:hover,#projects #feed button:hover a,#projects #feed button:hover a:visited,#projects #feed a.button:hover,#projects #feed a.button:hover a,#projects #feed a.button:hover a:visited,#projects #settings button:hover,#projects #settings button:hover a,#projects #settings button:hover a:visited,#projects #settings a.button:hover,#projects #settings a.button:hover a,#projects #settings a.button:hover a:visited{background-color:#fff;color:#333}#projects #feed button a,#projects #feed button a:visited,#projects #feed a.button a,#projects #feed a.button a:visited,#projects #settings button a,#projects #settings button a:visited,#projects #settings a.button a,#projects #settings a.button a:visited{background-color:#333;color:rgba(255,255,255,0.8);text-decoration:none}#projects #feed button+button,#projects #feed button+a.button,#projects #feed a.button+button,#projects #feed a.button+a.button,#projects #settings button+button,#projects #settings button+a.button,#projects #settings a.button+button,#projects #settings a.button+a.button{margin-left:.5rem}#projects #feed #feed-panel,#projects #feed #settings-panel,#projects #settings #feed-panel,#projects #settings #settings-panel{position:absolute;top:0;bottom:0;left:0}#projects #feed{right:calc(min(30vw, 400px + 3 * 1rem) * -1);transition:right 0.5s;width:30vw;max-width:calc(400px + 3 * 1rem)}#projects #feed #feed-panel{width:100%;padding-top:1rem}#projects #feed #feed-panel #posts_list{position:relative}#projects #feed #feed-panel #poster.histo-mode .poster,#projects #feed #feed-panel #poster:not(.histo-mode) .archived{display:none}#projects #feed #feed-panel #poster .poster textarea#post{margin-bottom:1em;width:calc(100% - 2em)}#projects #feed #feed-panel #poster .poster input#name{width:calc(100% - 6em)}#projects #feed #feed-panel #poster .poster button#submit{margin-left:1em;margin-bottom:0.5em}#projects #feed #feed-panel #poster .archived{background:#EEE}#projects #feed #feed-panel .body-box{position:relative;display:flex;flex-direction:column}#projects #feed #feed-panel .post-item{margin-bottom:1rem;background:rgba(255,255,255,0.8);color:#333;border-radius:3px;width:calc(100% - 1rem);box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5)}#projects #feed #feed-panel .post-item a{color:#333}#projects #feed #feed-panel .post-item a:hover{color:#1a1a1a}#projects #feed #feed-panel .post-item .message{margin:0}#projects #feed #feed-panel .post-item .signature{margin:.5rem 0 0 0;text-align:right;font-style:italic}#projects #feed #feed-panel .post-item .signature img{vertical-align:baseline;margin:0 0.2em calc((1em - 24px)/2) 0;position:relative}#projects #feed #feed-panel .post-item .header{padding:0 1rem;position:relative}#projects #feed #feed-panel .post-item .header span{display:inline-block;font-size:0.8em;padding:.5rem 0px}#projects #feed #feed-panel .post-item .header span.index{width:25%}#projects #feed #feed-panel .post-item .header span.index .link,#projects #feed #feed-panel .post-item .header span.index .link:visited,#projects #feed #feed-panel .post-item .header span.index .link_copied{margin-left:.5rem;padding:0;line-height:1}#projects #feed #feed-panel .post-item .header span.time{width:75%;text-align:right;font-style:italic}#projects #feed #feed-panel .post-item .body{clear:both;padding:0em 1rem 1rem}#projects #feed #feed-panel .post-item.headerless .header{display:none}#projects #feed #feed-panel .post-item.headerless .body{padding-top:1rem;text-align:center}#projects #feed #feed-panel .post-item.headerless .body p{margin:0}#projects #feed #feed-panel .post-item.headerless .body p .fa,#projects #feed #feed-panel .post-item.headerless .body p .control-icon,#projects #feed #feed-panel .post-item.headerless .body p .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-toggle #projects #feed #feed-panel .post-item.headerless .body p .heightgraph-toggle-icon,#projects #feed #feed-panel .post-item.headerless .body p .heightgraph.leaflet-control .heightgraph-close-icon,.heightgraph.leaflet-control #projects #feed #feed-panel .post-item.headerless .body p .heightgraph-close-icon,#projects #feed #feed-panel .post-item.headerless .body p .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #feed #feed-panel .post-item.headerless .body p a.lb-prev,#projects #feed #feed-panel .post-item.headerless .body p .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #feed #feed-panel .post-item.headerless .body p a.lb-next,#projects #feed #feed-panel .post-item.headerless .body p .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects #feed #feed-panel .post-item.headerless .body p .lb-close,#projects #feed #feed-panel .post-item.headerless .body p .lightbox .lb-cancel,.lightbox #projects #feed #feed-panel .post-item.headerless .body p .lb-cancel{display:inline-block;font-size:2em;margin:.5rem 0}#projects #feed #feed-panel .post-item.message{background:#6DFF58;color:#326526}#projects #feed #feed-panel .post-item.message p{font-size:0.9em;margin:0 0 .5rem 0;display:inline-block;width:100%}#projects #feed #feed-panel .post-item.message a{color:#326526}#projects #feed #feed-panel .post-item.message a:hover{color:#204018}#projects #feed #feed-panel .post-item.message a.drill{line-height:0}#projects #feed #feed-panel .post-item.message a.drill .drill-icon{transform:translate(-16px, -32px)}#projects #feed #feed-panel .post-item.message a.drill .drill-icon .fa-message-in{top:-1px;left:-1px}#projects #feed #feed-panel .post-item.message a.drill:hover .fa-message{top:13px;left:3px}#projects #feed #feed-panel .post-item.message a.drill:hover .fa-message-in{display:none}#projects #feed #feed-panel .post-item.message .weather{position:absolute;top:1rem;right:1rem}#projects #feed #feed-panel .post-item.message .weather .fa,#projects #feed #feed-panel .post-item.message .weather .control-icon,#projects #feed #feed-panel .post-item.message .weather .heightgraph.leaflet-control .heightgraph-toggle .heightgraph-toggle-icon,.heightgraph.leaflet-control .heightgraph-toggle #projects #feed #feed-panel .post-item.message .weather .heightgraph-toggle-icon,#projects #feed #feed-panel .post-item.message .weather .heightgraph.leaflet-control .heightgraph-close-icon,.heightgraph.leaflet-control #projects #feed #feed-panel .post-item.message .weather .heightgraph-close-icon,#projects #feed #feed-panel .post-item.message .weather .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #feed #feed-panel .post-item.message .weather a.lb-prev,#projects #feed #feed-panel .post-item.message .weather .lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next,.lightbox .lb-outerContainer .lb-container .lb-nav #projects #feed #feed-panel .post-item.message .weather a.lb-next,#projects #feed #feed-panel .post-item.message .weather .lightbox .lb-dataContainer .lb-data .lb-closeContainer .lb-close,.lightbox .lb-dataContainer .lb-data .lb-closeContainer #projects #feed #feed-panel .post-item.message .weather .lb-close,#projects #feed #feed-panel .post-item.message .weather .lightbox .lb-cancel,.lightbox #projects #feed #feed-panel .post-item.message .weather .lb-cancel{font-size:1.3em;vertical-align:middle;line-height:1rem;background:#326526;color:#6DFF58;border-radius:3px 0 0 3px;padding:.5rem}#projects #feed #feed-panel .post-item.message .weather span{vertical-align:middle;padding:.5rem;background:#6DFF58;color:#326526;border-radius:0 3px 3px 0}#projects #feed #feed-panel .post-item.message .staticmap{width:100%;border-radius:3px}#projects #feed #feed-panel .post-item.post .body{padding:0em 1em 0.5em}#projects #feed #feed-panel .post-item.media{background:rgba(255,255,255,0.8);color:#333}#projects #feed #feed-panel .post-item.media .body a{display:inline-block;width:100%;margin:0;color:#333;position:relative;line-height:0}#projects #feed #feed-panel .post-item.media .body a.drill:hover .drill-icon .fa-drill-image,#projects #feed #feed-panel .post-item.media .body a.drill:hover .drill-icon .fa-drill-video{color:rgba(255,255,255,0.75)}#projects #feed #feed-panel .post-item.media .body a.drill:hover .comment{opacity:0}#projects #feed #feed-panel .post-item.media .body a.drill .drill-icon{font-size:3em}#projects #feed #feed-panel .post-item.media .body a.drill .drill-icon .fa-drill-image{color:transparent}#projects #feed #feed-panel .post-item.media .body a.drill .drill-icon .fa-drill-video{color:rgba(255,255,255,0.5)}#projects #feed #feed-panel .post-item.media .body a img{width:100%;height:auto;image-orientation:from-image;outline:none;border-radius:3px}#projects #feed #feed-panel .post-item.media .body a .comment{position:absolute;left:0;bottom:0;width:100%;line-height:normal;box-sizing:border-box;margin:0;padding:0.5em;text-align:justify;background:rgba(255,255,255,0.6);border-radius:0 0 3px 3px;transition:opacity 0.3s;opacity:1}#projects #settings{left:calc(min(30vw + 3px, 400px + 3 * 1rem + 3px) * -1);transition:left 0.5s;width:calc(30vw + 3px);max-width:calc(400px + 3 * 1rem + 3px)}#projects #settings #settings-panel{width:calc(100% - 1rem - 3px);margin:1rem;border-radius:3px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);color:#333;background:rgba(255,255,255,0.8);display:flex;flex-direction:column;flex-wrap:nowrap}#projects #settings #settings-panel .settings-header{text-align:center;flex:0 1 auto}#projects #settings #settings-panel .settings-header .logo{background:rgba(255,255,255,0.4);padding:2rem 1rem;border-radius:3px 3px 0 0}#projects #settings #settings-panel .settings-header .logo img{width:100%;height:auto;max-width:180px;transform:translateX(-10%)}#projects #settings #settings-panel .settings-header #last_update{position:absolute;margin-top:-2em;padding:0 1rem;width:calc(100% - 2rem)}#projects #settings #settings-panel .settings-header #last_update p{text-align:center;font-size:0.8em;margin:0;color:#999;transform:translateX(calc(-0.5 * (12px + 0.5em)))}#projects #settings #settings-panel .settings-header #last_update p span{margin-right:0.5em}#projects #settings #settings-panel .settings-header #last_update p span img{width:12px;vertical-align:middle;animation:spotlogo 20s infinite}#projects #settings #settings-panel .settings-header #last_update p abbr{text-decoration:none;vertical-align:middle}#projects #settings #settings-panel .settings-footer{flex:0 1 auto;background:rgba(255,255,255,0.4);border-radius:0 0 3px 3px;font-size:0.7em;padding:0.3rem;text-align:center;color:#888}#projects #settings #settings-panel .settings-footer a{color:#777;text-decoration:none}#projects #settings #settings-panel .settings-sections{flex:1 1 auto;overflow:auto}#projects #settings #settings-panel .settings-sections #settings-sections-scrollbox{height:100%;width:100%}#projects #settings #settings-panel .settings-sections .settings-section{display:inline-block;margin:1.5rem 1rem 0 1rem;width:calc(100% - 2 * 1rem)}#projects #settings #settings-panel .settings-sections .settings-section:last-child{margin-bottom:1.5rem}#projects #settings #settings-panel .settings-sections .settings-section h1{margin:0 0 1rem;color:#333;font-size:1.5em}#projects #settings #settings-panel .settings-sections .settings-section label{margin-bottom:.3em;display:block}#projects #settings #settings-panel .settings-sections .settings-section label>div{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#projects #settings #settings-panel .settings-sections .settings-section.newsletter input#email{width:calc(100% - 6em)}#projects #settings #settings-panel .settings-sections .settings-section.newsletter input#email:disabled{color:#999;background:rgba(255,255,255,0.2)}#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn{margin-left:1em;margin-bottom:1em}#projects #settings #settings-panel .settings-sections .settings-section.newsletter button#nl_btn.loading{background-color:#326526;color:white}#projects #settings #settings-panel .settings-sections .settings-section #settings-projects a.fa-download{color:#333}#projects #settings #settings-panel .settings-sections .settings-section #settings-projects a.fa-download:hover{color:#0078A8}#elems{display:none}#upload{padding:1em}#upload .bar{height:18px;background:green}#upload .comment{margin-top:1em}#upload .comment .thumb{width:30%;max-width:100px}#upload .comment form{display:inline-block;width:calc(70% - 1em);min-width:calc(100% - 100px - 1em);margin-left:1em;vertical-align:top}#upload .comment form .content{width:100%;box-sizing:border-box;padding:0.5em;border:1px solid #333}#upload .comment form .save{margin-top:1em;padding:0.5em}#admin{margin:1em}#admin table{margin-bottom:1em;border-collapse:collapse}#admin table tr th{background:#AAA;color:white;padding:0.2rem 0.5rem}#admin table tr td{background:#EEE;text-align:center;padding:0.2rem 0.5rem}#admin table tr td input[type="number"]{width:50px}#admin table tr td input[name="ref_feed_id"]{width:300px}#admin table tr td button{color:#AAA;background:none}#admin table tr td button:hover{color:#666}@media only screen and (max-width: 800px){.desktop{display:none !important}#projects #feed,#projects #settings{width:calc(100vw - 44px - 2 * 1rem);max-width:calc(100vw - 44px - 2 * 1rem)}#projects #feed{right:calc((100vw - 44px - 2 * 1rem) * -1)}#projects #settings{left:calc((100vw - 44px - 2 * 1rem) * -1)}#projects #title{width:calc(100vw - 44px - 2 * 1rem - 44px - 4 * 1rem);max-width:calc(100vw - 44px - 2 * 1rem - 44px - 4 * 1rem);text-align:center}#projects .leaflet-right,#projects .leaflet-left{width:100%}#projects.with-feed #submap,#projects.with-settings #submap{width:100%}#projects.with-feed .leaflet-control-container .leaflet-top.leaflet-right,#projects.with-settings .leaflet-control-container .leaflet-top.leaflet-right{display:none}#projects.with-feed #title,#projects.with-settings #title{width:calc(100vw - 44px - 2 * 1rem - 44px - 4 * 1rem);max-width:calc(100vw - 44px - 2 * 1rem - 44px - 4 * 1rem)}#projects.with-feed .leaflet-right{right:calc(100vw - 44px - 2 * 1rem)}#projects.with-feed .leaflet-left{left:calc((100vw - 44px - 2 * 1rem) * -1)}#projects.with-settings .leaflet-right{right:calc((100vw - 44px - 2 * 1rem) * -1)}#projects.with-settings .leaflet-left{left:calc(100vw - 44px - 2 * 1rem)}#projects .leaflet-control-container .leaflet-top.leaflet-left{display:none}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev,.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next{height:100%;width:100%}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-prev::before{left:1em}.lightbox .lb-outerContainer .lb-container .lb-nav a.lb-next::before{right:1em}}@media only screen and (min-width: 801px){.mobile{display:none !important}} -/*# sourceMappingURL=spot.css.map */ diff --git a/style/spot.css.map b/style/spot.css.map deleted file mode 100644 index 486bbfc..0000000 --- a/style/spot.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": "CAGA,SAOG,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,wFAAyF,EAC9F,YAAa,EAAE,iEAAuE,EAGrF,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,wFAAyF,EAC9F,YAAa,EAAE,yCAA6C,EAG3D,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,wFAAyF,EAC9F,YAAa,EAAE,UAAW,EAGzB,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,wFAAyF,EAC9F,YAAa,EAAE,UAAW,EAGzB,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,wFAAyF,EAC9F,YAAa,EAAE,2FAAoG,EAGlH,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,oDAAqD,EAC1D,YAAa,EAAE,yIAA0J,EAGxK,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,4FAA6F,EAClG,YAAa,EAAE,iEAAuE,EAGrF,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,4FAA6F,EAClG,YAAa,EAAE,yCAA6C,EAG3D,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,4FAA6F,EAClG,YAAa,EAAE,UAAW,EAGzB,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,4FAA6F,EAClG,YAAa,EAAE,UAAW,EAGzB,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,4FAA6F,EAClG,YAAa,EAAE,2FAAoG,EAGlH,SAOC,EANF,UAAW,EAAE,OAAQ,EACrB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,EAAG,EAChB,WAAY,EAAE,GAAI,EAClB,EAAG,EAAE,wDAAyD,EAC9D,YAAa,EAAE,yIAA0J,EC1G1K,wBAEC,EADC,GAAK,EAAE,MAAO,EAAE,EAAG,GAErB,qBAEC,EADC,GAAK,EAAE,MAAO,EAAE,EAAG,GAErB,oBAEC,EADC,GAAK,EAAE,MAAO,EAAE,EAAG,GAErB,mBAEC,EADC,GAAK,EAAE,MAAO,EAAE,EAAG,GAErB,gBAEC,EADC,GAAK,EAAE,MAAO,EAAE,EAAG,GAWrB,2IAAS,EAPR,gBAAiB,EAQG,6BAA8B,EAPlD,aAAc,EAOM,6BAA8B,EANlD,YAAa,EAMO,6BAA8B,EALlD,WAAY,EAKQ,6BAA8B,EAJlD,QAAS,EAIW,6BAA8B,EAsBnD,kBAiBC,EAhBG,CAAG,EACC,QAAS,EAAE,OAAQ,EAEvB,IAAM,EACF,QAAS,EAAE,SAAU,EAEzB,GAAK,EACD,QAAS,EAAE,OAAQ,EACnB,QAAS,EAAC,WAAY,EAE1B,CAAG,EACC,QAAS,EAAC,aAAc,EAE5B,GAAK,EACD,QAAS,EAAC,aAAc,GAMhC,MAAQ,EACP,MAAO,EAAE,mBAAoB,EAG9B,0FAA+B,EAC9B,KAAM,EAAE,MAAO,EAGhB,uLAAW,EACV,KAAM,EAAE,MAAO,EAGhB,yBAA4B,EAC3B,MAAO,EAAE,aAAc,EAGxB,kCAAwC,EACvC,QAAS,EAAE,GAAI,EACf,UAAW,EAAE,mBAAoB,EACjC,KAAM,EAAE,AAAC,EAGV,OAAS,EACR,KAAM,EAAE,GAAI,EAGb,OAAS,EACR,cAAe,EAAE,GAAI,EACrB,MAAO,EAAE,WAAY,EAGtB,cAAiB,EAEhB,UAAW,EAAE,GAAI,EACjB,IAAK,EAAE,GAAI,EACX,SAAU,EAAE,GAAI,EAEhB,0BAAQ,EACP,IAAK,EAAE,GAAI,EACX,SAAU,EAAE,GAAI,EAIlB,6BAAkC,EACjC,KAAM,EAAE,GAAI,EACZ,MAAO,EAAE,QAAS,EAClB,YAAa,EAAE,EAAG,EAGnB,CAAG,EACF,QAAS,EAAE,EAAG,EACd,UAAW,EAAE,GAAI,EACjB,KAAM,EAAE,UAAW,EAMnB,UAAE,EACD,KAAM,EAAE,QAAS,EACjB,gBAAQ,EACP,IAAK,EAAE,EAAG,EAEX,kBAAU,EACT,IAAK,EAAE,KAAM,EAEd,kBAAU,EACT,IAAK,EAAE,IAAK,ECzIf;;;;IAIG,DAIH,WAAa,CACX,yBAAwC,CAAC,qBAA0B,CACnE,eAA8B,CAAC,sCAA2C,CAG5E,UAOC,CANC,WAAW,CAAE,oBAAoB,CACjC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,YAAY,CC8BY,KAAK,CD7B7B,GAAG,CAAE,sGACwD,CAG/D,cACyB,CACvB,WAAW,CAAE,GAAG,CErBlB,wbAAmB,CACjB,WAAW,CAAE,4CAA4D,CACzE,WAAW,CAAE,oBAA4C,CAG3D,kkBAgB0B,CACxB,uBAAuB,CAAE,SAAS,CAClC,sBAAsB,CAAE,WAAW,CACnC,OAAO,CAAE,+BAAgD,CACzD,UAAU,CAAE,MAAM,CAClB,YAAY,CAAE,MAAM,CACpB,WAAW,CAAE,CAAC,CACd,cAAc,CAAE,IAAI,CAGtB,wEAQwB,CACtB,WAAW,CAAE,oBAAoB,CAGnC,eAC0B,CACxB,WAAW,CAAE,uBAAuB,CAGtC,uCAE2B,CACzB,WAAW,CAAE,wBAAwB,CAGvC,eACyB,CACvB,WAAW,CAAE,sBAAsB,CACnC,WAAW,CAAE,GAAG,CCvDhB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,MAA0B,CACxB,SAAS,CAAE,GAAQ,CADrB,OAA0B,CACxB,SAAS,CAAE,IAAQ,CAMrB,OAA4B,CCI5B,SAAS,CAAE,MAAgD,CAC3D,WAAW,CAAE,IAA8B,CAC3C,cAAc,CAAE,MAAkD,CDNlE,MAA4B,CCI5B,SAAS,CAAE,KAAgD,CAC3D,WAAW,CAAE,aAA8B,CAC3C,cAAc,CAAE,MAAkD,CDNlE,MAA4B,CCI5B,SAAS,CAAE,MAAgD,CAC3D,WAAW,CAAE,aAA8B,CAC3C,cAAc,CAAE,aAAkD,CDNlE,wEAA4B,CCI5B,SAAS,CAAE,MAAgD,CAC3D,WAAW,CAAE,KAA8B,CAC3C,cAAc,CAAE,OAAkD,CDNlE,MAA4B,CCI5B,SAAS,CAAE,KAAgD,CAC3D,WAAW,CAAE,aAA8B,CAC3C,cAAc,CAAE,OAAkD,CDNlE,OAA4B,CCI5B,SAAS,CAAE,GAAgD,CAC3D,WAAW,CAAE,QAA8B,CAC3C,cAAc,CAAE,QAAkD,CCfpE,wEAAsB,CACpB,UAAU,CAAE,MAAM,CAClB,KAAK,CJImB,MAAmB,CKN7C,MAAsB,CACpB,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,0BAAoD,CACjE,YAAY,CAAE,CAAC,CAEf,SAAK,CAAE,QAAQ,CAAE,QAAQ,CAG3B,MAAsB,CACpB,IAAI,CAAE,kCAA6D,CACnE,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,uBAAkD,CACzD,WAAW,CAAE,OAAO,CCbtB,UAA0B,CACxB,YAAY,CAAE,4BAA0D,CACxE,aAAa,CAAE,6BAA4D,CAC3E,YAAY,CAAE,6BAA0D,CACxE,YAAY,CAAE,6BAA0D,CACxE,OAAO,CAAE,6CAA8D,CAGzE,aAA6B,CAC3B,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,2BAAwD,CAGxE,cAA8B,CAC5B,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,2BAAwD,CCfvE,QAAwB,CACtB,cAAc,CAAE,OAAsB,CACtC,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,uCAAsD,CAGnF,UAA0B,CACxB,cAAc,CAAE,SAAwB,CACxC,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,6DAA+E,CAG5G,QAAwB,CACtB,cAAc,CAAE,OAAsB,CACtC,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,wDAAkE,CAG/F,aAA6B,CAC3B,cAAc,CAAE,YAA2B,CAC3C,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,wDAAkE,CAG/F,QAAwB,CACtB,cAAc,CAAE,OAAsB,CACtC,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,uCAAsD,CAGnF,SAAyB,CACvB,cAAc,CAAE,QAAuB,CACvC,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,kCAAiD,CAG9E,QAAwB,CACtB,cAAc,CAAE,OAAsB,CACtC,eAAe,CAAE,6BAA4C,CAC7D,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,kCAAiD,CAG9E,gBAAgC,CAC9B,wBAAuC,CAAC,QAAQ,CAGlD,wBAC8B,CAC5B,cAAc,CAAE,OAAsB,CACtC,mBAAmB,CAAE,qCAAoD,CACzE,kBAAkB,CAAE,gCAA+C,CACnE,yBAAyB,CAAE,6CAA4D,CACvF,yBAAyB,CAAE,oCAAmD,CAMhF,uCAAwC,CACtC,+FAQ8B,CAC5B,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,GAAG,CACvB,yBAAyB,CAAE,CAAC,CAC5B,gBAAgB,CAAE,EAAE,CACpB,mBAAmB,CAAE,EAAE,EAI3B,kBAGC,CAFC,OAAQ,CAAE,SAAS,CAAE,QAAQ,CAC7B,GAAI,CAAE,SAAS,CAAE,iCAAgD,EAGnE,oBAQC,CAPC,EAAK,CAAE,SAAS,CAAE,yBAAwB,CAC1C,GAAK,CAAE,SAAS,CAAE,6FAA0H,CAC5I,GAAK,CAAE,SAAS,CAAE,yHAAqK,CACvL,GAAK,CAAE,SAAS,CAAE,6FAA0H,CAC5I,GAAK,CAAE,SAAS,CAAE,0DAAwE,CAC1F,GAAK,CAAE,SAAS,CAAE,yBAAwB,CAC1C,IAAK,CAAE,SAAS,CAAE,yBAAwB,EAG5C,kBAEC,CADC,GAAI,CAAE,OAAO,CAAE,2BAA0C,EAG3D,uBASC,CARC,QAAS,CACP,OAAO,CAAE,gCAA+C,CACxD,SAAS,CAAE,QAAQ,CAErB,GAAI,CACF,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,uCAAsD,EAIrE,kBAIC,CAHC,GAAI,CACF,SAAS,CAAE,sGAAkK,EAIjL,mBAUC,CATC,EAAG,CAAE,SAAS,CAAE,cAAc,CAC9B,EAAG,CAAE,SAAS,CAAE,aAAa,CAC7B,OAAQ,CAAE,SAAS,CAAE,cAAc,CACnC,QAAS,CAAE,SAAS,CAAE,aAAa,CACnC,GAAI,CAAE,SAAS,CAAE,cAAc,CAC/B,GAAI,CAAE,SAAS,CAAE,aAAa,CAC9B,GAAI,CAAE,SAAS,CAAE,cAAc,CAC/B,GAAI,CAAE,SAAS,CAAE,aAAa,CAC9B,SAAU,CAAE,SAAS,CAAE,YAAY,EAGrC,kBAGC,CAFC,EAAG,CAAE,SAAS,CAAE,YAAY,CAC5B,IAAK,CAAE,SAAS,CAAE,cAAc,ECnJlC,aAA6B,CAC3B,SAAS,CAAE,aAAa,CAG1B,cAA8B,CAC5B,SAAS,CAAE,cAAc,CAG3B,cAA8B,CAC5B,SAAS,CAAE,cAAc,CAG3B,mBAAmC,CACjC,SAAS,CAAE,YAAY,CAGzB,iBAAiC,CAC/B,SAAS,CAAE,YAAY,CAGzB,kDACmE,CACjE,SAAS,CAAE,aAAa,CAG1B,aAA6B,CAC3B,SAAS,CAAE,oCAAmD,CC1BhE,SAAyB,CACvB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,GAAG,CACX,WAAW,CAAE,GAAG,CAChB,QAAQ,CAAE,QAAQ,CAClB,cAAc,CTmCU,MAAM,CSlC9B,KAAK,CTmCoB,KAAgB,CShC3C,yBAC4B,CAC1B,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,6BAA4D,CAGvE,YAA4B,CAC1B,WAAW,CAAE,OAAO,CAGtB,YAA4B,CAC1B,SAAS,CAAE,GAAG,CAGhB,WAA2B,CACzB,KAAK,CAAE,uBAAgD,CCfxD,0eAAO,CACN,YAAY,CAAE,MAAM,CAErB,4hBAAY,CACX,WAAW,CAAE,MAAM,CAIrB,0wDAAc,CAEb,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,IAAI,CACjB,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,2BAA2B,CAExC,o5DAAQ,CACP,KAAK,CAAE,KAAK,CAGb,26DAAS,CACR,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAKd,6pCAA+B,CAAE,OAAO,CAAE,GAAwB,CAClE,gBAAgC,CAAE,OAAO,CAAE,GAAsC,CACjF,kBAAkC,CAAE,OAAO,CAAE,GAAwC,CACrF,kBAAkC,CAAE,OAAO,CAAE,GAAgC,CAC7E,cAA8B,CAAE,OAAO,CAAE,IAAwB,CACjE,kBAAkC,CAAE,OAAO,CAAE,GAAwB,CACrE,kBAAkC,CAAE,OAAO,CAAE,GAAwB,CACrE,6CAAiC,CAAE,OAAO,CAAE,GAAyB,CACrE,q7CAC+B,CAAE,OAAO,CAAE,GAAgC,CAC1E,qzCAA+B,CAAE,OAAO,CAAE,GAAiC,CAC3E,yFAAgC,CAAE,OAAO,CAAE,GAAgC,CAG3E,cAA8B,CAAE,OAAO,CAAE,GAA8B,CACvE,0BAA0C,CAAE,OAAO,CAAE,GAA0B,CAC/E,qBAAqC,CAAE,OAAO,CAAE,GAA0B,CAC1E,4BAA4C,CAAE,OAAO,CAAE,GAA4B,CACnF,sBAAsC,CAAE,OAAO,CAAE,GAA0B,CAC3E,oBAAoC,CAAE,OAAO,CAAE,GAA0B,CACzE,iBAAiC,CAAE,OAAO,CAAE,GAA+B,CAC3E,sGAAqC,CAAE,OAAO,CAAE,GAA8B,CAC9E,mBAAmC,CAAE,OAAO,CAAE,GAAsC,CACpF,oBAAoC,CAAE,OAAO,CAAE,GAAqC,CACpF,oBAAoC,CAAE,OAAO,CAAE,GAAmC,CAClF,mBAAmC,CAAE,OAAO,CAAE,GAAiC,CAG/E,qBAAqC,CAAE,OAAO,CAAE,GAAwB,CACxE,kBAAkC,CAAE,OAAO,CAAE,GAA0B,CACvE,02EAAsC,CAAE,OAAO,CAAE,GAAyB,CAC1E,kBAAkC,CAAE,OAAO,CAAE,GAAuB,CACpE,gBAAgC,CAAE,OAAO,CAAE,GAAyB,CACpE,iBAAiC,CAAE,OAAO,CAAE,GAAwB,CACpE,iBAAiC,CAAE,OAAO,CAAE,GAAgC,CAG5E,qmCAA+B,CAAE,OAAO,CAAE,GAA2B,CACrE,gBAAgC,CAAE,OAAO,CAAE,GAA+B,CAC1E,gBAAgC,CAAE,OAAO,CAAE,GAAwB,CACnE,gBAAgC,CAAE,OAAO,CAAE,GAAyB,CACpE,kBAAkC,CAAE,OAAO,CAAE,GAA8B,CAC3E,qBAAqC,CAAE,OAAO,CAAE,GAA+B,CAC/E,eAA+B,CAAE,OAAO,CAAE,GAAyB,CACnE,iBAAiC,CAAE,OAAO,CAAE,GAA2B,CACvE,mBAAmC,CAAE,OAAO,CAAE,GAA4B,CAC1E,sBAAsC,CAAE,OAAO,CAAE,GAA+B,CAChF,sBAAsC,CAAE,OAAO,CAAE,GAA0B,CAC3E,wGAAwC,CAAE,OAAO,CAAE,GAAmC,CACtF,qBAAqC,CAAE,OAAO,CAAE,GAA6B,CAC7E,qBAAqC,CAAE,OAAO,CAAE,GAA8B,CAC9E,eAA+B,CAAE,OAAO,CAAE,GAAwB,CAClE,sBAAsC,CAAE,OAAO,CAAE,GAAyB,CAG1E,iBAAiC,CAAE,OAAO,CAAE,GAAgC,CAC5E,2wEAA+B,CAAE,OAAO,CAAE,GAA+B,CAGzE,mBAAmC,CAAE,OAAO,CAAE,GAAyB,CAGvE,sBAAsC,CAAE,OAAO,CAAE,GAA8C,CAC/F,oBAAoC,CAAE,OAAO,CAAE,GAAuB,CACtE,sBAAsC,CAAE,OAAO,CAAE,GAA8B,CAC/E,iBAAiC,CAAE,OAAO,CAAE,GAA0B,CACtE,cAA8B,CAAE,OAAO,CAAE,GAAuB,CAChE,eAA+B,CAAE,OAAO,CAAE,GAA8B,CACxE,4BAA4C,CAAE,OAAO,CAAE,GAA6B,CACpF,8BAA8C,CAAE,OAAO,CAAE,GAA8B,CACvF,gCAAgD,CAAE,OAAO,CAAE,GAAkC,CAC7F,kCAAkD,CAAE,OAAO,CAAE,GAAmC,CAChG,oBAAoC,CAAE,OAAO,CAAE,GAA+B,CAC9E,eAA+B,CAAE,OAAO,CAAE,GAA8B,CACxE,sBAAsC,CAAE,OAAO,CAAE,GAAkC,CACnF,wBAAwC,CAAE,OAAO,CAAE,GAAmC,CACtF,gBAAgC,CAAE,OAAO,CAAE,GAA+B,CAC1E,2BAA2C,CAAE,OAAO,CAAE,GAA8B,CACpF,6BAA6C,CAAE,OAAO,CAAE,GAA8B,CACtF,eAA+B,CAAE,OAAO,CAAE,GAA8B,CACxE,uBAAuC,CAAE,OAAO,CAAE,GAAgC,CAClF,8BAA8C,CAAE,OAAO,CAAE,GAAoC,CAC7F,gCAAgD,CAAE,OAAO,CAAE,GAAqC,CAChG,kBAAkC,CAAE,OAAO,CAAE,GAAgC,CAC7E,eAA+B,CAAE,OAAO,CAAE,GAAwB,CCjIlE,yBAA0B,CACxB,QAAQ,CAAE,MAAM,CAGlB,gBAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,IAAI,CACb,gBAAgB,CAAE,KAAK,CACvB,MAAM,CAAE,mDAAmD,CAC3D,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,IAAI,CAGf,SAAU,CACR,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,CAAC,CACd,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,IAAI,CAGf,mBAAoB,CAClB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,OAAO,CAClB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,GAAG,CAGlB,MAAM,CAAE,eAAe,CAGzB,eAAgB,CACd,MAAM,CAAE,IAAI,CAGd,kBAAmB,CACjB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,MAAM,CACd,aAAa,CAAE,GAAG,CAIlB,gBAAgB,CAAE,KAAK,CAGzB,wBAAyB,CACvB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGb,UAAW,CACT,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,CAAC,CAGhB,UAAW,CACT,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,MAAM,CACd,UAAU,CAAE,oCAAoC,CAGlD,OAAQ,CACN,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,EAAE,CAGb,kBAAqB,CACnB,IAAI,CAAE,CAAC,CAGT,SAAU,CACR,OAAO,CAAE,IAAI,CACb,gBAAgB,CAAE,yFAAyF,CAG7G,iBAAmB,CACjB,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,KAAK,CAGhB,iBAAkB,CAChB,KAAK,CAAE,GAAG,CACV,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,0CAA0C,CACtD,MAAM,CAAE,kDAAkD,CAC1D,OAAO,CAAE,CAAC,CACV,kBAAkB,CAAE,YAAY,CAChC,eAAe,CAAE,YAAY,CAC7B,aAAa,CAAE,YAAY,CAC3B,UAAU,CAAE,YAAY,CAG1B,uBAAwB,CACtB,MAAM,CAAE,oDAAoD,CAC5D,OAAO,CAAE,CAAC,CAGZ,iBAAkB,CAChB,KAAK,CAAE,GAAG,CACV,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,2CAA2C,CACvD,MAAM,CAAE,kDAAkD,CAC1D,OAAO,CAAE,CAAC,CACV,kBAAkB,CAAE,YAAY,CAChC,eAAe,CAAE,YAAY,CAC7B,aAAa,CAAE,YAAY,CAC3B,UAAU,CAAE,YAAY,CAG1B,uBAAwB,CACtB,MAAM,CAAE,oDAAoD,CAC5D,OAAO,CAAE,CAAC,CAGZ,iBAAkB,CAChB,MAAM,CAAE,MAAM,CACd,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,IAAI,CACX,yBAAyB,CAAE,GAAG,CAC9B,0BAA0B,CAAE,GAAG,CAGjC,uBAAwB,CACtB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGb,QAAS,CACP,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CAGb,oBAAqB,CACnB,KAAK,CAAE,GAAG,CACV,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,KAAK,CAGpB,oBAAqB,CACnB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,GAAG,CAGlB,sBAAuB,CACrB,KAAK,CAAE,IAAI,CAGb,mBAAoB,CAClB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CAGhB,kBAAmB,CACjB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,KAAK,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,4CAA4C,CACxD,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,mDAAmD,CAC3D,OAAO,CAAE,GAAG,CACZ,kBAAkB,CAAE,YAAY,CAChC,eAAe,CAAE,YAAY,CAC7B,aAAa,CAAE,YAAY,CAC3B,UAAU,CAAE,YAAY,CAG1B,wBAAyB,CACvB,MAAM,CAAE,OAAO,CACf,MAAM,CAAE,oDAAoD,CAC5D,OAAO,CAAE,CAAC,CCjMZ,gBAAiB,CAChB,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,IAAI,CAGd,SAAU,CACT,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACvB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAEhB,kBAAW,CACV,cAAc,CAAE,MAAM,CAEtB,oCAAkB,CACjB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEZ,6CAAS,CACR,cAAc,CAAE,GAAG,CAEnB,yDAAY,CACX,KAAK,CAAE,oBAAoB,CAG1B,sFAAiB,CAChB,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,eAAe,CAC5B,QAAQ,CAAE,MAAM,CAEhB,8FAAU,CACT,SAAS,CAAE,GAAG,CdCrB,aAAa,CAAE,QAAQ,CACvB,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CcKf,0EAAU,CACT,UAAU,CAAE,KAAK,CAMtB,oBAAa,CACZ,cAAc,CAAE,GAAG,CAEnB,sCAAkB,CACjB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,IAAI,CAEZ,+CAAS,CACR,cAAc,CAAE,MAAM,CAEtB,gEAAiB,CAChB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,GAAG,CACf,WAAW,CAAE,YAAY,CAGxB,q9CAAI,CACH,cAAc,CAAE,WAAW,CAG5B,sFAAc,CACb,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,0CAA0C,CACjD,cAAc,CAAE,GAAG,CAKtB,4EAA6B,CAC5B,UAAU,CAAE,oBAAoB,CAChC,KAAK,CAAE,IAAI,CAQf,4BAAmB,CAClB,MAAM,CAAE,CAAC,CACT,aAAa,CAAC,CAAC,CACf,gBAAgB,CAAE,qBAAwB,CAE1C,0CAAc,CACb,QAAQ,CAAE,MAAM,CAEhB,mDAAW,CACV,MAAM,CAAE,IAAI,CAGb,iDAAS,CACR,MAAM,CAAE,QAAQ,CAGjB,oDAAU,CACT,iBAAiB,CAAE,UAAU,CAC7B,aAAa,CAAE,CAAC,CAChB,MAAM,CAAE,IAAI,CACZ,aAAa,CAAC,EAAE,CAChB,aAAa,CAAC,EAAE,CAChB,OAAO,CAAC,EAAE,CAEV,SAAS,CACR,0FAEsB,CAGxB,oDAAU,CACT,UAAU,CAAE,WAAW,CAExB,+DAAuB,CACtB,GAAG,CAAE,KAAK,CACV,MAAM,CAAE,kBAAkB,CAK1B,iIAA6B,CAC5B,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,GAAG,CACV,2BAA2B,CAAE,WAAgB,CAE7C,2JAAe,CACd,KAAK,CAAE,CAAC,CAGT,mUAAqC,CACpC,MAAM,CAAE,oDAAoD,CAC5D,OAAO,CAAE,CAAC,CAIZ,yHAAqB,CACpB,KAAK,CAAE,KAAK,CACZ,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,2BAA2B,CACxC,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,SAAS,CAAE,gBAAgB,CAE3B,kBAAkB,CAAE,YAAY,CAChC,eAAe,CAAE,YAAY,CAC7B,aAAa,CAAE,YAAY,CAC3B,UAAU,CAAE,YAAY,CAExB,uIAAS,CACR,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,SAAS,CAAE,gBAAgB,CAI7B,4DAAU,CA5Kb,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,GAAG,CA6KV,IAAI,CAAE,CAAC,CAGR,4DAAU,CAjLb,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,GAAG,CAkLV,KAAK,CAAE,CAAC,CAOZ,2BAAkB,CACjB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,IAAI,CAAE,QAAQ,CACd,QAAQ,CAAE,MAAM,CAEhB,oCAAS,CACR,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,sBAAsB,CAC/B,OAAO,CAAE,IAAI,CAEb,gDAAY,CACX,KAAK,CAAE,IAAI,CAEX,6EAA6B,CAC5B,UAAU,CAAE,CAAC,CAIf,iEAA8B,CA7MhC,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,GAAG,CAgNX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,cAAc,CACzB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,KAAK,CAKf,oBAAW,CAzNX,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,GAAG,CA2Nb,KAAK,CAAE,IAAI,CACX,eAAe,CAAE,IAAI,CChOvB,gBAAiB,CACf,QAAQ,CAAE,QAAQ,CAClB,cAAc,CAAE,MAAM,CACtB,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,UAAU,CAC3B,aAAa,CAAE,UAAU,CACzB,WAAW,CAAE,UAAU,CAGzB,kBAAmB,CACjB,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,OAAO,CACf,SAAS,CAAE,OAAO,CAClB,UAAU,CAAE,OAAO,CAGrB,eAAgB,CACd,SAAS,CAAE,OAAO,CAClB,QAAQ,CAAE,QAAQ,CAClB,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,eAAe,CACvB,OAAO,CAAE,CAAC,CAGZ,iBAAkB,CAChB,SAAS,CAAE,kBAAkB,CAC7B,UAAU,CAAE,kBAAkB,CAC9B,MAAM,CAAE,eAAe,CACvB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,0BAA0B,CAAE,KAAK,CAGnC,0BAA2B,CACzB,SAAS,CAAE,OAAO,CAClB,UAAU,CAAE,qBAAqB,CACjC,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CAG1B,0FAC6C,CAC3C,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CAGX,kDACyB,CACvB,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,KAAK,CAGhB,sBAAuB,CACrB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,IAAI,CAGtB,uCAAwC,CACtC,UAAU,CAAE,kBAAkB,CAC9B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,GAAG,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,GAAG,CACf,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,cAAc,CAAE,IAAI,CACpB,SAAS,CAAE,OAAO,CAClB,WAAW,CAAE,CAAC,CACd,UAAU,CAAE,CAAC,CAGf,+BAAgC,CAC9B,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,GAAG,CACf,SAAS,CAAE,GAAG,CACd,QAAQ,CAAE,MAAM,CAChB,cAAc,CAAE,IAAI,CACpB,OAAO,CAAE,EAAE,CAGb,gBAAiB,CACf,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,cAAc,CAAE,IAAI,CACpB,QAAQ,CAAE,MAAM,CAGlB,sDAAuD,CACrD,cAAc,CAAE,IAAI,CACpB,WAAW,CAAE,IAAI,CACjB,mBAAmB,CAAE,IAAI,CAG3B,oDAAqD,CACnD,cAAc,CAAE,GAAG,CAGrB,oBAAqB,CACnB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,UAAU,CAAE,IAAI,CAGlB,2BAA4B,CAC1B,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,EAAE,CACX,UAAU,CAAE,KAAK,CACjB,aAAa,CAAE,GAAG,CAClB,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,GAAG,CACV,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,mBAAmB,CAGjC,6CAA8C,CAE5C,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,iBAAiB,CAG/B,mCAAoC,CAClC,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,IAAI,CAGb,+DAAgE,CAC9D,GAAG,CAAE,GAAG,CACR,MAAM,CAAE,GAAG,CAGb,qCAAsC,CACpC,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,IAAI,CAGd,iEAAkE,CAChE,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,GAAG,CACT,KAAK,CAAE,GAAG,CAGZ,0DAA2D,CACzD,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,GAAG,CACR,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,CAAC,CACb,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CAIb,oEAAqE,CACnE,KAAK,CAAE,IAAI,CACX,IAAI,CAAE,CAAC,CAGT,wBAAyB,CACvB,SAAS,CAAE,GAAG,CACd,QAAQ,CAAE,KAAK,CACf,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,KAAK,CACb,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,MAAM,CAGpB,yBAA0B,CACxB,QAAQ,CAAE,KAAK,CACf,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,MAAM,CAClB,eAAe,CAAE,IAAI,CACrB,kBAAkB,CAAE,IAAI,CC/M1B,4LASe,CACd,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CAEP,kBAAmB,CAClB,QAAQ,CAAE,MAAM,CAEjB,yDAEuB,CACtB,mBAAmB,CAAE,IAAI,CACtB,gBAAgB,CAAE,IAAI,CACjB,WAAW,CAAE,IAAI,CACvB,iBAAiB,CAAE,IAAI,CAG1B,wBAAyB,CACxB,UAAU,CAAE,WAAW,CAGxB,6BAA8B,CAC7B,eAAe,CAAE,yBAAyB,CAG3C,uCAAwC,CACvC,KAAK,CAAE,MAAM,CACb,MAAM,CAAE,MAAM,CACd,wBAAwB,CAAE,GAAG,CAE9B,2CACuB,CACtB,OAAO,CAAE,KAAK,CAIf,4CAA6C,CAC5C,SAAS,CAAE,eAAe,CAC1B,UAAU,CAAE,eAAe,CAE5B,6MAIiC,CAChC,SAAS,CAAE,eAAe,CAC1B,UAAU,CAAE,eAAe,CAC3B,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,CAAC,CAGX,mCAAoC,CAEnC,cAAc,CAAE,YAAY,CAG7B,qCAAsC,CACrC,gBAAgB,CAAE,WAAW,CAC7B,YAAY,CAAE,WAAW,CAE1B,qCAAsC,CACrC,gBAAgB,CAAE,UAAU,CAE5B,YAAY,CAAE,IAAI,CAClB,YAAY,CAAE,UAAU,CAEzB,wDAAyD,CACxD,gBAAgB,CAAE,IAAI,CACtB,YAAY,CAAE,IAAI,CAEnB,kBAAmB,CAClB,2BAA2B,CAAE,WAAW,CAEzC,oBAAqB,CACpB,2BAA2B,CAAE,oBAAuB,CAErD,aAAc,CACb,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,MAAM,CAEnB,oBAAqB,CACpB,UAAU,CAAE,OAAO,CAEpB,iBAAkB,CACjB,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,eAAe,CAAE,UAAU,CACtB,UAAU,CAAE,UAAU,CAC3B,OAAO,CAAE,GAAG,CAGb,yBAA0B,CACzB,gBAAgB,CAAE,IAAI,CAGvB,aAAsB,CAAE,OAAO,CAAE,GAAG,CAEpC,kBAAsB,CAAE,OAAO,CAAE,GAAG,CACpC,qBAAsB,CAAE,OAAO,CAAE,GAAG,CACpC,oBAAsB,CAAE,OAAO,CAAE,GAAG,CACpC,oBAAsB,CAAE,OAAO,CAAE,GAAG,CACpC,qBAAwB,CAAE,OAAO,CAAE,GAAG,CACtC,mBAAsB,CAAE,OAAO,CAAE,GAAG,CAEpC,wBAAyB,CAAE,OAAO,CAAE,GAAG,CACvC,qBAAyB,CAAE,OAAO,CAAE,GAAG,CAEvC,kBAAmB,CAClB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CAEZ,KAAM,CACL,QAAQ,CAAE,iBAAiB,CAC3B,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAMnB,gBAAiB,CAChB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,cAAc,CAAE,cAAc,CAC9B,cAAc,CAAE,IAAI,CAErB,4BACgB,CACf,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,IAAI,CAErB,YAAa,CACZ,GAAG,CAAE,CAAC,CAEP,cAAe,CACd,KAAK,CAAE,CAAC,CAET,eAAgB,CACf,MAAM,CAAE,CAAC,CAEV,aAAc,CACb,IAAI,CAAE,CAAC,CAER,gBAAiB,CAChB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CAEZ,+BAAgC,CAC/B,KAAK,CAAE,KAAK,CAEb,6BAA8B,CAC7B,UAAU,CAAE,IAAI,CAEjB,gCAAiC,CAChC,aAAa,CAAE,IAAI,CAEpB,8BAA+B,CAC9B,WAAW,CAAE,IAAI,CAElB,+BAAgC,CAC/B,YAAY,CAAE,IAAI,CAMnB,iCAAkC,CACjC,OAAO,CAAE,CAAC,CACV,kBAAkB,CAAE,mBAAmB,CACpC,eAAe,CAAE,mBAAmB,CAC/B,UAAU,CAAE,mBAAmB,CAExC,mDAAoD,CACnD,OAAO,CAAE,CAAC,CAEX,sBAAuB,CACtB,wBAAwB,CAAE,GAAG,CACzB,oBAAoB,CAAE,GAAG,CACrB,gBAAgB,CAAE,GAAG,CAE9B,yBAA0B,CACzB,WAAW,CAAE,SAAS,CAGvB,yCAA0C,CACzC,kBAAkB,CAAE,mDAAgD,CACjE,eAAe,CAAK,gDAA6C,CAC5D,UAAU,CAAU,2CAAwC,CAErE,gEACgC,CAC/B,kBAAkB,CAAE,IAAI,CACrB,eAAe,CAAE,IAAI,CAChB,UAAU,CAAE,IAAI,CAGzB,qCAAsC,CACrC,UAAU,CAAE,MAAM,CAMnB,oBAAqB,CACpB,MAAM,CAAE,OAAO,CAEhB,aAAc,CACb,MAAM,CAAE,YAAY,CACpB,MAAM,CAAK,SAAS,CACpB,MAAM,CAAU,IAAI,CAErB,0DACwC,CACvC,MAAM,CAAE,SAAS,CAElB,oCACiB,CAChB,MAAM,CAAE,IAAI,CAEb,gIAE4C,CAC3C,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,gBAAgB,CACxB,MAAM,CAAK,aAAa,CACxB,MAAM,CAAU,QAAQ,CAIzB,+GAIwB,CACvB,cAAc,CAAE,IAAI,CAGrB,6KAGiD,CAChD,cAAc,CAAE,cAAc,CAC9B,cAAc,CAAE,IAAI,CAKrB,kBAAmB,CAClB,UAAU,CAAE,IAAI,CAChB,cAAc,CAAE,GAAG,CAEpB,oBAAqB,CACpB,KAAK,CAAE,OAAO,CAEf,iBAAkB,CACjB,MAAM,CAAE,eAAe,CACvB,UAAU,CAAE,qBAAqB,CAKlC,kBAAmB,CAClB,WAAW,CAAE,8CAA8C,CAC3D,SAAS,CAAE,IAAI,CACf,SAAS,CAAE,OAAO,CAClB,WAAW,CAAE,GAAG,CAMjB,YAAa,CACZ,UAAU,CAAE,0BAA0B,CACtC,aAAa,CAAE,GAAG,CAEnB,cAAe,CACd,gBAAgB,CAAE,IAAI,CACtB,aAAa,CAAE,cAAc,CAC7B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,MAAM,CAClB,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,KAAK,CAEb,6CAC+B,CAC9B,mBAAmB,CAAE,OAAO,CAC5B,iBAAiB,CAAE,SAAS,CAC5B,OAAO,CAAE,KAAK,CAEf,yCACqB,CACpB,gBAAgB,CAAE,OAAO,CAE1B,0BAA2B,CAC1B,sBAAsB,CAAE,GAAG,CAC3B,uBAAuB,CAAE,GAAG,CAE7B,yBAA0B,CACzB,yBAAyB,CAAE,GAAG,CAC9B,0BAA0B,CAAE,GAAG,CAC/B,aAAa,CAAE,IAAI,CAEpB,+BAAgC,CAC/B,MAAM,CAAE,OAAO,CACf,gBAAgB,CAAE,OAAO,CACzB,KAAK,CAAE,IAAI,CAGZ,6BAA8B,CAC7B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CAElB,yCAA0C,CACzC,sBAAsB,CAAE,GAAG,CAC3B,uBAAuB,CAAE,GAAG,CAE7B,wCAAyC,CACxC,yBAAyB,CAAE,GAAG,CAC9B,0BAA0B,CAAE,GAAG,CAKhC,kDAC0B,CACzB,IAAI,CAAE,6CAA6C,CACnD,WAAW,CAAE,GAAG,CAGjB,gFAAmF,CAClF,SAAS,CAAE,IAAI,CAMhB,uBAAwB,CACvB,UAAU,CAAE,yBAAyB,CACrC,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,GAAG,CAEnB,8BAA+B,CAC9B,gBAAgB,CAAE,sBAAsB,CACxC,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEb,8CAA+C,CAC9C,gBAAgB,CAAE,yBAAyB,CAC3C,eAAe,CAAE,SAAS,CAE3B,6CAA8C,CAC7C,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEb,oHACgE,CAC/D,OAAO,CAAE,IAAI,CAEd,6DAA8D,CAC7D,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAEnB,gCAAiC,CAChC,OAAO,CAAE,gBAAgB,CACzB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CAEjB,iCAAkC,CACjC,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,GAAG,CAEnB,gCAAiC,CAChC,UAAU,CAAE,GAAG,CACf,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CAET,6BAA8B,CAC7B,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,SAAS,CAAE,SAAS,CAErB,iCAAkC,CACjC,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,cAAc,CAC1B,MAAM,CAAE,kBAAkB,CAI3B,0BAA2B,CAC1B,gBAAgB,CAAE,2BAA2B,CAM9C,+CAAgD,CAC/C,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,qBAAwB,CACpC,MAAM,CAAE,CAAC,CAEV,wDAC4B,CAC3B,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,GAAG,CAEjB,8BAA+B,CAC9B,eAAe,CAAE,IAAI,CAEtB,yEACqC,CACpC,eAAe,CAAE,SAAS,CAE3B,yBAA0B,CACzB,OAAO,CAAE,iBAAiB,CAC1B,cAAc,CAAE,mBAAmB,CACnC,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,QAAQ,CAEjB,oCAAqC,CACpC,WAAW,CAAE,GAAG,CAEjB,sCAAuC,CACtC,aAAa,CAAE,GAAG,CAEnB,2BAA4B,CAC3B,MAAM,CAAE,cAAc,CACtB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,UAAU,CACtB,UAAU,CAAE,UAAU,CAC3B,UAAU,CAAE,qBAAwB,CACpC,WAAW,CAAE,YAAY,CAE1B,6CAA8C,CAC7C,UAAU,CAAE,cAAc,CAC1B,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,IAAI,CAEjB,8DAA+D,CAC9D,aAAa,CAAE,cAAc,CAG9B,8GAE4B,CAC3B,UAAU,CAAE,IAAI,CAEjB,kEAC4B,CAC3B,MAAM,CAAE,yBAAyB,CACjC,eAAe,CAAE,WAAW,CAM7B,cAAe,CACd,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,IAAI,CAEpB,8BAA+B,CAC9B,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CAEpB,sBAAuB,CACtB,MAAM,CAAE,mBAAmB,CAC3B,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,IAAI,CACf,SAAS,CAAE,SAAS,CACpB,UAAU,CAAE,GAAG,CAEhB,wBAAyB,CACxB,MAAM,CAAE,MAAM,CACd,MAAM,CAAE,OAAO,CAEhB,4BAA6B,CAC5B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,GAAG,CACT,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,KAAK,CAClB,QAAQ,CAAE,MAAM,CAChB,cAAc,CAAE,IAAI,CAErB,kBAAmB,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CAEZ,MAAM,CAAE,YAAY,CACpB,cAAc,CAAE,IAAI,CAEpB,iBAAiB,CAAE,aAAa,CAC7B,cAAc,CAAE,aAAa,CAC5B,aAAa,CAAE,aAAa,CACxB,SAAS,CAAE,aAAa,CAEjC,iDACmB,CAClB,UAAU,CAAE,KAAK,CACjB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,0BAA0B,CAEvC,+CAAgD,CAC/C,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,qCAAqC,CAC3C,KAAK,CAAE,OAAO,CACd,eAAe,CAAE,IAAI,CACrB,UAAU,CAAE,WAAW,CAExB,2GACsD,CACrD,KAAK,CAAE,OAAO,CAEf,uBAAwB,CACvB,QAAQ,CAAE,IAAI,CAGf,6CAA8C,CAC7C,QAAQ,CAAE,CAAC,CAEZ,iCAAkC,CACjC,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,MAAM,CAEd,UAAU,CAAE,2GAA2G,CACvH,MAAM,CAAE,yGAAyG,CAGlH,2JAGkC,CACjC,MAAM,CAAE,cAAc,CAMvB,iBAAkB,CACjB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,cAAc,CAMvB,gBAAiB,CAChB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,IAAI,CACtB,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,GAAG,CAClB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CACnB,mBAAmB,CAAE,IAAI,CACzB,gBAAgB,CAAE,IAAI,CACtB,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,IAAI,CACpB,UAAU,CAAE,yBAAyB,CAEtC,oCAAqC,CACpC,MAAM,CAAE,OAAO,CACf,cAAc,CAAE,IAAI,CAErB,qHAG8B,CAC7B,QAAQ,CAAE,QAAQ,CAClB,cAAc,CAAE,IAAI,CACpB,MAAM,CAAE,qBAAqB,CAC7B,UAAU,CAAE,WAAW,CACvB,OAAO,CAAE,EAAE,CAKZ,uBAAwB,CACvB,UAAU,CAAE,GAAG,CAEhB,oBAAqB,CACpB,UAAU,CAAE,IAAI,CAEjB,0DAC4B,CAC3B,IAAI,CAAE,GAAG,CACT,WAAW,CAAE,IAAI,CAElB,2BAA4B,CAC3B,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,KAAK,CACpB,gBAAgB,CAAE,IAAI,CAEvB,8BAA+B,CAC9B,GAAG,CAAE,CAAC,CACN,UAAU,CAAE,KAAK,CACjB,WAAW,CAAE,IAAI,CACjB,mBAAmB,CAAE,IAAI,CAE1B,qBAAsB,CACrB,WAAW,CAAE,IAAI,CAElB,sBAAuB,CACtB,WAAW,CAAE,GAAG,CAEjB,0DAC8B,CAC7B,GAAG,CAAE,GAAG,CACR,UAAU,CAAE,IAAI,CAEjB,4BAA6B,CAC5B,KAAK,CAAE,CAAC,CACR,YAAY,CAAE,KAAK,CACnB,iBAAiB,CAAE,IAAI,CAExB,6BAA8B,CAC7B,IAAI,CAAE,CAAC,CACP,WAAW,CAAE,KAAK,CAClB,kBAAkB,CAAE,IAAI,CAKzB,YAAa,CAEZ,gBAAiB,CAChB,0BAA0B,CAAE,KAAK,CACjC,kBAAkB,CAAE,KAAK,EClpB3B,sBAAuB,CACnB,gBAAgB,CAAE,qBAAoB,CACtC,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,OAAO,CACf,WAAW,CAAE,IAAI,CAGrB,mBAAoB,CAChB,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,yBAA2B,CACvC,aAAa,CAAE,GAAG,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,KAAK,CAGlB,wBAAyB,CACrB,UAAU,CAAE,+CAA+C,CAC3D,eAAe,CAAE,SAAS,CAC1B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAGtB,uBAAwB,CACpB,UAAU,CAAE,2CAA2C,CACvD,eAAe,CAAE,SAAS,CAC1B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,OAAO,CAGnB,WAAY,CACR,IAAI,CAAE,IAAI,CAGd,aAAc,CACV,MAAM,CAAE,OAAO,CAGnB,YAAa,CACT,IAAI,CAAE,IAAI,CACV,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,OAAO,CAGnB,gBAAkB,CACd,IAAI,CAAE,IAAI,CACV,cAAc,CAAE,IAAI,CAGxB,gBAAiB,CACb,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,IAAI,CAGxB,UAAW,CACP,MAAM,CAAE,KAAK,CACb,IAAI,CAAE,IAAI,CACV,YAAY,CAAE,GAAG,CACjB,eAAe,CAAE,UAAU,CAC3B,cAAc,CAAE,IAAI,CAGxB,SAAU,CACN,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,IAAI,CAAE,IAAI,CACV,cAAc,CAAE,IAAI,CAGxB,cAAe,CACX,IAAI,CAAE,qBAAwB,CAC9B,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,IAAI,CACZ,cAAc,CAAE,IAAI,CAGxB,cAAe,CACX,SAAS,CAAE,IAAI,CAGnB,eAAgB,CACZ,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,OAAe,CACvB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,OAAO,CACf,eAAe,CAAE,UAAU,CAG/B,wBAAyB,CACrB,IAAI,CAAE,qBAAwB,CAC9B,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,IAAI,CACZ,cAAc,CAAE,IAAI,CACpB,eAAe,CAAE,UAAU,CAG/B,kBAAmB,CACf,MAAM,CAAE,OAAe,CACvB,YAAY,CAAE,GAAG,CACjB,eAAe,CAAE,UAAU,CAG/B,oBAAqB,CACjB,MAAM,CAAE,IAAI,CACZ,YAAY,CAAE,GAAG,CAGrB,sBAAsB,CAClB,SAAS,CAAE,IAAI,CAGnB,WAAY,CACR,cAAc,CAAE,IAAI,CAGxB,gBAAiB,CACb,MAAM,CAAE,IAAI,CACZ,YAAY,CAAE,GAAG,CACjB,eAAe,CAAE,UAAU,CAG/B,UAAW,CACP,YAAY,CAAE,CAAC,CACf,cAAc,CAAE,IAAI,CAGxB,MAAO,CACH,WAAW,CAAE,IAAI,CAGrB,cAAe,CACX,MAAM,CAAE,OAAO,CAGnB,YAAa,CACT,MAAM,CAAE,OAAO,CAGnB,cAAe,CACX,MAAM,CAAE,IAAI,CCnIhB,kBAAmB,CAClB,UAAU,CAAE,IAAI,CAIhB,6CAA+B,CAC9B,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,CAAC,CAEV,oEAAuB,CACtB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,UAAU,CAKzB,8EAAgF,CAE/E,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CAEhB,4yEAAI,CAEH,KAAK,CAAE,IAAI,CAMb,mHAA2H,CACvH,IAAI,CAAE,eAAe,CAGzB,qGAA2G,CACvG,MAAM,CAAE,eAAe,CAG3B,uCAAyC,CACxC,YAAY,CAAE,CAAC,CAGhB,uDAA0D,CACzD,cAAc,CAAE,wCAA2C,CAC3D,MAAM,CAAE,wCAA2C,CAGpD,uCAAyC,CACxC,IAAI,CAAE,qBAAoB,CAI1B,sDAA0B,CACzB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,CAAC,CAEhB,4DAAM,ClBlCP,MAAM,CAAE,wCAAgD,CACxD,cAAc,CAAE,wCAAgD,CkBsChE,4CAAgB,CACf,YAAY,CAAE,GAAG,CAGlB,gDAAoB,CACnB,UAAU,CAAE,IAAI,CAEhB,yEAAyB,CAGxB,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,IAAI,CAIlB,oDAAwB,CAGvB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,IAAI,CAEb,2DAAS,CACR,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CC5Ef,SAAU,CACT,QAAQ,CAAE,MAAM,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAIX,2BAAQ,CACP,KAAK,CAAE,wCAAsD,CAG9D,yBAAM,CACL,KAAK,CAAE,CAAC,CAGT,kCAAe,CACd,KAAK,CAAE,2BAAyC,CASjD,0BAAO,CACN,SAAS,CAAE,iEAAwG,CAKpH,+BAAQ,CACP,KAAK,CAAE,wCAAsD,CAC7D,IAAI,CAAE,2BAAyC,CAGhD,iCAAU,CACT,IAAI,CAAE,CAAC,CAGR,qCAAc,CACb,IAAI,CAAE,2BAAyC,CAShD,8BAAO,CACN,SAAS,CAAE,4EAAgI,CAK5I,yCAAQ,CACP,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CAGZ,wCAAO,CACN,SAAS,CAAE,gFAAoI,CAIjJ,qBAAY,CACX,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CAGT,iBAAQ,CACP,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,qBAAqB,CAEjC,yBAAQ,CACP,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,GAAG,CACd,GAAG,CAAE,iBAAiB,CACtB,IAAI,CAAE,oBAAoB,CAC1B,KAAK,CAAE,IAAI,CAIb,cAAK,CACJ,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CAKV,wCAAG,CACF,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,IAAI,CAGlB,gDAAW,CACV,UAAU,CAAE,cAAc,CAC1B,MAAM,CAAE,cAAgC,CAKxC,mEAAiB,CAChB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,eAAe,CAC1B,WAAW,CAAE,KAAK,CAClB,cAAc,CAAE,WAAW,CAG5B,oDAAE,CACD,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,WAAmB,CAE3B,sDAAE,CACD,KAAK,CArII,IAAW,CAyItB,0DAAQ,CACP,WAAW,CAAE,CAAC,CAEd,4DAAE,CACD,OAAO,CAAE,YAAY,CAErB,MAAM,CAAE,aAAiC,CACzC,uEAAa,CACZ,YAAY,CAAE,CAAC,CAGhB,kEAAQ,CACP,SAAS,CAAE,GAAG,CAEd,kFAAgB,CACf,KAAK,CAAE,WAAW,CAEnB,kFAAgB,CACf,KAAK,CAAE,qBAAwB,CAI/B,iLAAiC,CAChC,KAAK,CAAE,sBAAyB,CAKnC,gEAAI,CACH,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,KAAK,CACjB,aAAa,CAnML,GAAG,CAoMX,iBAAiB,CAAE,UAAU,CAC7B,UAAU,CAAE,QAAQ,CAQvB,sDAAE,CACD,MAAM,CAAE,CAAC,CAET,kEAAc,CACb,SAAS,CAAE,MAAM,CAInB,yHAAiB,CnB5KpB,aAAa,CAAE,QAAQ,CACvB,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CmB6KhB,0DAAM,CACL,YAAY,CAAE,yBAAoC,CAElD,mEAAS,CACR,UAAU,CAAE,KAAe,CAE3B,4EAAS,CACR,UAAU,CAhOD,IAAI,CAiOb,KAAK,CAAE,GAAG,CACV,OAAO,CAAE,YAAY,CAS3B,0BAAiB,CAChB,gBAAgB,CAAE,qBAAwB,CAC1C,WAAW,CAAE,yBAAyB,CACtC,aAAa,CA7OA,GAAG,CA8OhB,MAAM,CAAE,IAAI,CACZ,MAAM,CAhPQ,IAAI,CAiPlB,UAAU,CAAE,yBAA2B,CAEvC,wEAAiD,CAChD,UAAU,CAAE,CAAC,CAEd,kEAA2C,CAC1C,WAAW,CAAE,CAAC,CAGf,gDAAwB,CACvB,OAAO,CAAE,KAAK,CAEd,4EAA4B,CAC3B,UAAU,CAAE,IAAI,CAIlB,iDAAyB,CACxB,KAAK,CAAE,IAAI,CAKb,gDAA8B,CAC7B,UAAU,CAAE,qBAAqB,CAIlC,0FAAiF,CAChF,OAAO,CAAE,IAAI,CAIb,wBAAO,CACN,WAAW,CAAE,MAAM,CACnB,8BAAM,CACL,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CACX,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,GAAG,CAClB,cAAc,CAAE,MAAM,CAEtB,mCAAO,CACN,gBAAgB,CArQF,OAAO,CAuQtB,wCAAY,CACX,gBAAgB,CAvQG,IAAO,CAyQ3B,0CAAc,CACb,gBAAgB,CAzQK,OAAO,CA6Q9B,8BAAM,CACL,SAAS,CAAE,GAAG,CACd,WAAW,CAAE,KAAK,CAClB,KAAK,CA/QM,IAAW,CAoRzB,gBAAO,CnBpQP,aAAa,CAAE,QAAQ,CACvB,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CmBoQlB,WAAW,CA3SE,IAAI,CA4SjB,MAAM,CA5SO,IAAI,CA6SjB,OAAO,CAAE,MAAgB,CACzB,aAAa,CAAE,CAAC,CAEhB,kCAAkB,CACjB,SAAS,CAAE,KAAK,CAalB,iBAAQ,CACP,QAAQ,CAAE,QAAQ,CAClB,QAAQ,CAAE,MAAM,CAChB,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,YAAY,CAErB,6BAAY,CACX,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,SAAS,CAAE,qBAAoB,CAE/B,+BAAE,CACD,UAAU,CAAE,UAAU,CAMxB,+BAAY,CACX,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,2BAA8B,CAC3C,KAAK,CA5UQ,OAAO,CA8UrB,kCAAe,CACX,SAAS,CAAE,IAAI,CACf,KAAK,CAlVO,OAAO,CAmVnB,GAAG,CAAE,GAAG,CAEZ,qEAA+B,CAC9B,KAAK,CAtVU,OAAO,CAuVtB,SAAS,CAAE,IAAI,CACf,GAAG,CAAE,GAAG,CAET,iCAAc,CACb,KAAK,CA9UkB,OAAO,CAoVhC,mCAAiB,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,GAAG,CACZ,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CAEjB,iDAAS,CACR,MAAM,CAAE,QAAQ,CAChB,UAAU,CAAE,IAAI,CAGjB,qGAAgB,CACf,gBAAgB,CApXD,IAAO,CAqXtB,KAAK,CAnWO,IAAW,CAoWvB,OAAO,CAAE,IAAI,CAGd,uGAAiB,CAChB,gBAAgB,CAxWJ,IAAW,CAyWvB,KAAK,CAxXM,qBAAoB,CA0X/B,+aAAsC,CACrC,gBAAgB,CA9XF,IAAO,CA+XrB,KAAK,CA7WM,IAAW,CAgXvB,+PAAa,CACZ,gBAAgB,CAjXL,IAAW,CAkXtB,KAAK,CAjYK,qBAAoB,CAkY9B,eAAe,CAAE,IAAI,CAGtB,+QAAuB,CACtB,WAAW,CAlZA,KAAM,CAsZnB,+HAA6B,CAC5B,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CAGT,eAAM,CACL,KAAK,CAAE,sCAAoD,CAC3D,UAAU,CAAE,UAAU,CACtB,KAAK,CAAE,IAAe,CACtB,SAAS,CAAE,sBAAyB,CAEpC,2BAAY,CACX,KAAK,CAAE,IAAI,CACX,WAAW,CApaE,IAAI,CAsajB,uCAAY,CACX,QAAQ,CAAE,QAAQ,CAIlB,qHAAmD,CAClD,OAAO,CAAE,IAAI,CAIb,yDAAc,CACb,aAAa,CAAE,GAAG,CAClB,KAAK,CAAE,gBAAgB,CAGxB,sDAAW,CACV,KAAK,CAAE,gBAAgB,CAGxB,yDAAc,CACb,WAAW,CAAE,GAAG,CAChB,aAAa,CAAE,KAAK,CAItB,6CAAU,CACT,UAAU,CAAE,IAAI,CAIlB,qCAAU,CACT,QAAQ,CAAC,QAAQ,CACjB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CAGvB,sCAAW,CACV,aAAa,CA3cD,IAAI,CA4chB,UAAU,CAjcA,qBAAoB,CAkc9B,KAAK,CAnbM,IAAW,CAobtB,aAAa,CA7cF,GAAG,CA8cd,KAAK,CAAE,iBAA8B,CACrC,UAAU,CAAE,+BAAkC,CAE9C,wCAAE,CACD,KAAK,CAzbK,IAAW,CA0brB,8CAAQ,CACP,KAAK,CA3cU,OAAwB,CA+czC,+CAAS,CACR,MAAM,CAAE,CAAC,CAEV,iDAAW,CACV,MAAM,CAAE,WAAmB,CAC3B,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,MAAM,CAElB,qDAAI,CACH,cAAc,CAAE,QAAQ,CACxB,MAAM,CAAE,8BAA8B,CACtC,QAAQ,CAAE,QAAQ,CAGpB,8CAAQ,CACP,OAAO,CAAE,MAAgB,CACzB,QAAQ,CAAE,QAAQ,CAElB,mDAAK,CACJ,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,SAAiB,CAE1B,yDAAQ,CACP,KAAK,CAAE,GAAG,CAEV,8MAAmC,CAClC,WAAW,CArfJ,KAAM,CAsfb,OAAO,CAAE,CAAC,CACV,WAAW,CAAE,CAAC,CAIhB,wDAAO,CACN,KAAK,CAAE,GAAG,CACV,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,MAAM,CAIrB,4CAAM,CACL,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,aAAiC,CAI1C,yDAAQ,CACP,OAAO,CAAE,IAAI,CAEd,uDAAM,CACL,WAAW,CA3gBD,IAAI,CA4gBd,UAAU,CAAE,MAAM,CAElB,yDAAE,CACD,MAAM,CAAE,CAAC,CAET,69CAAI,CACH,OAAO,CAAE,YAAY,CACrB,SAAS,CAAE,GAAG,CACd,MAAM,CAAE,OAAe,CAM3B,8CAAU,CACT,UAAU,CA7gBC,OAAO,CA8gBlB,KAAK,CAhhBQ,OAAO,CAkhBpB,gDAAE,CACD,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,WAAmB,CAC3B,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CAGZ,gDAAE,CACD,KAAK,CA1hBO,OAAO,CA2hBnB,sDAAQ,CACP,KAAK,CA3hBU,OAA2B,CA+hB5C,sDAAQ,CACP,WAAW,CAAE,CAAC,CAEd,kEAAY,CACX,SAAS,CAAE,uBAAuB,CAElC,iFAAe,CACd,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,IAAI,CAKX,wEAAY,CAEX,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,GAAG,CAEV,2EAAe,CACd,OAAO,CAAE,IAAI,CAKhB,uDAAS,CACR,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAtkBO,IAAI,CAukBd,KAAK,CAvkBK,IAAI,CAykBd,i8CAAI,CACH,SAAS,CAAE,KAAK,CAChB,cAAc,CAAE,MAAM,CACtB,WAAW,CAAE,IAAI,CACjB,UAAU,CAjkBC,OAAO,CAkkBlB,KAAK,CAhkBI,OAAO,CAikBhB,aAAa,CAAE,WAA+B,CAC9C,OAAO,CAjlBC,KAAM,CAolBf,4DAAK,CACJ,cAAc,CAAE,MAAM,CACtB,OAAO,CAtlBC,KAAM,CAulBd,UAAU,CAxkBD,OAAO,CAykBhB,KAAK,CA3kBM,OAAO,CA4kBlB,aAAa,CAAE,WAA+B,CAIhD,yDAAW,CACV,KAAK,CAAE,IAAI,CACX,aAAa,CA7lBJ,GAAG,CAkmBb,iDAAM,CACL,OAAO,CAAE,aAAa,CAIxB,4CAAQ,CACP,UAAU,CAzlBD,qBAAoB,CA0lB7B,KAAK,CA3lBM,IAAI,CA8lBd,oDAAE,CACD,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,KAAK,CAlmBI,IAAI,CAmmBb,QAAQ,CAAE,QAAQ,CAClB,WAAW,CAAE,CAAC,CAIZ,yLAAyD,CACxD,KAAK,CAAE,sBAAqB,CAE7B,yEAAS,CACR,OAAO,CAAE,CAAC,CAIZ,sEAAY,CACX,SAAS,CAAE,GAAG,CAEd,sFAAgB,CACf,KAAK,CAAE,WAAW,CAEnB,sFAAgB,CACf,KAAK,CAAE,qBAAwB,CAKlC,wDAAI,CACH,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,iBAAiB,CAAE,UAAU,CAC7B,OAAO,CAAE,IAAI,CACb,aAAa,CA/oBN,GAAG,CAkpBX,6DAAS,CACR,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,UAAU,CACtB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,OAAO,CACnB,UAAU,CAAE,qBAAwB,CACpC,aAAa,CAAE,WAA+B,CAC9C,UAAU,CAAE,YAAY,CACxB,OAAO,CAAE,CAAC,CAQjB,mBAAU,CACT,IAAI,CAAE,kDAA0F,CAChG,UAAU,CAAE,SAAS,CACrB,KAAK,CAAE,gBAAwC,CAC/C,SAAS,CAAE,4BAA4C,CAEvD,mCAAgB,CACf,KAAK,CAAE,uBAAiD,CACxD,MAAM,CAhrBO,IAAI,CAirBjB,aAAa,CAhrBD,GAAG,CAirBf,UAAU,CAAE,+BAA2C,CACvD,KAAK,CAzpBO,IAAW,CA0pBvB,UAAU,CAAE,qBAAwB,CACpC,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,SAAS,CAAE,MAAM,CAEjB,oDAAiB,CAChB,UAAU,CAAE,MAAM,CAClB,IAAI,CAAE,QAAQ,CAEd,0DAAM,CACL,UAAU,CAAE,qBAAuB,CACnC,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,WAA+B,CAE9C,8DAAI,CACH,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,KAAK,CAChB,SAAS,CAAE,gBAAgB,CAI7B,iEAAa,CACZ,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,MAAM,CACf,KAAK,CAAE,iBAAiB,CAExB,mEAAE,CACD,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,CAAC,CACT,KAAK,CAhsBM,IAAI,CAisBf,SAAS,CAAE,uCAAuC,CAElD,wEAAK,CACJ,YAAY,CAAE,KAAK,CACnB,4EAAI,CACH,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,MAAM,CACtB,SAAS,CAAE,qBAAqB,CAIlC,wEAAK,CACJ,eAAe,CAAE,IAAI,CACrB,cAAc,CAAE,MAAM,CAM1B,oDAAiB,CAChB,IAAI,CAAE,QAAQ,CACd,UAAU,CAAE,qBAAuB,CACnC,aAAa,CAAE,WAAW,CAC1B,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,MAAM,CACf,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CAEX,sDAAE,CACD,KAAK,CAAE,IAAI,CACX,eAAe,CAAE,IAAI,CAIvB,sDAAmB,CAClB,IAAI,CAAE,QAAQ,CACd,QAAQ,CAAE,IAAI,CAEd,mFAA6B,CAC5B,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CAGZ,wEAAkB,CACjB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,kBAAkB,CAC1B,KAAK,CAAE,qBAAkC,CAEzC,mFAAa,CACZ,aAAa,CAAE,MAAM,CAGtB,2EAAG,CACF,MAAM,CAAE,QAAkB,CAC1B,KAAK,CAjvBI,IAAW,CAkvBpB,SAAS,CAAE,KAAK,CAGjB,8EAAM,CACL,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,KAAK,CAGd,kFAAQ,CnB1uBb,aAAa,CAAE,QAAQ,CACvB,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CmB8uBd,+FAAY,CACX,KAAK,CAAE,gBAAgB,CAEvB,wGAAW,CACV,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,qBAAqB,CAGnC,iGAAc,CACb,WAAW,CAAE,GAAG,CAChB,aAAa,CAAE,GAAG,CAQlB,yGAAU,CACT,gBAAgB,CAjyBN,OAAO,CAkyBjB,KAAK,CAAE,KAAK,CASd,yGAAc,CACb,KAAK,CA9xBG,IAAW,CAgyBnB,+GAAQ,CACP,KAAK,CAAE,OAAO,CAUtB,MAAO,CACN,OAAO,CAAE,IAAI,CCx0Bd,OAAQ,CACP,OAAO,CAAE,GAAG,CAEZ,YAAK,CACJ,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,KAAK,CAGlB,gBAAS,CACR,UAAU,CAAE,GAAG,CAEf,uBAAO,CACN,KAAK,CAAE,GAAG,CACV,SAAS,CAAE,KAAK,CAEjB,qBAAK,CACJ,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,eAAe,CACtB,SAAS,CAAE,wBAAwB,CACnC,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,GAAG,CAEnB,8BAAS,CACR,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,UAAU,CACtB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,cAAc,CAGvB,2BAAM,CACL,UAAU,CAAE,GAAG,CACf,OAAO,CAAE,KAAK,CC/BlB,MAAO,CACN,MAAM,CAAE,GAAG,CAEX,YAAM,CACL,aAAa,CAAE,GAAG,CAClB,eAAe,CAAE,QAAQ,CAExB,kBAAG,CACF,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,aAAa,CAEvB,kBAAG,CACF,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,aAAa,CAGrB,uCAAiB,CAChB,KAAK,CAAE,IAAI,CAEZ,4CAAsB,CACrB,KAAK,CAAE,KAAK,CAId,yBAAO,CACN,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CAChB,+BAAQ,CACP,KAAK,CAAE,IAAI,CC9BjB,yCAA0C,CAIzC,QAAS,CACR,OAAO,CAAE,eAAe,CAIxB,mCAAiB,CAChB,KAAK,CAAE,6BAAqB,CAC5B,SAAS,CAAE,6BAAqB,CAGjC,eAAM,CACL,KAAK,CAAE,oCAA4B,CAGpC,mBAAU,CACT,IAAI,CAAE,oCAA4B,CAGnC,gBAAO,CACN,KAAK,CAAE,+CAAgE,CACvE,SAAS,CAAE,+CAAgE,CAC3E,UAAU,CAAE,MAAM,CAGnB,gDAA8B,CAC7B,KAAK,CAAE,IAAI,CAIX,2DAAQ,CACP,KAAK,CAAE,IAAI,CAGZ,uJAAsD,CACrD,OAAO,CAAE,IAAI,CAGd,yDAAO,CACN,KAAK,CAAE,+CAAgE,CACvE,SAAS,CAAE,+CAAgE,CAK5E,kCAAe,CACd,KAAK,CAAE,6BAAqB,CAE7B,iCAAc,CACb,IAAI,CAAE,oCAA4B,CAKnC,sCAAe,CACd,KAAK,CAAE,oCAA4B,CAEpC,qCAAc,CACb,IAAI,CAAE,6BAAqB,CAI7B,8DAAqD,CACpD,OAAO,CAAE,IAAI,CAKd,yHAAsB,CACrB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CAGZ,oEAAkB,CACjB,IAAI,CAAE,GAAG,CAGV,oEAAkB,CACjB,KAAK,CAAE,GAAG,EAKb,yCAA0C,CACzC,OAAQ,CACP,OAAO,CAAE,eAAe", -"sources": ["_fonts.scss","_common.scss","fa/solid.scss","fa/_variables.scss","fa/_core.scss","fa/_sizing.scss","fa/_mixins.scss","fa/_fixed-width.scss","fa/_list.scss","fa/_bordered-pulled.scss","fa/_animated.scss","fa/_rotated-flipped.scss","fa/_stacked.scss","_fa.scss","lightbox/_lightbox.scss","_lightbox.scss","_simplebar.scss","leaflet/_leaflet.scss","leaflet/_leaflet_heightgraph.scss","_leaflet.scss","_mask_project.scss","_mask_upload.scss","_mask_admin.scss","_mobile.scss"], -"names": [], -"file": "spot.css" -} \ No newline at end of file diff --git a/style/spot.scss b/style/spot.scss deleted file mode 100755 index 1593a9a..0000000 --- a/style/spot.scss +++ /dev/null @@ -1,16 +0,0 @@ -/* Site Global CSS */ -@import 'fonts'; -@import 'common'; - -/* Modules */ -@import 'fa'; -@import 'lightbox'; -@import 'simplebar'; -@import 'leaflet'; - -/* Pages Specific CSS (masks) */ -@import 'mask_project'; -@import 'mask_upload'; -@import 'mask_admin'; - -@import 'mobile';